/*
	Theme Name: Perfect Books
	Version: 1.0.0

*/
/* CSS RESET & BOX SIZING */

* {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: normal;
	box-sizing: border-box; /* width includes content, padding, border, but not margin */
}

ul {
	list-style: none;
}

img {
	max-width: 100%;
	height: auto;
}



/* FONT FACES */

@font-face {
    font-family: 'tisaproregular';
    src: url('fonts/tisapro-regular-webfont.eot');
    src: url('fonts/tisapro-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/tisapro-regular-webfont.woff') format('woff'),
         url('fonts/tisapro-regular-webfont.ttf') format('truetype'),
         url('fonts/tisapro-regular-webfont.svg#tisaproregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'tisapromedium';
    src: url('fonts/tisapro-medi-webfont.eot');
    src: url('fonts/tisapro-medi-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/tisapro-medi-webfont.woff') format('woff'),
         url('fonts/tisapro-medi-webfont.ttf') format('truetype'),
         url('fonts/tisapro-medi-webfont.svg#tisapromedium') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'tisaproitalic';
    src: url('fonts/tisapro-ita-webfont.eot');
    src: url('fonts/tisapro-ita-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/tisapro-ita-webfont.woff') format('woff'),
         url('fonts/tisapro-ita-webfont.ttf') format('truetype'),
         url('fonts/tisapro-ita-webfont.svg#tisaproitalic') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_nova_rgregular';
    src: url('fonts/proximanova-regular-webfont.eot');
    src: url('fonts/proximanova-regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/proximanova-regular-webfont.woff') format('woff'),
         url('fonts/proximanova-regular-webfont.ttf') format('truetype'),
         url('fonts/proximanova-regular-webfont.svg#proxima_nova_rgregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'proxima_nova_ltbold';
    src: url('fonts/proximanova-semibold-webfont.eot');
    src: url('fonts/proximanova-semibold-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/proximanova-semibold-webfont.woff') format('woff'),
         url('fonts/proximanova-semibold-webfont.ttf') format('truetype'),
         url('fonts/proximanova-semibold-webfont.svg#proxima_nova_ltbold') format('svg');
    font-weight: normal;
    font-style: normal;
}


/* FONT HIERARCHY */

/* S: 12px/18px */
.s, h6, a.see-more, #info-bar-hours, #info-bar-address, #main-menu, #tagline {
	font-size: 0.75em;
	line-height: 1.3846153846153846em;
  font-family: 'proxima_nova_rgregular';
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

h6 {
	font-family: 'proxima_nova_ltbold';
}

/* MS: 14px/18px */
.event-time, .event-synopsis, .event-more, .secondary, .tertiary {
	font-size: 0.875em;
	line-height: 1.2857142857em;
}

h4 {
	font-size: 0.875em;
	line-height: 1.2857142857em;
	font-family: 'proxima_nova_ltbold';
	text-transform: uppercase;
	letter-spacing: 0.15em;
	margin-top: 2.5em;
	border-bottom: 2px solid black;
	margin-bottom: 1em;
}

/* M: 16px/24px */
.m, body {
	font-size: 1em;
	line-height: 1.5em;
  font-family: 'tisaproregular';
}

.intro, h5 { /* ML: 20px/36px */
	font-size: 1.25em;
	line-height: 1.375em;
	font-family: 'tisapromedium';
}

/* L: 26/36px */
.l, h3 {
	font-size: 1.625em;
	line-height: 1.3846153846153846em;
	font-family: 'tisapromedium';
}

/* XL: 42px / 48px */
.xl, h2 {
	font-size: 2.625em;
	line-height: 1.1428571428571428em;
	font-family: 'tisaproitalic';
}

/* XXL: 68px / 72px */
.xxl {
	font-size: 4.25em;
	line-height: 1.0588235294117647em;
}

/* XXXL: 110px / 120px */
.xxxl {
	font-size: 6.875em;
	line-height: 1.0909090909090908em;
}




/* BASIC LAYOUT */

/* Full-width segments containing one or more building block divs */

.segment {
	width: 1440px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 1em;
}

.segment:after {
	content: "";
	display: table;
	clear: both;
}

.segment>.block {
	float: left;
	min-height: 1px;
	width: 100%;
	padding: 0 1em;
	position: relative;
}

/* Mobile differences */
@media only screen and (max-width: 768px) {
	.segment {
		padding: 0 .5em;
	}

	.segment>.block {
		padding: 0 .5em;
	}
}



/* SPECIFIC LAYOUTS */

/* Options for fractional width columns */

.block.half { width: 50%; }

.block.one-third { width: 33.33%; }
.block.two-thirds { width: 66.67%; }

.block.one-quarter { width: 25%; }
.block.two-quarters { width: 50%; }
.block.three-quarters { width: 75%; }

.block.one-eighth { width: 12.5%; }
.block.two-eighths { width: 25%; }
.block.three-eighths { width: 37.5%; }
.block.four-eighths { width: 50%; }
.block.five-eighths { width: 62.5%; }
.block.six-eighths { width: 75%; }
.block.seven-eighths { width: 87.5%; }


/* Option to offset by columns certain amount */

.block.offset-one-eighth { margin-left: 12.5% }
.block.offset-two-eighths { margin-left: 25% }
.block.offset-three-eighths { margin-left: 37.5% }
.block.offset-four-eighths { margin-left: 50% }
.block.offset-five-eighths { margin-left: 62.5% }
.block.offset-six-eighths { margin-left: 75% }
.block.offset-seven-eighths { margin-left: 87.5% }


/* Options for square grids with variable number of columns */

.segment.grid-two>.block {
	width: 50%;
	padding-bottom: 50%;
	height: 0;
}

.segment.grid-three>.block {
	width: 33.33%;
	padding-bottom: 33.33%;
	height: 0;
}

.segment.grid-four>.block {
	width: 25%;
	padding-bottom: 25%;
	height: 0;
}

/* Mobile differences */
@media only screen and (max-width: 768px) {
	.segment.grid-mobile-two>.block {
		width: 50%;
		padding-bottom: 50%;
		height: 0;
	}

	.segment.grid-mobile-three>.block {
		width: 33.33%;
		padding-bottom: 33.33%;
		height: 0;
	}

	.segment.grid-mobile-four>.block {
		width: 25%;
		padding-bottom: 25%;
		height: 0;
	}
}


/* Option to stack columns on mobile phone screens */

@media only screen and (max-width: 768px) {
	.segment.mobile-stack>.block {
		width: 100%;
		margin-left: 0;
	}
}


/* Option to arrange columns right-to-left vs mobile stacking order */

.segment.right-to-left>.block {
	float: right;
}



/* SITEWIDE GENERAL STYLING */

p {
	margin-bottom: 1.5em;
}

a {
	text-decoration: none;
	color: #376666;
}

a.underlined {
	text-decoration: underline;
}



/* HEADER AREA */

header {
	background-color: #3c3c3c;
}

#info-bar {
	color: #ebebeb;
	height: 2.5em;
	line-height: 2.5em;
	padding-top: .75em;
}

#info-bar-address {
	text-align: right;
}

@media only screen and (max-width: 768px) {
	#info-bar {
		height: 3em;
		padding-top: .5em;
		line-height: 1.5em;
	}

	#info-bar-address, #info-bar-hours {
		text-align: center;
	}
}



/* SPLASH AREA */

#splash {
	background: url(images/splash-background.jpg);
	background-size: cover;
	height: 19.5em;
	margin-bottom: 2em;
}

#main-menu a.shop-button {
	color: white;
	display: block;
	float: left;
	border-radius: 1.5em;
	border: 2px solid white;
	padding-left: 2em;
	padding-right: 2em;
	height: 3em;
	line-height: 3em;
	margin-top: 1.33333em;
	background-color: rgba(0,0,0,.3);
}

#main-menu li {
	float: left;
	padding-left: 1.5em;
	padding-right: 1.5em;
	height: 3em;
	line-height: 3em;
	margin-top: 1.33333em;
}

#main-menu li a {
	color: white;
}


a#logo {
	display: block;
	width: 100%;
	padding-top: 1.25em;
	overflow: hidden;
	text-align: center;
}

#tagline {
	padding-top: .5em;
	width: 100%;
	overflow: hidden;
	text-align: center;
	color: white;
}

@media only screen and (max-width: 768px) {
	#main-menu a.shop-button, #main-menu li {
		border: none;
		background: none;
		border-radius: none;
		padding-left: 0;
		padding-right: 2em;
		height: 1.5em;
		line-height: 1.5em;
	}
}



/* SEARCH BOX */

#search-box {
	background-color: #ebebeb;
	border-radius: 0.125em;
	width: 21em;
	height: 2.5em;
	margin: 0 auto;
	margin-top: 2em;
}

#search-box input[type=text] {
	background-color: #ebebeb;
	font-family: 'proxima_nova_rgregular';
	font-size: 1em;
	height: 2em;
	line-height: 2em;
	margin-top: .25em;
	margin-left: .75em;
	width: 14.5em;
}

#search-box input[type=text]:focus {
	outline: none;
}

#search-box input[type=submit] {
	float: right;
	margin-right: .25em;
	margin-top: .25em;
	height: 2em;
	width: 5em;
	line-height: 2em;
	color: white;
	background-color: #376666;
	border-radius: .125em;
	font-family: 'proxima_nova_rgregular';
	font-size: 1em;
	text-align: center;
}

#search-box input[type=submit]:focus {
		outline: none;
}


/* HOME BANNER NOTICE */
#home-banner {
	margin-top: -2em;
	background-color: #ebebeb;
	margin-bottom: 2em;
}

#home-banner h2 {
	margin-top: .5em;
	text-align: center;
}

#home-banner .divider {
	width: 8.5em;
	border-bottom: 2px solid black;
	margin: 1.5em auto;
}



/* BOOK LISTINGS */

.section-header {
	padding-bottom: .25em;
	border-bottom: 2px solid black;
	margin-bottom: 1.5em;
}

a.see-more {
	margin-top: .6667em;
	display: block;
	height: 2.6667em;
	line-height: 2.6667em;
	color: white;
	background-color: #376666;
	border-radius: .125em;
	text-align: center;
	width: 9.3333em;
	float: right;
}

.featured-book {
	margin-bottom: 3em;
	position: relative;
	width: 100%;
	overflow: hidden;
}

a.book-cover-link {
	display: block;
	width: 8em;
	float: left;
}

.book-cover {
	width: 8em;
}

.book-details {
	padding-left: 9.5em;
	top: 0;
	right: 0;
}



/* EVENT LISTINGS */

.event {

}

.event-time {

}

.event-synopsis {
	color: #a9a9a9;
}

.event-more {
	display: block;
	text-align: right;
}

.postsummary {
	font-weight: bold;
}

.intro {
	font-style: italic;
	margin-top: 1em;
	margin-bottom: 1em;
}


/* NEWSLETTER SIGNUP */

#newsletter-box h5 {
	margin-top: .25em;
	margin-bottom: .375em;
}

#newsletter-box form {
	margin-bottom: 1em;
}

#newsletter-box input[type=email] {
	background-color: #ebebeb;
	font-family: 'proxima_nova_rgregular';
	font-size: 1em;
	height: 2.5em;
	line-height: 2.5em;
	width: 100%;
	background-color: white;
	border: 2px solid #ebebeb;
	padding: .25em;
	border-radius: .1em;
	margin-bottom: .5em;
}

#newsletter-box input[type=text]:focus {
	outline: none;
}

#newsletter-box input[type=submit] {
	height: 3.3333em;
	line-height: 3.3333em;
	color: white;
	background-color: #376666;
	border-radius: .1667em;
	font-family: 'proxima_nova_rgregular';
	font-size: 1em;
	text-align: center;
	width: 100%;
	text-transform: uppercase;
	font-size: 0.75em;
	line-height: 1.3846153846153846em;
  font-family: 'proxima_nova_rgregular';
	text-transform: uppercase;
	letter-spacing: 0.15em;
}

#newsletter-box input[type=submit]:focus {
	outline: none;
}

.tertiary {
	color: #a9a9a9;
}


/* FOOTER */

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 18.5em;
		background-color: #f8f8f8;
}

footer {
	background-color: #3c3c3c;
	color: #d6d6d6;
	padding-top: 1.5em;
	padding-bottom: 1.5em;
	line-height: 1.375em;
	height: 17em;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	overflow: hidden;
}

footer a:link, footer a:visited {
	color: #d6d6d6;
}

.footer-block {
	margin-bottom: 1.5em;
}

.footer-block tr {
	height: 1.375em;
}

.footer-block td {
	height: 1.375em;
	line-height: 1.375em;
	padding-right: .5em;
}

footer h6 {
	color: #757575;
	margin-bottom: .25em;
}

footer img {
	margin-top: .25em
}

#map-image {
	width: 216px;
	height: auto;
}

/* Mobile differences */
@media only screen and (max-width: 768px) {
	body {
		margin-bottom: 51.5em;
	}

	footer {
		height: 50em;
	}

	#map-image {
		width: 100%;
	}
}



/* ARTICLE CONTENT */
article ul, article ol {
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}



/* WORDPRESS CORE */

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}
