/*!
 * Title: Stylesheet for johnjensenvvs
 * Version: v1.0.0
 * Copyright: 2015-2016 by @tschentscher
 */


/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

/* ADD TABLE OF CONTENTS */

/*--------------------------------------------------------------
0.0 General Styles
---------------------------------------------------------------*/


body {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: normal;
    color: #30363d;
    background: #fff;

    -webkit-font-smoothing: antialiased;
}


body > header a:hover {
    color: rgba(250, 251, 252, .65);
}

body > header a {
    color: rgba(250, 251, 252, .85);
}
iframe {
    width: 100%;
    border: none;
}

/*--------------------------------------------------------------
0.0 General Styles
---------------------------------------------------------------*/


.section {
    padding: 5em 0;
}

.section-breadcrumbs {
    font-size: .9em;
    padding: 1.5em 0 0 0;
    color: rgba(0, 0, 0, .4);
}

.section-breadcrumbs a {
    color: inherit;
}

.section-breadcrumbs + .section {
    padding-top: 2.5em;
}


.section-clients {
    padding: 3em 0;
    text-align: center;
    background: #f0f3f7;
}

.section-employee {
    background: #f0f3f7;
}

.section-clients + .section-employee {
    background: white;
}

.section-clients + .section-employee .row-employee .row-height {
    background: #f0f3f7;
}


.project-item {
    display: block;
    margin: .75em 0;
    padding: 12.5em 0 0 0;
    -webkit-transition: -webkit-transform .1s ease;
    transition: -webkit-transform .1s ease;
    transition:         transform .1s ease;
    transition:         transform .1s ease, -webkit-transform .1s ease;
    background: #f3f6f9;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-shadow: 0 5px 10px -5px rgba(0, 0, 0, .45);
}

.project-item:hover {
    -webkit-transition: -webkit-transform .1s ease;
    transition: -webkit-transform .1s ease;
    transition:         transform .1s ease;
    transition:         transform .1s ease, -webkit-transform .1s ease;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
    text-decoration: none;
}

.project-title {
    padding: 1em;
    color: white;
    background: rgba(16, 45, 83, .85);
}

.employee-item {
    display: block;
    margin: .75em 0;
    padding: 1.2em;
    text-align: center;
    background: #fff;
}

.row-references {
    padding: 0 0 2em 0;
}

.row-references a {
    display: block;
    padding: .25em 0;
}

.section-white {
    background: white;
}
.section-projectimage {
    padding: 25% 0 .5em 0;
    color: white;
    background-repeat: no-repeat!important;
    background-position: center center!important;
    background-size: cover!important;
}


.section-slider {
    padding: 0;
}

.section-slider h2 {
    font-size: 1.8em;
    font-weight: 900;
}


.section-news {
    background: #f0f3f7;
}

.section-news .post-excerpt-content {
    background: #fff;
}
.section.section-clients + .section.section-news {
    background: white;
}

.section.section-clients + .section.section-news  .post-excerpt-content {
    background: #f0f3f7;
}
/*--------------------------------------------------------------
0.0 Header
---------------------------------------------------------------*/

.img-logo {
    width: 100%;
    max-width: 215px;
    padding: 0;
}

.banner {
    position: relative;
    z-index: 200;
    padding: .5em 0 .5em 0;
    background: #102d53;
}

.placeholder {
    display: none;
    margin: 1.25em 0;
    padding: 1.2em;
    text-align: center;
    color: #8896a9;
    background: #f0f3f7;
}

/*--------------------------------------------------------------
0.0 Employee
---------------------------------------------------------------*/
.employee {
    position: relative;
    box-sizing: border-box;
    margin-bottom: 1.5em;
    -webkit-transition: box-shadow .3s ease-out;
    transition: box-shadow .3s ease-out;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.14);
}

.employee:hover {
    box-shadow: 0 2px 7px 0 rgba(0,0,0,.32);
}
.employee-info {
    padding: 1.5em 1em;
    text-align: center;
    background: #fff;
}
.row-employee .row-height {
    background: white;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.14);
}

.employee .name,
.row-employee .name {
    font-size: 1.2em;
    font-weight: 500;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.employee .phone,
.employee .email {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.employee small,
.row-employee small {
    font-size: .8em;
    font-weight: 400;
    display: block;
    overflow: hidden;
    margin-top: 1em;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #79818a;
}

.employee .division a {
    font-size: .7em;
    position: absolute;
    z-index: 99;
    top: 0;
    right: 0;
    padding: .75em 1em;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #fff;
    background: rgba(16, 45, 83, .75);
}

.title {
    font-size: .8em;
    font-weight: 400;
    display: block;
    overflow: hidden;
    margin-bottom: .5em;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #79818a;
}
.employee-image {
    display: block;
    width: 100%;
    height: auto;
}


.row-searchform {
    z-index: 1;
    margin: 0 0 1.5em;
    padding: 1em .5em;
    background-color: #f0f0f0;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,.14);
}

.row-searchform .form-group {
    margin: 0;
}
.row-searchform .btn-group {
    width: 100%;
}



/*--------------------------------------------------------------
0.0 Footer
---------------------------------------------------------------*/

.colophon a {
    color: inherit;
}

.colophon hr {
    border-top: 1px solid #1d406e;
}
/*--------------------------------------------------------------
0.0 Navbar
---------------------------------------------------------------*/
.navbar input {
    color: #102d53;
    color: white;
    border: 1px solid #1d406e;
    background: rgb(16, 45, 83);
}

/*--------------------------------------------------------------
0.0 Footer
---------------------------------------------------------------*/


/*--------------------------------------------------------------
0.0 Colophon
---------------------------------------------------------------*/
.colophon {
    padding: 7.5em 0;
    color: white;
    background: #102d53;
}
/*--------------------------------------------------------------
0.0 Copyright
---------------------------------------------------------------*/

.copyright {
    font-size: .75em;
    padding: 3.5em 0 6.5em 0;
    color: rgba(255, 255, 255, .45);
    background: #051934;
}
.copyright span {
    display: block;
}

.copyright span:last-child {
    font-size: .8em;
    margin-top: .75em;
    color: rgba(255, 255, 255, .25);
}





/*--------------------------------------------------------------
0.0 Equal rows height
---------------------------------------------------------------*/

.inside {
    display: table-cell;
    padding: 2em;
}
.inside-full-height {
    height: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.row-height {
    display: table;
    width: 100%;
    height: 100%;
    margin-bottom: 1em;
    table-layout: fixed;
}

.row-testimonial .row-height {
    margin-bottom: 0;
}
.col-height {
    display: table-cell;
    float: none;
    height: 100%;
}
.col-top {
    vertical-align: top;
}
.col-middle {
    vertical-align: middle;
}
.col-bottom {
    vertical-align: bottom;
}

@media (min-width: 480px) {
    .row-xs-height {
        display: table;
        width: 100%;
        height: 100%;
        table-layout: fixed;
    }
    .col-xs-height {
        display: table-cell;
        float: none;
        height: 100%;
    }
    .col-xs-top {
        vertical-align: top;
    }
    .col-xs-middle {
        vertical-align: middle;
    }
    .col-xs-bottom {
        vertical-align: bottom;
    }
}

@media (min-width: 768px) {
    .row-sm-height {
        display: table;
        width: 100%;
        height: 100%;
        table-layout: fixed;
    }
    .col-sm-height {
        display: table-cell;
        float: none;
        height: 100%;
        padding: 0;
    }
    .col-sm-top {
        vertical-align: top;
    }
    .col-sm-middle {
        vertical-align: middle;
    }
    .col-sm-bottom {
        vertical-align: bottom;
    }
}

@media (min-width: 992px) {
    .row-md-height {
        display: table;
        width: 100%;
        height: 100%;
        table-layout: fixed;
    }
    .col-md-height {
        display: table-cell;
        float: none;
        height: 100%;
    }
    .col-md-top {
        vertical-align: top;
    }
    .col-md-middle {
        vertical-align: middle;
    }
    .col-md-bottom {
        vertical-align: bottom;
    }
}

@media (min-width: 1200px) {
    .row-lg-height {
        display: table;
        width: 100%;
        height: 100%;
        table-layout: fixed;
    }
    .col-lg-height {
        display: table-cell;
        float: none;
        height: 100%;
    }
    .col-lg-top {
        vertical-align: top;
    }
    .col-lg-middle {
        vertical-align: middle;
    }
    .col-lg-bottom {
        vertical-align: bottom;
    }
}

.row-employee .row {
    margin: 0;
}

.project-sidebar {
    margin-bottom: 2em;
    padding: 3.5em;
    background: #f0f3f7;
}

.section-numbers {
    padding: 3.5em 0;
    text-align: center;
}
.number {
    font-size: 5em;
    line-height: 1em;
    display: block;
    color: #102d53;
}
.number-label {
    font-size: 1.5em;
    display: block;
    color: rgba(0, 0, 0, .25);
}


.section-employee + .section-clients {
    background: white;
}

.post-thumbnail {
    margin-top: 1em;
    margin-bottom: 0;
}



.post-excerpt-content {
    padding: 2em;
    background: #f0f3f7;
    box-shadow: 0 7px 10px -10px #102d53;
}

.post-excerpt-content p {
    color: #7e7e7e;
}

.post-excerpt-content h2 a {
    font-size: .75em;
    color: #30363d;
}

.post-excerpt-content h2 {
    line-height: .8em;
}


.section-featured {
    background: #efefef;
}
.section-projects {
    padding-bottom: 2.5em;
}

.boxed {
    margin-bottom: 2em;
    padding: 2em;
    background: #f0f3f7;
    box-shadow: 0 7px 10px -10px #102d53;
}

.section-light .boxed {
    background: white;
}
.section-light .boxed {
    margin-bottom: 0;
}

.row-testimonial {
    margin-bottom: 1em;
    padding: 2em 3em;
    background: #f3f6f9;
}
.testimonial {
    margin-top: 1em;
}
.testimonial .gallery-cell {
    width: 100%;
}


.entry-header {
    position: relative;
    min-height: 1px;
}

.entry-header span {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    padding: .75em 1em;
    background: rgba(255, 255, 255, .75);
}
.post .post-thumbnail {
    margin-bottom: 2em;
}




header .subtext {
    font-size: .9em;
    color: rgb(111, 134, 163);
}

.icon-group {
    display: block;
    width: 100%;
    padding: 1.25em 1em;
    text-align: right;
}
.icon-group p {
    font-size: .75em;
    line-height: 1em;
    margin: 0;
    margin-top: .5em;
    color: #5a7291;
}
.icon-group p a {
    display: inline-block;
    color: inherit;
    border-bottom: 1px dotted;
}

.icon-group p a:hover {
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid;
}


.icon-group .group {
    padding: 0;
}

.icon-group .group .text {
    font-size: 1.5em;
    font-weight: 500;
    line-height: 1.2em;
    display: block;
    color: white;
}

.form-group i {
    position: absolute;
    top: .95em;
    right: .95em;
    color: #1d406e;
}

.preheader {
    font-size: .9em;
    padding: .5em 0;
    color: rgba(255, 255, 255, .45);
    background: #051a35;
}

.preheader a {
    color: inherit;
}
.preheader span {
    display: inline;
    padding: 0 .5em;
}
.preheader span:first-child {
    padding-right: .75em;
    border-right: 1px solid rgba(250, 251, 252, .11);
}

aside .item {
    margin-bottom: 2em;
}
aside .item-text {
    padding: 3em;
    background: #f0f3f7;
}


.col-intro h1 {
    margin: 0 0 .1em;
}
.col-intro .lead {
    color: rgba(255, 255, 255, .8);
}
.col-intro i {
    font-size: 1.75em;
    position: absolute;
    top: .75em;
    right: 1em;
    padding: .5em;
    color: white;
    background: rgba(29, 64, 110, .55);
}
.col-intro a {
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
}
.col-intro a:hover i {
    -webkit-transition: opacity .2s ease;
    transition: opacity .2s ease;
    opacity: .6;
}
.col-intro .fa-file-pdf-o {
    right: 3em;
}

.acf-map {
    width: 100%;
    height: 300px;
}

/* fixes potential theme css conflict */
.acf-map img {
    max-width: inherit !important;
}


.google-map {
    position: relative;
    margin-bottom: 2em;
}

.google-map .info {
    position: absolute;
    z-index: 99;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1em;
    color: white;
    background: rgb(5, 25, 52);
    box-shadow: 0 5px 10px -5px rgba(0, 0, 0, .45);
}

.img-featured {
    width: 100%;
    height: auto;
    margin-bottom: 2em;
}



/*!
 * jQuery Cookiebar Plugin
 * https://github.com/carlwoodhouse/jquery.cookieBar
 *
 * Copyright 2012, Carl Woodhouse
 * Disclaimer: if you still get fined for not complying with the eu cookielaw, it's not our fault.
 */

 .cookie-message {
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1em 0 1em 0;
    color: #122743;
    border-top: 1px solid rgba(255, 255, 255, .24);
    background: rgba(255, 206, 20, .95);
    box-shadow: 0 0 8px -5px #000;
}
.cookie-message p {
    margin: 0;
    padding: .3333em 0;
    color: #102d53;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .38);
}
.cookie-message a.btn {
    float: left;
    width: 48%;
    max-width: 200px;
    margin-right: 2%;
}

.blue {
    border-bottom: 1px solid #0e83ae;
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #0e83ae), color-stop(50%, #0990c3), color-stop(100%, #0e9dd2));
    background: -webkit-linear-gradient(#0e83ae, #0990c3, #0e9dd2);
    background:         linear-gradient(#0e83ae, #0990c3, #0e9dd2);
    background-color: #0990c3;
}
.blue p,
.blue a {
    color: #fff;
}



@media print {
    header,
    footer,
    .google-map,
    .breadcrumbs,
    .col-intro a,
    .cookie-message,
    .section-employee,
    .section-clients,
    .alternate-projects {
        display: none!important;
    }
    .section,
    .section-projectimage {
        margin: 0!important;
        padding: 0!important;
    }
    .project-sidebar {
        margin: 0;
        padding: 0;
    }
    .row-testimonial {
        margin-top: 2em;
        margin-bottom: 0;
        padding: 0;
    }
    .testimonial {
        margin: 0;
        margin-top: 0;
    }
}

.icon-group a span {
    display: inline-block;
    width: 5px;
    height: 5px;
    margin: .2em .5em .1em .2em;
    padding: .24em;
    border-radius: 10em;
    background: #3cce3c;
    box-shadow: 0 0 5px -1px #0f0;
}


.section-projectinfo {
    padding-bottom: 3.5em;
}
.section-projectinfo + .section-employee {
    padding-top: 5em;
}



.section-search .post-excerpt {
    padding: .5em 0;
}

.section-search .post-excerpt h2 {
    font-size: 1.5em;
    margin-bottom: .25em;
}

.section-search .post-excerpt small {
    display: block;
    margin-bottom: .5em;
    color: #006621;
}
.section-search .post-excerpt p {
    color: #646464;
}



.project-featured {
    margin: 3em 0 2em 0;
    padding: 2em;
    color: white;
    background: #314b6b;
}


.brochure-container {
    float: right;
    margin: 0 0 1em 1em;
    padding: 1em;
    border: 1px solid rgba(0, 0, 0, .03);
    background: #f0f3f7;
}
.brochure-container img {
    margin-bottom: .5em;
}
.brochure-container figcaption {
    font-size: .75em;
    text-align: center;
    text-decoration: underline;
    color: #0f2b53;
}




.gform_wrapper ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gform_wrapper input[type=text],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=email] {
    line-height: 1em;
    width: 100%;
    padding: 1em;
    border: 1px solid #dfdfdf;
    box-shadow: 1px 1px 10px -5px rgba(0, 0, 0, .32)inset;
}
.gform_wrapper label {
    font-weight: 300;
}
.gform_wrapper .gfield_label {
    font-weight: 500;
    margin-top: 1em;
}
.gform_wrapper .name_first,
.gform_wrapper .name_last {
    float: left;
    width: 49%;
}
.gform_wrapper .name_first label,
.gform_wrapper .name_last label {
    font-size: .75em;
}
.gform_wrapper .name_first {
    margin-right: 2%;
}
.gform_drop_area {
    padding: 1.5em;
    text-align: center;
    border: 2px dashed #dfdfdf;
}
.gform_drop_area:hover {
    cursor: pointer;
    background: rgba(223, 223, 223, .25);
}
.gform_wrapper textarea {
    line-height: 1em;
    width: 100%;
    max-width: 100%;
    padding: 1em;
    border: 1px solid #dfdfdf;
    box-shadow: 1px 1px 10px -5px rgba(0, 0, 0, .32)inset;
        height: 7rem;
}

input[type=submit] {
    width: 100%;
    margin-top: 1em;
    padding: 1em;
    color: white;
    border: none;
    border-radius: .25em;
    background: #1d406e;
    box-shadow: 0 3px 5px -2px rgba(0, 0, 0, .32);
}
input[type=submit]:hover {
    opacity: .9;
}
#input_3_5 li {
    position: relative;
    float: left;
    width: 49%;
}
#input_3_5 li:first-child {
    margin-right: 2%;
}
#input_3_5 li input {
    position: absolute;
    top: 1em;
    left: 1em;
}
#input_3_5 li label {
    width: 100%;
    margin-right: 2%;
    padding: 1em 1em 1em 2.5em;
    cursor: pointer;
    border: 1px solid #dfdfdf;
    border: 1px solid #dfdfdf;
    box-shadow: 1px 1px 10px -5px rgba(0, 0, 0, .32)inset;
}
#input_3_5 li label:hover {
    background: rgba(223, 223, 223, .31);
}
#input_3_5 li input:checked + label {
    font-weight: 500;
    border: 1px solid #dfdfdf;
    background: rgb(245, 245, 245);
}

.gfield_required {
    display: inline-block;
    padding: 0 .25em;
    color: red;
}

.ginput_preview {
    font-weight: 300;
    margin-top: .5em;
    padding: .5em .75em;
    border-radius: .15em;
    background: rgba(0, 125, 21, .1);
}
.ginput_preview img {
    cursor: pointer;
}
.ginput_preview strong {
    font-weight: 300;
}


.validation_error {
    color: red;
}
.validation_message {
    display: none;
}

.gfield_error input {
    border: 1px solid rgba(255, 0, 0, .25)!important;
    background: rgba(255, 0, 0, .05);
}

.gform_wrapper .instruction {
    display: none;
}

.gfield_description {
    font-size: .8em;
    font-weight: 300;
    max-width: 100%;
    margin-bottom: 5px;
}

.gform_wrapper select {
    width: 100%;
}


.post-thumbnail {
    width: 100%;
}

@media (min-width: 992px) {
    .row-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .col-flex {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
    }

    .col-flex .boxed,
    .col-flex .post-excerpt-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: column;

        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}


a figure {
    position: relative;
    overflow: hidden;
}
a figure img {
    -webkit-transition: all .3s;
    transition: all .3s;
}
a figure:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.row-callout {
    margin-bottom: 3em;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.wp-caption {
    max-width: 96%; /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
    border: 1px solid #f0f0f0;
    background: #fff;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    width: auto;
    max-width: 98.5%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0 none;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
    position: absolute !important;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    white-space: nowrap;
}

.screen-reader-text:focus {
    font-size: 14px;
    font-size: .875rem;
    font-weight: bold;
    line-height: normal;
    z-index: 100000; /* Above WP toolbar. */
    top: 5px;
    left: 5px;
    display: block;
    clip: auto !important;
    width: auto;
    height: auto;
    padding: 15px 23px 14px;
    text-decoration: none;
    color: #21759b;
    border-radius: 3px;
    background-color: #f1f1f1;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
}



.aside-item {
    margin-bottom: 2em;
}

.img-page-hero {
    margin-top: 1em;
    margin-bottom: 2em;
}

.employee-img-container {
    overflow: hidden;
    max-height: 230px;
}


.text-secondary {
    display: block;
    margin-top: 1em;
    color: #628abf;
}


.home .section-video {
    background: #f0f3f7;
}
.home .section-clients {
    background: #fff;
}
.home .section-news {
    background: #f0f3f7;
}

.home .section.section-clients + .section.section-news {
    background: #f0f3f7;
}

.home .section.section-clients + .section.section-news .post-excerpt-content {
    background: #fff;
}


.table-clients td:last-child {
    text-align: center;
}


.img-full {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.aside-form {
    padding: 3em;
    background: #f0f3f7;
}

.aside-form .h2 {
    margin-bottom: .3em;
}
.aside-form .lead {
    margin-bottom: 0;
}
.aside-form .form-alternaitve {
    margin-top: .5em;
    text-align: center;
}

.aside-form .form-alternaitve a {
    font-size: 2em;
    font-weight: bold;
    display: block;
}

.section-light {
    background: #f0f3f7;
}

.section-light + .section-clients {
    background: white;
}


.aside-default {
    background: white;
}
.aside-light {
    background: #f0f3f7;
}
.aside-primary {
    color: white;
    background: #102d53;
}
.aside-secondary {
    color: white;
    background: #1d406e;
}
.aside-dark {
    color: white;
    background: #051a35;
}

.aside-light,
.aside-primary,
.aside-secondary,
.aside-dark {
    padding: 2em;
}

.aside-light p:last-child,
.aside-primary p:last-child,
.aside-secondary p:last-child,
.aside-dark p:last-child {
    margin: 0;
}


.acf-map {
    width: 100%;
    height: 400px;
}

/* fixes potential theme css conflict */
.acf-map img {
    max-width: inherit !important;
}

.col-project {
    margin-bottom: 2em;
}


.row.is-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.row.is-flex > [class*='col-'] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
}




body.hidden-scroll{overflow:hidden}.sl-overlay{position:fixed;left:0;right:0;top:0;bottom:0;background: #000;opacity: .8;display:none;z-index:1006;}.sl-wrapper{z-index:1000}.sl-wrapper button{border:0;background:0 0;font-size:24px;padding:0;cursor:pointer}.sl-wrapper button:hover{opacity:.7}.sl-wrapper .sl-close{display:none;position:fixed;right:30px;top:30px;z-index:1015}.sl-wrapper .sl-counter{display:none;position:fixed;top:30px;left:30px;z-index:1015;color: white;}.sl-wrapper .sl-navigation{width:100%;display:none}.sl-wrapper .sl-navigation button{position:fixed;top:50%;margin-top:-10px;height:30px;width:30px;line-height:30px;text-align:center;display:block;z-index:1015;font-family:arial sans-serif}.sl-wrapper .sl-navigation button.sl-next{right:40px}.sl-wrapper .sl-navigation button.sl-prev{left:40px}.sl-wrapper .sl-image{position:fixed;-ms-touch-action:none;touch-action:none;z-index:10000}.sl-wrapper .sl-image img{margin:0;padding:0;display:block}.sl-wrapper .sl-image iframe{border:0;background:#000}.sl-wrapper .sl-image .sl-caption{display:none;padding:10px;color:#fff;background:#000;opacity:.8;position:absolute;bottom:0;left:0;right:0}.sl-wrapper .sl-image .sl-caption.pos-top{bottom:auto;top:0}.sl-wrapper .sl-image .sl-caption.pos-outside{bottom:auto}.sl-wrapper .sl-image .sl-download{display:none;position:absolute;bottom:5px;right:5px;color:#fff;z-index:1005}.sl-spinner{display:none;border:5px solid #333;border-radius:40px;height:40px;left:50%;margin:-20px 0 0 -20px;opacity:0;position:fixed;top:50%;width:40px;z-index:1007;-webkit-animation:pulsate 1s ease-out infinite;-moz-animation:pulsate 1s ease-out infinite;-ms-animation:pulsate 1s ease-out infinite;-o-animation:pulsate 1s ease-out infinite;animation:pulsate 1s ease-out infinite}.sl-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@-webkit-keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-moz-keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-o-keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:1}100%{transform:scale(1.2);opacity:0}}@-ms-keyframes pulsate{0%,100%{opacity:0}0%{transform:scale(.1)}50%{opacity:1}100%{transform:scale(1.2)}}





.row-gallery {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    flex-direction: row;
    margin: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.section-gallery {
    margin-bottom: 5em;
}

.section-gallery figure {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    width: 100%;
    margin: 0;
}

@media (min-width:320px) {
    .section-gallery figure {
        width: 50%;
    }
}

@media (min-width:468px) {
    .section-gallery figure {
        width: 33.3333%;
    }
}

@media (min-width:768px) {
    .section-gallery figure {
        width: 25%;
    }
}

@media (min-width:920px) {
    .section-gallery figure {
        width: 20%;
    }
}

.section-gallery figure a {
    line-height: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:         flex;
    margin: .25em;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #efefef;
}
.section-gallery figure a img:hover {
    -webkit-transition: -webkit-transform .1s ease;
    transition:         transform .1s ease;
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
}
.section-gallery figure img {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto;
    margin: 0;
    -webkit-transition: -webkit-transform .1s ease;
    transition:         transform .1s ease;
    border-radius: 0;
    box-shadow: 0 5px 20px -10px black;
    background: #efefef;
    display: block;
}

.truncate {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}





.section-hero {
    background: #051a35;
    height: 325px;
    position: relative;
}

@media (min-width:768px) { 
    .section-hero {
        height: 475px;
    }
}
@media (min-width:1200px) { 
    .section-hero {
        height: 525px;
    }
}


.section-hero:before {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    animation-name: fadeInBackgroundImage;
    animation-duration: 1.25s;
    animation-timing-function: ease;
}

@keyframes fadeInBackgroundImage {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
  }


.section-hero:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background-image: linear-gradient(-180deg, rgba(0,0,0,.0) 43%, rgba(0,0,0,.70) 100%);
}

.section-after-hero .section__content {
    position: relative;
    margin-left: 2rem;
    margin-right: 2rem;
}
.section-after-hero .section__content .container {
    margin-top: -17.5rem;
    background: white;
    padding: 2.25rem 2.25rem 0 2.25rem;    
}


@media (min-width:468px) {
    .section-after-hero .section__content .container { 
        padding: 5rem 5rem 0 5rem; 
    }
}
@media (min-width:768px) {
    .section-after-hero .section__content .container { 
        padding: 5rem 5rem 0 5rem; 
        margin-top: -27.5rem;
    }
}
@media (min-width:920px) {
    .section-after-hero .section__content .container { 
        padding: 5rem 5rem 0 5rem; 
    }
}