/*
Description:	Custom stylesheet for John Marcello
Author:			John Marcello
*/

/* ---- css reset defaults ---- */

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; margin: 0; padding: 0; vertical-align: baseline; }
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: ''; content: none; }
table { border-collapse: collapse; border-spacing: 0; }
strong, b { font-weight: 700; }
em, i { font-style: italic; }
#thesis_launcher { display: none !important; }
	
/* ---- site wide defaults ---- */

html { font-size: 62.5%; font-family: 'Open Sans',sans-serif; overflow-y: scroll !important; }
body { background: #FFFFFF; color: #3A3A3A; font-size: 1.4rem; }

.custom * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
.custom { color: #3A3A3A; }
.custom a { color: #3A3A3A; text-decoration: none; }
.custom a:hover { color: #3A3A3A; text-decoration: underline; }

.custom .panel { right: -23rem; position: fixed; width: 23rem; }
.custom .wrap { position: relative; }

.custom input[type="text"], .custom textarea, .custom input[type="submit"] { -webkit-appearance: none; }
.custom :focus { border-color: #CFCFCF; }
.custom img.flex { height: auto; margin: 0 auto; width: 100%; }

.custom .none { display: none; }
.custom .left { float: left; }
.custom .right { float: right; }
.custom .clear { clear: both; }

.custom .wrapper { padding: 0 6rem; transition: ease 0.5s; width: 100%; }
.custom .no-wrap { padding: 0; transition: ease 0.5s; } 
.custom .inner { display: block; margin: 0 auto; max-width: 120em; overflow: hidden; width: 100%; }
.custom .mobile { display: none; }
.custom .screen { display: block; }

.custom .row { display: table; width: 100%; } 
.custom .column { display: table-cell; padding: 0 1rem; vertical-align: middle; }
.custom .top { vertical-align: top; }

.custom .text { font: 400 1.6rem/2.6rem 'Open Sans', sans-serif; }
.custom .text p { margin: 0 auto 2.6rem; }

.custom .one_half { width: 50%; }
.custom .one_third { width: 33.333333%; }
.custom .two_third { width: 66.666667%; }
.custom .one_quarter { width: 25%; }
.custom .three_quarter { width: 75%; }

/* ---- big slide plugin ---- */

.custom .menu-screen { display: block; }
.custom .menu-mobile { display: none !important; }

.custom .screen-feature { display: block; }
.custom .mobile-feature { display: none; }

/* mobile menu */

.custom #header .navigate #prime { color: #FFFFFF; float: right; padding: 1.65rem 0; text-decoration: none; }
.custom #header .navigate #prime span { font-size: 2.4rem; text-align: center; }

.custom #slide { background: #AAAAAA; display: table; padding: 0; }
.custom .slide { display: block; padding: 0 2rem; width: 100%; }
.custom .slide li { border-bottom: 1px solid rgba(255,255,255,0.2); }
.custom .slide li a { color: #FFFFFF; display: block; font: 700 1.5rem/1.5rem 'Open Sans', sans-serif; padding: 2.2rem 0; text-align: center; text-transform: uppercase; }
.custom .slide li a:hover { color: #FFFFFF; text-decoration: none; }
.custom .social { display: block; text-align: center; width: 100%; }
.custom .social li { display: inline-block; }
.custom .social li a { color: #FFFFFF; display: block; font-size: 2rem; line-height: 2rem; padding: 2rem 1rem; text-transform: uppercase; transition: ease 0.5s; }
.custom .social li a:hover { color: #FFFFFF; text-decoration: none; }

/* ---- header area ---- */

.custom #header { background: rgba(16,32,48,1); position: fixed; top: 0; transition: ease 0.5s; width: 100%; z-index: 9999; }
.custom #header.scroll { }
/* logo */
.custom #header .branding { padding: 0; }
.custom #header .branding h1 img { height: auto; max-width: 31.3rem; width: 100%; }
/* navigation */
.custom #header .navigate { padding: 0; }
.custom #header .navigate #menu { float: right; }
.custom #header .navigate #menu ul li { float: left; }
.custom #header .navigate #menu ul li:hover { background: transparent; }
.custom #header .navigate #menu ul li a,
.custom #header .navigate #menu ul li span { color: #FFFFFF; display: block; font: 700 1.5rem/1.5rem 'Open Sans', sans-serif; padding: 4.25rem 1.5rem; text-transform: uppercase; transition: ease 0.5s; }
.custom #header .navigate #menu ul li a:hover,
.custom #header .navigate #menu ul li span:hover { color: #58B737; text-decoration: none; transition: ease 0.3s; }
.custom #header .navigate #menu ul li.current_page_item a { color: #58B737; transition: ease 0.5s; }
.custom #header .navigate #menu ul li.current-menu-item a { color: #58B737; transition: ease 0.5s; }
/* social */
.custom #header .navigate .separator { border-right: 1px solid #FFFFFF; float: right; height: 20px; margin: 4rem 1.75rem 4rem 1.25rem; transition: ease 0.5s; width: 1px; }
.custom #header .navigate #social { float: right; }
.custom #header .navigate #social ul li { float: left; }
.custom #header .navigate #social ul li a { color: #FFFFFF; display: block; font-size: 1.5rem; line-height: 1.5rem; padding: 4.15rem 1rem; text-transform: uppercase; transition: ease 0.5s; }
.custom #header .navigate #social ul li a:hover { color: #58B737; text-decoration: none; }
.custom #header .navigate #social ul li.last a { padding-right: 0; }

.custom #header.scroll .navigate #menu ul li a,
.custom #header.scroll .navigate #menu ul li span { color: #FFFFFF; display: block; font: 700 1.5rem/1.5rem 'Open Sans', sans-serif; padding: 2.25rem 1.5rem; text-transform: uppercase; transition: ease 0.5s; }
.custom #header.scroll .navigate .separator { border-right: 1px solid #FFFFFF; float: right; height: 20px; margin: 2rem 1.75rem 2rem 1.25rem; transition: ease 0.5s; width: 1px; }
.custom #header.scroll .navigate #social ul li a { color: #FFFFFF; display: block; font-size: 1.5rem; line-height: 1.5rem; padding: 2.15rem 1rem; text-transform: uppercase; transition: ease 0.5s; }
.custom #header.scroll .navigate #social ul li.last a { padding-right: 0; }


/* ---- all area ---- */

.custom #all { position: relative; top: 100px; transition: ease 0.5s; z-index: 1; }
.custom #all.scroll { position: relative; top: 60px; transition: ease 0.5s; z-index: 1; }


/* ---- banner area ---- */

@keyframes bounceIn {
  0% { opacity: 0; transform: scale(0.3); }
  50% { opacity: 1; transform: scale(1.03); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes fadeDown {
  0% { opacity: 0; transform: translateY(-20px); }
  100% { opacity: 1; transform: translateY(0);}
}

@keyframes fadeUp {
  0% { opacity: 0; transform: translateY(20px); }
  100% { opacity: 1; opacity: 1; transform: translateY(0);}
}

.custom #banner { color: #FFFFFF; }
.custom #banner.pale-bg { text-shadow: 0 0 8px #000000, 0 0 5px #000000; }
.custom #banner.pale-bg .pre,
.custom #banner.pale-bg .hash { text-shadow: 0 0 8px #000000, 0 0 6px #000000, 0 0 4px #000000; }
.custom #banner .wrapper { background: #1864AC; }
.custom #banner .inner { position: relative; } 
.custom #banner .row {  }
.custom #banner .column { font: 600 5rem/5rem 'Open Sans',sans-serif; text-align: center; }
.custom #banner .column div.pre { animation: fadeDown 2s ease-in-out 2.25s backwards; margin: 0 auto; padding: 0.5rem; transition: ease 0.5s; }
.custom #banner .column div.pre:before,
.custom #banner .column div.pre:after { content: '\2014'; font-weight: 300; position: relative; top: -2px; transition: ease 0.5s; }
.custom #banner .column div.pre:before { padding-right: 1.5rem; }
.custom #banner .column div.pre:after { padding-left: 1.5rem; }
.custom #banner .column h1 { animation: bounceIn 1.5s ease-in-out 1s backwards; font: 800 8rem/8rem 'Open Sans',sans-serif; margin: 0 auto; padding: 0.5rem 2rem; text-transform: uppercase; transition: ease 0.5s; }
.custom #banner .column h2 { animation: fadeUp 2s ease-in-out 2.5s backwards; margin: 0 auto; padding: 0.5rem 0 10rem; transition: ease 0.5s; }
.custom #banner div.more { bottom: 3rem; left: 0; position: absolute; text-align: center; width: 100%; }
.custom #banner div.more a { color: #FFFFFF; display: inline-block; text-align: center; text-decoration: none; }
.custom #banner div.more span { font-size: 3rem; padding: 2rem; }

.pages #banner .column h1,
.paged #banner .column h1 { animation: none; padding: 0 2rem 0.5rem; }

/* ---- promo area ---- */

.custom #promo { background: #1864AC; }
.custom #promo .wrapper { padding: 0 2rem; }
.custom #promo .inner { padding: 2.5rem 0 2.7rem; } 
.custom #promo .row { display: table; width: 100%; }
.custom #promo .column { color: #FFFFFF; display: table-cell; font: 700 2.5vmax/3vmax 'Open Sans', sans-serif; text-align: center; text-transform: capitalize; transition: ease 0.5s; }

.contact #promo { background: #DEDEDE; }
.contact #promo .column { color: #1864AC; }

/* ---- title areas ---- */

.custom #title { background: #DEDEDE; color: #1864AC; display: block; font: 700 4rem/4.8rem 'Open Sans Condensed', sans-serif; padding: 2rem; text-align: center; text-transform: capitalize; }

/* ---- city area ---- */

.custom #city { background: #EFEFEF; }
.custom #city .wrapper { padding: 0 2rem; transition: ease 0.5s; }
.custom #city .inner { padding: 3rem 0; } 
.custom #city .row { display: table; overflow: hidden; text-align: center; width: 100%; }
.custom #city .row .column { display: inline-table; padding: 3rem; text-align: center; transition: ease 0.5s; width: 33%; }
.custom #city .row .image { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; padding: 1.1rem; transition: all 0.5s ease; }
.custom #city .row .image:hover { opacity: 0.85; transition: all 0.5s ease; }
.custom #city .row .image img { display: block; height: auto; margin: 0 auto; width: 100%; }
.custom #city .row .button { width: 100%; }
.custom #city .row .button .more a { background: #1864AC; border: 0; border-radius: 1rem; color: #FFFFFF; display: block; font: 700 1.6rem/1.6rem 'Open Sans',sans-serif; letter-spacing: 2px; margin: 0 auto; max-width: 30rem; padding: 1.2rem 1rem; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; }
.custom #city .row .button .more a:hover { background: #58B737; border: 0; color: #FFFFFF; text-decoration: none; }

/* ---- feature area ---- */
.custom #feature .inner { max-width: none; }
.custom #feature .wrapper,
.custom #feature .column { padding: 0; }

/* ---- city area ---- */

.custom #features { background: #EFEFEF; }
.custom #features .wrapper { padding: 0 2rem; transition: ease 0.5s; }
.custom #features .inner { padding: 3rem 0; } 
.custom #features .row { display: table; overflow: hidden; text-align: center; width: 100%; }
.custom #features .row .column { display: inline-table; padding: 3rem; text-align: center; transition: ease 0.5s; width: 50%; }
.custom #features .row .column a { color: #58B737; text-decoration: none; }
.custom #features .row .column a:hover { color: #58B737; }
.custom #features .row .data { padding-bottom: 0.5rem; }
.custom #features .row .author { font: 700 italic 2.4rem/3rem 'Open Sans',sans-serif; margin-bottom: 0; }
.custom #features .row .hometown { font: 700 2rem/2.6rem 'Open Sans Condensed',sans-serif; text-transform: uppercase; }
.custom #features .row .image { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; padding: 1.1rem; transition: all 0.5s ease; }
.custom #features .row .image:hover { opacity: 0.85; transition: all 0.5s ease; }
.custom #features .row .image img { display: block; height: auto; margin: 0 auto; width: 100%; }
.custom #features .row .button { width: 100%; }
.custom #features .row .button .more a { background: #1864AC; border: 0; border-radius: 1rem; color: #FFFFFF; display: block; font: 700 1.6rem/1.6rem 'Open Sans',sans-serif; letter-spacing: 2px; margin: 0 auto; max-width: 30rem; padding: 1.2rem 1rem; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; }
.custom #features .row .button .more a:hover { background: #58B737; border: 0; color: #FFFFFF; text-decoration: none; }

/* major strutural areas  */

.custom #full { float: none; margin: 0 auto; max-width: 60rem; min-height: 32rem; width: 100%; } /* styles content area */
.custom #content { float: left; width: 75%; padding-right: 2rem; } /* styles content area */
.custom #sidebar { border-left: 4px solid #CFCFCF; float: right; padding-left: 2rem; width: 25%; } /* styles sidebar area */

.custom #page { background: #EFEFEF; width: 100%; }
.custom #page .inner { padding: 6rem 0; }

/* gallery modules = front, books, taxonomy */

.custom #gallery { background: #EFEFEF; }
.custom #gallery .wrapper { padding: 0 6rem; }
.custom #gallery .inner { padding: 4rem 0; } 
.custom #gallery .row { display: table; overflow: hidden; text-align: center; width: 100%; }
.custom #gallery .row .column { display: inline-table; padding: 2rem; text-align: center; width: 20%; word-break:break-all; }
.custom #gallery .row .column a { color: #4A4A4A; text-decoration: none; transition: ease 0.3s; }
.custom #gallery .row .column a:hover { color: #58B737; transition: ease 0.3s; }
.custom #gallery .row .box { margin: 0 auto; min-width: 18rem; max-width: 18rem; overflow: hidden; white-space: nowrap; }
.custom #gallery .row .image { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; margin: 0 auto 0.5rem; padding: 1.1rem; }
.custom #gallery .row a .image img { display: block; height: auto; margin: 0 auto; transition: ease 0.3s; width: 100%; }
.custom #gallery .row a .image img:hover { opacity: 0.85; transition: ease 0.3s; }
.custom #gallery .row .title { font: 700 1.5rem/2rem 'Open Sans',sans-serif; position: relative; }
.custom #gallery .row .author { font: italic 400 1.5rem/2rem 'Open Sans',sans-serif; position: relative; }
.custom #gallery .row .citystate { font: 400 1.3rem/1.7rem 'Open Sans',sans-serif; position: relative; }
.custom #gallery .row .state { font: 400 1.3rem/1.7rem 'Open Sans',sans-serif; position: relative; }
.custom #gallery .row .faderight {
    height: 2rem; width: 3rem; max-height: 100%; bottom: 0; right: 0; position: absolute;
    background-image: -webkit-gradient(linear,left top,right top,color-stop(0%,rgba(239,239,239,0)),color-stop(100%,rgba(239,239,239,1)));
    background-image: -webkit-linear-gradient(left,rgba(239,239,239,0),rgba(239,239,239,1));
    background: linear-gradient(to right,rgba(239,239,239,0),rgba(239,239,239,1));
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=1,StartColorStr='#00efefef',EndColorStr='#efefef');
}

/* gallery modules = books, taxonomy */

.front #gallery .row .box { width: 18rem; }

.books #books { background: #EFEFEF; }
.books #books .wrapper { padding: 0 6rem; }
.books #books .inner { padding: 6rem 0; } 
.books #gallery .row .column { padding: 0 1rem 6rem; }
.books #gallery .row .box { min-width: 18rem; }


/* gallery in "more books by author" section of book details */

.custom #book #gallery .row { display: table; overflow: hidden; text-align: left; width: 100%; }
.books #book #gallery .row .column { padding: 0 2rem 6rem; }


/*
.custom #gallery .row .column .box .title { font: italic 700 1.6rem/2rem 'Open Sans',sans-serif; padding-bottom: 4px; text-transform: capitalize; }
*/

/* content areas, pages template  */

.custom #content h2.headline { color: #1864AC; font: 700 4rem/4.8rem 'Open Sans',sans-serif; letter-spacing: -2px; padding-bottom: 2rem; text-transform: capitalize; }

.custom .format_text { font: 400 1.6rem/2.6rem 'Open Sans', sans-serif; overflow: hidden; }
.custom .format_text p { margin-bottom: 2.6rem; }
.custom .format_text a { color: #1864AC; text-decoration: underline; }
.custom .format_text a:hover { color: #58B737; text-decoration: underline; }
.custom .format_text h2 { color: #1864AC; font: 700 2.6rem/3rem 'Open Sans',sans-serif; letter-spacing: -2px; margin-bottom: 2.6rem; text-transform: capitalize; }
.custom .format_text h3 { color: #1864AC; font: 700 2.6rem/3rem 'Open Sans',sans-serif; letter-spacing: -2px; margin-bottom: 2.6rem; text-transform: capitalize; }
.custom .format_text h4 { color: #58B737; font: 700 2.6rem/3rem 'Open Sans',sans-serif; letter-spacing: -2px; margin-bottom: 2.6rem; text-transform: capitalize; }
.custom .format_text h5 { color: #1864AC; font: 700 2.6rem/3rem 'Open Sans',sans-serif; letter-spacing: -2px; margin-bottom: 2.6rem; text-transform: none; }
.custom .format_text h6 { color: #58B737; font: 700 2.6rem/3rem 'Open Sans',sans-serif; letter-spacing: -2px; margin-bottom: 2.6rem; text-transform: none; }

.custom .format_text ul { list-style: square; margin: 0 0 1.6rem 1rem; }
.custom .format_text ul li { margin: 0 0 1.6rem 1rem; }
.custom .format_text ul li:last-child { margin-bottom: 0; }
.custom .format_text li ul { list-style-type: disc; margin-top: 1.6rem !important; }
.custom .format_text li ul li { margin-left: 1.6rem; }
.custom .format_text li ul li:last-child { margin-bottom: 0; }

.custom .format_text ol { list-style: decimal; margin: 0 0 1.6rem 1rem; }
.custom .format_text ol li { margin: 0 0 1.6rem 1rem; }
.custom .format_text ol li:last-child { margin-bottom: 0; }
.custom .format_text li ol { list-style-type: decimal; list-style-position: inside; margin-top: 1.6rem !important; }
.custom .format_text li ol li { margin-left: 1.6rem; }
.custom .format_text li ol li:last-child { margin-bottom: 0; }

.custom .format_text blockquote { border-left: 3px solid #013856; color: #013856; font: 400 16px/20px 'Open Sans', sans-serif; margin: 1rem 1rem 2rem 1rem; padding: 0 2rem; }
.custom .format_text blockquote .quote { font: italic 400 2rem/2.6rem 'Open Sans', sans-serif; margin-bottom: 0.6rem; }
.custom .format_text blockquote .attribution { font: 700 1.6rem/1.6rem 'Open Sans Condensed', sans-serif; }

.custom .format_text .alignleft { display: block; float: left; height: auto; margin: 0 3rem 3rem 0; max-width: 30%; width: 100%; }
.custom .format_text .alignright { display: block; float: right; height: auto; margin:0 0 3rem 3rem; max-width: 30%; width: 100%; }
.custom .format_text .aligncenter { display: block; float: none; height: auto; margin: 0 auto 3rem; max-width: 64rem; width: 100%; }
.custom .format_text .alignone { display: block; float: none; }

.custom #paginate .wp-pagenavi { margin-bottom: 60px; text-align: center; }
.custom #paginate .wp-pagenavi a, 
.custom #paginate .wp-pagenavi span { background: #1864AC; border: 1px solid #1864AC; color: #FFFFFF; cursor: pointer; display: inline-block; font: 400 12px/12px 'Lato',sans-serif; height: 24px; margin: 0 4px; padding: 6px 0; text-align: center; width: 24px; } 
.custom #paginate .wp-pagenavi a:hover, 
.custom #paginate .wp-pagenavi span:hover { background: #58B737;  border: 1px solid #58B737; color: #FFFFFF; text-decoration: none; }
.custom #paginate .wp-pagenavi span.current { background: #032842; border: 1px solid #032842; color: #FFFFFF; }
.custom #paginate .wp-pagenavi span.current:hover { background: #58B737; border: 1px solid #58B737; color: #FFFFFF; text-decoration: none; }
.custom #paginate .wp-pagenavi a.nextpostslink,
.custom #paginate .wp-pagenavi a.previouspostslink { background: none; border: 0; color: #1864AC; font: 700 24px/24px 'Lato',sans-serif; position: relative; top: 2px; }
.custom #paginate .wp-pagenavi a.nextpostslink:hover,
.custom #paginate .wp-pagenavi a.previouspostslink:hover { color: #58B737; }

.custom #paginate .more { padding: 3rem 0; }
.custom #paginate .more a { background: #58B737; border: 0; border-radius: 1rem; color: #FFFFFF; display: block; font: 700 1.6rem/1.6rem 'Open Sans',sans-serif; letter-spacing: 2px; margin: 0 auto; max-width: 24rem; padding: 1.2rem 1rem; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; }
.custom #paginate .more a:hover { background: #1864AC; border: 0; color: #FFFFFF; text-decoration: none; }

.contact .format_text form { margin: 0 auto; max-width: 640px; width: 100%; }
.contact .format_text .row { padding-bottom: 30px; }
.contact .format_text .row.last { padding-bottom: 0; }
.contact .format_text label { color: #1864AC; font: 700 1.5rem/1.5rem 'Open Sans',sans-serif; margin: 0 0 0.3rem 0.3rem; } 
.contact .format_text input,
.contact .format_text select,
.contact .format_text textarea { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; color: #6A6A6A; font: 1.5rem/1.5rem 'Open Sans',sans-serif; margin-bottom: 2rem; padding: 1.5rem 1rem; width: 100%; }
.contact .format_text input:focus,
.contact .format_text select:focus,
.contact .format_text textarea:focus { background: #FFFFFF; border: 1px solid #CFCFCF; outline: none; }
.contact .format_text button { background: #1864AC; border: 0; border-radius: 1rem; color: #FFFFFF; display: block; font: 700 1.6rem/1.6rem 'Open Sans',sans-serif; letter-spacing: 2px; margin-top: 1rem; margin-bottom: 4rem; max-width: 60rem; padding: 1.5rem 1rem; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; }
.contact .format_text button:hover { background: #58B737; border: 0; color: #FFFFFF; text-decoration: none; }

.join #full { background: #EDEDED; max-width: 100rem; }
.join .box { display: block; margin: 0 auto; max-width: 100rem; text-align: center; }
.join .image { display: inline-block; padding: 2rem; width: 48%; }
.join .image img { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; max-width: 36rem; padding: 1rem; }
.join #all #page { padding: 0 !important; }

/* sidebar area  */

.custom #sidebar .widget { background: #FFFFFF; border-radius: 1rem; margin-bottom: 4rem; overflow: hidden; padding: 1rem; } /* styles sidebar area */

.custom #sidebar .widget h4.widget_title { color: #4A4A4A; font: 700 2rem/2.4rem 'Open Sans',sans-serif; margin-bottom: 2rem; text-transform: uppercase; }
.custom #sidebar .widget p { font: 400 1.5rem/2.5rem 'Open Sans',sans-serif; margin-bottom: 2.5rem; }
.custom #sidebar .widget img.flex { display: block; height: auto; margin: 0 auto; width: 100%; }

.custom #sidebar .widget ul { list-style: none; }
.custom #sidebar .widget ul.first { padding-bottom: 1rem; }
.custom #sidebar .widget ul li { color: #5A5A5A; font: 700 1.5rem/1.5rem 'Open Sans',sans-serif; margin-bottom: 1.2rem; text-transform: uppercase; } 
.custom #sidebar .widget ul li a { color: #5A5A5A; }
.custom #sidebar .widget ul li a:hover { color: #5A5A5A; text-decoration: underline; }
.custom #sidebar .widget ul ul { padding-top: 1.2rem;  }
.custom #sidebar .widget ul ul li { font-weight: 400; list-style: square; list-style-position: inside; padding-left: 0.6rem; text-transform: capitalize;}

.custom #sidebar #php_widget-3 { padding: 2rem; }
.custom #sidebar #php_widget-6 { padding: 2rem; }
.custom #sidebar #php_widget-6 ul li { font-weight: 400; list-style: square; list-style-position: inside; padding-left: 0.6rem; text-transform: capitalize;}

/* book detail page */

.book #meta { display: table-cell; vertical-align: top; width: 26rem; }
.book #meta .image { width: 26rem; } /* styles content area */
.book #meta .image img { background: #FFFFFF; border-radius: 1rem; height: auto; margin: 0 auto 1.5rem; opacity: 1; padding: 1rem; transition: ease 0.3s; width: 100%;  } /* styles content area */
.book #meta .image img:hover { opacity: 0.8; transition: ease 0.3s; }
.book #meta .box { padding-bottom: 1rem; text-align: center; }
.book #meta .box div { color: #4A4A4A; cursor: default; font: 400 1.4rem/2rem 'Open Sans',sans-serif; }
.book #meta .box div a { color: #4A4A4A; cursor: pointer; }
.book #meta .box div a:hover { color: #58B737; }
.book #meta .box div span.separator { font: 400 1.1rem/2.4rem 'Open Sans',sans-serif; margin: 0 4px; position: relative; top: -2px; }
.book #meta .box div.book_category a { font-weight: 700; }
.book #meta .buttons .more { padding: 0.75rem 0; }
.book #meta .buttons .more a { background: #1864AC; border-radius: 10px; color: #FFFFFF; display: block; font: 700 1.5rem/1.5rem 'Open Sans',sans-serif; margin: 0 auto; max-width: 24rem; padding: 1.25rem; text-align: center; text-transform: uppercase; width: 100%; }
.book #meta .buttons .more a:hover {  background: #58B737; text-decoration: none; }

.book #book { display: table-cell; padding-left: 6rem; vertical-align: top; }
.book #book .area { border-bottom: 3px solid #CFCFCF; padding-bottom: 1rem; }
.book #book .area h2 { color: #1864AC; font: italic 700 4rem/4.8rem 'Open Sans',sans-serif; letter-spacing: -2px; padding-bottom: 0.5rem; text-transform: capitalize; }
.book #book .area div.byline { color: #4A4A4A; font: 700 1.8rem/2.6rem 'Open Sans',sans-serif; padding-bottom: 2.6rem; }
.book #book .area span.separator { font: 400 1.3rem/3rem 'Open Sans',sans-serif; margin: 0 5px; position: relative; top: -2px; }
.book #book .text .image.mobile { float: left; margin: 0 3rem 1rem 0; max-width: 20rem; } /* styles content area */
.book #book .text .image.mobile img { background: #FFFFFF; border-radius: 1rem; height: auto; margin: 0 auto; opacity: 1; padding: 1rem; transition: ease 0.3s; width: 100%;  } /* styles content area */
.book #book .text .image.mobile img:hover { opacity: 0.8; transition: ease 0.3s; }
.book #book .text .image.mobile .box { padding-bottom: 1rem; text-align: center; }
.book #book .text .image.mobile .box div { color: #4A4A4A; cursor: default; font: 400 1.2rem/1.8rem 'Open Sans',sans-serif; }
.book #book .text .image.mobile .box div a { color: #4A4A4A; cursor: pointer; }
.book #book .text .image.mobile .box div a:hover { color: #58B737; }
.book #book .text .image.mobile .box div span.separator { font: 400 1rem/2rem 'Open Sans',sans-serif; margin: 0 3px; position: relative; top: -1px; }
.book #book .text div.book_category a { font-weight: 700; }
.book #book .text .buttons.mobile { margin-left: 22rem; overflow: hidden; }
.book #book .text .buttons.mobile .more { background: #1864AC; border-radius: 10px; float: left; margin: 0 1rem 3rem 0; max-width: 20rem; width: 100%; }
.book #book .text .buttons.mobile .more:hover { background: #58B737; text-decoration: none; }
.book #book .text .buttons.mobile .more a { color: #FFFFFF; display: block; font: 700 1.5rem/1.5rem 'Open Sans',sans-serif; padding: 1.25rem; text-align: center; text-transform: uppercase; }
.book #book .text .buttons.mobile .more a:hover { text-decoration: none; }
.book #book .writer { border-bottom: 3px solid #CFCFCF; display: table; padding: 4rem 0 2.8rem; }
.book #book .writer .headshot { display: table-cell; padding-right: 3rem; vertical-align: top; width: 23rem; } /* styles content area */
.book #book .writer .image img { background: #CFCFCF; border-radius: 50%; height: auto; margin: 0 auto 1.5rem; opacity: 1; padding: 0.4rem; transition: ease 0.3s; width: 100%;  } /* styles content area */
.book #book .writer .copy { display: table-cell; }
.book #book .writer .name { color: #1864AC; font: 700 1.8rem/2.4rem 'Open Sans',sans-serif; padding-bottom: 1.2rem; }
.book #book .writer .bio { font: 400 1.4rem/2.4rem 'Open Sans',sans-serif; margin-bottom: 1.2rem; }
.book #book .other-books h3 { color: #1864AC; font: 700 1.8rem/2.4rem 'Open Sans',sans-serif; padding-bottom: 1.2rem; padding-top: 0.5rem; }
.book #book .share { padding-top: 3rem; }
.book #book .share h5 { color: #1864AC; font: 700 1.8rem/2.4rem 'Open Sans',sans-serif; padding-bottom: 1.5rem; }
.book #book .sharing .st_facebook_vcount .stBubble_count,
.book #book .sharing .stButton { margin: 0 !important; }
.book #book .sharing .stButton .stLarge, .book #book .sharing .email_large a { display: inline-block; height: 32px; margin: 3px; opacity: 1; transition: opacity 0.3 ease; width: 48px; }
.book #book .sharing .stButton .stLarge:hover, .book #book .sharing .email_large a:hover { opacity: 0.9; transition: opacity 0.3 ease; }
.book #book .sharing .st_facebook_large .stLarge { background: url('/images/social/share_facebook.png') no-repeat 0 0 !important; border-radius: 0; }
.book #book .sharing .st_twitter_large .stLarge { background: url('/images/social/share_twitter.png') no-repeat 0 0 !important; border-radius: 0; }
.book #book .sharing .st_linkedin_large .stLarge { background: url('/images/social/share_linkedin.png') no-repeat 0 0 !important; border-radius: 0; }
.book #book .sharing .st_googleplus_large .stLarge { background: url('/images/social/share_google.png') no-repeat 0 0 !important; border-radius: 0; }
.book #book .sharing .email_large a { background: url('/images/social/share_email.png') no-repeat 0 0 !important; border-radius: 4px; }

/*faq & support */

.faq .format_text { min-height: 2000px; }
.faq .format_text ul li {  }
.faq .format_text ul.faq_questions { list-style: none; margin: 0 0 20px; }
.faq .format_text ul.faq_questions li.heading { font: 700 20px/24px 'Open Sans',sans-serif; margin: 0; padding: 10px 0; }
.faq .format_text ul.faq_questions li.first { padding-top: 0; }
.faq .format_text ul.faq_questions li.heading a { color: #3A3A3A; text-decoration: none; }
.faq .format_text ul.faq_questions li.heading a:hover { color: #58B737; text-decoration: none; }
.faq .format_text ul.faq_questions li.item { list-style: square; list-style-position: inside; margin: 0 0 0 20px; padding: 5px 0; }
.faq .format_text ul.faq_questions li.item a { color: #1864AC; text-decoration: none; }
.faq .format_text ul.faq_questions li.item a:hover { color: #58B737; text-decoration: underline; }
.faq .format_text div.divider { border-top: 1px solid #CFCFCF; margin-top: 60px; padding-top: 60px; }
.faq .format_text ul.faq_answers { list-style: none; margin: 0 0 20px; }
.faq .format_text ul.faq_answers li.heading { margin: 0; padding: 15px 0; }
.faq .format_text ul.faq_answers li.heading div.question { color: #3A3A3A; font: 700 20px/26px 'Open Sans',sans-serif; text-decoration: none; }
.faq .format_text ul.faq_answers li.item { list-style: square; list-style-position: inside; margin: 0; padding: 15px; }
.faq .format_text ul.faq_answers li.item div.question { color: #1864AC; font-weight: 700; margin-bottom: 3px; text-decoration: none; }
.faq .format_text ul.faq_answers li.item p.response { color: #3A3A3A; margin-bottom: 0; padding-left: 17px; text-decoration: none; }

/*copyright */

.custom #copyright { color: #FFFFFF; }
.custom #copyright .wrapper { background: #1864AC; margin: 0; width: 100%; }
.custom #copyright .inner { padding: 2rem; }
.custom #copyright .content_table { display: table; margin: 0 auto; max-width: 120rem; width: 100%; }
.custom #copyright .content_row { display: table-cell; margin: 0 auto; text-align: center; vertical-align: middle; width: 100%; }

.custom #copyright .top { font: 400 1rem/1rem 'Open Sans',sans-serif; letter-spacing: 2px; margin: 0.7rem 0 0.5rem; text-transform: uppercase; }
.custom #copyright .top a { color: #FFFFFF; }
.custom #copyright .top a:hover { color: #FFFFFF; text-decoration: underline; }
.custom #copyright .top span.separator { font: 400 1rem/1rem 'Open Sans',sans-serif; position: relative; top: -2px; }
.custom #copyright .bottom { font: 400 1rem/1rem 'Open Sans',sans-serif; letter-spacing: 2px; margin: 0.75rem 0 0; text-transform: uppercase; }
.custom #copyright .bottom a { color: #FFFFFF; }
.custom #copyright .bottom a:hover { color: #FFFFFF; text-decoration: underline; }
.custom #copyright .bottom span.separator { font: 400 1rem/1rem 'Open Sans',sans-serif; position: relative; top: -1px; }

/* flexible widths for desktops and laptops  */

@media all and (max-width: 1024px) { 

	.custom .wrapper { padding: 0 2rem; transition: ease 0.5s; }
	.custom .no-wrap { padding: 0; transition: ease 0.5s; } 

	.custom .mobile { display: block; }
	.custom .screen { display: none !important; }
	
	.custom .menu-screen { display: none !important; }
	.custom .menu-mobile { display: inline-block !important; }	
	
	.custom #header .logo { min-width: 20rem; transition: ease 0.5s; width: auto; }
	.custom #header .idea { transition: ease 0.5s; width: 60px; }

	.custom #all,
	.custom #all.scroll { position: relative; top: 60px; transition: ease 0.5s; z-index: 1; }

	.custom #feature .wrapper { padding: 0 !important; transition: ease 0.5s; }
	
	.custom #page .gallery { display: block; overflow: hidden; text-align: center; width: 100%; padding-left: 0; }
	.custom #page .gallery .box { display: inline-table; float: none; min-width: 24rem; padding: 0 1rem 4rem; width: 24%; }

	.custom #content { height: auto !important; max-height: 888678px; float: none; margin: 0 auto; padding: 0; width: 100%; } /* styles content area */
	.custom #content .post_box { margin-bottom: 0; overflow: hidden; padding: 0; }
	.custom #content h2.headline { font: 700 3rem/3.6rem 'Open Sans',sans-serif; }
	.custom #sidebar { height: auto !important; max-height: 888678px; border: 0; float: none; margin: 0 auto; max-width: 48rem; padding: 0; width: 100%; } /* styles sidebar area */

	.book #meta { display: none; } /* styles content area */
	.book #book { display: block; margin: 0 auto; padding: 0; width: 100%; } /* styles sidebar area */
	.book #book .area h2 { font: italic 700 3rem/3.6rem 'Open Sans',sans-serif; padding-bottom: 1.5rem;}
	.book #book .copy .image.mobile { display: none; }

 }

@media all and (max-width: 1023px) {

	.custom #title { font: 700 3rem/3.6rem 'Open Sans Condensed', sans-serif; transition: ease 0.5s; }

	.custom #banner .row { max-height: 48rem; min-height: 30rem; transition: ease 0.5s; }
	.pages #banner .row { max-height: 24rem; min-height: 18rem !important; transition: ease 0.5s; }
	
	.custom #banner .column { font: 600 7vmin/7vmin 'Open Sans',sans-serif; transition: ease 0.5s; }
	.custom #banner .column div.pre { }
	.custom #banner .column div.pre:before,
	.custom #banner .column div.pre:after { content: '\2014'; font-weight: 300; position: relative; top: -2px; transition: ease 0.5s; }
	.custom #banner .column div.pre:before { padding-right: 1.5rem; }
	.custom #banner .column div.pre:after { padding-left: 1.5rem; }
	.custom #banner .column h1 { font: 800 8vmin/8vmin 'Open Sans',sans-serif; transition: ease 0.5s; }
	.custom #banner .column h2 { padding: 0.5rem 0 6rem; transition: ease 0.5s; }



	.custom #promo .inner { padding: 2rem 0 2.4rem; }
	.custom #promo .column { font: 700 4vmax/5vmax 'Open Sans', sans-serif; transition: ease 0.5s; }

	.custom #city .row .column { padding: 1rem; transition: ease 0.5s; width: 50%; }
	.custom #city .row .image { margin: 0 auto;  transition: ease 0.5s; }
	
	.custom #features .row .column { padding: 1rem; transition: ease 0.5s; width: 50%; }
	.custom #features .row .image { margin: 0 auto;  transition: ease 0.5s; }

}

@media all and (max-width: 768px) { 

	.custom .screen-feature { display: none !important; }
	.custom .mobile-feature { display: block; }

}
@media all and (max-width: 767px) { 

	.custom #banner .column h1 { font: 800 10vmin/10vmin 'Open Sans',sans-serif; transition: ease 0.5s; }

	.custom #promo .column { font: 700 3vmax/4vmax 'Open Sans', sans-serif; transition: ease 0.5s; }

	.custom #city .wrapper { padding: 0 1rem; transition: ease 0.5s;}
	.custom #city .row .column { padding: 1rem; transition: ease 0.5s; width: 100%; }
	.custom #city .row .image { margin: 0 auto; transition: ease 0.5s; }

	.custom #features .wrapper { padding: 0 1rem; transition: ease 0.5s;}
	.custom #features .row .column { padding: 1rem; transition: ease 0.5s; width: 100%; }
	.custom #features .row .image { margin: 0 auto; transition: ease 0.5s; }

	.pages #all #page .inner { max-width: 48rem; padding: 2rem 0; }
	.custom #content h2.headline { text-align: center; }
	
	.custom .format_text .alignleft,
	.custom .format_text .alignright,
	.custom .format_text .aligncenter { display: block; float: none; height: auto; margin: 0 auto 3rem; max-width: 48rem; width: 100%; }
	.custom .format_text .alignone { display: block; float: none; }

	.book #book .area { text-align: center; }
	.book #book .area .byline span { display: block; width: 100%; }
	.book #book .area .byline span.separator { display: none; }
	.book #book .text .image.mobile { float: none; margin: 0 auto 1rem; max-width: 32rem; }
	.book #book .text p { text-align: left; }
	.book #book .text .buttons.mobile { margin: 0 auto 2rem; }
	.book #book .text .buttons.mobile .more { float: none; margin: 0 auto 1rem; }
	.book #book .copy .image.mobile { display: block; }
	.book #book .writer .name { padding-bottom: 3rem; text-align: center; }
	.book #book .writer .headshot { display: block; margin: 0 auto; padding: 0 0 1rem; vertical-align: top; width: 24rem; }
	.book #book .writer .hide { display: none; }
	
	.custom #landing_copyright .top { margin: 0 0 2rem; }
	.custom #landing_copyright .top span { display: block; margin: 1rem 0; width: 100%; }
	.custom #landing_copyright .top span.separator { display: none; }
	.custom #landing_copyright .bottom { margin: 0; }
	.custom #landing_copyright .bottom a { display: block; margin: 1rem 0; width: 100%; }
	.custom #landing_copyright .bottom span.separator { display: none; }
	
 }
 
/* flexible widths for most mobile devices */

@media all and (max-width: 600px) { 

	.custom #banner .row { max-height: 24rem; min-height: 18rem !important; transition: ease 0.5s; }

 }

/* flexible widths for most mobile devices */

@media all and (max-width: 479px) { 


	.books #books .wrapper,
	.custom #gallery .wrapper { padding: 0 1rem; transition: ease 0.5s;}
	.custom #gallery .row .column { padding: 1rem; transition: ease 0.5s; width: 100%; }
	.custom #gallery .row .box { width: 18rem; }

 }

/* added by dtr */

.login .format_text .welcome,
.login .format_text .forgot-pass,
.login .format_text form { margin: 0 auto; max-width: 640px; width: 100%; }
.login .format_text .row { padding-bottom: 30px; }
.login .format_text .row.last { padding-bottom: 0; }
.login .format_text label { color: #1864AC; font: 700 1.5rem/1.5rem 'Open Sans',sans-serif; margin: 0 0 0.3rem 0.3rem; } 
.login .format_text input,
.login .format_text select,
.login .format_text textarea { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; color: #6A6A6A; font: 1.5rem/1.5rem 'Open Sans',sans-serif; margin-bottom: 2rem; padding: 1.5rem 1rem; width: 100%; }
.login .format_text input:focus,
.login .format_text select:focus,
.login .format_text textarea:focus { background: #FFFFFF; border: 1px solid #CFCFCF; outline: none; }
.login .format_text button { background: #1864AC; border: 0; border-radius: 1rem; color: #FFFFFF; display: block; font: 700 1.6rem/1.6rem 'Open Sans',sans-serif; letter-spacing: 2px; margin-top: 1rem; margin-bottom: 4rem; padding: 1.5rem 1rem; text-align: center; text-decoration: none; text-transform: uppercase; width: 100%; }
.login .format_text button:hover { background: #58B737; border: 0; color: #FFFFFF; text-decoration: none; }



section#feature + section.books {
	background-color:#EFEFEF;
	padding-top:50px;
}
.custom #sidebar div :last-child {
	margin-bottom:0 !important;
}

/* link colors */
body.books a[href="/books"],
body.about a[href="/about/"],
body.join a[href="/join/"],
body.faq a[href="/faq/"],
body.contact a[href="/contact/"] {
	color: #58B737 !important;
}

body.books article#book ul,
body.books article#book ol {
	margin-left:5rem;
}

body.books section#books.books article#content div.column, /*book pages*/
section#gallery div.column /*homepage*/ {
	vertical-align:top;
}

/* press */
body.press h2 {
	font-size:2em;
	margin-bottom:1em;
	padding-bottom:.5ex;
	border-bottom:4px solid #CFCFCF;
}
body.press div.featured-block,
body.press div.tv-appearances-block,
body.press div.around-web-block {
	margin-bottom:3rem;
}

body.press .boxes { background: #EFEFEF; }
body.press .boxes .row { display: table; overflow: hidden; text-align: center; width: 100%; word-break:break-all }
body.press .boxes .row .column { display: inline-table; padding: 2rem; text-align: center; width: 20%; vertical-align: top; }
body.press .boxes .row .column a { color: #4A4A4A; text-decoration: none; transition: ease 0.3s; }
body.press .boxes .row .column a:hover { color: #58B737; transition: ease 0.3s; }
body.press .boxes .row .box { background: #FFFFFF; border: 1px solid #DFDFDF; border-radius: 1rem; margin: 0 auto 0.5rem; padding: 1.1rem; }
body.press .boxes .row .box img { display: block; height: auto; margin: 0 auto; transition: ease 0.3s; width: 100%;border-bottom: 1px solid #CFCFCF; }
body.press .boxes .row .box img:hover { opacity: 0.85; transition: ease 0.3s; }
body.press .boxes .row .headline { font: italic 700 1.5rem/2rem 'Open Sans',sans-serif; margin:1rem auto; }
body.press .boxes .row .source { font: 400 1.4rem/2rem 'Open Sans',sans-serif; margin:1rem auto; }
body.press .boxes .row .date { font: 400 1.4rem/2rem 'Open Sans',sans-serif; margin:1rem auto; }
body.press .boxes .row .box {min-width:18rem}
@media all and (max-width: 1024px) { 
	body.press .boxes { display: block; overflow: hidden; text-align: center; width: 100%; padding-left: 0; }
	body.press .boxes .box { display: inline-table; float: none; min-width: 24rem; padding: 0 1rem 4rem; width: 24%; }
}

@media all and (max-width: 479px) { 
	body.press #books .wrapper,
	.custom #gallery .wrapper { padding: 0 1rem; transition: ease 0.5s;}
	body.press .boxes .row .column { padding: 1rem; transition: ease 0.5s; width: 100%; }
	body.press .boxesy .row .box { width: 18rem; }
}

body.press ul { list-style: none; margin: 0 0 20px; font-size:1.25em;}
body.press ul li.item { list-style: square; list-style-position: inside; margin: 0 0 0 20px; padding: 5px 0; }
body.press ul li.item a { color: #1864AC; text-decoration: none; }
body.press ul li.item a:hover { color: #58B737; text-decoration: underline; }

.diff { color: #FF0000; }
.custom a.diff { color: #F80000; }
.custom a.diff:hover { color: #F80000; }



.custom .breadcrumbs { font-size: 1.75rem; padding-top: 2rem; padding-left: 1.5rem; } 
.custom .breadcrumbs a { color: #1864AC; font-weight: 700; }



/* bunch of stuff for nested dropdowns (might be worth cleaning this up at some point) */


/* note that the max-height must be configured for the specific scenario we have. HOPEFULLY it's always large enough. */
ul ul.nested {
	max-height: 0;
	opacity: 0;
	transition: all .25s linear;
}
.custom #header .navigate #menu ul li:hover > ul.nested,
ul li.active-dropdown > ul.nested {
	max-height: 40rem;
	opacity: 1;
	transition: all .25s linear;
}

a.nesting-container::after {
	content: "\25ba";
	font-size: 70%;
	vertical-align: middle;
	padding-left: 0.5rem;
}
li.active-dropdown > a.nesting-container::after {
	content: "\25bc";
}

.custom #header .navigate #menu ul li ul.nested {
	position:absolute;
	top:100%;
	padding:0
}

.custom #header .navigate #menu ul li ul.nested li {
	float: none;
	background: rgba(16,64,96,1);
	padding: 0.5rem 2rem;
}
.custom #header .navigate #menu ul li ul.nested li a {
	padding: 0;
}


.custom .slide li > ul.nested li {
	border-top: 1px solid rgba(255,255,255,0.2);
	border-bottom-style: none;
	width: 80%;
	margin: auto;
}
.custom .slide li > ul.nested li:first-child {
	border-top-style: none;
}
.custom .slide li > ul.nested {
	border-top: 1px solid rgba(255,255,255,0.2);
	background: rgb(160, 160, 160);
}

.custom .php_widget .sidebar-scroll {
	max-height: 500px;
	overflow-y: scroll;
}
