body {
	color:#000;
	font-size:16px;
	line-height:1.5;
	background:hsl(39, 50%, 90%);
	text-align:center;
	margin:0;
	padding:0;
	font-family: 'Karla', sans-serif;
}

#container {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 1em;
	position:relative;
	top:0;
	left:0;
	width:100%;
	padding:0;
	margin:0;
}

header {
	width:100%;
	position:relative;
	top:0;
	left:0;
	font-size:1em;
	height:15vw;
	display:block;
	text-align:center;
	margin:0;
	padding:0;
	background:url(layout/banner2.jpg) center center hsl(7, 25%, 25%);
	background-size: cover;
	font-family: 'Bebas Neue', sans-serif;
}

header .inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-gap: 1em;
	align-items: center;
	width: calc(100% - 2em);
	height: 100%;
	max-width: 72em;
	margin: 0 auto;
}

#site_logo {
	background: url(layout/logoname.svg) center center no-repeat transparent;
	background-size: contain;
	height: 100%;
}

#site_logo span {
	display: none;
}

header h1 {
	display: none;
}

nav {
	position: relative;
	top: 1.33vw;
	font-size:1em;
	display:block;
	width:100%;
	margin:0;
	padding:0;
	height:3em;
	text-align:center;
}

nav ul {
	position:relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 1em;
	width:100%;
	max-width:72em;
	margin:0 auto;
	text-transform:uppercase;
	height:3em;
}

nav ul li {
	position:relative;
	text-align:center;
	list-style:none;
	display:inline-block;
	margin:0;
	height:3em;
}

nav ul li#homepage_nav {
	display:none;
}

nav ul li a {
	display: block;
	color:#000;
	font-size:1.5rem;
	line-height:1;
	height:auto;
	font-weight:400;
	padding:.66rem 1rem .5rem 1rem;
	transform: skew(-8deg) rotate(-8deg);
	background: #a1a337;
	box-shadow: .25rem .25rem black;
}

nav ul li#homepage_nav a {
	background: #d56e65;
}

nav ul li#about_nav a {
	background: #eaa425;
}

nav ul li#product_nav a {
	background: #f29095;
}

nav ul li#blog_nav a {
	background: #c1bd75;
}

nav ul li#calendar_nav a {
	background: #d56e65;
}

nav ul li#faq_nav a {
	background: #93bcaa;
}

nav ul li#gallery_nav a {
	background: #f3864c;
}

nav ul li#contact_nav a {
	background: #a1a337;
}

nav ul li > a:hover,nav ul li.lit > a {
	background: #f9e040!important;
}

nav ul li ul.drop {
	position:absolute;
	top:2;
	left:.06em;
	display:none!important;
	min-width:15em;
	height:auto;
	padding: 1em 0 0 0;
	background:transparent;
	z-index:999;
}

nav ul li ul.drop li {
	font-size:1em;
	display:block;
	float:none;
	clear:both;
	width:auto;
	height:auto;
	height:auto;
	padding:0;
	margin:0 0 .33vw 0;
	text-align:left;
	line-height:1.5;
}

nav ul li ul.drop li a,nav ul li.lit ul.drop li a {
	background: #da7163;
}

nav ul li:hover ul.drop {
	display:block!important;
}

#main {
	position:relative;
	width:calc(100% - 2em);
	max-width:72em;
	min-height:calc(100vh - 21em);
	display:block;
	height:auto;
	background:transparent;
	margin:0 auto;
	text-align:left;
}

#main.fullbox {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 1rem;
}

#main.columns {
	display: grid;
	grid-template-columns: 4fr 1fr;
	grid-gap: 2rem;
}

#main p {
	font-size:1em;
	line-height:1.5;
	margin-bottom:.5em;
}

#main hr {
	float: none;
	clear: both;
	border-color: white;
}

#mainbox .storyp {
	margin:0 0 3em;
}

#searchbox {
	display:none;
}

#mainbox ul {
	font-size:1em;
	margin:0;
	padding:0;
}

#main h1,#main h2,#main h3,#main h4 {
	font-size:2em;
	font-family: 'Bebas Neue', sans-serif;
	color:#5a8e9b;
}

#main h1.category,#main h2.category {
	font-size: 1.5em;
	color: #a1a337;
}

#main h2.category {
	font-size: 2em;
}

#main h3 {
	font-size:1.75em;
	color: #da7163;
	font-family: 'Karla', sans-serif;
	font-weight:800;
}

#main h3.thedate {
	font-size: 1.25em;
	color: hsl(343, 8%, 18%);
	font-weight: 400;
}

#main h4 {
	font-size:1.25em;
	font-weight:800;
	font-family: 'Karla', sans-serif;
}

#main h5 {
	font-size:1.125em;
	font-weight:800;
	font-family: 'Karla', sans-serif;
}

#main .contact_entry h4 {
	margin-top: 1em;
}

#main a {
	color:#da7163;
	font-weight:800;
	text-decoration:none;
}

#main a:hover {
	color:#000;
	font-weight:800;
	text-decoration:none;
}

#main .caption {
	font-size: .88rem;
	text-align: center;
	font-style: oblique;
}

.about_page.author-visit_section #mainbox {
	width: 100%;
}

.about_page.author-visit_section #menubox,.about_page.speaker-request_section #menubox,.contact_page #menubox {
	display: none;
}

#menubox h4 {
	font-size:1.5em;
	font-family: 'Bebas Neue', sans-serif;
}

#menubox h4 a {
	color: #a1a337;
}

#menubox h4.lit,#menubox h4 a.lit {
	color:#da7163;
}

#menubox h4 a:hover {
	font-weight: 800;
}

#menubox ul li a,#menubox ul li a:hover {
	font-weight: 800;
	font-family: 'Karla', sans-serif;
	font-size: 1em;
	line-height: 1.25;
}

#main.columns #menubox .menubox_subnav {
	display: block;
	margin: 0;
}
	
#main.columns #menubox .list_menu {
	display: grid;
	grid-template-columns: 3fr 5fr;
	grid-gap: .5rem;
	text-align: left;
	margin-bottom: 1em;
}

#main.columns #menubox .list_menu .menutitlefull {
	display: block;
	width: 200%;
}
	
#main.columns #menubox .list_menu .menuimage a {
	height: 0;
	padding-top: 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-color: transparent;
	background-size: contain;
}
	
.blog_page #main.columns #menubox .list_menu .menuimage a {
	background-position: center top;
}

.blog_page .blog_introgrid_img {
	background-position: center top;
}

#entry191 .videowrapper {
	padding-top: 100%;
}

.image_stage {
	min-height: calc(100vh - 24em);
}

.image_stage .stage_image {
	height: calc(100vh - 24em);
	background-position: center center;
	background-repeat: no-repeat;
	background-color: transparent;
	background-size: contain;
}

.product_page #main.columns #menubox .menubox_subnav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 1rem;
}

.product_page #main.columns #menubox .list_menu {
	display: block;
	margin: .5em 0;
	text-align: center;
}

.product_page #main.columns #menubox .list_menu .menuimage a {
	height: 0;
	padding-top: 100%;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-color: transparent;
	background-size: contain;
	margin-bottom: .5em;
}

.featured_news,.featured_product {
	display: block;
	margin: 3em 0;
}

.featured_news .inner,.featured_product .inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2rem;
}

.featured_news_item {
	display: grid;
	grid-template-columns: 1fr 4fr;
	grid-gap: 1rem;
}

.featured_news_item .featured_news_image {
	background-position: center top;
	background-repeat: no-repeat;
	background-color: transparent;
	background-size: contain;
}

.featured_product .inner {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 2rem;
}

.featured_product_item {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: .25rem;
	text-align: center;
}

.featured_product_item .featured_product_image {
	height: 0;
	padding: 100% 0 0 0;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-color: transparent;
	background-size: contain;
}

.product_intro {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-gap: 1rem;
	margin-bottom: 2em;
}

.product_intro .introentry span {
	display: block;
	text-align: center;
	padding: .25em 0;
}

.product_intro .introentry span.thumb {
	height: 0;
	padding-top: 100%;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-color: transparent;
	background-size: contain;
}

.calendar_page #lineview ul.years > li,.calendar_page #lineview ul.months > li {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 2em;
	float: none;
	clear: both;
	color: hsl(192, 27%, 48%);
}
.calendar_page #mainbox #lineview ul.days li span.bigday {
	font-family: 'Bebas Neue', sans-serif;
	font-size: 3em;
	display: block;
	text-align: center;
	width: auto;
	color: hsl(192, 27%, 48%);
}
.calendar_page #mainbox #lineview ul.days li span.weekname {
	font-family: 'Bebas Neue', sans-serif;
	width: auto;
	text-align: center;
	display: block;
}
.calendar_page #mainbox #lineview ul.days > li {
	display: grid;
	grid-template-columns:1fr 6fr;
	grid-gap: 1rem;
	border-bottom: none;
	margin-bottom: 0;
}
.calendar_page #mainbox #lineview ul.events {
	margin: 0;
}

blockquote {
	font-size:1em;
	font-style:oblique;
}

#main .slabform button.specialbutton,button,#main a.specialbutton {
	background: hsl(155, 23%, 66%);
	color: white;
}

#main .slabform label {
	font-weight: 800;
}

#main a.specialbutton {
	display: inline-block;
	padding: .25rem 1rem;
	border: none;
	font-size: 1.25em;
	font-weight: 400;
}

#main .slab_speaker_form button.specialbutton:hover,button:hover,#main a.specialbutton:hover {
	background: hsl(21, 87%, 63%);
	color: white;
}

#subfooter {
	position: relative;
	top: 1em;
	left: 0;
	width: 100%;
	height: auto;
	background: hsl(5, 57%, 62%);
	padding: 0;
	margin: 0;
	text-align: center;
	float: none;
	clear: both;
}

#subfooter .inner {
	text-align: left;
	max-width: 72em;
	width: calc(100% - 2em);
	margin: 0 auto;
	padding: 2em 0;
	display: grid;
	grid-template-columns: 1fr 3fr 3fr;
	grid-gap: 1rem;
	float: none;
	clear: both;
}

#subfooter h3 {
	font-size: 1.66rem;
	font-weight: 400;
	line-height: 1.5;
	margin-bottom: .25em;
}

#subfooter .social-links a {
	display: block;
	margin: 0 0 1em 0;
	color: black;
}

#subfooter .social-links a:hover {
	color: white;
}

#subfooter .social-links a i {
	font-size: 1.25rem;
}

#subfooter .social-links a .sitename {
	display: inline-block;
	margin-left: .25em;
	font-size: 1rem;
}

.icongoodreads .icon {
	display: inline-block;
	width: 1.25em;
	height: 1.25em;
	vertical-align: middle;
	background: url(layout/goodreads.png) center center no-repeat transparent;
	background-size: contain;
	padding:0;
	margin: 0;
}

body.members_page #menubox {
	display: block;
	float: right;
	clear: none;
	width: inherit;
}

form span.required {
	display: inline-block;
}

.slab_speaker_form .feedback.popup {
	padding: 2rem;
	background: white;
	border: thin gray solid;
	position: fixed;
	left: 50%;
	top: 50%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
	z-index: 9999;
	display: none;
}

#entry259 .thedate {
	display: none;
}

footer {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	font-size:1em;
	line-height: 1.5;
	width:calc(100vw - 2em);
	height:auto;
	padding:2em 1em;
	margin:0 auto;
	clear:both;
	float:none;
	color:#fff;
	background-color:hsl(343, 8%, 18%);
	text-align:center;
}

footer a {
	color:#da7163;
}

@media(max-width: 60rem) and (min-width: 42rem){
	.product_page .imageleft,.product_page .imageright {
		max-width: 20rem;
	}
	.product_page #main.columns #menubox .menubox_subnav {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}
}

@media( max-width: 51rem) {
	body {
		color:#000;
	}
	
	#container {
		position: absolute;
		display: block;
		left: 0;
		top: 0;
		-webkit-transition: left .5s;
		transition: left .5s;
	}
	
	#container.slid {
		left: -66vw;
	}
	
	a#hamburger .hlines {
		background:hsl(61, 49%, 43%)!important;
	}
	
	header {
		height: 10em;
		margin-bottom: 1em;
	}
	
	header .inner {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1em;
		height: 10em;
	}
	
	header nav.mobi {
		background: hsl(343, 8%, 18%);
	}
	
	header nav.mobi > ul {
		top: 0;
		margin: 0;
		padding: 4em 0 0 0;
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1em;
		height: calc(100vh - 4em);
		overflow: auto;
	}
	
	header nav.mobi ul li a,header nav.mobi ul li a:hover,header nav.mobi ul li.lit a {
		font-size: 1.25em;
		text-align: center;
		padding: .25em 0;
		margin: .25em 1em;
		color: black;
	}
	
	header nav.mobi ul li.lit a {
		background: hsl(61, 49%, 43%);
		padding: .25em 0;
		margin: .25em 1em;
	}
		
	header nav.mobi ul li#homepage_nav {
		display:block;
	}
	
	header nav.mobi ul li.lit a {
		color:#da7163;
		color: black;
	}
	
	header nav.mobi ul li ul.drop {
		top: 0;
		left: 0;
		display: block!important;
		width: calc(100% - 4em);
		min-width: calc(100% - 4em);
		max-width: calc(100% - 4em);
		margin: .125em 2em .25em 2em;
	}
	
	header nav.mobi ul li ul.drop li {
		margin: 0 0 .25em 0;
		padding: 0;
		width: 100%;
		max-width: 100%;
		min-width: 100%;
	}
	
	header nav.mobi ul li ul.drop li a {
		color: black;
		padding: .125em 0;
	}
	
	#main.fullbox {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}
	#main.columns {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 2rem;
	}
	#main.columns #menubox .menubox_subnav {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}
	#main.columns #menubox .list_menu {
		display: grid;
		grid-template-columns: 3fr 5fr;
		grid-gap: .5rem;
	}
	#main.columns #menubox .list_menu .menutitlefull {
		align-self: start;
		grid-column: span 1 / 1;
	}
	.homepage_page #mainbox .storyp {
		margin-bottom: 0;
	}
	.product_page #main.columns #menubox .menubox_subnav {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 1rem;
	}
	.product_page #main.columns #menubox .list_menu {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: .5rem;
	}
	.featured_news {
		margin-top: 0;
	}
	.featured_news .inner,.featured_product .inner {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 2rem;
	}
	.featured_product .inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 2rem;
	}
	.featured_news_item {
		display: grid;
		grid-template-columns: 1fr 4fr;
		grid-gap: 1rem;
	}
	.featured_product .inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 2rem;
	}
	.featured_product_item {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: .25rem;
	}
	.product_intro {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 1rem;
		margin-bottom: 2em;
	}
	#subfooter .inner {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 1rem;
	}
	.storycolumn {
		width: 100%;
		float: none;
		clear: both;
		margin: 0;
		padding: 0;
	}
	#main h3 {
		font-size: 1.33em;
	}
	.calendar_page #mainbox #lineview ul.days > li {
		grid-template-columns:1fr 4fr;
	}
}

@media(min-width: 42em) and (max-width:51em) {
	#main.columns #menubox .menubox_subnav {
		grid-template-columns: 1fr 1fr;
	}
}