/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}


/* for bootstrap/angular to work nicely */
/*.nav, nav a, .pagination, .carousel, .panel-title a { cursor: pointer; }
*/

/* apply a natural box layout model to all elements, but allowing components to change */
html {
  box-sizing: border-box;
  font-size: 16px;
  font-family: Helvetica, Arial, 'Sans Serif';
  color: #333;
  height: 100%;
}
*, *:before, *:after {
  box-sizing: inherit;
}

body {
	background: #FFF;
	padding-top: 40px;	/*this is for the 40px fixed header*/
	height: 100%;
}

h1 {
	margin: 0px;
	font-size: 2.25em;
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	font-weight: normal;
	color: #4d4d4d;
}

h2 {
	margin: 0px;
	font-size: 1.5em;
	font-weight: bold;
}

h3 {
	margin: 0px;
	font-size: 1.25em;
	font-weight: bold;
}

p {
	margin-bottom: 1em;
	line-height: 1.25em;
}

strong {
	font-weight: bold;
}

/*
	re-usable component styles
*/

.noDisplay {
	display:none;
}

.loading-gif {
	text-align: center;
	padding-top: 30px;
}

.user-image-frame {
	border-radius: 20px;
	width: 40px;
	height: 40px;
	overflow: hidden;
	background-size: cover;
	background-position: center top;
}

.btn-read,
.btn-download,
.btn-next,
.btn-prev {
	display: block;
	margin: 5px auto 0px auto;
	padding: 10px 0px;
	width: 100%;
	text-transform: uppercase;
	cursor: pointer;
	border-radius: 3px;
	color: #444;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}

.btn-read {
	border: solid 1px #a5c956;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cdeb8e+0,a5c956+100;Green+3D+%232 */
	background: #cdeb8e; /* Old browsers */
	background: -moz-linear-gradient(top, #cdeb8e 0%, #a5c956 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cdeb8e), color-stop(100%,#a5c956)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* IE10+ */
	background: linear-gradient(to bottom, #cdeb8e 0%,#a5c956 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cdeb8e', endColorstr='#a5c956',GradientType=0 ); /* IE6-9 */
}

.btn-download,
.btn-next,
.btn-prev {
	border: solid 1px #57afc9;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#8fd6eb+0,57afc9+100 */
	background: #8fd6eb; /* Old browsers */
	background: -moz-linear-gradient(top, #8fd6eb 0%, #57afc9 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#8fd6eb), color-stop(100%,#57afc9)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #8fd6eb 0%,#57afc9 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #8fd6eb 0%,#57afc9 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #8fd6eb 0%,#57afc9 100%); /* IE10+ */
	background: linear-gradient(to bottom, #8fd6eb 0%,#57afc9 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8fd6eb', endColorstr='#57afc9',GradientType=0 ); /* IE6-9 */
}

.btn-next,
.btn-prev {
	padding: 20px;
	font-size: 2em;
	width: 300px;
	margin-bottom: 50px;
}

.action-icon {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	border: solid 2px #fff;
	background: #57afc9;
	cursor: pointer;
	padding: 5px;
}

.action-icon path {
	color: #fff;
	fill: #fff;
}

/*
	
*/

#header {
	background: #777 url('/img/light-aluminum.png') repeat-x;
	color: #666;
	height: 40px;
	padding: 5px;
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 3;
	white-space: nowrap;
	text-align: center;
}

#header .header-brand {
	color: #fff;
	opacity: 0.5;
	text-decoration: none;
	line-height: 30px;
	display: inline-block;
	text-align: center;
	font-size: 1.25em;
}

#header .header-brand:hover {
	opacity: 0.75;
}

#header .header-info {
	width: 30px;
	height: 30px;
	position: fixed;
	left: 10px;
	top: 5px;
	cursor: pointer;
}

#header .header-info path {
	color: #fff;
	fill: #fff;
}

#header .header-cta {
	position: fixed;
	right: 10px;
	top: 5px;
	display: inline-block;
	color: #fff;
	line-height: 30px;
}

#header .header-user {
	position: fixed;
	right: 10px;
	top: 5px;
	height: 30px;
	display: none;
} 

#header .header-user .header-user-username {
	line-height: 30px;
	color: #fff;
	display: inline-block;
	padding-right: 10px;
	vertical-align: top;
}

#header .header-user .user-image-frame {
	height: 30px;
	width: 30px;
	border-radius: 15px;
	background-color: #fff;
	display: inline-block;
}

#content {
	width: 100%;
	overflow-y: scroll;
	overflow-x: hidden;
}

.board-main-content {

}

.board-header {
	height: 46px;
	padding: 8px;
	overflow: hidden;
	color: #4d4d4d;
}

.board-header .user-image-frame {
	height: 40px;
	width: 40px;
	margin: -5px 10px 0px 10px;
	float: left;
}

.board-header h2 {
	margin: 0px;
	line-height: 30px;
	font-size: 1.2em;
	font-weight: bold;
	margin-left: 10px;
	white-space: nowrap;
}

.board-canvas {
	padding: 0px 5px;
}

.board-canvas .board {

}

.shelf {
	max-width: 100%;
	width: 100%;
	background: #fff;
	vertical-align: top;
	overflow: hidden;
	display: inline-block;
	position: relative;
	padding-bottom: 10px;
}

.shelf:first-child {
	margin-top: 20px;
}

/*.shelf:after {
	content: '\A';
	white-space: pre;
}*/

.shelf .shelf-info {
	margin-bottom: 0px;
	overflow: hidden;
	white-space: nowrap;
}

.shelf .shelf-info .shelf-title,
.shelf .shelf-info .user-image-frame,
.shelf .shelf-info .shelf-username {
	display: inline-block;
}

.shelf-title {
	font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
	font-size: 1.5em;
	font-weight: normal;
	color: #4d4d4d;
}

.shelf .shelf-info .shelf-title {
	padding: 8px 10px 8px 10px;
}

.shelf .shelf-info .shelf-title a {
	text-decoration: none;
	color: inherit;
}

.shelf .shelf-info .user-image-frame {
	margin: 4px 10px 0px 0px;
	float: right;
	display: none;
}

.shelf .shelf-info .shelf-username {
	color: #666;
	font-size: 0.75em;
	font-style: italic;
	font-weight: normal;
	float: right;
	line-height: 48px;
	padding: 0px 10px;
	display: none;
}

.shelf .user-item {
	width: 200px;
}

.shelf .user-item .user-image-frame {
	width: 150px;
	height: 150px;
	border-radius: 75px;
	margin: auto;
	margin-bottom: 10px;
}

.shelf .user-item .user-name {
	display: inline-block;
	margin-bottom: 0.5em;
}

.shelf .shelf-scroll-pane {
	overflow-y: hidden;
	overflow-x: scroll;
	margin: 0px 5px 5px 5px;
}

.shelf .shelf-items {
	/*list-style-type: none;*/
	padding: 0px;
	display: inline-block;
	white-space: nowrap;
}

.shelf .shelf-add-item {
	height: 35px;
	padding: 8px 10px;
	display: block;
	color: #8c8c8c;
	border-bottom-right-radius: 3px;
	border-bottom-left-radius: 3px;
}

.shelf .shelf-add-item:hover {
	background-color: #cdd2d4;
	color: #8c8c8c;
}

/* iPhone 5 Portrait */
@media (max-width: 600px) {
	.shelf .shelf-info .shelf-title {
		white-space: normal;
		font-size: 1.2em;
	}

	.shelf .shelf-info .shelf-username,
	.shelf .shelf-info .user-image-frame,
	.shelf .shelf-visual-bottom {
		display: none;

	}

}

.item {
	margin-right: 6px;
	padding: 0px 5px 8px 5px;
	text-align: center;
	display: inline-block;
	vertical-align: top;
	position: relative;
	white-space: normal;
}

table.item td {
	width: 200px;
	max-width: 200px;
	overflow: hidden;
}

.item .item-info {
	padding-top: 5px;
}

.item .item-title {
	margin: 0px;
	font-weight: bold;
	vertical-align: bottom;
	text-align: left;
}

.item .item-author {
	margin: 5px 5px 0px 0px;
	text-align: right;
	font-style: italic;
	font-size: 0.9em;
	color: #666;
	vertical-align: bottom;
}

.item .item-cover {
	height: 300px;
	vertical-align: bottom;
	position: relative;
}

.item .item-cover .item-cover-img {
	max-height: 300px;
	max-width: 200px;
	cursor: pointer;
}

.item .item-cover .action-icon {
	position: absolute;
	bottom: 10px;
}

.item .item-cover .action-icon.more-info {
	right: 10px;
}

.item .item-cover .action-icon.author-quote {
	left: 10px;
	border-style: dotted;
}

.item .item-cover .action-icon.author-quote.active {
	border-style: solid;
}

.item .item-cover .item-quote {
	background: #fff url('../img/clean-gray-paper.png') repeat; /* pre-load the bg image */
}

.item .item-cover .item-quote-content {
	position: absolute;
	background: #fff url('../img/clean-gray-paper.png') repeat;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	padding: 15px;
}

.item .item-cover .item-quote-content .item-quote-quote {
	text-align: left;
	margin-top: 30px;
	margin-bottom: 10px;
}

.item .item-cover .item-quote-content .item-quote-quoted {
	text-align: right;
	font-size: 0.9em;
	font-weight: bold;
}

/*.item .item-cover .action-icon.author-quote svg {
	width: 80%;
}*/

.btn-add-item {
	width: 200px;
	height: 300px;
}

.btn-add-item .btn-add-item-cta {
	width: 100%;
	height: 100%;
	cursor: pointer;
	color: #999;
	background: #eee;
	border: dashed 3px #bbb;
}

.btn-add-item .big-plus {
	color: #bbb;
	font-size: 5em;
	padding-top: 70px;
}

.book {
	/*height: 100%;*/
}

.book .book-title {
	color: #000;
	font-size: 1.25em;
	padding-right: 30px;
}

.book .book-title .book-author {
	font-size: 0.9em;
	color: #666;
}

.book .book-more-info {
	margin-top: 10px;
	text-align: left;
	font-size: 0.9em;
}

.book .book-cover {
	width: 150px;
	margin: 0px 10px 10px 0px;
	overflow: hidden;
	position: relative;
	float: left;
}

.book .book-cover img {
	width: 100%;
}

.book .book-desc {
	max-height: 210px;
	overflow: hidden;
}

.book .book-more-info-cta {
	text-align: right;
	padding-top: 10px;
}

.book .book-more-info-cta a {
	color: #444;
}

.book .book-quotes {
	padding-top: 10px;
	font-size: 0.85em;
	min-height: 80px;
	margin-bottom: 10px;
}

.quote {
	position: relative;
	padding-right: 80px;
}

.quote .user-image-frame {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 70px;
	height: 70px;
	border-radius: 35px;
}

.quote .quote-frame {
	margin-right: 5px;
	border: solid 3px #ccc;
	border-radius: 5px;
	position: relative;
	padding: 10px;
}

.quote .quote-frame:before {
	top: 5px;
	bottom: auto;
	left: auto;
	right: -15px;
	border-width: 10px 0 10px 15px;
	border-color: transparent #ccc;

	content: "";
    position: absolute;
    border-style: solid;
    display: block;
    width: 0;
}

.quote .quote-frame:after {
	top: 8px;
    bottom: auto;
    left: auto;
    right: -10px;
    border-width: 7px 0 7px 12px;
    border-color: transparent #fff;

    content: "";
    position: absolute;
    border-style: solid;
    display: block;
    width: 0;
}

.quote-noimage {
	margin: 20px 10%;
}

.quote-noimage .quote-text {
	font-style: italic;
	color: #666;
	margin-bottom: 10px;
}

.quote-noimage .quote-author {
	text-align: right;
}

.book .book-ctas {
	clear: both;
}

.book .reader {
	width: 100%;
	height: 95%;
	position: relative;
}

.book .reader .btn-page {
	position: absolute;
	top: 0px;
	text-align: center;
	font-size: 2em;
	color: #fff;
	cursor: pointer;
	margin-top: 25%;

	border: solid 1px #a5c956;
	border-radius: 3px;
	color: #444;
	padding: 10px;
	padding-top: 5px;

	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#cdeb8e+0,a5c956+100;Green+3D+%232 */
	background: #cdeb8e; /* Old browsers */
	background: -moz-linear-gradient(top, #cdeb8e 0%, #a5c956 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cdeb8e), color-stop(100%,#a5c956)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #cdeb8e 0%,#a5c956 100%); /* IE10+ */
	background: linear-gradient(to bottom, #cdeb8e 0%,#a5c956 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cdeb8e', endColorstr='#a5c956',GradientType=0 ); /* IE6-9 */
	copy
}

.book .reader .btn-page:hover {
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}

.book .reader .btn-page.prev {
	left: 0px;
}

.book .reader .btn-page.next {
	right: 0px;
}

.book .reader #epubReader {
	padding: 10px 10%;
	width: 100%;
	height: 95%;
}

.book .reader .loading {
	margin-top: 15%;
	position: absolute;
	margin-left: -64px;
}

.book .reader .reader-nav {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	text-align: center;
}

.book .reader .reader-nav .pageNum {
	display: inline-block;
}

.book .reader .reader-nav .pageNum.curPage {
	text-align: right;
}

/* iPhone 5 Portrait */
@media (max-width: 600px) {

  	.book .reader #epubReader {
  		height: 90%;
  	}

  	.book .reader .btn-page {
  		bottom: 0px;
  		top: auto;
  		margin-top: 0px;
  		margin-bottom: 5px;
  		width: auto;
  	}

  	.book .reader .reader-nav {
  		bottom: 4%;
  	}
}

.banner {
	padding: 20px;
	text-align: center;
}

.user-name {
	font-weight: bold;
}

.user-tagline {
	color: #666;
	font-style: italic;
}

.banner .user-image-frame {
	width: 150px;
	height: 150px;
	border-radius: 75px;
	display: inline-block;
}

.banner .vitals {
	display: inline-block;
	width: 500px;
	margin-left: 50px;
	text-align: left;
	vertical-align: top;
}

.banner .vitals .shelf-title {
	font-size: 2em;
	padding-bottom: 10px;
}

.banner .vitals .user-name {
	font-size: 1.25em;
	margin-bottom: 0.25em;
}

.banner .vitals .user-tagline {
	margin-bottom: 0.75em;
}

.banner .vitals .desc {
	font-size: 0.9em;
	line-height: 1.35em;
}

/* iPhone 5 Portrait */
@media (max-width: 600px) {
	.banner .vitals {
		display: inline-block;
		width: 100%;
		margin: 20px 0px 0px 0px;
	}
}


/*
	listing layout
*/

.listing .landing-promo {
	padding: 20px;
	padding-bottom: 0px;
}

.listing .landing-promo p {
	margin-top: 10px;
}



/*
	masonry layout
*/

.masonry {
	width: 100%;
	padding: 20px;
	padding-top: 0px;
	text-align: center;
}


/*
	email signup styles
*/

.email-signup-page {
	text-align: center;
	margin-top: 30px;
}


.email-signup-page .email-signup-promo {
	width: 30%;
	overflow: hidden;
	display: inline-block;
	vertical-align: top;
	position: relative;
}

.email-signup-page .email-signup-promo.email-signup-promo-mobile {
	display: none;
}

.email-signup-page .email-signup-promo .shadow {
	width: 100%;
	height: 100%;
	box-shadow: inset 0 0 100px #ccc;
	position: absolute;
	top: 0px;
	left: 0px;
}

.email-signup-page .email-signup-promo-image {
	width: 100%;
}

.email-signup-page .email-signup-benefits {
	width: 45%;
	display: inline-block;
	vertical-align: top;
	margin-left: 5%;
	text-align: left;
}

.email-signup-page .email-signup-benefits h1 {
	font-size: 2em;
	margin-bottom: 0.5em;
	text-align: center;
}

/* iPhone 5 Portrait */
@media (max-width: 600px) {
	.email-signup-page .email-signup-benefits {
		width: 100%;
		margin: 0px;
		padding: 20px;
	}

	.email-signup-page .email-signup-promo { 
		display: none;
	}	

	.email-signup-page .email-signup-promo.email-signup-promo-mobile {
		display: block;
		width: 100%;
	}
}


/*
lightbox styles
*/

.lightbox-overlay {
	background: #000;
	opacity: 0.5;
	position: fixed;
	top: 0px;
	bottom: 0px;
	width: 100%;
	height: 100%;
	left: 0px;
	right: 0px;
	z-index: 100;
	display: none;
}

.lightbox-container {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	bottom: 0px;
	left: 0px;
	right: 0px;
	background: transparent;
	z-index: 101;
}

.lightbox-content {
	position: relative;
	margin: auto;
	background-color: #fff;
	padding: 10px;
	border-radius: 3px;
	top: 50%;
  	-webkit-transform: translateY(-50%);
 	-ms-transform: translateY(-50%);
  	transform: translateY(-50%);
  	max-height: 100%;
}

.lightbox-content h4 {
	color: #000;
	font-size: 1.25em;
	padding-right: 30px;
}

.lightbox-btn-close {
	position: absolute;
	top: 5px;
	right: 5px;
	cursor: pointer;
	color: #fff;
	border: 1px solid #000;
	border-radius: 6px;
	background: #FF4751;
	font-size: 1.5em;
	line-height: 0.5em;
	font-weight: bold;
	display: inline-block;
	padding: 3px 5px 5px 5px;
	text-decoration: none;
}

.lightbox-summary .lightbox-overlay,
.lightbox-about .lightbox-overlay,
.lightbox-add .lightbox-overlay {
	display: block;	
}

.lightbox-summary .lightbox-content,
.lightbox-about .lightbox-content,
.lightbox-add .lightbox-content {
	width: 500px;
}

.form-submit-email input {
	width: 100%;
	padding: 10px;
	font-size: 1.25em;
}

.lightbox-add .form-add-book input[type=text] {
	width: 70%;
	padding: 8px;
	margin-right: 1%;
	font-size: 1em;
}

.lightbox-add .form-add-book a.btn-read {
	width: 29%;
	display: inline-block;
}

.lightbox-add .search-results {
	padding: 15px 45px 0px 45px;
	position: relative;
	max-height: 515px;
	overflow: hidden;
}

.lightbox-add .search-results .btn-prev,
.lightbox-add .search-results .btn-next {
	position: absolute;
	height: 100%;
	width: 45px;
	top: 15px;
	left: 0px;
	margin: 0px;
	padding: 0px;
	padding-top: 49%;
}

.lightbox-add .search-results .btn-next {
	right: 0px;
	left: auto;
}

.lightbox-add .search-results .search-results-container {
	text-align: left;
	position: relative;
	left: 0px;
}

.lightbox-add .search-results .item {
    width: 390px;
    padding-left: 85px;
    margin-right: 0px;
}

.lightbox-about .form-submit-email.error input {
	border: solid 1px #ff5772;
}

.lightbox-about  .form-submit-email.error .error {
	color: #ff5772;
	font-size: 0.9em;
	margin-bottom: 5px;
}

.lightbox-about .form-submit-email.success {
	display: none;
}

.lightbox-about .success {
	color: #14c507;
	text-align: center;
}



@media (max-width: 600px) {

  	.lightbox-content {
  		top: auto;
  		transform: none;
  	}

  	.lightbox-summary .lightbox-content,
  	.lightbox-about .lightbox-content,
  	.lightbox-add .lightbox-content {
  		width: 100%;
  		height: 100%;
  		overflow: scroll;
  	}

}
