/*
Theme Name: ITPI
Theme URI: http://ignition72.com/
Author: ignition72 (Roger Levy)
Author URI: http://ignition72.com/
Description: Description
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: itpi
Tags:

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

ITPI is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.

*/

html {
	font-family: proxima-nova, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
    font-style: normal;
    font-weight: 500;
}
body {
    margin: 0;
    padding: 0;
    font-size: 62.5%;
    overflow-x: hidden;
}
*, * * {
    position: relative;
}
*:focus {
    outline: none;
}
a:hover {
    text-decoration: none;
}

span.weak {
    font-weight: 100;
}
.clear {
    clear: both;
}

.site-content {
    padding-bottom: 100px;
    left: 0%;
    width: 100%;
}
.constrainable {
    left: 25%;
    width: 75%;
}

.subhead {
    line-height: 1.1em;
    margin: 15px 0 5px;
}
.subhead > span > strong {
    font-weight: 900 !important;
    color: #717171 !important;
}
.subhead + p {
    margin-top: 0 !important;
}

h1 { font-size: 48px; color: #aaaaaa; font-weight: 600; }
h2 { font-size: 42px; color: #636363; font-weight: 600; }
h3 { font-size: 30px; color: #ca7629; font-weight: 600; }
h4 { font-size: 24px; color: #295857; font-weight: 600; }
h5 { font-size: 20px; color: #636363; font-weight: 600; }
h6 { font-size: 18px; color: #ca7629; font-weight: 600; }

figure {
    margin: 10px;
    margin-bottom: 0;
}

p:last-child {
    margin-bottom: 0 !important;
}
p:first-child {
    margin-top: 0.5em !important;
}

/* virtual frame */

.virtual-frame {
    width: calc( 94% - 20px );
    max-width: 900px;
    margin: 0 auto !important;
    clear: both;
}
.virtual-frame:first-child {
    margin-top: 33px !important;
}
body.single .layout:nth-of-type(1),
body.page .layout:nth-of-type(1) {
    margin-top: 60px !important;
}

.virtual-frame > article:last-child,
.virtual-frame.three > article.small:nth-child(odd),
.virtual-frame.five > article.small:nth-child(odd)
{
    margin-right: 0 !important;
}

/* site header */

.site-header {
    background: #e9efef;
    z-index: 95;
    position: fixed;  /* box is defined by the constrainable class */
}
.header-spacer {
    z-index: 94;
}

/* logo */
.site-branding {
    overflow-y: hidden;
}
.site-branding > .inner {
    max-width: 800px;
    margin: 0 auto;
}
.site-branding .site-title {
    width: calc( 55% - 40px );
}
.site-branding .site-description {
    width: calc( 45% - 40px );
}
.site-branding .site-title,
.site-branding .site-description {
    float: left;
    height: 115px;
    margin: 0 20px;
}
.site-title {
    background: url( "css_images/itpi-logo.svg" ) right center no-repeat;
    background-size: contain;
}
.title a {
    display: block;
    width: 100%;
    height: 100%;
}
.title span {
    display: none;
}
.site-description {
    font-size: 23px;
    font-weight: 600;
    color: #718686;
    font-style: italic;
    width: 350px;
    text-align: left;
    letter-spacing: 0.2px;
    display: table;
    max-width: 15em;
}
.site-description > span {
    display: table-cell;
    vertical-align: middle;
}

.site-intro {
    background: #dce6e6;
    max-height: 255px;
}
.site-intro p {
    width: 80%;
    max-width: 768px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 1.5em;
    color: #566;
    padding: 1.5em 0;
    font-weight: 500;
    letter-spacing: 0.07px;
}
/* "touched" body affects header - get rid of intro and compact the logo & description */
/* transition is defined above */
body.touched .site-intro {
    overflow-y: hidden;
    max-height: 0;
    transition: max-height .6s;
}
body.touched .site-branding h2 {
    height: 80px;
    transition: height .6s;
    font-size: 20px;
}
body.touched .site-branding h1 {
    height: 55px;
    margin: 12.5px 0;
    transition: height .6s ease-in-out,  margin .6s ease-in-out;
}


/* Main sidebar navigation */

.sidebar-back,
.main-navigation {
    position: absolute;
    width: 25%;
    top: 0;
    left: 0;
    background: #55807f;
}
.sidebar-back {
    bottom: 0;
    z-index: 102;
    min-height: 2000px;
}
.sidebar-strip {
    z-index: 90;
    width: 12px;
    background: #e9efef;
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
}
.sidebar-title {
    clear: both;
    width: 70%;
    max-width: 270px;
    height: 50px;
    background: url( "css_images/itpi-logo-sidebar.svg" ) right center no-repeat;
    background-size: contain;
    vertical-align: middle;
}
.main-navigation {
    z-index: 103;
    font-size: 17px;
    padding-top: 80px;
    letter-spacing: 0.07px;
    overflow: hidden;
}
.main-navigation .widget-area {
    width: 85%;
}
.main-navigation > * {
    margin-left: auto;
    margin-right: auto;
}
.main-navigation .widget-area li {
}
.main-navigation .widget-area li > a,
.main-navigation .widget-area li > label {
    overflow: hidden;
    color: #b4d7d6;
    font-weight: 500;
    padding-top: .1em;
    padding-bottom: .1em;
    line-height: 1.1em;
    width: 90%;
}
.main-navigation .widget-area li > a.active,
.main-navigation .widget-area li > a:hover,
.main-navigation .widget-area li > label:hover {
    color: #fff;
}
.main-navigation .widget-area .widget-title {
    color: #54c4c4;
    font-size: 1em;
    font-weight: 100;
    display: inline;
    padding: 10px;
    left: 20px;
    z-index: 2;
    background: #55807f;
    top: 1px;
}
.main-navigation .widget > div,
.main-navigation .widget > form {
    border-top: 1px solid #5f9998;
    padding-top: 0.55em;
    top: -0.55em;
}
.main-navigation .widget ul {
    list-style: none;
    margin-top: 2px;
    z-index: 3;
    padding: 0 8.8%;
    left: -8.7%;
    width: 100%;
}
.main-navigation ul#menu-social {
    left: 0;
}
.main-navigation ul#menu-social a {
    margin-left: 0;
}
.main-navigation .widget li > a {
    text-decoration: none;
    display: block;
}
.main-navigation .widget li > a,
.main-navigation .widget li > label {
    margin-left: 30px;
}

.main-navigation .widget > div.menu-button-menu-container,
.main-navigation .widget > div.menu-social-container {
    border-top: none !important;
    padding-top: 0;
    top: 0;
}
/* rectangular button menu */
.main-navigation .widget div.menu-button-menu-container ul {
    padding: 0;
    left: 0;
}
.main-navigation .widget div.menu-button-menu-container li {
    margin: 1.5em 0;
}
/* nav buttons */
.main-navigation .widget div.menu-button-menu-container a {
    background: #f3f4f4;
    width: calc( 100% - 2.4em );
    padding: 1.2em;
    text-align: center;
    color: #40636e !important;
    text-transform: uppercase;
    font-size: 15px;
    font-weight: 500 !important;
    margin: 0;
}
.main-navigation .widget div.menu-button-menu-container a:hover {
    background: #ffffff;
    color: #40636e !important;
}
/* search button */
.main-navigation .widget div.menu-button-menu-container li:first-child a {
    background: #54c4c4;
}
.main-navigation .widget div.menu-button-menu-container li:first-child a:hover {
    background: #62d5d5;
}

.main-navigation .widget ul#menu-social a:hover {
    color: #fff;
}
.main-navigation .widget ul#menu-social a {
    cursor: pointer;
}

/* sidebar icons */
.main-navigation img.svg {
    display: none;
}
.main-navigation svg.icon * {
    fill: currentcolor;
}
.main-navigation div.menu-button-menu-container svg.icon  {
    width: 1.2em;
    height: 1.2em;
    display: inline;
    vertical-align: top;
    margin-right: .25em;
}
.main-navigation div.menu-button-menu-container svg.icon.cycle  {
    width: 1.5em;
    height: 1.5em;
    vertical-align: bottom;
}
/* sidebar social menu */
.main-navigation .widget div.menu-social-container ul {
    text-align: center;
    padding-left: 0;
}
.main-navigation .widget div.menu-social-container li {
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-right: 1em;
    overflow: visible;
}
.main-navigation .widget div.menu-social-container li:last-child {
    margin-right: 0;
}
.main-navigation .widget div.menu-social-container a {
    color: #54c4c4;
    width: 100%;
    height: 100%;
    display: block;
}
.main-navigation .widget div.menu-social-container a svg.icon {
    width: 100%;
    height: 100%;
}

/* content area */

.content-area {
    color: #636363;
    font-size: 17px;
    overflow-x: hidden;
}
.content-area a {
    color: #3c9595;
    font-weight: 500;
    text-decoration: none;
}
.content-area .subhead a {
    color: #ca7629;
    font-weight: 600;
}


/* post summaries - also applies to "category" pages, see header.php */

span.post-title-callout {
/*    text-transform: uppercase;
    font-weight: 800; */
}
body.blog .posted-on,
body.blog .byline {
    display: none;
}
body.blog article {
    margin-bottom: 15px;
    width: calc( 49.75% - 20px );
    margin-right: .5%;
    vertical-align: top;
    float: left;
    padding: 10px;
}
body.blog article .time {
    position: absolute;
    bottom: 0;
    line-height: 1.33em;
    font-size: 13px;
    color: #919191;
}
.post-navigation {
    display: none;
}
body.blog .entry-title {
    font-size: 30px;
    line-height: 1.1em;
    margin: 0.25em 0;
}
body.blog .entry-title > a:after {
    content: ' ';
}
body.blog .entry-content p {
    margin: .5em 0 1em;
    line-height: 1.5em;
    font-weight: 500;
}
a.more-link {
    display: inline-block;
    height: 19px;
    width: 19px;
    vertical-align: middle;
    background: url(css_images/more.svg) no-repeat;
    background-size: contain;
}
a.more-link .meta-nav {
    display: none;
}
.entry-header {
}
.entry-header .thumbnail {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.entry-header img { /* thumbnail */
    display: block;
    margin-right: 0;
    width: 100% !important;
}
.entry-header .categories {
    line-height: 1.2em;
    height: 1.2em;
    white-space: nowrap;
    margin: 0.2em 0;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 94;
}
.entry-header .categories > * {
    font-weight: 100;
}
.entry-header .categories a {
    color: #797978;
    margin-right: 1.25em;
    font-size: 14px;
}
.entry-header .categories a:first-child {
    color: #ca7629;
}
.entry-header .categories a:hover {
    color: #9c4805 !important;
}


/* general images */
img.attachment-medium,
img.attachment-thumbnail,
article .thumbnail {
    width: auto;
    height: 275px;
    border-bottom: 7px solid #ca7629;
}
article.small img.attachment-thumbnail,
article.small .thumbnail {
    height: 100px;
}


@media only screen and (min-width: 768px) {
    .right-pane .ninja-forms-form-title {
        top: -1.4em;
    }

    /* small article summary */
    body.blog article.small {
        width: calc( 24.8% - 20px );
        margin-right: 0%;
        overflow: hidden;
    }
    body.blog article.small .entry-header .categories {
        margin-bottom: 5px;
        font-size: 13px;
        line-height: 1.25em;
    }
    body.blog article.small .entry-header .categories > * {
    }
    body.blog article.small .entry-title,
    body.blog article.small .entry-title a {
        font-size: 15px;
        font-weight: 600;
        color: #656565;
        line-height: 1.25em;
    }
    body.blog article.small .entry-title:hover {
        color: #ca7629;
    }
    body.blog article.small a.more-link {
        top: 1px;
        left: 1px;
    }
    body.blog article.small .entry-content {
        display: none;
    }

}

/* single post page */

body.single time.updated {
    display: none;
}
body.single .posted-on {
    float: left;
    width: 70px;
}
body.single .byline {
    float: right;
    width: calc( 100% - 70px );
}
body.single .byline > p:first-child {
    margin-top: 0 !important;
}


/* featured post */
body.blog article {
    cursor: pointer;
}
body.blog article.featured {
    width: 100%;
    height: 570px;
    margin-left: 0;
    background-color: #888;
    padding: 0 !important;
    overflow: hidden;
}
body.blog article.featured .time {
    display: block;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 16px;
    font-weight: 500;
    top: .25em;
}
body.blog .featured-background {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}
body.blog article.featured header {
    position: absolute;
    width: 100%;
    height: 100%;
}
body.blog article.featured .categories {
    display: none;
}
body.blog article.featured a.arrow {
    background: url(css_images/arrow-sprites.png) 0 0 no-repeat;
    margin: 15px auto;
    display: block;
    width: 21px;
    height: 21px;
}
body.blog article.featured:hover a.arrow {
    background-position: -20px 0;
}
body.blog article.featured .entry-title {
    position: relative;
    top: calc( 50% - 15px );
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}
body.blog article.featured .entry-title a.title-link {
    color: #fff;
    width: 44%;
    min-width: 450px;
    max-width: 520px;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    display: block;
    margin: 0 auto;
    text-align: center;
    font-size: 40px;
    font-weight: 500;
    line-height: 1.1em;
    padding: .5em 0;
}
body.blog article.featured p.featured-pre {
    font-size: 18px;
    font-weight: 100;
    color: #fff;
    text-align: center;
    margin: .3em 0;
}

/* single post / page */

body.single .entry-title,
body.page .entry-title {
}
body.single .entry-content,
body.page .entry-content {
    line-height: 1.4em;
    font-size: 17px;
    border-bottom: 1px solid #ca7629;
    padding-bottom: 80px;
    margin-bottom: 20px;
}
body.single article {
    width: 81.5%;
}
body.single article > *,
body.page article > *,
.site-search .no-results {
    margin: 0 auto;
    width: 90%;
    max-width: 800px;
}
.post-navigation {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
body.single img,
body.page img {
    max-width: 100%;
    height: auto;
}
body.single .entry-meta,
body.page .entry-meta {
    margin-bottom: .75em;
    font-size: 14px;
    line-height: 1.3em;
}
body.single .entry-content p,
body.page .entry-content p {
    width: 98%;
    margin: 2em 0;
}
/* unordered and ordered lists */
.entry-content ul {
    list-style-image: url(css_images/bullet.png);
}
.entry-content ul, .entry-content ol {
    margin-left: 40px;
    padding: 0;
}
.entry-content li {
    padding-left: 2px;
    margin: .8em 0;
}
.entry-content ul ul,
.entry-content ol ol {
    margin-left: 20px;
}


/* related posts sidebar */
body.single article {
    float: left;
    margin-right: 0%;
}
.post-sidebar {
    float: right;
    right: 1.5%;
    width: 18.5%;
    max-width: 200px;
    z-index: 51;
    background: #fff;
}
.post-sidebar .widget-title {
    font-size: 22px;
    font-weight: 100;
    color: #515151;
    border-bottom: 1px solid #989898;
}
.widget_yarpp_widget ol {
    list-style: none;
    font-weight: 600;
    padding-left: 0;
    line-height: 1.25em;
    margin-left: 0;
}
.widget_yarpp_widget li {
  margin-bottom: 50px;
  border-bottom: 6px solid #d5dbdb;
  width: 100%;
  background: url(css_images/more.svg) no-repeat right;
  background-size: 25px;
  transition: left 0.4s;
  -webkit-transition: left 0.4s;
  left: 0;
  padding-right: calc( 11% + 40px );
  background-position: calc( 100% - 10px ) center;
}
.widget_yarpp_widget a {
    width: calc( 100% - 5px );
    display: block;
    border-bottom: 5px solid #ca7629;
    top: 6.2px;
    padding-bottom: .3em;
    font-weight: 600;
    color: #ca7629;
    background: #fff;
    padding: 5px 0 3px 5px;
}
.widget_yarpp_widget li:hover {
    left: -35px;
}

/* misc. content styling */
.entry-content a:hover, .author a:hover {
    color: #126b6b !important;
}
.entry-content h1 a,
.entry-content h2 a,
.entry-content h3 a,
.entry-content h4 a,
.entry-content h5 a,
.entry-content h6 a {
    color: #3c9595;
}

.alignright {
    float: right;
    margin-right: 0;
}
.alignleft {
    float: left;
    margin-left: 0;
}
/* image caption */
.wp-caption-text {
    text-align: right;
    font-size: 14px;
    color: #999;
    font-weight: 500;
    line-height: 1.2em;
}

/* quote */
blockquote {
    color: #ca7629;
    font-weight: 100;
    font-size: 28px;
    line-height: 1.1em;
    margin: 1em 1em 2em;
    font-style: italic;
}
blockquote p {
    text-align: center !important;
}
blockquote span.author {
    display: block;
    font-size: 53.5%;
    color: #636363;
    font-weight: 500;
    font-style: normal;
    margin: 0.5em 0;
}
blockquote span.author:before {
    content: "\2013\0020";
}
/* content tables */
body.single table img, body.page table img {
  max-width: none;
  height: inherit;
}
.tablepress-table-description {
	clear: both;
	display: block;
}
.tablepress {
	border-collapse: collapse;
	border-spacing: 0;
    width: 100%;
	margin-bottom: 1em;
	border: none;
    border-bottom: 2px solid #f2f2f2;
}
.tablepress th,
.tablepress td {
	padding: 8px;
    padding-left: 16px;
	border: none;
	background: none;
	text-align: left;
	float: none !important;
}
.tablepress tbody td {
	vertical-align: top;
}
.tablepress img {
	margin: 0;
	padding: 0;
	border: none;
	max-width: none;
}
.dataTables_length,
.dataTables_filter,
.dataTables_info,
.dataTables_paginate,
.dataTables_scroll,
.tablepress .sorting,
.tablepress .sorting_asc,
.tablepress .sorting_desc {
    display: none;
}
.tablepress thead {
    background: #657272;
}
.tablepress tr.odd {
    background: #f2f2f2;
}
.tablepress thead tr {
    border-left: 2px solid #657272;
    border-right: 2px solid #657272;
    background: #657272 !important;
}
.tablepress thead th {
    color: #fff;
    font-weight: 600;
	vertical-align: middle;
}
.tablepress tr {
    border-left: 2px solid #f2f2f2;
    border-right: 2px solid #f2f2f2;
}
/* columns */
.column {
    text-align: center;
}
body .entry-content .column > p {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
}
/* callouts */
.circle, .square {
    border: 6px solid #54c4c4;
    font-size: 46px;
    display: inline-block;
    line-height: 0;
    font-weight: 900;
    color: #717171;
    margin-bottom: 10px;
    padding: 1.5em 0;
}
.circle {
    border-radius: 50%;
    width: 3em;
}
.square {
    box-sizing: border-box;
    width: 100%;
    max-width: 400px;
}
.callout {
    text-align: center;
    display: block;
    padding: 40px 30px;
    margin: 30px;
    border: 6px solid #e9ecec;
    background: #fdfdfd;
}
.callout > * {
    margin-top: 0 !important;
}
.callout p:first-child {
    margin: 0 !important;
}

.callout h1 { font-size: 40px; color: #717171; font-weight: 900 !important; }
.callout h2 { font-size: 34px; color: #717171; font-weight: 900 !important; }
.callout h3 { font-size: 25px; color: #ca7629; font-weight: 900 !important; }
.callout h4 { font-size: 20px; color: #ca7629; font-weight: 900 !important; }
.callout h5, .callout p { font-size: 18px; color: #ca7629; font-weight: 600 !important; width: 75%; margin: 0 auto; }

/* forms in right pane (articles, signup), ninja forms */

.right-pane .ninja-forms-required-items {
    margin-bottom: 1em;
}

.ninja-forms-cont, .form-container {
    border: 2px solid #e1e1e1;
    max-width: 786px;
    font-weight: 600;
}
.right-pane input,
.right-pane textarea {
	font-family: proxima-nova, sans-serif;
    font-weight: 600;
    font-size: 20px;
}
.right-pane form,
.ninja-forms-response-msg {
    margin: 35px;
}
.right-pane .ninja-forms-form-title,
.right-pane .form-container h2 {
    text-align: center;
    width: 100%;
    position: absolute;
    margin: -0.5em 0 0;
    top: -1.2em;
    font-size: 27px;
    font-weight: 600;
}
.right-pane .ninja-forms-form-title > span,
.right-pane .form-container h2 > span {
    background: #fdfdfd;
    padding: 0 0.66em;
    z-index: 2;
}
.ninja-forms-req-symbol {
    color: #ca7629;
}
.right-pane label,
.right-pane .label-above,
.right-pane .ninja-forms-cont ::-webkit-input-placeholder,
.right-pane .ninja-forms-cont :-webkit-input-placeholder,
.right-pane .ninja-forms-cont ::-moz-placeholder,
.right-pane .ninja-forms-cont :-ms-input-placeholder,
.right-pane .ninja-forms-cont :-moz-placeholder {
    color: #a6a6a6;
}
.right-pane input[type="text"],
.right-pane textarea {
    border: none;
    border-bottom: 1px solid #e1e1e1;
    background: none;
}
.right-pane input[type="text"]:focus,
.right-pane textarea:focus {
    color: #ca7629;
    border-bottom: 2px solid #ca7629;
}

.right-pane input[type="radio"],
.right-pane input[type="checkbox"] {
    display: none;
}
.right-pane .field-wrap {
    clear: both;
}
.right-pane .field-wrap ul {
    width: 100%;
}
.right-pane .field-wrap label {
    float: none !important;
    display: block !important;
    margin: .4em 0;
}
.right-pane .field-wrap li {
    width: 50%;
    display: block;
    float: left;
}

.right-pane .checkbox-wrap label,
.right-pane .list-checkbox-wrap li label,
.right-pane .list-radio-wrap li label {
    padding-left: 26px;
}
.right-pane .list-checkbox-wrap li label,
.right-pane .checkbox-wrap label {
    background: url(css_images/checkboxes.png) no-repeat 0px center;
}
.right-pane .list-radio-wrap li label {
    background: url(css_images/radio.png) no-repeat 0px center;
}
.right-pane .list-checkbox-wrap li label.checked,
.right-pane .checkbox-wrap label.checked { /* jquery-added class */
    background-position: -788px center;
}
.right-pane .list-radio-wrap li label.checked { /* jquery-added class */
    background-position: -786px center;
}

.right-pane input[type="submit"] {
    background: #3c9595;
    width: 220px;
    text-transform: uppercase;
    font-size: 14px;
    padding: 1em 0;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.1px;
    cursor: pointer;
    border: none;
}
.right-pane input[type="submit"]:hover {
    background: #236d6d;
}

.list-radio-wrap label,
.list-checkbox-wrap label {

}
/* form success/error */
.right-pane .ninja-forms-response-msg:empty {  /* because ninja forms is stupid */
    display: none;
}
.right-pane .ninja-forms-response-msg  {
    min-height: 100px;
    text-transform: uppercase;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    padding: 1px 23px;
}
.right-pane .ninja-forms-response-msg > * {
    margin: 17px 0 !important;
}
.right-pane .ninja-forms-success-msg {
    background: #236d6d;
}
.right-pane .ninja-forms-error-msg {
    background: #9a4242;
}
.right-pane .ninja-forms-field-error {
    font-size: 15px;
    font-weight: 500;
    text-transform: uppercase;
    color: #9a4242;
}
/* special labels */
.right-pane .ninja-forms-cont .text-wrap label,
.right-pane .ninja-forms-cont .textarea-wrap label {
    display: none !important;
}

/* site search */
.site-search {
    display: none;
    z-index: 100000;
    position: absolute;
    background: rgba(253,253,253,.95);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    font-size: 20px;
}

#prev-results, #next-results {
    height: 26px;
    width: 26px;
    position: absolute;
    display: none;
}
#next-results {
    left: 66%;
}
#prev-results {
    left: 33%;
    transform: rotate(180deg);
}

.site-search .text {
    line-height: 55px;
}
.search-header-footer h3 {
}
.search-result-content {
    margin: 2em 0;
}
.search-result-content .related-url {
    font-size: 14px;
}

.search-result-content a {
    font-weight: 500;
    text-decoration: none;
}
.search-result-content h4 {
    margin: 0;
    color: rgb(202, 118, 41);
}
.search-result-content p {
    font-size: 16px;
    line-height: 1.5em;
    color: #636363;
    margin: .5em 0;
}

.search-form, .results-container {
    width: 90% !important;
    margin-left: 5% !important;
}
.search-form {
    margin-top: 80px !important;
}

.site-search input[type="submit"] {
    display: none;
}
.site-search label {
}
.site-search input[type="search"] {
    width: 100%;
    border: none;
    border-top: 1px solid #dedede;
    border-bottom: 5px solid #b2b2b2;
    background: none;
    color: #407372;
    font-weight: 100;
    font-size: 25px;
    height: 55px;
}
.site-search input[type="search"]:focus {
    border-bottom: 5px solid #407372;
}
.site-search > span.magnifier {
    position: absolute;
    background: url(css_images/search.png) center no-repeat;
    width: 35px;
    height: 33px;
    display: block;
    margin-top: -16px;
    left: 50%;
    margin-left: -17px;
    z-index: 50;
    top: 80px;
}
.site-search .results .page-title {
    display: none;
}
.site-search > span.text {
    width: 100%;
    margin-top: 80px;
    position: absolute;
    text-align: center;
    pointer-events: none;
    color: #8c8c8c;
    font-size: 25px;
    font-weight: 100;
}
.search-results .page-header {
    margin-left: 0 !important;
}
.search-results h1.entry-title {
    font-size: 30px;
}
.search-results .content-area {
    width: 90%;
    line-height: 1.33em;
}
.screen-reader-text {
    display: none;
}
.search-results .entry-title,
.site-search .entry-title {
    font-size: 20px !important;
}
.search-results .entry-meta,
.site-search .entry-meta {
    display: none !important;
}

/* gallery */

.gallery {
}
.gallery img {
    border-bottom: none !important;
}
.gallery-icon > a {
    display: block;
    width: 100%;
    text-align: center;
}

.gallery-item {
    display: inline-block;
    width: 33%;
    margin: 20px 0;
}
.gallery-caption {
}

/* share */

.ssba {
    padding-left: 11px !important;
    background: url( css_images/share-sprites.png ) no-repeat 62px -34px;
    background-size: auto 104px;
}
.ssba a {
    display: inline-block;
    background: url( css_images/share-sprites.png ) no-repeat;
    background-size: auto 104px;
    margin: 3px;
    width: 32px;
    height: 32px;
    vertical-align: middle;
    text-decoration: none;
}
.ssba a:first-child {
    margin-left: 34px;
}
.ssba a > img {
    display: none !important;
}
.ssba a.ssba_twitter_share { background-position: -28px 0; }
.ssba a.ssba_twitter_share:hover { background-position: -28px -72px; }
.ssba a.ssba_facebook_share { background-position: -67px 0; }
.ssba a.ssba_facebook_share:hover { background-position: -67px -72px; }
.ssba a.ssba_email_share { background-position: -103px 0; }
.ssba a.ssba_email_share:hover { background-position: -103px -72px; }
.ssba a.ssba_print { background-position: -140px 0; }
.ssba a.ssba_print:hover { background-position: -140px -72px; }



/* Query Multiple Taxonomies */

#terms-category > h4 {
    display: none;
}
.widget_taxonomy-drill-down > form > p:last-child { /* hide submit button */
    display: none;
}
.main-navigation .widget-area li > label {
    display: inline-block;
    cursor: pointer;
    list-style-image: none;
    list-style-position: none ;
    overflow-x: hidden;
}
.main-navigation .widget-area li > label > input[type="checkbox"] {
    right: 150%;
    width: 0;
    position: absolute;
    font-size: 0;
}
/* selected categories */
.main-navigation .taxonomy-drilldown-checkboxes li > label.checked,
.main-navigation .taxonomy-drilldown-checkboxes li > label.open {
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}
.main-navigation .taxonomy-drilldown-checkboxes > div > ul > li.has-children > label:after {
    content: ' +';
    pointer-events: none;
    font-weight: 900;
}
.main-navigation .taxonomy-drilldown-checkboxes > div > ul > li.has-children > label.checked:after,
.main-navigation .taxonomy-drilldown-checkboxes > div > ul > li.has-children > label.open:after {
    content: ' x';
    font-weight: 100;
    bottom: .1em;
    position: relative;
    pointer-events: none;
}
/* subcategories */
.main-navigation .taxonomy-drilldown-checkboxes li > ul {
    display: none;
    background: #4a7372;
    font-size: 82.3%;
    padding-top: .4em;
    padding-bottom: .6em;
    margin-top: .25em;
    margin-bottom: .33em;
}
.main-navigation .taxonomy-drilldown-checkboxes li > ul > li {
}
.main-navigation .taxonomy-drilldown-checkboxes li li > label {
    margin-left: 60px;
    font-weight: 500 !important;  /* important so that it's not bold when hovered over */
    padding-top: .3em;
    padding-bottom: .3em;
    display: list-item;
    list-style: none inside;
}
/* selected subcategories */
.main-navigation .taxonomy-drilldown-checkboxes li li > label.checked {
    font-weight: 500;
    list-style: disc inside;
    margin-left: 47px;
}

/* Distractor - loading animation */

.loading-container {
    height: 50px;
    text-align: center;
}
.loader, .no-more-posts {
    top: 65px;
}
.loader * {
    -webkit-animation-play-state: paused;
    -moz-animation-play-state: paused;
    -ms-animation-play-state: paused;
    -webkit-animation-play-state: running;
    -moz-animation-play-state: running;
    -ms-animation-play-state: running;
}
.loading-bubbles {
    margin: auto;
}
.loading-bubbles .bubble-container {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin: 0 8px;
}
.loading-bubbles .bubble-container .bubble {
    border-radius: 50%;
    background-color: #c8c9c9;
    width: 100%;
    height: 100%;
    transform-origin: 50% 50%;
    -webkit-animation: bubble 1s -0.5s infinite ease-out;
    -moz-animation: bubble 1s -0.5s infinite ease-out;
    -ms-animation: bubble 1s -0.5s infinite ease-out;
}
.loading-bubbles .bubble-container:nth-of-type(2n) .bubble {
    -webkit-animation-delay: -0.25s;
    -moz-animation-delay: -0.25s;
    -ms-animation-delay: -0.25s;
}
.loading-bubbles .bubble-container:nth-of-type(3n) .bubble {
    -webkit-animation-delay: 0s;
    -moz-animation-delay: 0s;
    -ms-animation-delay: 0s;
}

@-webkit-keyframes bubble {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}
@keyframes bubble {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(0);
    }
}

/* signup */

.signup {
    display: none;
    z-index: 100000;
    position: absolute;
    background: rgba(253,253,253,.95);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    font-size: 20px;
}
.signup > div {
    width: 80%;
    margin: 80px auto;
}
.signup .form-container h2 > span {
    background: #fcffff;
}

/* hide author on posts on these categories */


article.category-weekly-scans .byline {
    display: none;
}

/* hover states */

.blog article {
    transition: background-color .3s;
    -webkit-transition: background-color .3s;
    background-color: #fff;
}
.blog article:hover {
    background-color: #f3f3f3;
}

.blog .entry-header .overlay {
    transition: background-color .75s;
    -webkit-transition: background-color .75s;
    position:absolute;width:100%;height:100%;background-color:rgba(0,32,32,.35);
}
.blog article:hover .entry-header .overlay {
    background: rgba(0,32,32,.6);
}
/* if article has 'hidden-title' class, fade the tint out (the desired effect is that the image will brighten instead of darken). */
.blog article.hidden-title:hover .entry-header .overlay {
    background: rgba(0,32,32,0);
}


/*
.title-link + .more-link svg.icon * {
    transition: fill .3s;
}
.title-link:hover + .more-link svg.icon * {
    fill: #62d5d5;
}
*/


/* Fix sidebar popping issue when using ajax */
html, body, #page {
    min-height: 100%;
}

/* ------------------------------------------------------------------ */
/* Hamburger menu stuff */
/* Note: Body class used to control display and transitions and behaviors in various breakpoints */
/* "menu-closed" makes the hamburger icon appear and the sidebar close and conversely "menu-opened" makes them reappear, using transitions */
/* automatically closing the sidebar is controlled by javascript (in the case of resizing the browser) */
button.hamburger {
    background-color: #466f6e;
    transition: background-color .4s;
    background-repeat: no-repeat;
    background-position: center;
}
button.hamburger:hover {
    background-color: #375d5c;
}


button.menu-toggle,
button.menu-close {
    background-size: cover;
    width: 50px;
    height: 50px;
    position: absolute;
    top: 0;
    left: 0;
    border: none;
    font-size: 0;
    cursor: pointer;
}
button.menu-toggle {
    background-image: url(css_images/menu-burger.png);
    display: none;  /* default is hidden (e.g. not tablet or mobile breakpoints) */
    z-index: 101;
}
button.menu-close {
    background-image: url(css_images/menu-close.png);
    left: auto;
    right: 0;
    z-index: 103;
}
body.menu-closed .main-navigation, body.menu-opened .main-navigation,
body.menu-closed .sidebar-back,    body.menu-opened .sidebar-back
{
    transition: left .5s ease-out;
}
body.menu-opened button.menu-toggle.b { display: none !important; }
body.menu-closed button.menu-toggle.b { display: block !important; }
body.menu-opened .main-navigation, body.menu-opened .sidebar-back { left: 0 !important; }
body.menu-closed .main-navigation, body.menu-closed .sidebar-back { left: -25% !important; }

body.menu-closed .constrainable,    body.menu-opened .constrainable {
    transition: left 0.5s ease-out, width 0.5s ease-out;
}
body.menu-closed .constrainable {
    left: 0;
    width: 100%;
}
body.menu-opened .constrainable {
    left: 25%;
    width: 75%;
}


/* ------------------------------------------------------------------ */
/* Misc */

.layout {
    overflow-x: hidden;
}

.posts-navigation {
    display: none;
}

.no-more-posts {
    position: absolute;
    width: 100%;
    text-align: center;
}

body.blog article > .inner {
    border-bottom: 1px solid #ca7629;
    overflow: hidden;
    padding-bottom: 21px;
    height: calc( 100% - 3px );
    min-height: 476px;
}
body.blog article.small > .inner {
    min-height: 217px;
}

.card-link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    margin: 0 !important;
}

.__youtube_prefs__ {
    width: 80%;
    margin: 0 10%;
}

figure {
    max-width: 60% !important;
}


/* Scroll-to-top */

.scroll-to-top {
    position: fixed;
    bottom: 5%;
    right: 15px;
    width: 50px;
    height: 60px;
    background: #fff url(css_images/top-arrow.svg) no-repeat;
    background-position: center 10px ;
    background-size: 23px 23px;
    cursor: pointer;
    color: #3c9595;
    font-size: 14px;
    font-weight: 600;
    z-index: 50;
    border-radius: 4px;
    display: none;
}
.scroll-to-top span {
    display: block;
    position: absolute;
    bottom: 5px;
    left: 0;
    text-align: center;
    width: 100%;
}
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
  }

  40%, 43% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    -webkit-transform: translate3d(0,-4px,0);
    transform: translate3d(0,-4px,0);
  }
}

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}


/* slideshow customizations */
body .slideshow_container .slideshow_title {
    display: none;
}

body .slideshow_container_style-light .slideshow_button {
    margin-top: -16px;
    height: 32px;
    width: 32px;
    background: url(css_images/slideshow-arrows.png) no-repeat;
}

body .slideshow_container_style-light .slideshow_next {
    background-position: -32px 0;
}

body .slideshow_container_style-light .slideshow_transparent {
    filter: alpha(opacity = 0.8) !important;
    opacity: 0.8 !important;
}

/* ------------------------------------------------------------------------ */
/* Responsive styles - keep at very bottom of this file */
/* Note: Body class used to control display and transitions and behaviors of hamburger menu (nav sidebar) in various breakpoints */
/* These define the baseline styles on top of which "menu-opened" and "menu-closed" body classes make the transitions happen. */
/* These styles don't use any transitions. */

/* "Tablet" */
@media only screen and (max-width: 1024px) {
    .content-area button.menu-toggle {
        display: block;
    }
    .constrainable {
        left: 0 !important;
        width: 100% !important;
    }
    .main-navigation, .sidebar-back {
        left: -40% !important;
        width: 40% !important;
    }
    body.menu-opened .sidebar-back, body.menu-opened .main-navigation { width: 40% !important; }
    body.menu-closed .sidebar-back, body.menu-closed .main-navigation { left: -40% !important; width: 40% !important; }
    .main-navigation {
        font-size: 24px;
    }
    .main-navigation .widget div.menu-button-menu-container a {
        font-size: 18px;
    }
}

/* sticky footer logo */
/* the following requires main-navigation and footer-area to be direct children of body.... */
/* also "push" must be the last thing in main-navigation... */

/*
.main-navigation {
	min-height: calc( 100% );
	margin: 0 auto -100px;
}
.push, .footer-area {
	height: 100px;
} */

/* "Mobile" */
@media only screen and (max-width: 767px) {
    .column {
        width: 100% !important;
    }
    .site-header {
        position: absolute;
    }
    .right-pane > button.menu-toggle {
        display: block;
    }
    .content-area button.menu-toggle {
        display: none;
    }
    body.menu-opened button.menu-toggle.a { display: none !important; }
    body.menu-closed button.menu-toggle.a { display: block !important; }
    body.menu-opened button.menu-toggle.b { display: none !important; }
    body.menu-closed button.menu-toggle.b { display: none !important; }
    .main-navigation {
        font-size: 25px;
    }
    body.single article,
    body.page article {
        width: 100%;
        float: none;
    }
    .post-sidebar {
        width: 90%;
        max-width: 90%;
        margin-right: 5%;
        right: 0;
    }
    .widget_yarpp_widget li {
      padding-right: calc( 5% + 40px );
    }
    .sidebar-strip {
        display: none;
    }
    .main-navigation, .sidebar-back {
        left: -100% !important;
        width: 100% !important;
    }
    body.menu-opened .sidebar-back, body.menu-opened .main-navigation { width: 100% !important; }
    body.menu-closed .main-navigation, body.menu-closed .sidebar-back { left: -100% !important; width: 100% !important; }
    .site-branding .site-title {
        width: 50% !important;
    }
    .site-branding .site-description {
        width: 40% !important;
        max-width: 100%;
    }

    .site-branding .site-title, .site-branding .site-description {
        background-position: center;
        height: 50px !important;
        font-size: 2.2vw !important;
    }
    .site-branding > .inner {
        width: calc(100% - 55px);
        margin-left: 55px;
    }

    .site-branding .site-title,
    .site-branding .site-description {
        height: 40px !important;
        margin: 5px 2.5% !important;
        transition: none !important;
    }

    .virtual-frame {
        width: calc( 92% - 20px );
        margin-left: 4% !important;
        margin-right: 4% !important;
    }
    body.blog article > .inner {
        height: auto !important;
        min-height: 0 !important;
    }
    body.blog article, body.blog article.small {
        width: 100%;
        min-height: 0 !important;
        height: auto !important;
        border-top: 6px solid #ca7629;
        margin-bottom: 30px;
    }
    body.blog article.featured {
        height: 420px !important;
        margin-right: 0 !important;
    }
    body.blog article.featured .entry-title a.title-link {
        font-size: 30px;
        min-width: 240px;
        max-width: 500px;
        width: 90%;
        line-height: 1.05em;
    }
    body.blog .virtual-frame article p {
        max-width: 520px;
    }
    body.blog article.small header .more-link {
        display: none;
    }
    body.blog article.featured {
        border: none !important;
    }
    body.blog article .thumbnail {
        display: none;
    }
    .main-navigation .widget div.menu-button-menu-container a {
        font-size: 15px;
    }
    .overlay form > h2 > span {
        padding: 0 10px !important;
    }
    .overlay form {
        margin-left: 17px !important;
        margin-right: 17px !important;
    }
    .signup > .form-container {
        width: 90%;
        margin: 80px auto;
    }

    .right-pane .ninja-forms-form-title, .right-pane .form-container h2 {
        font-size: 7vw;
        top: -1em;
    }

    body.single article, body.page article,
    body.single .entry-content, body.page .entry-content,
    .right-pane input, .right-pane textarea {
        font-size: 4vw;
        line-height: 1.8em;
    }
    body.single article header h3, body.page article header h3 {
        font-size: 7vw;
    }
    .__youtube_prefs__ {
        width: 100%;
        margin: 0;
    }
    figure {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    figure img {
        width: 100%;
    }
    .alignright {
        float: none;
        margin-right: 0;
    }
    .alignleft {
        float: none;
        margin-left: 0;
    }
    blockquote {
        font-size: 5vw;
        margin: .5em .5em 1.5em;
    }
    body.blog article > .inner {
        padding-bottom: 33px;
    }
    .callout {
        margin-left: 0;
        margin-right: 0;
    }

    .right-pane .field-wrap li,
    .right-pane input[type="submit"] {
        width: 100%;
    }
    .right-pane form, .ninja-forms-response-msg {
        margin: 8%;
    }

    h1 { font-size: 9vw;}
    h2 { font-size: 8vw;}
    h3 { font-size: 7vw;}
    h4 { font-size: 6vw;}
    h5 { font-size: 5vw;}
    h6 { font-size: 4vw;}


    body.single .entry-content p,
    body.page .entry-content p {
        width: 100%;
    }

    .signup {
        font-size: 4vw;
    }

    .site-search > span.text {
        top: 80px;
        line-height: 1.33em;
        width: 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        font-size: 5.5vw;

    }
    .site-search > span.text strong {
        display: block;
    }

    body.single .posted-on {
        width: 18%;
    }
    body.single .byline {
        width: 82%;
    }
    body.single .entry-meta,
    body.page .entry-meta,
    .entry-header .categories a {
        font-size: 3vw;
    }

/* End Responsive Styles */
/* ------------------------------------------------------------------------ */
