

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

textarea {
    resize: vertical
}

::selection {
    background-color: #b3d4fc;
    text-shadow: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

[hidden][aria-hidden=false] {
    clip: rect(0 0 0 0);
    display: inherit;
    position: absolute
}

[hidden][aria-hidden=false]:focus {
    clip: auto
}

.about-intro p:after,
.about-intro:after,
.about-locations .locations:after,
.about-locations .wrapper:after,
.about-locations header p:after,
.about-projects .project-types:after,
.about-projects h2:after,
.about-projects>p:after,
.built-on-trust:after,
.careers-content:after,
.careers-slider-container:after,
.contact-accordion .location:after,
.contact-accordion:after,
.contact-form .form:after,
.contact-form .ninja-forms-cont:after,
.contact-form header:after,
.contact-form:after,
.contact-intro:after,
.disaster-headlines h2:after,
.disaster-headlines>p:after,
.disaster-intro:after,
.error-404 .container header:after,
.error-404 .container>div:after,
.event-additional-info:after,
.event-header .container:after,
.event-info:after,
.form-container:after,
.form-header .container:after,
.full-quote blockquote:after,
.full-quote:after,
.global-company-nav .header-wrapper:after,
.global-company-nav:after,
.global-footer .container:after,
.global-header .header-wrapper:after,
.home-features:after,
.home-slides:after,
.intern-testimonial:after,
.markets-we-serve ul:after,
.news-posts:after,
.news-sidebar .widget:after,
.news-wrapper:after,
.office-info:after,
.office-stories .blog-entry:after,
.office-stories:after,
.office-team .team-members:after,
.office-team:after,
.opening-header .container:after,
.openings-intro h2:after,
.openings-intro p:after,
.openings-list:after,
.openings-testimonials:after,
.opex-callout-container:after,
.opex-callout:after,
.opex-quality .container:after,
.opex-testimonials:after,
.position-details>.container:after,
.post .split-media:after,
.post:after,
.project-filter-nav .filters-selected:after,
.project-filter-nav:after,
.project-filter-overlay .filter-group:after,
.project-filter-overlay header:after,
.project-header:after,
.project-location:after,
.project-summary:after,
.projects-container:after,
.recent-projects .related-projects-slider:after,
.recent-projects:after,
.related-posts-slider:after,
.related-projects:after,
.safety-accordion .safety-wrap:after,
.safety-accordion:after,
.safety-intro:after,
.safety-results ul:after,
.services-accordion .service-text p:after,
.services-accordion:after,
.services-intro:after,
.services-video:after,
.share-this:after,
.split-callout:after,
.subcontractors-form .prequalification-type:after,
.subcontractors-form .subcontractors-form-info .split-block:after,
.subcontractors-form .wrapper:after,
.subcontractors-form:after,
.subcontractors-intro:after,
.subcontractors-selector ul:after,
.subcontractors-selector:after,
.testimonials:after,
.text-page-wrapper:after,
.value:after,
.values:after {
    content: "";
    display: table;
    clear: both
}

.built-on-trust .text:after,
.built-on-trust .text:before,
.contact-accordion .location-image:before,
.contact-header:before,
.home-features .block-image,
.internship-header:before,
.opex-callout-bg,
.opex-callout-bg:before,
.post .split-media .media:before,
.projects-container .project-image,
.value-image-bg,
.value-image:before {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: all .5s ease
}

.contact-header,
.post .split-media .media {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat
}

.interstateblack {
    font-family: "Interstate Black";
    font-style: normal;
    font-weight: 400
}

.interstateblackcond {
    font-family: "Interstate Black Cond";
    font-style: normal;
    font-weight: 400
}

.interstateblackitalic {
    font-family: "Interstate Black";
    font-style: italic;
    font-weight: 400
}

.interstateblackconditalic {
    font-family: "Interstate Black Cond";
    font-style: italic;
    font-weight: 400
}

.interstateboldcond {
    font-family: "Interstate Condensed";
    font-style: normal;
    font-weight: 700
}

.interstatebolditalic {
    font-family: Interstate;
    font-style: italic;
    font-weight: 700
}

.interstateboldconditalic {
    font-family: "Interstate Condensed";
    font-style: italic;
    font-weight: 700
}

.interstatelightcond {
    font-family: "Interstate Light Condensed";
    font-style: normal;
    font-weight: 400
}

.interstatelightitalic {

    font-style: italic;
    font-weight: 400
}

.interstatelightconditalic {
    font-family: "Interstate Light Condensed";
    font-style: italic;
    font-weight: 400
}

.interstateregularcond {
    font-family: "Interstate Condensed";
    font-style: normal;
    font-weight: 400
}

.interstateregularitalic {
    font-family: Interstate;
    font-style: italic;
    font-weight: 400
}

.interstateregularcondita {
    font-family: "Interstate Condensed";
    font-style: italic;
    font-weight: 400
}

.interstateultrablack {
    font-family: "Interstate Ultra Black";
    font-style: normal;
    font-weight: 700
}


.icon-disaster:before {
    content: "\e900"
}

.icon-arrow-right:before {
    content: "\e901"
}

.icon-client-decides:before {
    content: "\e902"
}

.icon-close:before {
    content: "\e903"
}

.icon-commercial:before {
    content: "\e904"
}

.icon-core-values:before {
    content: "\e905"
}

.icon-document:before {
    content: "\e906"
}

.icon-solar:before {
    content: "\e907"
}

.icon-energy:before {
    content: "\e907"
}

.icon-facebook:before {
    content: "\e908"
}

.icon-federal:before {
    content: "\e909"
}

.icon-filter:before {
    content: "\e90a"
}

.icon-healthcare:before {
    content: "\e90b"
}

.icon-highereducation:before {
    content: "\e90c"
}

.icon-hospitality:before {
    content: "\e90d"
}

.icon-lightindustrial:before {
    content: "\e90e"
}

.icon-youtube:before {
    content: "\e90f"
}

.icon-linkedin:before {
    content: "\e910"
}

.icon-upload:before {
    content: "\e911"
}

.icon-instagram:before {
    content: "\e913"
}

.icon-k12:before {
    content: "\e914"
}

.icon-light-arrow-down:before {
    content: "\e915"
}

.icon-light-arrow-left:before,
.intern-testimonial .slick-prev:before,
.openings-testimonials .slick-prev:before,
.opex-testimonials .slick-prev:before,
.recent-projects .slick-prev:before,
.related-projects .slick-prev:before,
.testimonials .slick-prev:before {
    content: "\e916"
}

.icon-light-arrow-right:before,
.intern-testimonial .slick-next:before,
.openings-testimonials .slick-next:before,
.opex-testimonials .slick-next:before,
.recent-projects .slick-next:before,
.related-projects .slick-next:before,
.testimonials .slick-next:before {
    content: "\e917"
}

.icon-light-arrow-up:before {
    content: "\e918"
}

.icon-marker-filled:before {
    content: "\e91e"
}

.icon-marker:before {
    content: "\e91f"
}

.icon-menu:before {
    content: "\e920"
}

.icon-multifamilyresidential:before {
    content: "\e921"
}

.icon-municipal:before {
    content: "\e922"
}

.icon-phone:before {
    content: "\e923"
}

.icon-pinterest:before {
    content: "\e924"
}

.icon-play:before {
    content: "\e925"
}

.icon-scroll:before {
    content: "\e926"
}

.icon-search:before {
    content: "\e927"
}

.icon-seniorliving:before {
    content: "\e928"
}

.icon-team-n-trust:before {
    content: "\e929"
}

.icon-twitter:before {
    content: "\e92a"
}


.btn.big,
.submit-wrap input.big,
.upload-wrap .big.MultiFile-wrap:before {
    font-size: 19px;
    padding: 22px 60px
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: 0
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-arrow:active,
.slick-arrow:focus,
.slick-slide a:active,
.slick-slide a:focus,
.slick-slide:active,
.slick-slide:focus {
    outline: 0
}

.select2-container {
    box-sizing: border-box;
    display: inline-block;
    margin: 0;
    position: relative;
    vertical-align: middle
}

.select2-container .select2-selection--single {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    height: 28px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--single .select2-selection__rendered {
    display: block;
    padding-left: 8px;
    padding-right: 20px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-selection--single .select2-selection__clear {
    position: relative
}

.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered {
    padding-right: 8px;
    padding-left: 20px
}

.select2-container .select2-selection--multiple {
    box-sizing: border-box;
    cursor: pointer;
    display: block;
    min-height: 32px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-container .select2-selection--multiple .select2-selection__rendered {
    display: inline-block;
    overflow: hidden;
    padding-left: 8px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.select2-container .select2-search--inline {
    float: left
}

.select2-container .select2-search--inline .select2-search__field {
    box-sizing: border-box;
    border: none;
    font-size: 100%;
    margin-top: 5px;
    padding: 0
}

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-dropdown {
    background-color: #fff;
    box-sizing: border-box;
    display: block;
    position: absolute;
    left: -100000px;
    width: 100%;
    z-index: 1051
}

.select2-results {
    display: block
}

.select2-results__options {
    list-style: none;
    margin: 0;
    padding: 0
}

.select2-results__option {
    padding: 6px;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

.select2-results__option[aria-selected] {
    cursor: pointer
}

.select2-container--open .select2-dropdown {
    left: 0
}

.select2-container--open .select2-dropdown--above {
    border-bottom: none;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--open .select2-dropdown--below {
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-search--dropdown {
    display: block;
    padding: 4px
}

.select2-search--dropdown .select2-search__field {
    padding: 4px;
    width: 100%;
    box-sizing: border-box
}

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
    -webkit-appearance: none
}

.select2-search--dropdown.select2-search--hide {
    display: none
}

.select2-close-mask {
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    position: fixed;
    left: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    height: auto;
    width: auto;
    opacity: 0;
    z-index: 99;
    background-color: #fff
}

.select2-hidden-accessible {
    border: 0!important;
    clip: rect(0 0 0 0)!important;
    height: 1px!important;
    margin: -1px!important;
    overflow: hidden!important;
    padding: 0!important;
    position: absolute!important;
    width: 1px!important
}

.select2-container--default .select2-selection--single .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 1px;
    width: 20px
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    height: 0;
    left: 50%;
    margin-left: -4px;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    width: 0
}

.select2-container--default .select2-selection--multiple {
    background-color: #fff;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: text
}

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0 5px;
    width: 100%
}

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
    color: #999;
    margin-top: 5px;
    float: left
}

.select2-container--default .select2-selection--multiple .select2-selection__clear {
    cursor: pointer;
    float: right;
    font-weight: 700;
    margin-top: 5px;
    margin-right: 10px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #e4e4e4;
    border: 1px solid #aaa;
    border-radius: 4px;
    cursor: default;
    float: left;
    margin-right: 5px;
    margin-top: 5px;
    padding: 0 5px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-weight: 700;
    margin-right: 2px
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #333
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,
.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder {
    float: right
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice {
    margin-left: 5px;
    margin-right: auto
}

.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove {
    margin-left: 2px;
    margin-right: auto
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
    border: solid #000 1px;
    outline: 0
}

.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #eee;
    cursor: default
}

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
    display: none
}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--above .select2-selection--single {
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,
.select2-container--default.select2-container--open.select2-container--below .select2-selection--single {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #aaa
}

.select2-container--default .select2-search--inline .select2-search__field {
    background: 0 0;
    border: none;
    outline: 0;
    box-shadow: none;
    -webkit-appearance: textfield
}

.select2-container--default .select2-results>.select2-results__options {
    max-height: 200px;
    overflow-y: auto
}

.select2-container--default .select2-results__option[role=group] {
    padding: 0
}

.select2-container--default .select2-results__option[aria-disabled=true] {
    color: #999
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #ddd
}

.select2-container--default .select2-results__option .select2-results__option {
    padding-left: 1em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
    padding-left: 0
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -1em;
    padding-left: 2em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -2em;
    padding-left: 3em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -3em;
    padding-left: 4em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -4em;
    padding-left: 5em
}

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
    margin-left: -5em;
    padding-left: 6em
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #5897fb;
    color: #fff
}

.select2-container--default .select2-results__group {
    cursor: default;
    display: block;
    padding: 6px
}


.full-quote blockquote:before {
    content: '\201C';
    left: 19px;
    top: -7px
}

@media (min-width:768px) {
    .full-quote blockquote:before {
        top: 3px
    }
}

.full-quote blockquote:after {
    content: '\201D';
    right: 0;
    bottom: -35px
}

.full-quote blockquote p {

    font-style: normal;
    font-weight: 400;
    font-style: italic;
    font-size: 20px;
    line-height: 27px;
    margin-bottom: 40px;
    color: #333
}

@media (min-width:768px) {
    .full-quote blockquote p {
        font-size: 35px;
        line-height: 40px;
        margin-bottom: 47px
    }
}

.full-quote blockquote footer {

    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 18px;
    color: #333
}

@media (min-width:768px) {
    .full-quote blockquote footer {
        font-size: 21px;
        line-height: 26px
    }
}

.full-quote blockquote footer span {

    font-style: normal;
    font-weight: 300;
    font-size: 13px;
    display: block
}

@media (min-width:768px) {
    .full-quote blockquote footer span {
        font-size: 18px
    }
}

.split-callout {
    max-width: 1220px;
    margin: 0 auto;
    margin-bottom: 55px;
    border: 1px solid #cfcfcf;
    margin-left: 15px;
    margin-right: 15px;
    position: relative
}

@media (min-width:768px) {
    .split-callout {
        margin-bottom: 75px
    }
}

@media (min-width:1250px) {
    .split-callout {
        margin-left: auto;
        margin-right: auto
    }
}

@media (min-width:768px) {
    .split-callout .image,
    .split-callout .text {
        float: left;
        width: 50%
    }
}

.split-callout .image {
    position: relative;
    overflow: hidden
}

.split-callout .image p {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    background: rgba(35, 31, 32, .8);
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 1px;
    font-size: 25px;
    line-height: 30px;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    -ms-flex-direction: column;
    flex-direction: column
}

@media (min-width:768px) {
    .split-callout .image p {
        font-size: 32px;
        line-height: 35px
    }
}

.split-callout .image img {
    width: 100%
}

@media (min-width:768px) {
    .split-callout .image img {
        width: auto;
        height: 100%
    }
}

.split-callout .text {
    padding: 40px 25px;
    text-align: center
}

@media (min-width:768px) {
    .split-callout .text {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: absolute;
        height: 100%;
        top: 0;
        right: 0
    }
}

.split-callout .text .subcontractor_text-title {
    font-size: 35px;

    font-style: normal;
    font-weight: 500;
    color: #27824d;
    text-transform: uppercase;
    margin-bottom: 25px
}


.split-callout .text p {

    font-style: normal;
    font-weight: 400;
    font-size: 15px;
    line-height: 30px;
    margin-bottom: 45px;
    text-align: justify;
    max-width: 410px;
    margin: 0 auto 45px;
    text-align: center
}

@media (min-width:992px) {
    .split-callout .text p {
        font-size: 20px
    }
}

.split-callout .subcontractor-callout-image {
    background-size: cover
}

.opex-callout {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    padding: 55px 30px 65px
}

@media (min-width:768px) {
    .opex-callout {
        padding: 99px 0 122px
    }
}

.opex-callout-bg {
    filter: grayscale(100%);
    background: transparent url(../images/home-workwithcore.jpg) no-repeat center center;
    background-size: cover;
    z-index: -1;
    opacity: .2
}

.opex-callout-container {
    max-width: 765px;
    margin: 0 auto
}

.opex-callout header {

    font-style: normal;
    font-weight: 500;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    margin-bottom: 22px
}

@media (min-width:768px) {
    .opex-callout header {
        font-size: 35px;
        line-height: 42px
    }
}

.opex-callout p {
    line-height: 28px;
    max-width: 675px;
    margin: 0 auto 25px
}

@media (min-width:768px) {
    .opex-callout p {
        font-size: 16px;
        line-height: 28px
    }
}

.opex-callout ul {
    list-style: none;
    margin-bottom: 35px
}

.opex-callout li {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    color: #27824d;
    border-right: 1px solid #231f20;
    display: inline-block;
    padding: 0 12px 0 7px;
    font-size: 17px;
    line-height: 23px;
    margin: 10px 0
}

@media (min-width:768px) {
    .opex-callout li {
        font-size: 18px
    }
}

.opex-callout li:last-child {
    border-right: 0
}

.opex-callout li a {
    color: #27824d
}

.opex-callout li a:hover {
    color: #0f341f
}

.embed-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%
}

.embed-container embed,
.embed-container iframe,
.embed-container object {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

iframe {
    max-width: 100%
}

.slick-dots {
    list-style: none;
    width: 100%;
    text-align: center;
    bottom: 15px;
    height: 10px
}

@media (min-width:768px) {
    .slick-dots {
        width: auto
    }
}

.slick-dots li {
    display: inline-block;
    margin: 0 8px;
    text-indent: -9999px;
    background: #d9d9d9;
    width: 10px;
    height: 10px;
    opacity: .5;
    transition: all 1s ease
}

@media (min-width:768px) {
    .slick-dots li {
        float: left
    }
    .slick-dots li:last-child {
        margin-right: 0
    }
}

.slick-dots li.slick-active {
    opacity: 1
}

.recent-projects,
.related-projects {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    text-align: center
}

@media (min-width:610px) {
    .recent-projects,
    .related-projects {
        padding: 0 55px 90px
    }
}


.recent-projects .project a,
.related-projects .project a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center center
}

.recent-projects .project a:after,
.related-projects .project a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, #000 0, rgba(0, 0, 0, 0) 100%);
    opacity: .8;
    z-index: 3
}

.recent-projects .project a:hover .image,
.related-projects .project a:hover .image {
    transform: scale(1.1)
}

.recent-projects .project .text,
.related-projects .project .text {
    position: absolute;
    left: 0;
    bottom: 25px;
    width: 100%;
    z-index: 5;
    padding: 0 45px
}

.recent-projects .project .image,
.related-projects .project .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    z-index: 1;
    transition: all .25s ease
}

.recent-projects .slick-arrow,
.related-projects .slick-arrow {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    margin-top: -18px;
    font-size: 36px;
    width: 36px;
    height: 36px;
    overflow: hidden;
    text-align: left
}

.recent-projects .slick-prev,
.related-projects .slick-prev {
    left: -55px
}

.recent-projects .slick-next,
.related-projects .slick-next {
    right: -55px
}

.recent-projects .slick-dots,
.related-projects .slick-dots {
    margin: 40px 0
}

.recent-projects {
    max-width: none;
    background-color: #d9d9d9;
    margin-bottom: 50px
}

@media (min-width:610px) {
    .recent-projects {
        padding-bottom: 0;
        margin-bottom: 110px
    }
}

.recent-projects .related-projects-slider {
    max-width: 1300px;
    margin: 0 auto
}

.recent-projects .slick-dots {
    display: none!important
}

.recent-projects .btn,
.recent-projects .submit-wrap input,
.recent-projects .upload-wrap .MultiFile-wrap:before,
.submit-wrap .recent-projects input,
.upload-wrap .recent-projects .MultiFile-wrap:before {
    margin: 46px 0
}

.has-icon span {
    display: none
}

.grayscale {
    filter: grayscale(100%)
}

.built-on-trust .text:after,
.built-on-trust .text:before,
.contact-accordion .location-image:before,
.contact-header:before,
.home-features .block-image,
.internship-header:before,
.opex-callout-bg,
.opex-callout-bg:before,
.post .split-media .media:before,
.projects-container .project-image,
.value-image-bg,
.value-image:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.intern-testimonial,
.openings-testimonials,
.opex-testimonials,
.testimonials {
    max-width: 1300px;
    margin: 0 auto;
    border: 1px solid #d9d9d9;
    border-width: 1px 0;
    margin: 50px 15px 40px;
    padding-bottom: 40px;
    position: relative
}

@media (min-width:610px) {
    .intern-testimonial,
    .openings-testimonials,
    .opex-testimonials,
    .testimonials {
        margin: 100px 15px 40px;
        padding-left: 55px;
        padding-right: 55px;
        border: 0
    }
}

@media (min-width:1350px) {
    .intern-testimonial,
    .openings-testimonials,
    .opex-testimonials,
    .testimonials {
        margin-right: auto;
        margin-left: auto
    }
}

.intern-testimonial blockquote,
.openings-testimonials blockquote,
.opex-testimonials blockquote,
.testimonials blockquote {
    padding: 50px 20px 25px;
    text-align: center
}

@media (min-width:610px) {
    .intern-testimonial blockquote,
    .openings-testimonials blockquote,
    .opex-testimonials blockquote,
    .testimonials blockquote {
        border-top: 1px solid #d9d9d9
    }
}

@media (min-width:768px) {
    .intern-testimonial blockquote,
    .openings-testimonials blockquote,
    .opex-testimonials blockquote,
    .testimonials blockquote {
        padding: 135px 20px 12px
    }
}

.intern-testimonial blockquote p,
.openings-testimonials blockquote p,
.opex-testimonials blockquote p,
.testimonials blockquote p {

    font-style: normal;
    font-weight: 400;
    font-style: italic;
    font-size: 20px;
    color: #27824d;
    margin-bottom: 15px;
    text-transform: none
}

@media (min-width:768px) {
    .intern-testimonial blockquote p,
    .openings-testimonials blockquote p,
    .opex-testimonials blockquote p,
    .testimonials blockquote p {
        font-size: 35px;
        line-height: 50px;
        margin-bottom: 55px
    }
}

.intern-testimonial blockquote footer,
.openings-testimonials blockquote footer,
.opex-testimonials blockquote footer,
.testimonials blockquote footer {

    font-style: normal;
    font-weight: 500;
    font-size: 18px
}

@media (min-width:768px) {
    .intern-testimonial blockquote footer,
    .openings-testimonials blockquote footer,
    .opex-testimonials blockquote footer,
    .testimonials blockquote footer {
        text-align: right;
        font-size: 22px
    }
}

.intern-testimonial blockquote footer span,
.openings-testimonials blockquote footer span,
.opex-testimonials blockquote footer span,
.testimonials blockquote footer span {

    font-style: normal;
    font-weight: 300;
    display: block;
    font-size: 13px
}

@media (min-width:768px) {
    .intern-testimonial blockquote footer span,
    .openings-testimonials blockquote footer span,
    .opex-testimonials blockquote footer span,
    .testimonials blockquote footer span {
        font-size: 17px
    }
}

.intern-testimonial .slick-arrow,
.openings-testimonials .slick-arrow,
.opex-testimonials .slick-arrow,
.testimonials .slick-arrow {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    margin-top: -18px;
    font-size: 36px;
    width: 36px;
    height: 36px;
    overflow: hidden;
    text-align: left
}

.intern-testimonial .slick-prev,
.openings-testimonials .slick-prev,
.opex-testimonials .slick-prev,
.testimonials .slick-prev {
    left: -55px
}

.intern-testimonial .slick-next,
.openings-testimonials .slick-next,
.opex-testimonials .slick-next,
.testimonials .slick-next {
    right: -55px
}

.about-header,
.careers-header,
.culture-header,
.safety-header,
.services-header {
    background-position: center center;
    background-size: cover;
    color: #fff;
    height: 250px;
    position: relative;
    margin-bottom: 14px;
    text-align: center
}

@media (min-width:768px) {
    .about-header,
    .careers-header,
    .culture-header,
    .safety-header,
    .services-header {
        height: 350px
    }
}

@media (min-width:768px) {
    .about-header,
    .careers-header,
    .culture-header,
    .safety-header,
    .services-header {
        height: 530px
    }
}

.about-header .text,
.careers-header .text,
.culture-header .text,
.safety-header .text,
.services-header .text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.about-header h1,
.careers-header h1,
.culture-header h1,
.safety-header h1,
.services-header h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
    font-size: 30px;
    line-height: 36px
}

@media (min-width:768px) {
    .about-header h1,
    .careers-header h1,
    .culture-header h1,
    .safety-header h1,
    .services-header h1 {
        font-size: 60px
    }
}

.about-header .open-embed,
.careers-header .open-embed,
.culture-header .open-embed,
.safety-header .open-embed,
.services-header .open-embed {
    font-size: 60px;
    color: #fff
}

.about-header nav,
.careers-header nav,
.culture-header nav,
.safety-header nav,
.services-header nav {
    display: none;
    background-color: #f4f4f4;
    height: 75px;
    position: absolute;
    bottom: -75px;
    width: 100%
}

@media (min-width:768px) {
    .about-header nav,
    .careers-header nav,
    .culture-header nav,
    .safety-header nav,
    .services-header nav {
        display: block
    }
}

.about-header nav ul,
.careers-header nav ul,
.culture-header nav ul,
.safety-header nav ul,
.services-header nav ul {
    list-style: none;
    text-align: center;
    height: 75px;
    padding: 11px 0
}

.about-header nav li,
.careers-header nav li,
.culture-header nav li,
.safety-header nav li,
.services-header nav li {
    display: inline-block;

    font-style: normal;
    font-weight: 500;
    font-size: 15px;
    padding: 2px 10px 2px 15px;
    text-transform: uppercase;
    border-left: 1px solid #333
}

.about-header nav li:last-child,
.careers-header nav li:last-child,
.culture-header nav li:last-child,
.safety-header nav li:last-child,
.services-header nav li:last-child {
    border-right: 1px solid #333
}

.about-header nav li a,
.careers-header nav li a,
.culture-header nav li a,
.safety-header nav li a,
.services-header nav li a {
    color: #58595b;
    display: block;
    line-height: 42px;
    padding: 0 20px;
    transition: all .25s ease-in
}

.about-header nav li a:hover,
.careers-header nav li a:hover,
.culture-header nav li a:hover,
.safety-header nav li a:hover,
.services-header nav li a:hover {
    color: #333;
    background-color: #e9e9e9
}

.about-header nav li .btn,
.about-header nav li .submit-wrap input,
.about-header nav li .upload-wrap .MultiFile-wrap:before,
.careers-header nav li .btn,
.careers-header nav li .submit-wrap input,
.careers-header nav li .upload-wrap .MultiFile-wrap:before,
.culture-header nav li .btn,
.culture-header nav li .submit-wrap input,
.culture-header nav li .upload-wrap .MultiFile-wrap:before,
.safety-header nav li .btn,
.safety-header nav li .submit-wrap input,
.safety-header nav li .upload-wrap .MultiFile-wrap:before,
.services-header nav li .btn,
.services-header nav li .submit-wrap input,
.services-header nav li .upload-wrap .MultiFile-wrap:before,
.submit-wrap .about-header nav li input,
.submit-wrap .careers-header nav li input,
.submit-wrap .culture-header nav li input,
.submit-wrap .safety-header nav li input,
.submit-wrap .services-header nav li input,
.upload-wrap .about-header nav li .MultiFile-wrap:before,
.upload-wrap .careers-header nav li .MultiFile-wrap:before,
.upload-wrap .culture-header nav li .MultiFile-wrap:before,
.upload-wrap .safety-header nav li .MultiFile-wrap:before,
.upload-wrap .services-header nav li .MultiFile-wrap:before {
    color: #fff
}

.about-header nav li .btn:hover,
.about-header nav li .submit-wrap input:hover,
.about-header nav li .upload-wrap .MultiFile-wrap:hover:before,
.careers-header nav li .btn:hover,
.careers-header nav li .submit-wrap input:hover,
.careers-header nav li .upload-wrap .MultiFile-wrap:hover:before,
.culture-header nav li .btn:hover,
.culture-header nav li .submit-wrap input:hover,
.culture-header nav li .upload-wrap .MultiFile-wrap:hover:before,
.safety-header nav li .btn:hover,
.safety-header nav li .submit-wrap input:hover,
.safety-header nav li .upload-wrap .MultiFile-wrap:hover:before,
.services-header nav li .btn:hover,
.services-header nav li .submit-wrap input:hover,
.services-header nav li .upload-wrap .MultiFile-wrap:hover:before,
.submit-wrap .about-header nav li input:hover,
.submit-wrap .careers-header nav li input:hover,
.submit-wrap .culture-header nav li input:hover,
.submit-wrap .safety-header nav li input:hover,
.submit-wrap .services-header nav li input:hover,
.upload-wrap .about-header nav li .MultiFile-wrap:hover:before,
.upload-wrap .careers-header nav li .MultiFile-wrap:hover:before,
.upload-wrap .culture-header nav li .MultiFile-wrap:hover:before,
.upload-wrap .safety-header nav li .MultiFile-wrap:hover:before,
.upload-wrap .services-header nav li .MultiFile-wrap:hover:before {
    background-color: #0f341f;
    border-color: #0f341f;
    color: #fff
}

.about-header nav li i,
.careers-header nav li i,
.culture-header nav li i,
.safety-header nav li i,
.services-header nav li i {
    color: #27824d;
    font-size: 32px;
    float: left;
    margin-right: 14px;
    line-height: 42px
}

@media (min-width:768px) {
    .has-nav.about-header,
    .has-nav.careers-header,
    .has-nav.culture-header,
    .has-nav.safety-header,
    .has-nav.services-header {
        margin-bottom: 88px
    }
}

.active-video.about-header:after,
.active-video.careers-header:after,
.active-video.culture-header:after,
.active-video.safety-header:after,
.active-video.services-header:after {
    content: '';
    position: absolute;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0
}

.about-header .embed,
.careers-header .embed,
.culture-header .embed,
.safety-header .embed,
.services-header .embed {
    max-width: 1440px
}

.about-header .embed.active-video,
.careers-header .embed.active-video,
.culture-header .embed.active-video,
.safety-header .embed.active-video,
.services-header .embed.active-video {
    left: 50%;
    transform: translateX(-50%)
}

@media (min-width:768px) {
    .event-header,
    .form-header,
    .opening-header {
        background-color: #f4f4f4;
        margin-bottom: 45px
    }
}

.event-header .container,
.form-header .container,
.opening-header .container {
    max-width: 1210px;
    margin: 0 auto;
    position: relative;
    padding: 30px
}

@media (min-width:768px) {
    .event-header .container,
    .form-header .container,
    .opening-header .container {
        padding: 45px
    }
}

@media (min-width:1200px) {
    .event-header .container,
    .form-header .container,
    .opening-header .container {
        padding: 45px 0
    }
}

.event-header h1,
.form-header h1,
.opening-header h1 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 20px;
    color: #333
}

@media (min-width:768px) {
    .event-header h1,
    .form-header h1,
    .opening-header h1 {
        font-size: 30px;
        line-height: 36px
    }
}

.event-header p,
.form-header p,
.opening-header p {
    font-size: 16px;
    line-height: 24px;
    color: #58595b;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .event-header p,
    .form-header p,
    .opening-header p {
        font-size: 21px;
        line-height: 30px;
        margin-bottom: 0
    }
}

.event-header p span,
.form-header p span,
.opening-header p span {
    display: block
}

@media (min-width:768px) {
    .event-header p span,
    .form-header p span,
    .opening-header p span {
        display: inline
    }
    .event-header p span:last-child,
    .form-header p span:last-child,
    .opening-header p span:last-child {
        padding-left: 10px
    }
    .event-header p span:last-child:before,
    .form-header p span:last-child:before,
    .opening-header p span:last-child:before {
        content: '|';
        padding-right: 10px
    }
}

.event-header p strong,
.form-header p strong,
.opening-header p strong {
    font-family: Interstate;
    font-style: normal;
    font-weight: 700
}

@media (min-width:768px) {
    .event-header .btn,
    .event-header .submit-wrap input,
    .event-header .upload-wrap .MultiFile-wrap:before,
    .form-header .btn,
    .form-header .submit-wrap input,
    .form-header .upload-wrap .MultiFile-wrap:before,
    .opening-header .btn,
    .opening-header .submit-wrap input,
    .opening-header .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .event-header input,
    .submit-wrap .form-header input,
    .submit-wrap .opening-header input,
    .upload-wrap .event-header .MultiFile-wrap:before,
    .upload-wrap .form-header .MultiFile-wrap:before,
    .upload-wrap .opening-header .MultiFile-wrap:before {
        margin-top: 25px
    }
}

@media (min-width:1200px) {
    .event-header .btn,
    .event-header .submit-wrap input,
    .event-header .upload-wrap .MultiFile-wrap:before,
    .form-header .btn,
    .form-header .submit-wrap input,
    .form-header .upload-wrap .MultiFile-wrap:before,
    .opening-header .btn,
    .opening-header .submit-wrap input,
    .opening-header .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .event-header input,
    .submit-wrap .form-header input,
    .submit-wrap .opening-header input,
    .upload-wrap .event-header .MultiFile-wrap:before,
    .upload-wrap .form-header .MultiFile-wrap:before,
    .upload-wrap .opening-header .MultiFile-wrap:before {
        padding-right: 90px;
        padding-left: 90px
    }
}

.text-page-wrapper {
    max-width: 1210px;
    margin: 0 auto;
    padding: 15px
}

@media (min-width:768px) {
    .text-page-wrapper {
        padding: 50px 15px 60px
    }
}

.text-page-wrapper h1,
.text-page-wrapper h2,
.text-page-wrapper h3,
.text-page-wrapper h4 {

    font-style: normal;
    font-weight: 700;
    text-transform: none
}

.text-page-wrapper h1,
.text-page-wrapper h2 {
    font-size: 25px;
    line-height: 32px;
    margin-bottom: 2px
}

.text-page-wrapper h3,
.text-page-wrapper h4,
.text-page-wrapper h5 {
    margin-bottom: 2px
}

.text-page-wrapper p {
    margin-bottom: 30px
}

.embed {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 500
}

.active-video {
    overflow: hidden;
    background-color: #000
}

.error-404 {
    background-size: cover;
    background-position: center center;
    min-height: 500px;
    position: relative;
    padding: 0 15px
}

@media (min-width:992px) {
    .error-404 {
        min-height: 800px
    }
}

.error-404:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: #27824d;
    opacity: .8;
    z-index: 5
}

.error-404 .container {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.error-404 .container header,
.error-404 .container>div {
    max-width: 580px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    color: #fff;
    text-align: center;
    padding: 0 15px
}

.error-404 h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 30px;
    text-transform: uppercase;
    margin-bottom: 10px
}

@media (min-width:768px) {
    .error-404 h1 {
        font-size: 60px
    }
}

.error-404 p {
    font-size: 17px;
    margin-bottom: 40px
}

@media (min-width:768px) {
    .error-404 .btn,
    .error-404 .submit-wrap input,
    .error-404 .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .error-404 input,
    .upload-wrap .error-404 .MultiFile-wrap:before {
        padding-left: 60px;
        padding-right: 60px
    }
}

.blankpage {
    padding: 100px 0 200px 0;
    width: 85%;
    margin: 0 auto
}

.blankpage hr {
    width: 50%;
    height: 1px;
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    margin: 60px 0 50px 0
}

.blankpage h2 {
    font-size: 20px;
    margin: 35px 0 0 0
}

.blankpage h3 {
    margin: 35px 0 0 0
}

.blankpage h5 {
    font-size: 16px;
    margin: 40px 0 -5px 0;
    text-transform: uppercase;
    font-weight: 700
}

.blankpage p {
    margin: 15px 0 15px 0
}

.blankpage ul {
    padding: 25px 0 15px 40px
}

.blankpage p+ul {
    padding: 15px 0 15px 40px
}


.slick-me {
    opacity: 0
}


.global-nav .active a,
.global-nav .active a:hover,
.global-nav .current-page-ancestor a,
.global-nav .current-page-ancestor a:hover,
.global-nav .current_page_item a,
.global-nav .current_page_item a:hover {
    background-color: #27824d;
    color: #fff;
    display: block;
    padding: 0 16px
}

.global-nav .active a:before,
.global-nav .active a:hover:before,
.global-nav .current-page-ancestor a:before,
.global-nav .current-page-ancestor a:hover:before,
.global-nav .current_page_item a:before,
.global-nav .current_page_item a:hover:before {
    display: none
}

.global-nav .search-toggle {
    display: none
}

@media (min-width:860px) {
    .global-nav .search-toggle {
        display: block;
        position: absolute;
        right: 0;
        width: 75px;
        height: 103px;
        line-height: 103px
    }
}

.no-touch .global-nav li a:hover:before {
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: -1
}

.no-touch .global-nav li a:focus {
    color: #fff
}

.no-touch .global-nav li a:focus:before {
    background-color: #27824d;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: -1
}

.global-company-nav {
    background-color: #333;
    text-align: center;
    padding: 42px 0 45px
}

@media (min-width:860px) {
    .global-company-nav {
        text-align: right;
        position: absolute;
        top: 0;
        width: 100%;
        padding: 0;
        height: 36px
    }
}

.global-company-nav .header-wrapper {
    max-width: 1400px;
    margin: 0 auto
}

.global-company-nav ul {
    font-size: 14px;
    line-height: 32px;
    margin-bottom: 38px
}

@media (min-width:860px) {
    .global-company-nav ul {
        font-size: 12px;
        line-height: 12px;
        display: inline
    }
}

.global-company-nav li {
    letter-spacing: 1px
}

@media (min-width:860px) {
    .global-company-nav li {
        display: inline;
        line-height: 36px
    }
    .global-company-nav li:after {
        content: '|';
        margin: 0 8px;
        color: #d9d9d9
    }
}

@media (min-width:860px) {
    .global-company-nav .social {
        float: right
    }
}

.global-company-nav .social a {
    font-size: 32px;
    margin: 0 8px
}

@media (min-width:860px) {
    .global-company-nav .social a {
        font-size: 16px;
        line-height: 36px
    }
}

.global-company-nav a {
    color: #d9d9d9
}

.global-company-nav a:hover {
    color: #a6a6a6
}

.headroom {
    top: 0;
    transition: all .5s ease-in;
    width: 100%
}

.headroom--unpinned {
    top: -138px
}

.headroom--pinned {
    position: fixed
}

@media (min-width:860px) {
    .headroom--pinned {
        top: -36px
    }
}

.headroom--top {
    top: 0
}

@media (min-width:860px) {
    .headroom--pinned.headroom--not-top:not(.nav-active) {
        height: 105px
    }
}

.headroom--pinned.headroom--not-top:not(.nav-active) .header-wrapper {
    height: 100%
}

@media (min-width:860px) {
    .headroom--pinned.headroom--not-top:not(.nav-active) .logo {
        height: 44px;
        top: 6px
    }
}

.headroom--pinned.headroom--not-top:not(.nav-active) .global-nav {
    height: 100%
}

.headroom--pinned.headroom--not-top:not(.nav-active) .global-nav li {
    line-height: 70px
}

.headroom--pinned.headroom--not-top:not(.nav-active) .global-nav .search-toggle {
    height: 73px;
    line-height: 73px
}

.headroom--pinned.headroom--top {
    position: absolute
}

.headroom.nav-active,
.headroom.search-active {
    top: 0;
    position: fixed;
    overflow: scroll
}

.headroom.search-active {
    overflow: hidden
}



.opex-footer p {

    font-style: normal;
    font-weight: 300;
    font-style: italic;
    text-align: left;
    font-size: 14px;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .opex-footer p {
        text-align: center
    }
}

@media (min-width:992px) {
    .opex-footer p {
        margin-bottom: 0;
        float: left;
        width: calc(100% - 443px);
        padding: 0 30px
    }
}

@media (min-width:1200px) {
    .opex-footer p {
        margin-top: 4px;
        line-height: 42px
    }
}

@media (min-width:992px) {
    .opex-footer .btn,
    .opex-footer .submit-wrap input,
    .opex-footer .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .opex-footer input,
    .upload-wrap .opex-footer .MultiFile-wrap:before {
        float: right;
        margin-top: 4px
    }
}


.list-checkbox-wrap,
.list-radio-wrap {
    padding: 0 25px
}

.list-checkbox-wrap label,
.list-radio-wrap label {
    font-weight: 400!important;
    float: none!important;
    display: block!important;
    font-size: 15px;
    text-transform: uppercase;

    font-style: normal;
    font-weight: 500;
    margin-bottom: 23px
}

@media (min-width:768px) {
    .list-checkbox-wrap label,
    .list-radio-wrap label {
        font-size: 20px
    }
}

.list-checkbox-wrap ul,
.list-radio-wrap ul {
    float: none!important
}

.list-checkbox-wrap ul li,
.list-radio-wrap ul li {
    padding: 0!important;
    display: block;
    float: none!important;
    padding: 0 0 25px!important
}

.list-checkbox-wrap ul li:last-child,
.list-radio-wrap ul li:last-child {
    padding-bottom: 0!important
}

.list-checkbox-wrap ul label,
.list-radio-wrap ul label {
    cursor: pointer;
    padding-left: 30px;
    position: relative;
    margin-bottom: 0!important
}

.list-checkbox-wrap ul input,
.list-radio-wrap ul input {
    display: none
}

.list-checkbox-wrap ul input[type=checkbox]+span,
.list-checkbox-wrap ul input[type=radio]+span,
.list-radio-wrap ul input[type=checkbox]+span,
.list-radio-wrap ul input[type=radio]+span {
    content: '';
    width: 25px;
    height: 25px;
    position: absolute;
    left: 0;
    top: 0;
    border: 1px solid #888
}

.list-checkbox-wrap ul input[type=checkbox]:checked+span,
.list-checkbox-wrap ul input[type=radio]:checked+span,
.list-radio-wrap ul input[type=checkbox]:checked+span,
.list-radio-wrap ul input[type=radio]:checked+span {
    background-color: #27824d
}

.field-select .select2 {
    background-color: #fff;
    border: 1px solid #dadada;
    text-transform: uppercase;

    font-style: normal;
    font-weight: 500;
    padding: 17px 22px
}

.field-select .select2-selection__rendered {
    padding: 0 15px 0 0!important;
    line-height: 29px
}

.field-select .select2-selection__arrow {
    background: transparent url(../images/select-arrows.svg) no-repeat center center;
    background-size: auto 35px;
    width: 12px;
    height: 100%!important;
    right: 15px!important
}

@media (min-width:768px) {
    .field-third,
    .field-third-wrap {
        width: 33.3%
    }
    .field-half,
    .field-half-wrap,
    .field-wrap {
        width: 50%
    }
}

.field-wide-wrap {
    width: 100%
}

.news-sidebar .archive-widget .select2-container {
    width: 100%!important
}

.news-sidebar .archive-widget .select2-container .select2-selection:focus,
.news-sidebar .archive-widget .select2-container .select2-selection__rendered:focus,
.news-sidebar .archive-widget .select2-container:focus {
    outline: 0
}

.select2-container .select2-dropdown {
    background-color: #fff;
    border: 1px solid #dadada;
    border-top: 0
}

.select2-container .select2-results__option--highlighted {
    background-color: #a5ccb7!important
}

.select2-container .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #dadada!important
}

.select2-container .select2-results__option {
    border-bottom: 1px solid #dadada;
    background-color: #fff;
    line-height: 42px;
    text-transform: uppercase;
    text-align: center;

    font-style: normal;
    font-weight: 500;
    padding: 0
}

.select2-container .select2-results__option:last-child {
    border-bottom: 0
}

.hp-wrap {
    display: none
}

.ninja-forms-req-symbol,
.ninja-forms-required-items {
    display: none
}

.ninja-forms-response-msg {

    font-style: normal;
    font-weight: 500;
    text-align: center;
    padding: 15px;
    margin: 20px 12px;
    display: none
}

.ninja-forms-response-msg.ninja-forms-error-msg {
    display: block
}

@media (min-width:768px) {
    .ninja-forms-response-msg {
        padding: 45px
    }
}

.ninja-forms-error-msg {
    border: 2px solid #ce8f3a;
    color: #ce8f3a
}

.ninja-forms-error .ninja-forms-field-error {
    display: none
}

.ninja-forms-error input,
.ninja-forms-error textarea {
    border-color: #ce8f3a
}

.ninja-forms-success-msg {
    border: 2px solid #27824d
}

.ninja-forms-success-msg strong {
    color: #27824d;
    text-transform: uppercase;
    display: block
}

.ninja-forms-success-msg p {
    font-size: 18px;
    line-height: 18px
}

.upload-wrap {
    font-weight: 400!important;
    font-size: 15px;
    text-transform: uppercase;

    font-style: normal;
    font-weight: 500;
    color: #d9d9d9;
    margin-bottom: 23px;
    position: relative;
    overflow: hidden;
    padding: 20px 22px
}

@media (min-width:768px) {
    .upload-wrap {
        font-size: 20px
    }
}

.upload-wrap label {
    font-weight: 400!important
}

.upload-wrap input.multi {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    outline: 0;
    background: #fff;
    cursor: inherit;
    display: block
}

.upload-wrap .MultiFile-wrap {
    position: relative;
    cursor: pointer;
    padding-bottom: 10px
}

.upload-wrap .MultiFile-wrap:before {
    content: 'Choose File';
    display: inline-block;
    cursor: pointer
}

.upload-wrap .MultiFile-label a {
    color: #ce8f3a
}

.upload-wrap .MultiFile-label span {
    color: #231f20;
    display: inline-block;
    padding: 10px 0 0 10px
}

.field-full-width-wrap {
    width: 100%
}

.home-slides {
    max-width: 1440px;
    margin: 0 auto;
    position: relative;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .home-slides {
        height: calc(100vh - 138px)
    }
    .home-slides .slick-list,
    .home-slides .slick-track {
        height: 100%
    }
}

@media (min-width:1440px) {
    .home-slides {
        height: auto
    }
}

.home-slides .slick-arrow {
    position: absolute;
    height: 100%;
    top: 0;
    z-index: 50;
    width: 50px;
    text-indent: -9999px;
    cursor: pointer
}

.home-slides .slick-prev {
    left: 0
}

.home-slides .slick-next {
    right: 0
}

.home-slides .slick-dots {
    position: absolute
}

@media (min-width:768px) {
    .home-slides .slick-dots {
        right: 45px;
        bottom: 30px
    }
}

.home-slides .slick-dots li {
    background: #fff
}

.home-slide {
    overflow: hidden;
    height: 380px;
    background-size: cover;
    background-position: center center;
    position: relative
}

@media (min-width:768px) {
    .home-slide {
        height: 100%
    }
}

@media (min-width:1440px) {
    .home-slide {
        height: 880px
    }
}

.home-slide-text {
    background: #27824d;
    color: #fff;
    text-align: center;
    max-width: 590px;
    margin: 40px auto;
    padding: 25px;
    width: 75%;
    opacity: 0;
    transition: all 1s ease-out;
    z-index: 50
}

@media (min-width:768px) {
    .home-slide-text {
        margin: 0;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%)
    }
}

@media (min-width:992px) {
    .home-slide-text {
        text-align: left;
        margin: 0;
        transform: translateY(-50%) translateX(0)
    }
    .home-slide-text.position-left {
        left: 20%
    }
    .home-slide-text.position-center {
        transform: translateY(-50%) translateX(-50%);
        left: 40%
    }
    .home-slide-text.position-right {
        left: inherit;
        right: 20%
    }
}

.home-slide-text h2 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 22px;
    line-height: 29px
}

@media (min-width:992px) {
    .home-slide-text h2 {
        font-size: 48px;
        line-height: 44px;
        margin-bottom: 15px
    }
}



@media (min-width:992px) {
    .home-slide-text p {
        display: block
    }
}

.home-slide.slick-active .home-slide-text {
    opacity: 1
}

@media (min-width:992px) {
    .home-slide.slick-active .home-slide-text.position-left {
        left: 60px
    }
    .home-slide.slick-active .home-slide-text.position-center {
        left: 50%
    }
    .home-slide.slick-active .home-slide-text.position-right {
        right: 60px
    }
}

.home-slide .home-hero-button {
    font: 500 14px/18px "Forza SSm A", "Forza SSm B";
    display: inline-block;
    text-transform: uppercase;
    color: #27824d;
    border: 1px solid #fff;
    background-color: #fff;
    padding: 11px 25px;
    transition: all 250ms ease-in;
    text-align: center;
    margin: 35px 0 10px 0
}

.show-desktop {
    display: none
}

@media (min-width:992px) {
    .show-desktop {
        display: inline
    }
}

@media (min-width:992px) {
    .show-mobile {
        display: none
    }
}

.home-features {
    max-width: 1440px;
    margin: 0 auto
}

.home-features .block {
    background: #d9d9d9;
    text-align: center;
    margin-bottom: 15px;
    position: relative;
    min-height: 200px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden
}

.home-features .block:after {
    content: '';
    background: #231f20;
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    z-index: 5
}

.home-features .block:hover .block-image {
    transform: scale(1.05)
}

.home-features .block:hover:after {
    opacity: .6
}

.home-features .block-image {
    z-index: 1
}

.home-features .block p {

    font-style: normal;
    font-weight: 400;
    font-size: 24px;
    line-height: 30px;
    text-transform: uppercase;
    position: relative;
    margin-top: -15px;
    width: 100%;
    z-index: 50;
    color: #fff
}

@media (min-width:768px) {
    .home-features .block p {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 50px;
        margin-top: 0
    }
}

.home-features .block .btn,
.home-features .block .submit-wrap input,
.home-features .block .upload-wrap .MultiFile-wrap:before,
.submit-wrap .home-features .block input,
.upload-wrap .home-features .block .MultiFile-wrap:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50
}

@media (min-width:768px) {
    .home-features .block .btn,
    .home-features .block .submit-wrap input,
    .home-features .block .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .home-features .block input,
    .upload-wrap .home-features .block .MultiFile-wrap:before {
        position: static;
        transform: none;
        left: auto;
        bottom: auto
    }
}

@media (min-width:768px) {
    .home-features .block {
        min-height: 375px
    }
    .home-features .block-quarter,
    .home-features .home-culture,
    .home-features .home-prequalify {
        float: right;
        width: calc(50% - 7px);
        margin: 0 7px 15px
    }
}

@media (min-width:992px) {
    .home-features .block {
        min-height: 375px
    }
    .home-features .block-quarter,
    .home-features .home-culture,
    .home-features .home-prequalify {
        float: right;
        width: calc(25% - 11px)
    }
    .home-features .block-half,
    .home-features .home-project,
    .home-features .home-services {
        float: right;
        width: calc(50% - 7px)
    }
}

.home-features .home-services {
    position: relative;
    background: #d9d9d9;
    overflow: hidden;
    padding: 50px 40px;
    text-align: center;
    margin-bottom: 15px
}

@media (min-width:992px) {
    .home-features .home-services {
        min-height: 706px;
        margin-left: 7px;
        width: calc(50% - 7px)
    }
}

@media (min-width:1200px) {
    .home-features .home-services {
        min-height: 738px
    }
}

.home-features .home-services header {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    max-width: 450px;
    margin: 0 auto 25px
}

@media (min-width:992px) {
    .home-features .home-services header {
        font-size: 35px;
        line-height: 42px
    }
}

.home-features .home-services p a {
    color: #27824d
}

.home-features .home-services p a:hover {
    color: #0f341f
}

@media (min-width:768px) {
    .home-features .home-services .show-desktop {
        display: block
    }
}

.home-features .home-services .btn,
.home-features .home-services .submit-wrap input,
.home-features .home-services .upload-wrap .MultiFile-wrap:before,
.home-features .home-services header,
.home-features .home-services p,
.submit-wrap .home-features .home-services input,
.upload-wrap .home-features .home-services .MultiFile-wrap:before {
    position: relative;
    z-index: 5
}

@media (min-width:768px) {
    .home-features .home-prequalify {
        margin-right: 0
    }
}

@media (min-width:992px) {
    .home-features .home-prequalify {
        margin-right: 7px;
        height: 343px
    }
}

.home-features .home-culture:after {
    opacity: .67
}

@media (min-width:768px) {
    .home-features .home-culture {
        margin-left: 0
    }
}

@media (min-width:992px) {
    .home-features .home-culture {
        height: 343px;
        float: left
    }
}

.home-features .home-project {
    min-height: 300px
}

.home-features .home-project:after {
    opacity: .5
}


.home-features .home-history {
    background: #d9d9d9;
    margin-bottom: 15px;
    clear: both;
    color: #fff;
    padding: 50px 25px 30px;
    text-align: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative
}

.home-features .home-history:after {
    content: '';
    background: #231f20;
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

@media (min-width:768px) {
    .home-features .home-history {
        padding: 110px 0 90px
    }
}

.home-features .home-history header {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 30px;
    margin-bottom: 12px;
    text-transform: uppercase;
    position: relative;
    z-index: 50
}



.home-features .home-history .btn,
.home-features .home-history .submit-wrap input,
.home-features .home-history .upload-wrap .MultiFile-wrap:before,
.submit-wrap .home-features .home-history input,
.upload-wrap .home-features .home-history .MultiFile-wrap:before {
    position: relative;
    z-index: 50
}

.video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.video-bg video {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: 1;
    background-size: cover
}

.safety-intro,
.services-intro {
    max-width: 1440px;
    margin: 0 auto;
}

.safety-intro .content,
.services-intro .content {
    padding: 50px 30px;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .safety-intro .content,
    .services-intro .content {
        float: left;
        width: calc(50% - 15px);
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .safety-intro .content,
    .services-intro .content {
        width: calc(100% - 565px);
        min-height: 466px;
        padding: 90px 30px
    }
}

.safety-intro .image,
.services-intro .image {
    background-size: cover;
    background-position: center center;
    height: 275px;
    width: 100%;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .safety-intro .image,
    .services-intro .image {
        float: right;
        width: 50%;
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .safety-intro .image,
    .services-intro .image {
        width: 550px;
        height: 466px
    }
}

.services-accordion {
    border: 1px solid #dadada;
    border-width: 1px 0;
    position: relative;
    margin-bottom: 60px
}

@media (min-width:768px) {
    .services-accordion {
        border-width: 1px;
        max-width: 95%;
        margin: 0 auto;
        margin-bottom: 120px
    }
}

@media (min-width:1200px) {
    .services-accordion {
        max-width: 1220px
    }
}

.services-accordion h2 {
    background-color: #fff;
    border-bottom: 1px solid #dadada;

    font-style: normal;
    font-weight: 400;
    font-size: 20px;
    text-align: center;
    text-transform: uppercase;
    padding: 7px 0;
    transition: all .5s ease;
    position: relative
}

@media (min-width:992px) {
    .services-accordion h2 {
        width: 400px;
        border-right: 1px solid #dadada;
        padding: 14px 0
    }
}

.services-accordion h2:hover {
    cursor: pointer
}

.services-accordion h2:after {
    content: '';
    background-color: #fff;
    width: 15px;
    height: 15px;
    position: absolute;
    left: 50%;
    transform: rotate(45deg) translateX(-50%);
    bottom: 0;
    opacity: 0;
    transition: all .5s ease;
    z-index: 1
}

@media (min-width:992px) {
    .services-accordion h2:after {
        bottom: auto;
        left: auto;
        top: 50%;
        right: 0
    }
}

.services-accordion .service-text {
    font-size: 16px;
    line-height: 34px;
    height: 0;
    overflow: hidden;
    transition: all .5s ease;
    padding: 0 30px 0;
    display: none
}

@media (min-width:992px) {
    .services-accordion .service-text {
        position: absolute;
        right: 0;
        top: 0;
        border: 0;
        width: calc(100% - 399px);
        padding: 65px 65px 55px;
        border-left: 1px solid #dadada
    }
}

.services-accordion .service-text span {
    display: block;
    overflow: auto;
    height: 171px;
    max-width: 581px
}

.services-accordion .service-text img {
    max-width: 100%;
    margin-bottom: 20px
}

@media (min-width:768px) {
    .services-accordion .service-text img {
        display: block;
        margin: 0 auto 45px
    }
}

.services-accordion .service-text p {
    max-width: 580px;
    margin: 0 auto
}

.services-accordion .service-text .service-text-image {
    margin: 0 auto 45px;
    background-size: cover
}

.services-accordion .service-text .btn,
.services-accordion .service-text .submit-wrap input,
.services-accordion .service-text .upload-wrap .MultiFile-wrap:before,
.submit-wrap .services-accordion .service-text input,
.upload-wrap .services-accordion .service-text .MultiFile-wrap:before {
    margin: 25px auto 0;
    display: block;
    width: 170px
}

.services-accordion .service.active h2 {
    background-color: #27824d;
    color: #fff
}

.services-accordion .service.active h2:after {
    bottom: -12px;
    opacity: 1;
    background-color: #27824d
}

@media (min-width:992px) {
    .services-accordion .service.active h2:after {
        right: -12px;
        bottom: auto;
        left: auto
    }
}

.services-accordion .service.active .service-text {
    display: block;
    height: auto;
    padding: 30px 30px 20px;
    border-bottom: 1px solid #dadada
}

@media (min-width:992px) {
    .services-accordion .service.active .service-text {
        padding: 65px 65px 55px;
        border-bottom: 0
    }
}

.services-accordion>div:last-child h2 {
    border-bottom: 0
}

.services-accordion>div:last-child.active .service-text {
    border-top: 1px solid #dadada;
    border-bottom: 0
}

@media (min-width:992px) {
    .services-accordion>div:last-child.active .service-text {
        border-top: 0
    }
}

.services-video {
    max-width: 1220px;
    margin: 0 auto;
    margin-bottom: 60px;
    position: relative
}

@media (min-width:992px) {
    .services-video {
        margin-bottom: 120px
    }
}

.services-video .video {
    height: 350px;
    background-size: cover;
    background-position: center center;
    position: relative
}

@media (min-width:992px) {
    .services-video .video {
        width: 50%;
        float: left;
        min-height: 580px
    }
}

.services-video .video a {
    font-size: 54px;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%)
}

@media (min-width:992px) {
    .services-video .video a {
        font-size: 102px
    }
}

.services-video .content {
    background-color: #f3f3f3;
    color: #347940;
     padding: 80px 75px;
}

@media (min-width:992px) {
    .services-video .content {
        width: 50%;
        float: right;
        padding: 80px 75px;
        min-height: 580px
    }
}

.services-video .embed {
    display: none;
    position: absolute;
    width: 100%;
    max-height: 100%;
    background: #231f20;
    left: 0;
    top: 0;
    z-index: 50
}

.services-video h2 {
    font-style: normal;
    font-weight: 400;
    font-size: 29px;
    line-height: 32px;
    text-transform: uppercase;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .services-video h2 {
        font-size: 35px;
        line-height: 42px;
        margin-bottom: 35px
    }
}

.services-video p {
    font-size: 19px;
    line-height: 30px;
    color: #000;
}


.built-on-trust {
    max-width: 1440px;
    margin: 0 auto;
    position: relative
}

@media (min-width:992px) {
    .built-on-trust {
        margin-bottom: 110px
    }
}

.built-on-trust .text {
    position: relative;
    min-height: 525px;
    color: #fff;
    padding: 45px 35px 40px;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    background-size: cover;
    background-color: rgba(39, 130, 77, .8);
    background-blend-mode: multiply
}

@media (min-width:992px) {
    .built-on-trust .text {
        float: left;
        width: 50%
    }
}

@media (min-width:1200px) {
    .built-on-trust .text {
        height: 705px;
        padding-left: 90px;
        padding-right: 90px
    }
}

.built-on-trust .text:after,
.built-on-trust .text:before {
    z-index: 1
}

.built-on-trust .text:before {
    background-color: rgba(39, 130, 77, .8)
}

.built-on-trust .text a,
.built-on-trust .text header,
.built-on-trust .text p {
    position: relative;
    z-index: 5
}

.built-on-trust .text header {
    margin-bottom: 15px
}

@media (min-width:992px) {
    .built-on-trust .text header {
        text-align: left;
        margin-bottom: 25px
    }
}

.built-on-trust .text p {
    text-align: left;
    line-height: 28px
}

@media (min-width:768px) {
    .built-on-trust .text p {
        font-size: 18px;
        line-height: 30px;
        margin-bottom: 25px
    }
}

@media (min-width:992px) {
    .built-on-trust .text p {
        margin-bottom: 60px
    }
}

.built-on-trust .text a {
    display: block;
    padding-top: 25px;
    color: #fff;
    font-size: 55px;
    line-height: 55px
}

@media (min-width:992px) {
    .built-on-trust .text a {
        padding-top: 0;
        font-size: 105px;
        line-height: 105px
    }
}

@media (min-width:992px) {
    .built-on-trust .images {
        position: absolute;
        right: 0;
        height: 100%;
        width: calc(50% - 15px)
    }
}

.built-on-trust .images div {
    overflow: hidden;
    margin-bottom: 15px;
    background-size: cover
}

@media (min-width:992px) {
    .built-on-trust .images div {
        height: calc(50% - 7.5px)
    }
    .built-on-trust .images div:last-child {
        margin-bottom: 0;
        filter: grayscale(100%)
    }
}

.built-on-trust .images img {
    width: 100%
}

.values {
    max-width: 1230px;
    margin: 0 auto;
    padding: 15px
}

.value {
    position: relative;
    overflow: hidden
}

@media (min-width:768px) {
    .value:nth-child(even) .value-image {
        right: 0
    }
    .value:nth-child(even) .value-text {
        margin-left: 0;
        margin-right: 50%
    }
}

.value-image,
.value-text {
    min-height: 325px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center
}

@media (min-width:768px) {
    .value-image,
    .value-text {
        width: 50%;
        height: 100%;
        position: relative;
        -ms-flex-direction: column;
        flex-direction: column;
        float: left
    }
}

@media (min-width:992px) {
    .value-image,
    .value-text {
        height: 585px
    }
}

@media (min-width:1440px) {
    .value-image,
    .value-text {
        height: 685px
    }
}

.value-image {
    position: relative
}

@media (min-width:768px) {
    .value-image {
        position: absolute;
        height: 100%
    }
}

.value-image-bg {
    filter: grayscale(100%);
    background-size: cover;
    background-position: center center
}

.value-image:before {
    background-color: rgba(255, 255, 255, .65);
    z-index: 3
}

.value-image img {
    width: 200px;
    position: relative;
    z-index: 5
}

@media (min-width:992px) {
    .value-image img {
        width: 350px
    }
}

.value-text {
    color: #fff;
    padding: 75px 35px 55px;
    text-align: center
}

@media (min-width:768px) {
    .value-text {
        margin-left: 50%
    }
}

@media (min-width:992px) {
    .value-text {
        padding: 0 90px
    }
}

.value-text h2 {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 25px;
    text-align: left;
    width: 100%
}

@media (min-width:768px) {
    .value-text h2 {
        font-size: 35px;
        line-height: 42px
    }
}

.value-text p {
    line-height: 28px;
    text-align: left;
    margin-bottom: 40px;
    width: 100%
}

@media (min-width:768px) {
    .value-text p {
        font-size: 18px;
        line-height: 30px
    }
}

.value-text a {
    color: #fff;
    font-size: 60px;
    line-height: 60px
}

@media (min-width:768px) {
    .value-text a {
        font-size: 72px;
        line-height: 72px
    }
}

.value-video {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #231f20;
    left: 0;
    top: 0;
    z-index: 50
}

.close-embed {
    position: absolute;
    top: 10px;
    right: 10px;
    background-color: #27824d;
    color: #fff;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 53px;
    font-size: 24px;
    cursor: pointer;
    z-index: 9999
}

.close-embed:hover {
    background-color: #a5ccb7
}

.value-section-0 .value-text {
    background-color: #333
}

.value-section-1 .value-text {
    background-color: #a5ccb7;
    color: #008348
}

.value-section-1 a.has-icon {
    color: #008348
}

.value-section-2 .value-text {
    background-color: #27824d
}

.projects {
    padding: 0 15px 0
}

.projects .projects-header {
    text-align: center;
    padding: 60px 0 40px
}

.projects .projects-header h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 30px;
    line-height: 36px;
    margin-bottom: 20px
}

@media (min-width:768px) {
    .projects .projects-header h1 {
        font-size: 60px;
        line-height: 60px;
        margin-bottom: 10px
    }
}

.projects .projects-header p {
    font-size: 15px;
    line-height: 24px
}

@media (min-width:768px) {
    .projects .projects-header p {
        font-size: 16px
    }
}

.project-filter-nav {
    max-width: 1220px;
    margin: 0 auto;
    border-bottom: 1px solid #cfcfcf;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 15px;
    margin-bottom: 15px
}

.project-filter-nav .project-filter {
    border-right: 1px solid #cfcfcf;
    min-width: 90px;
    margin-right: 10px;
    text-transform: uppercase;
    font-size: 15px
}

@media (min-width:768px) {
    .project-filter-nav .project-filter {
        font-size: 20px;
        width: 160px
    }
}

.project-filter-nav .project-filter .toggle-filter-overlay {
    display: block;

    font-style: normal;
    font-weight: 500;
    color: #333;
    line-height: 36px
}

@media (min-width:768px) {
    .project-filter-nav .project-filter .toggle-filter-overlay {
        line-height: 50px
    }
}

.project-filter-nav .project-filter .toggle-filter-overlay i {
    color: #d9d9d9;
    margin: 0 11px;
    font-size: 16px;
    line-height: 36px;
    float: right
}

@media (min-width:768px) {
    .project-filter-nav .project-filter .toggle-filter-overlay i {
        line-height: 50px;
        margin-right: 25px
    }
}

.project-filter-nav .project-filter .toggle-filter-overlay:hover {
    color: #58595b
}

.project-filter-nav .project-filter .toggle-filter-overlay:hover i {
    color: #58595b
}

.project-filter-nav .project-filters {

    font-style: normal;
    font-weight: 500;
    line-height: 36px;
    width: 100%
}

.project-filter-nav .project-filters .filters-selected-count {
    color: #d9d9d9;
    text-transform: uppercase
}

@media (min-width:768px) {
    .project-filter-nav .project-filters .filters-selected-count {
        display: none
    }
}

.project-filter-nav .filters-selected {
    display: none
}

@media (min-width:768px) {
    .project-filter-nav .filters-selected {
        display: block;
        padding: 10px
    }
}

.project-filter-nav .filters-selected span {
    float: left;
    background: #d4d4d4;
    color: #58595b;
    padding: 0 15px;
    text-transform: uppercase;
    margin: 0 5px 5px 0;
    display: none
}

.project-filter-nav .filters-selected span:hover {
    cursor: pointer;
    background: silver
}

.project-filter-nav .filters-selected .selected {
    display: block
}

.project-filter-nav .filters-selected i {
    margin-left: 15px;
    color: #fff
}

.project-filter-nav .project-filter-search {
    width: 30px;
    font-size: 20px
}

@media (min-width:768px) {
    .project-filter-nav .project-filter-search {
        font-size: 23px;
        margin-right: 20px
    }
}

.project-filter-nav .project-filter-search a {
    color: #58595b
}

.project-filter-nav .project-filter-search a:hover {
    color: #262627
}

.project-filter-nav .project-filter-search a {
    display: block;
    line-height: 40px
}

@media (min-width:768px) {
    .project-filter-nav .project-filter-search a {
        padding: 0 10px;
        line-height: 50px
    }
}

.project-filter-nav .project-search-overlay {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    height: 100%;
    background: #fff;
    color: #27824d;
    padding: 0 15px;
    height: 50px;
    opacity: 0;
    transition: all .25s ease-in;
    z-index: -1
}

.project-filter-nav .project-search-overlay.active {
    opacity: 1;
    z-index: 500
}

.project-filter-nav .project-search-overlay .project-search-toggle {
    position: absolute;
    width: 48px;
    height: 48px;
    line-height: 50px;
    text-align: center;
    color: #58595b;
    font-size: 16px;
    top: 50%;
    margin-top: -24px;
    right: 6px
}

.project-filter-nav .project-search-overlay input {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 400;
    animation: blink .75s step-end infinite alternate;
    color: #27824d;
    border-left: 3px solid transparent;
    position: absolute;
    top: 50%;
    height: 32px;
    margin-top: -16px;
    letter-spacing: 2px;
    font-size: 30px;
    line-height: 32px;
    padding: 0 10px;
    width: calc(100% - 55px);
    min-height: 0
}

.project-filter-nav .project-search-overlay input:focus {
    animation: none;
    outline: 0
}

@media (min-width:768px) {
    .project-filter-nav .project-search-overlay input {
        font-size: 40px;
        margin-top: -27px;
        height: 50px;
        min-height: 0
    }
}

.project-filter-nav .project-search-overlay::-webkit-input-placeholder {
    color: #d9d9d9;
    line-height: 32px
}

@media (min-width:768px) {
    .project-filter-nav .project-search-overlay::-webkit-input-placeholder {
        line-height: 50px
    }
}

.project-filter-nav .project-search-overlay::-moz-placeholder {
    color: #d9d9d9
}

@media (min-width:768px) {
    .project-filter-nav .project-search-overlay::-moz-placeholder {
        line-height: 50px
    }
}

.project-filter-nav .project-search-overlay:-ms-input-placeholder {
    color: #d9d9d9
}

@media (min-width:768px) {
    .project-filter-nav .project-search-overlay:-ms-input-placeholder {
        line-height: 50px
    }
}

@keyframes blink {
    50% {
        border-left-color: #d9d9d9
    }
}

.project-filter-overlay {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(39, 130, 77, .95);
    top: 0;
    left: 0;
    z-index: 1000;
    overflow: hidden
}

.project-filter-overlay.active {
    display: block
}

.project-filter-overlay .project-filter-pane {
    padding: 50px 35px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: -15px;
    overflow: auto
}

.project-filter-overlay h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    color: #fff
}

.project-filter-overlay p {
    font-style: normal;
    font-weight: 400;
    font-style: italic;
    font-size: 15px;
    color: #fff;
    margin-bottom: 45px
}

.project-filter-overlay .filter-group,
.project-filter-overlay header {
    max-width: 720px;
    margin: 0 auto
}

@media (min-width:768px) {
    .project-filter-overlay .filter-group,
    .project-filter-overlay header {
        margin-left: auto;
        margin-right: auto
    }
}

@media (min-width:768px) {
    .project-filter-overlay header {
        padding-left: 63px
    }
}

.project-filter-overlay .filter-group {
    margin: 0 -9px 25px;
    position: relative
}

@media (min-width:768px) {
    .project-filter-overlay .filter-group {
        padding-left: 55px;
        margin-bottom: 68px;
        margin-left: auto;
        margin-right: auto
    }
}

.project-filter-overlay .filter-group h3 {

    font-style: normal;
    font-weight: 400;
    color: #a5ccb7;
    text-transform: uppercase;
    font-size: 25px;
    margin: 0 9px 15px
}

@media (min-width:768px) {
    .project-filter-overlay .filter-group h3 {
        font-size: 30px;
        position: absolute;
        top: 0;
        left: 0;
        margin: 0;
        transform: rotate(-90deg) translateX(-100%);
        transform-origin: top left
    }
}

.project-filter-overlay .filter-group a {

    font-style: normal;
    font-weight: 400;
    display: -ms-flexbox;
    display: flex;
    float: left;
    width: calc(50% - 18px);
    border: 1px solid #fff;
    color: #fff;
    font-size: 16px;
    line-height: 16px;
    height: 63px;
    text-align: center;
    padding: 0 20px;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0 9px 18px;
    transition: all .25s ease-in
}

.project-filter-overlay .filter-group a:hover {
    background-color: rgba(255, 255, 255, .3)
}

.project-filter-overlay .filter-group a.selected {
    background-color: #fff;
    color: #27824d
}

.project-filter-overlay .filter-group a.disabled {
    cursor: default;
    opacity: .3
}

@media (min-width:768px) {
    .project-filter-overlay .filter-group a {
        height: 78px;
        font-size: 20px;
        line-height: 20px;
        width: calc(25% - 18px)
    }
}

.project-filter-overlay .filter-group li {
    list-style-type: none
}

.project-filter-overlay .filter-controls {
    background-color: #333;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls {
        height: 60px
    }
}

.project-filter-overlay .filter-controls a {

    font-style: normal;
    font-weight: 400;
    color: #fff;
    display: block;
    line-height: 50px;
    text-transform: uppercase;
    font-size: 15px
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls a {
        font-size: 20px;
        line-height: 60px
    }
}

.project-filter-overlay .filter-controls .toggle-filter-overlay {
    width: 50px;
    height: 50px;
    color: #27824d;
    background: #fff;
    float: left;
    font-size: 28px;
    text-align: center;
    line-height: 55px
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls .toggle-filter-overlay {
        width: auto;
        padding: 0 35px;
        height: 60px
    }
}

.project-filter-overlay .filter-controls .toggle-filter-overlay:hover {
    background: #f5f5f5
}

.project-filter-overlay .filter-controls .toggle-filter-overlay i {
    float: left;
    width: 50px;
    line-height: 50px
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls .toggle-filter-overlay i {
        line-height: 65px;
        margin-right: 15px;
        width: auto
    }
}

.project-filter-overlay .filter-controls .toggle-filter-overlay span {
    font-size: 15px;
    display: none
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls .toggle-filter-overlay span {
        font-size: 20px;
        display: inline;
        float: left;
        line-height: 65px
    }
}

.project-filter-overlay .filter-controls .apply-filters {
    background-color: #a5ccb7;
    height: 50px;
    float: right;
    padding: 0 30px
}

.project-filter-overlay .filter-controls .apply-filters:hover {
    background: #98c5ad
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls .apply-filters {
        height: 60px
    }
}

.project-filter-overlay .filter-controls .apply-filters.disabled {
    cursor: default;
    background: #58595b;
    color: #333
}

.project-filter-overlay .filter-controls .apply-filters span {
    display: none
}

@media (min-width:768px) {
    .project-filter-overlay .filter-controls .apply-filters span {
        display: inline
    }
}

.project-filter-overlay .filter-controls .clear-all {
    float: right;
    padding: 0 15px;
    cursor: pointer
}

.project-filter-overlay .filter-controls .clear-all:hover {
    color: #b3b3b3
}

.projects-container {
    position: relative;
    max-width: 1234px;
    margin: 0 auto;
    text-align: center;
    border-bottom: 1px solid #cfcfcf
}

@media (min-width:768px) {
    .projects-container {
        margin: 0 -7px
    }
}

@media (min-width:1278px) {
    .projects-container {
        margin: 0 auto
    }
}

.projects-container .project {
    height: 290px;
    margin-bottom: 15px;
    overflow: hidden
}

@media (min-width:768px) {
    .projects-container .project {
        height: 380px;
        width: calc(50% - 14px);
        float: left;
        margin: 0 7px 15px
    }
}

@media (min-width:992px) {
    .projects-container .project {
        height: 380px;
        width: calc(33.3% - 14px);
        float: left;
        margin: 0 7px 15px
    }
}

.projects-container .project a {
    display: block;
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center
}

.projects-container .project a:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60%;
    background: linear-gradient(to top, #000 0, rgba(0, 0, 0, 0) 100%);
    opacity: .8;
    transition: all .5s ease-in
}

.projects-container .project a:hover .project-image {
    transform: scale(1.05)
}

.projects-container .project a:hover .project-meta {
    bottom: 14px
}

.projects-container .project a:hover .project-name {
    padding-bottom: 7px
}

@media (min-width:768px) {
    .projects-container .project a:hover .project-name {
        padding-bottom: 14px
    }
}

.projects-container .project a:hover:after {
    opacity: .95
}

.projects-container .project span {
    display: block;
    text-align: center;
    width: 100%;
    color: #fff;
    transition: all .25s ease-in
}

.projects-container .project-meta {
    position: absolute;
    bottom: -37px;
    z-index: 5;
    font-size: 12px;
    padding: 0 20px 10px;
    line-height: 14px;
    transition: all .25s ease-in
}

@media (min-width:768px) {
    .projects-container .project-meta {
        bottom: -43px;
        font-size: 16px;
        line-height: 20px
    }
}

@media (min-width:992px) {
    .projects-container .project-meta {
        bottom: -53px;
        font-size: 20px;
        line-height: 24px
    }
}

.projects-container .project-location {

    font-style: normal;
    font-weight: 400;
    padding-bottom: 7px
}

@media (min-width:992px) {
    .projects-container .project-location {
        padding-bottom: 14px
    }
}

.projects-container .project-name {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    padding-bottom: 21px
}

@media (min-width:992px) {
    .projects-container .project-name {
        padding-bottom: 28px
    }
}

.projects-container .project-type {

    font-style: normal;
    font-weight: 400
}

.projects-container .project-type:before {
    content: '';
    height: 2px;
    width: 25%;
    display: block;
    background-color: #27824d;
    margin: 0 auto;
    margin-bottom: 7px
}

@media (min-width:992px) {
    .projects-container .project-type:before {
        height: 5px;
        margin-bottom: 14px
    }
}

.projects-container #ajax-add {
    overflow: auto
}

.projects-container .load-more {
    text-transform: uppercase;
    font-size: 15px;
    border-color: #27824d;
    color: #27824d;
    margin: 35px 0 55px;
    clear: both
}

.projects-container .load-more .btn,
.projects-container .load-more .submit-wrap input,
.projects-container .load-more .upload-wrap .MultiFile-wrap:before,
.submit-wrap .projects-container .load-more input,
.upload-wrap .projects-container .load-more .MultiFile-wrap:before {
    cursor: pointer
}

@media (min-width:768px) {
    .projects-container .load-more {
        font-size: 18px
    }
}

.projects-container .project-media-loader {
    width: 50px;
    height: 50px;
    background: url(../images/project-spinner.svg) center no-repeat;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 51px;
    margin: auto;
    animation: spinLoader 2s infinite linear;
    transform-origin: 50% 50%
}

@keyframes spinLoader {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(-360deg)
    }
}

.markets-we-serve {
    position: relative;
    padding: 0 50px 95px
}

.markets-we-serve {
    position: relative;
    padding: 0 50px 95px
}

@media (min-width:992px) {
    .markets-we-serve {
        padding: 0 65px 60px
    }
}

.markets-we-serve:after,
.markets-we-serve:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: calc(50% + 14px);
    color: #231f20;
    font-size: 38px;
    z-index: 49
}

@media (min-width:992px) {
    .markets-we-serve:after,
    .markets-we-serve:before {
        top: calc(50% + 22px)
    }
}

.markets-we-serve:before {
    content: "\e916";
    left: 0
}

@media (min-width:992px) {
    .markets-we-serve:before {
        left: 15px
    }
}

.markets-we-serve:after {
    content: "\e917";
    right: 0
}

@media (min-width:992px) {
    .markets-we-serve:after {
        right: 15px
    }
}

.markets-we-serve .slick-arrow {
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 50;
    width: 100px;
    text-indent: -9999px;
    cursor: pointer
}

.markets-we-serve .slick-prev {
    left: -50px
}

.markets-we-serve .slick-next {
    right: -50px
}

.markets-we-serve header {

    font-style: normal;
    font-weight: 500;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    padding: 50px;
    text-align: center
}

@media (min-width:768px) {
    .markets-we-serve header {
        font-size: 40px;
        line-height: 48px
    }
}

.markets-we-serve li {
    float: left;
    width: 112px;
    height: 240px;
    margin: 0 7px
}

@media (min-width:768px) {
    .markets-we-serve li {
        margin: 0 12px;
        height: 385px
    }
}

.markets-we-serve .project-box {
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    position: relative;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 15px;
    overflow: hidden
}

.markets-we-serve .project-box .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: auto 100%;
    background-position: center center;
    z-index: 1;
    transition: all .25s ease-in
}

.markets-we-serve .project-box .icon {

    font-style: normal;
    font-weight: 400;
    display: block;
    text-align: center;
    width: 100%;
    font-size: 14px;
    position: relative;
    color: #fff;
    z-index: 50;
    text-transform: uppercase
}

@media (min-width:768px) {
    .markets-we-serve .project-box .icon {
        font-size: 20px
    }
}

.markets-we-serve .project-box .icon i {
    display: block;
    font-size: 34px;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .markets-we-serve .project-box .icon i {
        font-size: 54px;
        margin-bottom: 30px
    }
}

.markets-we-serve .project-box .icon .icon-disaster-recovery {
    font-size: 24px;
    line-height: 34px
}

@media (min-width:768px) {
    .markets-we-serve .project-box .icon .icon-disaster-recovery {
        font-size: 34px;
        line-height: 54px
    }
}

.markets-we-serve .project-box .btn,
.markets-we-serve .project-box .submit-wrap input,
.markets-we-serve .project-box .upload-wrap .MultiFile-wrap:before,
.submit-wrap .markets-we-serve .project-box input,
.upload-wrap .markets-we-serve .project-box .MultiFile-wrap:before {

    font-style: normal;
    font-weight: 400;
    display: none;
    text-transform: none;
    font-size: 14px;
    padding: 10px 25px;
    margin: 0 auto;
    position: relative;
    z-index: 5;
    cursor: pointer;
    text-transform: uppercase
}

@media (min-width:768px) {
    .markets-we-serve .project-box .btn,
    .markets-we-serve .project-box .submit-wrap input,
    .markets-we-serve .project-box .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .markets-we-serve .project-box input,
    .upload-wrap .markets-we-serve .project-box .MultiFile-wrap:before {
        font-size: 15px;
        line-height: 25px
    }
}

@media (max-width:767px) {
    .markets-we-serve .project-box .btn,
    .markets-we-serve .project-box .submit-wrap input,
    .markets-we-serve .project-box .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .markets-we-serve .project-box input,
    .upload-wrap .markets-we-serve .project-box .MultiFile-wrap:before {
        padding: 10px 12px
    }
}

.markets-we-serve .project-box:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: .9;
    background-color: #27824d;
    top: 0;
    left: 0;
    transition: all .25s ease-in;
    z-index: 3
}

.markets-we-serve .project-box:hover .icon {
    display: none
}

.markets-we-serve .project-box:hover .btn,
.markets-we-serve .project-box:hover .submit-wrap input,
.markets-we-serve .project-box:hover .upload-wrap .MultiFile-wrap:before,
.submit-wrap .markets-we-serve .project-box:hover input,
.upload-wrap .markets-we-serve .project-box:hover .MultiFile-wrap:before {
    display: inline-block
}

.projects-container__message {
    padding: 150px 25px 100px
}

.projects-container__pagination {
    padding: 25px 0;
    margin-bottom: 25px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.projects-container__pagination .pagination__link {
    display: inline-block;
    padding: 10px;
    border: 1px solid #27824d;
    margin: 0 7px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all .25s ease-in-out;
    color: #27824d
}

@media (min-width:768px) {
    .projects-container__pagination .pagination__link {
        padding: 15px
    }
}

.projects-container__pagination .pagination__link:hover {
    background-color: #145b31;
    color: #fff
}

.projects-container__pagination .pagination__link.active {
    background-color: #27824d;
    color: #fff
}

.projects-container__pagination .pagination__link:nth-child(n+4):nth-last-child(n+4) {
    display: none
}

.projects-container__pagination span.pagination__link,
.projects-container__pagination span.pagination__link:hover {
    border: 1px solid #a5ccb7;
    background-color: #fff;
    color: #a5ccb7;
    opacity: .5
}

.projects-container__pagination span.pagination__text,
.projects-container__pagination span.pagination__text:hover {
    border: 1px solid #27824d;
    background-color: #fff;
    color: #27824d;
    margin: 0
}

.projects-container__pagination--trimmed .pagination__link:nth-child(4):after {
    content: '...';
    display: inline-block;
    padding: 15px;
    margin: 0 7px;
    line-height: 1;
    color: #a5ccb7
}

.pagination-dropdown {
    list-style: none;
    position: relative
}

.pagination-dropdown .pagination__link {
    margin: 0;
    background-color: #fff
}

.pagination-dropdown ul {
    display: none;
    position: absolute;
    z-index: 100;
    width: 100%;
    list-style: none;
    height: 250px;
    overflow-y: scroll
}

.pagination-dropdown:hover ul {
    display: block
}

.pagination-dropdown:hover ul .pagination__link {
    width: 100%
}

.project-header {
    max-width: 1220px;
    margin: 0 auto;

    font-style: normal;
    font-weight: 400;
    padding: 18px 35px
}

@media (min-width:992px) {
    .project-header {
        padding: 37px 35px 31px
    }
}

.project-header .project-title {
    margin-bottom: 10px
}

@media (min-width:992px) {
    .project-header .project-title {
        float: left;
        margin-bottom: 0;
        max-width: 48%
    }
}

.project-header .project-title h1 {
    text-transform: uppercase;
    font-size: 25px;
    line-height: 30px;
    color: #333;
    margin-bottom: 10px
}

@media (min-width:992px) {
    .project-header .project-title h1 {
        font-size: 30px
    }
}

.project-header .project-title p {
    color: #27824d
}

.project-header .project-meta {
    color: #58595b
}

@media (min-width:992px) {
    .project-header .project-meta {
        text-align: right;
        float: right;
        padding-top: 10px;
        max-width: 48%
    }
}

.project-header .project-meta strong {
    font-family: Interstate;
    font-style: normal;
    font-weight: 400
}

.project-header p {
    font-size: 15px
}

@media (min-width:992px) {
    .project-header p {
        font-size: 21px
    }
}

.project-media {
    position: relative;
    height: 175px
}

@media (min-width:400px) and (max-width:660px) {
    .project-media {
        height: 250px
    }
}

@media (min-width:660px) and (max-width:767px) {
    .project-media {
        height: 300px
    }
}

@media (min-width:768px) {
    .project-media {
        height: 500px
    }
}

.project-media span {
    opacity: 0
}

.project-media .project-media-loader {
    width: 50px;
    height: 50px;
    background: url(../images/project-spinner.svg) center no-repeat;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    animation: spinLoader 2s infinite linear;
    transform-origin: 50% 50%
}

@keyframes spinLoader {
    0% {
        transform: rotate(0)
    }
    100% {
        transform: rotate(-360deg)
    }
}

.project-media div {
    height: 175px;
    background-size: cover;
    background-position: center center;
    border: 2px solid #fff;
    border-width: 0 2px;
    margin: 0 5px
}

@media (min-width:400px) and (max-width:660px) {
    .project-media div {
        height: 250px
    }
}

@media (min-width:660px) and (max-width:767px) {
    .project-media div {
        height: 300px
    }
}

@media (min-width:768px) {
    .project-media div {
        height: 500px
    }
}

.project-media div img {
    height: 100%
}

@media (min-width:768px) {
    .project-media .embed-container {
        min-width: 680px
    }
}

.project-media:after,
.project-media:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    color: #fff;
    text-shadow: 0 0 3px rgba(35, 31, 32, .8);
    font-size: 38px;
    z-index: 49;
    margin-top: -19px
}

.project-media:before {
    content: "\e916";
    left: 25px
}

.project-media:after {
    content: "\e917";
    right: 25px
}

.project-media .slick-arrow {
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 50;
    width: 100px;
    text-indent: -9999px;
    cursor: pointer
}

.project-media .slick-prev {
    left: 0
}

.project-media .slick-next {
    right: 0
}

.share-this {
    max-width: 1220px;
    margin: 0 auto;
    padding: 28px 15px;
    text-transform: uppercase;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    color: #d9d9d9
}

@media (min-width:992px) {
    .share-this {
        padding: 58px 0
    }
}

.share-this a {
    color: #d9d9d9
}

.share-this a:hover {
    color: #a6a6a6
}

.share-this div {
    width: 166px
}

@media (min-width:768px) {
    .share-this div {
        width: 225px
    }
}

.share-this p {
    margin-bottom: 3px
}

.share-this a {
    margin: 0 11px;
    font-size: 24px
}

.share-this:after,
.share-this:before {
    content: '';
    background: #d9d9d9;
    height: 1px;
    width: calc((100% - 166px)/ 2)
}

@media (min-width:768px) {
    .share-this:after,
    .share-this:before {
        width: calc((100% - 225px)/ 2)
    }
}

.project-summary {
    max-width: 1125px;
    margin: 0 auto;
    padding-bottom: 68px
}

@media (min-width:992px) {
    .project-summary {
        padding-bottom: 88px
    }
}

.project-summary-text {
    padding: 0 35px;
    margin-bottom: 50px
}

@media (min-width:1200px) {
    .project-summary-text {
        float: left;
        width: 574px;
        padding: 0 35px 0 0
    }
}

.project-summary-text h2 {
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 30px
}

@media (min-width:992px) {
    .project-summary-text h2 {
        font-size: 25px
    }
}

.project-summary-text p {
    font-size: 15px;
    margin-bottom: 30px;
    line-height: 25px
}

@media (min-width:992px) {
    .project-summary-text p {
        font-size: 20px;
        line-height: 30px
    }
}

.project-summary-text p:last-child {
    margin-bottom: 0
}

.project-summary-text p a {
    color: #27824d
}

.project-summary-text p a:hover {
    color: #0f341f
}

.project-summary-text p a {
    text-transform: uppercase
}

.project-summary-image {
    padding: 0 15px
}

@media (min-width:1200px) {
    .project-summary-image {
        float: right;
        padding: 0;
        width: 540px
    }
}

.project-summary-image img {
    width: 100%
}

.project-location {
    max-width: 1440px;
    margin: 0 auto
}

.project-location #map {
    height: 275px
}

@media (min-width:992px) {
    .project-location #map {
        height: 442px
    }
}

.gm-style-iw {
    top: 12px!important
}

.map-close {
    top: 15px!important
}

.about-header h1 {
    margin-bottom: 30px
}

.about-header .btn,
.about-header .submit-wrap input,
.about-header .upload-wrap .MultiFile-wrap:before,
.submit-wrap .about-header input,
.upload-wrap .about-header .MultiFile-wrap:before {
    font-size: 15px
}

.about-header .btn i,
.about-header .submit-wrap input i,
.about-header .upload-wrap .MultiFile-wrap:before i,
.submit-wrap .about-header input i,
.upload-wrap .about-header .MultiFile-wrap:before i {
    margin-left: 10px
}

.about-intro {
    max-width: 1440px;
    margin: 0 auto;
    background-color: #d9d9d9;
    padding: 55px 35px;
    position: relative
}

.about-intro:before {
    content: '';
    background-size: auto 411px;
    opacity: .3;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media (min-width:992px) {
    .about-intro:before {
        background-position: 10px -15px;
        background-size: auto 595px
    }
}

@media (min-width:992px) {
    .about-intro {
        padding: 75px 0 90px
    }
}

.about-intro h2,
.about-intro p {
    position: relative;
    z-index: 5
}

.about-intro h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 25px
}

@media (min-width:768px) {
    .about-intro h2 {
        font-size: 35px;
        line-height: 42px;
        margin-bottom: 25px
    }
}

.about-intro p {
    max-width: 832px;
    margin: 0 auto;
    line-height: 30px;
    font-size: 16px
}

@media (min-width:768px) {
    .about-intro p {
        line-height: 30px;
        text-align: center
    }
}

.about-projects {
    text-align: center;
    padding-bottom: 75px;
    padding-left: 35px;
    padding-right: 35px
}

@media (min-width:768px) {
    .about-projects {
        padding-bottom: 170px
    }
}

@media (min-width:1200px) {
    .about-projects {
        padding-left: 0;
        padding-right: 0
    }
}

.about-projects h2 {
    max-width: 565px;
    margin: 0 auto;

    font-style: normal;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 25px;
    line-height: 30px;
    padding: 60px 0 40px
}

@media (min-width:768px) {
    .about-projects h2 {
        font-size: 35px;
        line-height: 42px
    }
}

.about-projects>p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 30px;
    margin-bottom: 45px
}

@media (min-width:768px) {
    .about-projects>p {
        font-size: 16px;
        margin-bottom: 90px
    }
}

.about-projects .project-types {
    max-width: 1175px;
    margin: 0 auto;
    margin-bottom: 45px
}

@media (min-width:768px) {
    .about-projects .project-types {
        margin-bottom: 90px
    }
}

.about-projects .project-type {
    float: left;
    width: 50%;
    text-align: center;
    border: 1px solid #a5ccb7;
    border-width: 0 1px 1px 0;
    box-sizing: border-box
}

.about-projects .project-type:nth-child(odd) {
    border-width: 0 1px 1px 1px
}

.about-projects .project-type:first-child,
.about-projects .project-type:nth-child(2) {
    border-top-width: 1px
}

@media (min-width:768px) {
    .about-projects .project-type {
        width: 25%
    }
    .about-projects .project-type:nth-child(odd) {
        border-width: 0 1px 1px 0
    }
    .about-projects .project-type:first-child {
        border-width: 1px
    }
    .about-projects .project-type:nth-child(2),
    .about-projects .project-type:nth-child(3),
    .about-projects .project-type:nth-child(4) {
        border-width: 1px 1px 1px 0
    }
    .about-projects .project-type:nth-child(4n+5) {
        border-width: 0 1px 1px 1px
    }
}

.about-projects .project-type a {
    background-color: #fff;
    display: block;
    color: #27824d;
    position: relative;
    transition: all .25s ease-in;
    padding: 35px 0
}

.about-projects .project-type a:hover {
    background-color: #27824d
}

.about-projects .project-type a:hover i,
.about-projects .project-type a:hover p {
    opacity: 0
}

.about-projects .project-type a:hover .btn,
.about-projects .project-type a:hover .submit-wrap input,
.about-projects .project-type a:hover .upload-wrap .MultiFile-wrap:before,
.submit-wrap .about-projects .project-type a:hover input,
.upload-wrap .about-projects .project-type a:hover .MultiFile-wrap:before {
    display: block;
    min-width: 52%
}

.about-projects .project-type i {
    display: block;
    font-size: 75px;
    margin-bottom: 15px;
    transition: opacity .25s ease
}

.about-projects .project-type .icon-light-industrial {
    margin-left: -19px
}

.about-projects .project-type p {

    font-style: normal;
    font-weight: 400;
    text-transform: uppercase
}

.about-projects .project-type .btn,
.about-projects .project-type .submit-wrap input,
.about-projects .project-type .upload-wrap .MultiFile-wrap:before,
.submit-wrap .about-projects .project-type input,
.upload-wrap .about-projects .project-type .MultiFile-wrap:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    display: none
}

.about-locations {
    background: #a5ccb7 url(../images/map.svg) no-repeat center 50px;
    background-size: 315px auto;
    padding: 65px 35px 80px;
    color: #008348
}

.about-locations .wrapper {
    max-width: 1220px;
    margin: 0 auto
}

@media (min-width:768px) {
    .about-locations {
        background-image: none
    }
}

.about-locations header {
    margin-bottom: 50px
}

.about-locations header h2 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 40px;
    word-spacing: 766px
}

@media (min-width:768px) {
    .about-locations header h2 {
        font-size: 30px;
        line-height: 36px;
        margin-bottom: 30px;
        word-spacing: 0
    }
}

.about-locations header p {
    max-width: 760px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 30px
}

@media (min-width:768px) {
    .about-locations header p {
        text-align: center
    }
}

.about-locations #core-locations {
    display: none;
    margin: 75px auto
}

@media (min-width:768px) {
    .about-locations #core-locations {
        display: block;
        max-width: 75%
    }
}

.about-locations #core-locations svg {
    max-width: 1220px;
    max-height: 660px
}

.about-locations ul {
    list-style: none
}

.about-locations a {
    color: #008348
}

.about-locations a:hover {
    color: #27824d
}

.about-locations .locations {
    max-width: 1105px;
    margin: 0 auto;
    columns: 4;
    column-width: 255px
}

.about-locations .locations li {

    font-style: normal;
    font-weight: 400;
    padding-left: 40px;
    position: relative;
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 27px;
    display: inline-block;
    width: 100%
}

@media (min-width:768px) {
    .about-locations .locations li {
        padding-right: 30px
    }
}

.about-locations .locations .icon-marker-filled {
    display: none;
    position: absolute;
    left: 0;
    font-size: 36px
}

.about-locations .locations a {
    display: block;
    color: #008348;
    border-bottom: 4px solid #008348;
    padding-bottom: 6px
}

.about-locations .locations .hq a {
    display: block;
    border-bottom: 4px solid #231f20;
    padding-bottom: 6px
}

.about-locations .location-link.hover,
.about-locations .location-link:hover {
    color: #27824d
}

.about-locations .location-link.hover .icon-marker-filled,
.about-locations .location-link:hover .icon-marker-filled {
    display: block
}

.about-locations .hq .location-link.hover,
.about-locations .hq .location-link:hover {
    color: #231f20
}

.about-locations .hq .location-link.hover .icon-marker-filled,
.about-locations .hq .location-link:hover .icon-marker-filled {
    display: block
}

.about-timeline {
    padding: 50px 0
}

.about-timeline header {
    text-align: center;
    margin-bottom: 25px
}

.about-timeline .timeline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 1440px;
    margin: 0 auto;
    margin-bottom: 100px;
    position: relative
}

@media (max-width:767px) {
    .about-timeline .timeline {
        margin-bottom: 50px
    }
}

.about-timeline .timeline:before {
    content: "";
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: 2px;
    width: 15px;
    background-color: #dadada
}

@media (max-width:767px) {
    .about-timeline .timeline:before {
        left: 25px;
        top: 80px
    }
}

.about-timeline .timeline:after {
    content: "";
    z-index: 1;
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 10px;
    height: 0;
    border: 10px solid #fff;
    border-top: 10px solid #dadada
}

@media (max-width:767px) {
    .about-timeline .timeline:after {
        left: 25px
    }
}

.about-timeline .year-title {
    text-align: center;
    padding: 25px 0;
    color: #27824d
}

.about-timeline .events-section {
    position: relative
}

@media (max-width:767px) {
    .about-timeline .events-section {
        margin: 0 25px
    }
}

.about-timeline .events-section:after {
    content: "";
    min-height: 100%;
    width: 2px;
    background-color: #dadada;
    position: absolute;
    z-index: -1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%)
}

@media (max-width:767px) {
    .about-timeline .events-section:after {
        margin-left: -1px;
        top: 0;
        left: 0;
        transform: translateY(0)
    }
}

.about-timeline .events-section .event-box {
    display: -ms-flexbox;
    display: flex;
    position: relative;
    padding: 0 50px
}

@media (min-width:768px) {
    .about-timeline .events-section .event-box {
        padding: 0 75px
    }
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box {
        margin: 25px 0
    }
}

.about-timeline .events-section .event-box .event-box__inner {
    width: 40%;
    max-width: 425px;
    background: #27824d;
    padding: 20px 30px;
    color: #fff;
    position: relative;
    z-index: 2
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box .event-box__inner {
        width: 75%;
        min-width: 250px
    }
}

.about-timeline .events-section .event-box .event-box__inner .event-box__arrow {
    height: 20px;
    width: 20px;
    background-color: #27824d
}

.about-timeline .events-section .event-box .event__dot-line {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%)
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box .event__dot-line {
        left: 0;
        transform: translateX(-50%) translateY(-50%)
    }
}

.about-timeline .events-section .event-box .event__dot-line .event-dot {
    height: 15px;
    width: 15px;
    background-color: #27824d;
    border-radius: 10px;
    position: relative;
    right: 0;
    z-index: 1;
    transform: translateX(-50%) translateY(-50%)
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box .event__dot-line .event-dot {
        position: relative
    }
}

.about-timeline .events-section .event-box .event__dot-line .event__line {
    opacity: 1;
    height: 2px;
    width: 100px;
    background-color: #27824d;
    position: absolute;
    transition: 1s;
    z-index: 1
}

@media (min-width:1200px) {
    .about-timeline .events-section .event-box .event__dot-line .event__line {
        width: 175px
    }
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box.left {
        top: 0
    }
}

.about-timeline .events-section .event-box.left .event-box__arrow {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateX(50%) translateY(-50%) rotate(45deg)
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box.left .event-box__arrow {
        left: 0;
        transform: translateX(-50%) translateY(-50%) rotate(45deg)
    }
}

.about-timeline .events-section .event-box.left .event__line {
    right: 0
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box.left .event__line {
        left: 0
    }
}

.about-timeline .events-section .event-box.right {
    -ms-flex-pack: end;
    justify-content: flex-end
}

@media (max-width:767px) {
    .about-timeline .events-section .event-box.right {
        -ms-flex-pack: start;
        justify-content: flex-start;
        bottom: 0
    }
}

.about-timeline .events-section .event-box.right .event-box__arrow {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateX(-50%) translateY(-50%) rotate(45deg)
}

.about-timeline .recent-updates-btn {
    text-align: center
}

.about-timeline .recent-updates-btn a {
    background-color: #27824d;
    color: #fff;
    font-weight: 300;
    transition: .3s
}

@media (min-width:768px) {
    .about-timeline .recent-updates-btn a:hover {
        background-color: #fff;
        border-color: #27824d;
        color: #27824d
    }
}

.office-header {
    margin-bottom: 40px
}

@media (min-width:768px) {
    .office-header {
        margin-bottom: 90px
    }
}

.office-header h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    height: 250px;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    background-position: center center;
    background-size: cover;
    font-size: 30px;
    line-height: 36px;
    padding: 0 50px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media (min-width:992px) {
    .office-header h1 {
        font-size: 60px;
        height: 440px
    }
}

.office-header nav {
    display: block;
    background-color: #f4f4f4;
    position: relative;
    height: 75px
}

.office-header nav ul {
    list-style: none;
    text-align: center;
    height: 75px;
    padding: 15px 0;
    display: none
}

@media (min-width:992px) {
    .office-header nav ul {
        display: block
    }
}

.office-header nav li {
    display: inline-block;

    font-style: normal;
    font-weight: 500;
    font-size: 15px;
    padding: 2px 10px 2px 15px;
    text-transform: uppercase;
    border-left: 1px solid #333
}

.office-header nav li:last-child {
    border-right: 1px solid #333
}

.office-header nav li a {
    color: #58595b;
    display: block;
    line-height: 42px;
    padding: 0 15px
}

@media (min-width:1200px) {
    .office-header nav li a {
        padding: 0 30px
    }
}

.office-header nav li a.active,
.office-header nav li a:hover {
    background-color: #d9d9d9
}

.office-header nav .other-offices {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding-left: 15px;
    padding-right: 15px
}

@media (min-width:992px) {
    .office-header nav .other-offices {
        right: 15px;
        padding-left: 25px;
        padding-right: 25px;
        transform: translateY(-50%);
        left: inherit
    }
}

.office-info {
    max-width: 1195px;
    margin: 0 auto;
    margin-bottom: 40px;
    position: relative
}

@media (min-width:992px) {
    .office-info {
        margin-bottom: 90px
    }
}

.office-images {
    position: relative;
    overflow: hidden
}

@media (min-width:1195px) {
    .office-images {
        max-width: 720px;
        float: left
    }
}

.office-images .slick-list,
.office-images .slick-track {
    height: 100%
}

.office-images .loc-image {
    width: 720px;
    height: 300px;
    background-size: cover;
    background-position: center center
}

@media (min-width:768px) {
    .office-images .loc-image {
        height: 400px
    }
}

@media (min-width:992px) {
    .office-images .loc-image {
        height: 100%
    }
}

.office-images .slick-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%)
}

.office-images .slick-dots li {
    background: #fff
}

.office-images .open-embed {
    display: -ms-flexbox;
    display: flex;
    color: #fff;
    text-align: center;
    font-size: 74px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%
}

.office-meta {
    background-color: #f4f4f4;
    color: #58595b;
    font-size: 15px;
    padding: 30px
}

@media (min-width:768px) {
    .office-meta {
        font-size: 20px
    }
}

@media (min-width:1195px) {
    .office-meta {
        float: right;
        min-height: 549px;
        width: 460px
    }
}

.office-meta h2 {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .office-meta h2 {
        font-size: 30px;
        margin-bottom: 20px
    }
}

.office-meta [class*=" icon-"],
.office-meta [class^=icon-] {
    color: #27824d;
    font-size: 20px;
    position: absolute;
    left: 0
}

@media (min-width:768px) {
    .office-meta [class*=" icon-"],
    .office-meta [class^=icon-] {
        font-size: 27px
    }
}

.office-meta ul {
    margin-bottom: 30px
}

.office-meta li {
    list-style: none;
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px
}

@media (min-width:768px) {
    .office-meta li {
        padding-left: 35px
    }
}

.office-meta p {
    color: #0d0d0d;
    font-size: 15px;
    line-height: 21px
}

@media (min-width:768px) {
    .office-meta p {
        font-size: 16px;
        line-height: 28px
    }
}

.office-team {
    max-width: 1220px;
    margin: 0 auto;
    text-align: center;
    padding: 30px 0 55px;
    border-top: 1px solid #d9d9d9
}

.office-team h3 {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 25px;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .office-team h3 {
        font-size: 35px;
        margin: 50px 0 60px
    }
}

.office-team .team-members {
    max-width: 1150px;
    margin: 0 auto;
    padding: 0 15px;
    margin-bottom: 40px
}

@media (min-width:992px) {
    .office-team .team-members {
        padding: 0
    }
    .office-team .team-members.is-inline {
        text-align: center
    }
    .office-team .team-members.is-inline .team-member {
        float: none;
        display: inline-block
    }
}

.office-team .team-member {
    position: relative;
    overflow: hidden;
    color: #fff
}

@media (min-width:768px) {
    .office-team .team-member {
        float: left;
        width: 50%
    }
}

@media (min-width:992px) {
    .office-team .team-member {
        width: calc(33.3% - 14px);
        height: 372px;
        margin: 7px
    }
}

.office-team .team-member:hover div {
    opacity: 1
}

.office-team .team-member img {
    width: 100%
}

@media (min-width:992px) {
    .office-team .team-member img {
        width: auto;
        height: 100%;
        position: relative;
        left: 50%;
        transform: translateX(-50%)
    }
}

.office-team .team-member div {
    background-color: rgba(39, 130, 77, .8);
    transition: all .25s ease-in;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center
}

@media (min-width:992px) {
    .office-team .team-member div {
        opacity: 0;
        bottom: inherit;
        top: 0;
        height: 100%
    }
}

.office-team .team-member div p {

    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    width: 85%;
    padding: 7px 0
}

@media (min-width:768px) {
    .office-team .team-member div p {
        font-size: 20px
    }
}

@media (min-width:992px) {
    .office-team .team-member div p {
        width: 75%;
        max-width: 180px
    }
}

.office-team .team-member div p:first-child {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    border-bottom: 1px solid #d9d9d9;
    text-transform: uppercase
}

@media (min-width:768px) {
    .office-team .team-member div p:first-child {
        border-bottom-width: 5px
    }
}

.office-team .join-team p {
    font-size: 18px;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .office-team .join-team p {
        font-size: 20px
    }
}

.office-stories {
    max-width: 1210px;
    margin: 0 auto;
    text-align: center;
    border-top: 1px solid #d9d9d9;
    padding-bottom: 90px
}

.office-stories h3 {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 25px;
    margin: 75px 0 30px
}

@media (min-width:768px) {
    .office-stories h3 {
        font-size: 35px;
        margin: 90px 0 50px
    }
}

.office-stories .blog-entry {
    text-align: left;
    padding: 45px 35px
}

.office-stories .blog-entry a {
    color: #27824d
}

.office-stories .blog-entry a:hover {
    color: #0f341f
}

.office-stories .blog-entry:nth-child(odd) {
    background-color: #f4f4f4
}

.office-stories .blog-entry .blog-featured-img {
    background-color: #eee;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    margin-bottom: 20px;
    width: 100%;
    min-height: 208px
}

@media (min-width:992px) {
    .office-stories .blog-entry .blog-featured-img {
        float: left;
        margin-bottom: 0;
        width: 400px
    }
}

.office-stories .blog-entry header {
    padding-top: 10px
}

@media (min-width:768px) {
    .office-stories .blog-entry header {
        margin-left: 470px;
        margin-bottom: 10px
    }
}

.office-stories .blog-entry h4 {

    font-style: normal;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 20px;
    margin-bottom: 20px;
    line-height: 24px
}

@media (min-width:768px) {
    .office-stories .blog-entry h4 {
        font-size: 25px
    }
}

.office-stories .blog-entry p {
    font-size: 14px
}

@media (min-width:768px) {
    .office-stories .blog-entry p {
        font-size: 20px;
        line-height: 30px
    }
}

@media (min-width:768px) {
    .office-stories .blog-entry-content {
        margin-left: 470px
    }
}

.office-stories .blog-entry-content p {
    font-size: 14px;
    line-height: 24px
}

@media (min-width:768px) {
    .office-stories .blog-entry-content p {
        font-size: 20px;
        line-height: 30px
    }
}

.office-stories .btn.filled,
.office-stories .submit-wrap input,
.office-stories .upload-wrap .MultiFile-wrap:before,
.submit-wrap .office-stories input,
.upload-wrap .office-stories .MultiFile-wrap:before {
    margin-top: 40px
}

.office-video.is-playing {
    display: block
}

.careers-header h1 {
    margin-bottom: 15px
}

.careers-header p {
    width: 80;
    max-width: 580px;
    margin: 10px 0 0 0
}

.careers-content {
    margin-bottom: 15px
}

.careers-content .image {
    display: none;
    background-position: center center;
    background-size: cover
}

@media (min-width:992px) {
    .careers-content .image {
        display: block;
        float: left;
        height: 460px;
        width: 540px
    }
}

.careers-content .content {
    background-color: #27824d;
    color: #fff;
    padding: 60px 30px;
    text-align: center
}

@media (min-width:992px) {
    .careers-content .content {
        float: right;
        padding: 120px 90px;
        width: 100%
    }
}

.careers-content .content h2 {
    margin-bottom: 20px
}

.careers-content .content p {
    font-size: 15px;
    line-height: 28px;
    max-width: 650px;
    margin: 0 auto
}

@media (min-width:768px) {
    .careers-content .content p {
        font-size: 16px;
        line-height: 30px
    }
}

.internship-intro {
    margin: 74px 0 0 0
}

.internship-intro .content {
    background-color: #333;
    width: 100%;
    float: left
}

@media (min-width:992px) {
    .internship-intro .content {
        width: calc(100% - 550px)
    }
}

.internship-intro .image {
    float: right
}

.careers-slider-container {
    max-width: 1440px;
    margin: 0 auto;
    clear: both
}

.careers-slider {
    overflow: hidden;
    position: relative
}

.careers-slider .careers-slides {
    margin: 0 -15px
}

.careers-slider .careers-slides .career-slide {
    margin: 0 5px
}

.careers-slider .careers-slides img {
    max-height: 237px
}

@media (min-width:1200px) {
    .careers-slider .careers-slides img {
        max-height: 572px
    }
}

.careers-slider:after,
.careers-slider:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    top: 50%;
    color: #fff;
    text-shadow: 0 0 3px rgba(35, 31, 32, .8);
    font-size: 38px;
    z-index: 49
}

.careers-slider:before {
    content: "\e916";
    left: 25px
}

.careers-slider:after {
    content: "\e917";
    right: 25px
}

.careers-slider .slick-arrow {
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 50;
    width: 100px;
    text-indent: -9999px;
    cursor: pointer
}

.careers-slider .slick-prev {
    left: 0
}

.careers-slider .slick-next {
    right: 0
}

.careers-nav {
    position: relative;
    width: 100%;
    margin: 18px auto 0;
    overflow: auto
}

@media (min-width:790px) {
    .careers-nav {
        width: 776px;
        margin: 122px auto
    }
}

@media (min-width:1200px) {
    .careers-nav {
        width: 1176px
    }
}

.careers-nav .careers-block {
    position: relative;
    width: 100%;
    height: 340px;
    float: left;
    margin: 0 0 18px 0;
    text-align: center;
    overflow: hidden
}

@media (min-width:790px) {
    .careers-nav .careers-block {
        width: 370px;
        margin: 0 9px 0 9px
    }
}

@media (min-width:1200px) {
    .careers-nav .careers-block {
        width: 570px
    }
}

.careers-nav .careers-block:after {
    content: '';
    background: #231f20;
    opacity: .4;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    z-index: 5
}

.careers-nav .careers-block:hover .block-image {
    transform: scale(1.05)
}

.careers-nav .careers-block:hover:after {
    opacity: .6
}

.careers-nav .careers-block .block-image {
    background-size: cover;
    background-position: center;
    height: 100%;
    width: 100%;
    transition: all .5s ease
}

.careers-nav .careers-block .block {
    position: absolute;
    overflow: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 230px;
    height: 180px;
    z-index: 6
}

.careers-nav .careers-block .block h3 {
    color: #fff;
    text-transform: uppercase;
    font: 500 30px/37px "Vitesse A", "Vitesse B"
}

.careers-nav .careers-block .block a {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto
}

.internship-header:before {
    background-color: #27824d;
    opacity: .8
}

.internship-header .text {
    position: relative;
    z-index: 5
}

.intern-testimonial p {
    text-align: left
}

.intern-testimonial p,
.intern-testimonial span {
    text-transform: uppercase
}

.event-block {
    overflow: auto;
    width: 100%;
    max-width: 897px;
    border: 2px solid #d9d9d9;
    margin: 19px auto
}

.event-block .date {
    position: relative;
    width: 78px;
    height: 83px;
    text-align: center;
    background-color: #a5ccb7;
    float: left;
    margin: 19px 31px 19px 19px
}

.event-block .date span {
    display: block;
    font: 400 10px/18px "Vitesse A", "Vitesse B";
    color: #fff;
    width: 100%;
    height: 18px;
    background-color: #27824d;
    text-transform: uppercase
}

.event-block .date p {
    color: #27824d;
    font: 500 50px "Vitesse A", "Vitesse B"
}

.event-block .location,
.event-block .title {
    float: left;
    font: 14px/24px "Forza SSm A", "Forza SSm B";
    color: #888;
    margin: 14px 20px 0 0
}

@media (min-width:768px) {
    .event-block .location,
    .event-block .title {
        margin: 49px 20px 0 0;
        font: 16px/24px "Forza SSm A", "Forza SSm B"
    }
}

.event-block .title {
    width: calc(100% - 160px)
}

@media (min-width:768px) {
    .event-block .title {
        width: calc(100% - 510px)
    }
}

@media (min-width:992px) {
    .event-block .title {
        width: 383px
    }
}

.event-block .location {
    display: none
}

@media (min-width:400px) {
    .event-block .location {
        display: block
    }
}

@media (min-width:768px) {
    .event-block .location {
        width: 191px
    }
}

@media (min-width:992px) {
    .event-block .location {
        width: 191px
    }
}

.event-block .title a {
    color: #888
}

.event-block .title a:hover {
    color: #333
}

.event-block .event-btn {
    float: left;
    display: none;
    font: 500 14px/18px "Forza SSm A", "Forza SSm B";
    text-transform: uppercase;
    text-align: center;
    padding: 11px 25px;
    margin: 39px 0;
    background-color: #dadada;
    color: #333;
    transition: all 250ms ease-in
}

@media (min-width:768px) {
    .event-block .event-btn {
        display: inline-block
    }
}

.event-block .event-btn:hover {
    background-color: #27824d;
    color: #fff
}

.event-info {
    max-width: 1210px;
    margin: 0 auto
}

@media (min-width:992px) {
    .event-info .map,
    .event-info .text {
        width: 50%;
        float: left
    }
}

.event-info .map {
    margin-bottom: 15px
}

@media (min-width:992px) {
    .event-info .map {
        margin-bottom: 0
    }
}

.event-info #map {
    width: 100%;
    height: 275px
}

@media (min-width:992px) {
    .event-info #map {
        height: 100%
    }
}

.event-info .text {
    background-color: #27824d;
    color: #fff;
    padding: 50px 30px
}

@media (min-width:992px) {
    .event-info .text {
        padding: 50px 90px
    }
}

.event-info .text h2 {

    font-style: normal;
    font-weight: 700;
    text-transform: none;
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 30px
}

@media (min-width:768px) {
    .event-info .text h2 {
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 15px
    }
}

.event-info .text p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 35px
}

@media (min-width:768px) {
    .event-info .text p {
        font-size: 16px;
        line-height: 30px;
        margin-bottom: 50px
    }
}

.event-info .text p:last-child {
    margin-bottom: 0
}

.event-additional-info {
    max-width: 1210px;
    margin: 0 auto;
    padding: 55px 30px
}

@media (min-width:768px) {
    .event-additional-info {
        padding-top: 68px;
        padding-bottom: 100px
    }
}

@media (min-width:1200px) {
    .event-additional-info {
        padding-left: 0;
        padding-right: 0
    }
}

.event-additional-info h2 {
    color: #58595b;

    font-style: normal;
    font-weight: 500;
    text-transform: none;
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 30px
}

@media (min-width:768px) {
    .event-additional-info h2 {
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 15px
    }
}

.event-additional-info li,
.event-additional-info p {
    max-width: 825px;
    font-size: 15px;
    line-height: 30px;
    margin-bottom: 35px
}

@media (min-width:768px) {
    .event-additional-info li,
    .event-additional-info p {
        font-size: 16px;
        line-height: 30px;
        margin-bottom: 50px
    }
}

.event-additional-info ul {
    padding-left: 17px
}

.event-additional-info ul li {
    margin-bottom: 0;
    padding-left: 5px
}

.opening-header {
    margin-bottom: 40px
}

.opening-header h1 {
    text-transform: uppercase
}

.position-details>.container {
    max-width: 1210px;
    margin: 0 auto;
    position: relative;
    padding: 0 15px 15px
}

@media (min-width:768px) {
    .position-details>.container {
        padding-bottom: 130px
    }
}

@media (min-width:1200px) {
    .position-details>.container {
        padding-left: 0
    }
}

@media (min-width:768px) {
    .position-details .position-details-wrapper {
        float: left;
        width: calc(100% - 400px);
        max-width: 688px
    }
}

.position-details .position-qualifications {
    background-color: #dadada;
    padding: 40px 20px
}

@media (min-width:768px) {
    .position-details .position-qualifications {
        float: right;
        width: 375px;
        padding: 45px 40px
    }
}

.position-details .position-qualifications ul {
    padding-left: 18px
}

.position-details .position-qualifications ul li {
    margin-bottom: 35px
}

.position-details .position-qualifications ul li:last-child {
    margin-bottom: 0
}

.position-details section {
    border-bottom: 1px solid #dadada;
    padding-bottom: 40px;
    padding: 40px 15px 40px
}

.position-details section:first-child {
    border-top: 1px solid #dadada
}

@media (min-width:768px) {
    .position-details section:first-child {
        border-bottom: 1px solid #dadada;
        border-top: 0
    }
}

.position-details section:last-child {
    border-bottom: 0
}

@media (min-width:768px) {
    .position-details section {
        padding: 40px 0
    }
}

.position-details section h2 {
    color: #58595b;

    font-style: normal;
    font-weight: 700;
    text-transform: none;
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 30px
}

@media (min-width:768px) {
    .position-details section h2 {
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 15px
    }
}

.position-details section li,
.position-details section p {
    font-size: 15px;
    line-height: 30px;
    margin-bottom: 35px
}

@media (min-width:768px) {
    .position-details section li,
    .position-details section p {
        font-size: 16px;
        line-height: 30px;
        margin-bottom: 50px
    }
}

.position-details section li:last-child,
.position-details section p:last-child {
    margin-bottom: 0
}

.position-details .additional-requirements ul {
    padding-left: 17px
}

.position-details .additional-requirements ul li {
    margin-bottom: 0;
    padding-left: 5px
}

.openings-header {
    margin-bottom: 15px;
    position: relative;
    height: 250px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-position: center center;
    background-size: cover
}

.openings-header:before {
    content: '';
    background: #231f20;
    opacity: .5;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s ease;
    z-index: 1
}

.openings-header h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    z-index: 5;
    position: relative;
    text-align: center;
    font-size: 30px;
    line-height: 36px
}

@media (min-width:768px) {
    .openings-header h1 {
        font-size: 60px;
        line-height: 72px
    }
}

.openings-intro {
    background-color: #27824d;
    color: #fff;
    padding: 60px 30px 80px;
    text-align: center
}

@media (min-width:768px) {
    .openings-intro {
        padding: 90px 30px 110px
    }
}

.openings-intro h2,
.openings-intro p {
    max-width: 684px;
    margin: 0 auto
}

.openings-intro h2 {

    font-style: normal;
    font-weight: 400;
    margin-bottom: 30px
}

.openings-intro p {
    line-height: 24px
}

.openings-list {
    padding: 65px 0 70px;
    margin: 0 15px
}

@media (min-width:768px) {
    .openings-list {
        padding: 150px 0 110px
    }
}

@media (min-width:1200px) {
    .openings-list {
        max-width: 1205px;
        margin: 0 auto
    }
}

.openings-list.border {
    border-top: 1px solid #dadada
}

.openings-list h2 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    text-align: center;
    margin-bottom: 35px
}

@media (min-width:768px) {
    .openings-list h2 {
        font-size: 35px;
        line-height: 42px;
        margin-bottom: 55px
    }
}

.openings-list table {
    width: 100%
}

.openings-list tr:nth-child(odd) td {
    background-color: #dadada
}

.openings-list td,
.openings-list th {
    text-align: left;
    color: #58595b
}

.openings-list th {

    font-style: normal;
    font-weight: 700;
    padding: 7px 20px;
    font-size: 15px;
    cursor: pointer;
    opacity: 1
}

@media (min-width:768px) {
    .openings-list th {
        font-size: 20px;
        padding: 18px 45px
    }
}

.openings-list th:hover {
    transition: opacity .25s ease-in-out;
    opacity: .5
}

.openings-list td {

    font-style: normal;
    font-weight: 400;
    padding: 15px 20px;
    font-size: 14px
}

@media (min-width:768px) {
    .openings-list td {
        font-size: 16px;
        padding: 18px 45px
    }
}

.openings-list .opening-title a {
    color: #58595b
}

.openings-list .opening-title a:hover {
    color: #262627
}

.openings-list .opening-link {
    display: none;
    text-align: right;
    text-transform: uppercase;
    font-size: 18px;

    font-style: normal;
    font-weight: 500
}

.openings-list .opening-link a {
    color: #27824d
}

.openings-list .opening-link a:hover {
    color: #0f341f
}

@media (min-width:768px) {
    .openings-list .opening-link {
        display: table-cell
    }
}

#sortable-intern tr:nth-child(odd) td {
    background-color: #a5ccb7
}

.openings-testimonials {
    border-bottom: 0;
    margin-top: 0;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .openings-testimonials {
        margin-bottom: 35px
    }
}

.job-application {
    padding: 25px;
    max-width: 670px;
    margin: 125px auto 50px
}

.news-header {
    padding: 40px 30px
}

@media (min-width:768px) {
    .news-header {
        padding: 90px 30px
    }
}

.news-header h1 {
    text-transform: uppercase;
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    text-align: center;
    font-size: 30px;
    line-height: 36px
}

@media (min-width:768px) {
    .news-header h1 {
        font-size: 60px;
        line-height: 72px
    }
}

.news-wrapper {
    max-width: 1215px;
    margin: 0 auto
}

@media (min-width:768px) {
    .news-wrapper {
        padding: 0 15px 0 0
    }
}

@media (min-width:1200px) {
    .news-wrapper {
        padding: 0
    }
}

@media (min-width:768px) {
    .news-posts {
        float: left;
        width: calc(100% - 350px)
    }
}

.news-posts .load-more {
    text-align: center;
    clear: both;
    padding-bottom: 50px
}

.entry {
    padding: 30px 0;
    width: calc(100% - 70px);
    margin: 0 auto
}

.entry a {
    color: #27824d
}

.entry a:hover {
    color: #a5ccb7
}

.entry-title {

    font-style: normal;
    font-weight: 400;
    margin-bottom: 30px
}

.entry-title a {
    color: #27824d
}

.entry-title a:hover {
    color: #a5ccb7
}

.entry .blog-featured-img {
    margin-bottom: 25px
}

.entry-image {
    width: 100%;
    margin-bottom: 25px
}

.entry-meta {
    margin-bottom: 5px;
    font-size: 18px
}

.entry-excerpt {
    font-size: 18px;
    line-height: 26px
}

@media (min-width:768px) {
    .entry {
        width: calc(50% - 46px);
        margin: 0 23px;
        float: left;
        border: 0;
        padding: 0 0 55px
    }
    .entry.project,
    .entry.wide {
        width: calc(100% - 46px)
    }
    .entry.project {
        border: 1px solid #dadada;
        border-width: 1px 0;
        padding: 50px 0;
        margin-bottom: 45px
    }
}

.news-sidebar {
    padding: 0 15px
}

@media (min-width:768px) {
    .news-sidebar {
        float: right;
        width: 290px;
        padding-left: 0
    }
}

@media (min-width:1200px) {
    .news-sidebar {
        padding: 0
    }
}

.news-sidebar .widget {
    background-color: #f4f4f4;
    margin-bottom: 70px;
    padding: 40px;

    font-style: normal;
    font-weight: 500
}

.news-sidebar .widget h3 {
    text-align: center;
    text-transform: uppercase;
    font-size: 20px;
    color: #58595b;
    margin-bottom: 20px
}

.news-sidebar .search-widget {
    background-color: #27824d
}

.news-sidebar .search-widget h3 {
    color: #fff
}

.news-sidebar .search-widget input {
    background-color: #fff;
    display: block;
    width: calc(100% - 40px);
    line-height: 42px;
    padding: 0 20px;
    float: left
}

.news-sidebar .search-widget button {
    background-color: #fff;
    display: block;
    height: 42px;
    width: 40px;
    padding: 0;
    float: right;
    cursor: pointer;
    position: relative;
    color: #231f20;
    line-height: 45px;
    overflow: hidden;
    transition: all .5s ease-in-out
}

.news-sidebar .search-widget button:hover {
    background-color: #f4f4f4
}

.news-sidebar .tag-widget li {
    list-style: none;
    margin-bottom: 15px
}

.news-sidebar .tag-widget li:last-child {
    margin-bottom: 0
}

.news-sidebar .tag-widget a {
    display: block;
    background-color: #fff;
    text-align: center;
    color: #231f20;
    transition: all .5s ease-in-out;
    font-size: 16px;
    text-transform: uppercase;
    line-height: 42px
}

.news-sidebar .tag-widget a:hover {
    background-color: #a5ccb7;
    color: #fff
}

.news-sidebar .archive-widget {
    background-color: #fff;
    border: 1px solid #dadada
}

.news-sidebar .archive-widget .select2 {
    background-color: #dadada;
    height: 42px;
    line-height: 42px;
    text-align: center;
    text-transform: uppercase
}

.news-sidebar .archive-widget .select2-selection__arrow {
    width: 25px;
    margin-right: 20px;
    font-size: 16px
}

.news-sidebar .archive-widget .select2-selection__arrow:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e915"
}

.news-sidebar .archive-widget .select2-container--open .select2-selection__arrow:before {
    content: "\e918"
}

.post {
    max-width: 1210px;
    margin: 0 auto;
    padding: 30px 15px 0
}

.post .intern-testimonial,
.post .openings-testimonials,
.post .opex-testimonials,
.post .testimonials {
    padding-left: 0;
    padding-right: 0
}

.post .intern-testimonial blockquote,
.post .openings-testimonials blockquote,
.post .opex-testimonials blockquote,
.post .testimonials blockquote {
    border-bottom: 1px solid #dadada
}

@media (min-width:768px) {
    .post .intern-testimonial blockquote,
    .post .openings-testimonials blockquote,
    .post .opex-testimonials blockquote,
    .post .testimonials blockquote {
        padding: 125px 100px 80px
    }
}

.post-header {
    margin-bottom: 25px
}

@media (min-width:768px) {
    .post-header {
        margin-bottom: 40px
    }
}

.post-header a {
    color: #27824d
}

.post-header a:hover {
    color: #0f341f
}

.post-header h1 {

    font-style: normal;
    font-weight: 400;
    color: #27824d;
    font-size: 25px;
    line-height: 32px;
    margin-bottom: 2px
}

@media (min-width:768px) {
    .post-header h1 {
        font-size: 30px;
        line-height: 38px;
        margin-bottom: 5px
    }
}

.post-header p {
    font-size: 18px;
    line-height: 32px
}

@media (min-width:768px) {
    .post-header p {
        font-size: 21px;
        line-height: 34px
    }
}

.post-slider .slick-dots {
    position: relative;
    bottom: 25px
}

.post-slider .slick-dots li {
    float: none
}

.post .split-media {
    border: 1px solid #dadada
}

.post .split-media .media {
    background-color: #27824d;
    min-height: 170px;
    position: relative;
    background-size: cover
}

.post .split-media .media:before {
    background-color: #27824d;
    opacity: .3
}

@media (min-width:768px) {
    .post .split-media .media {
        float: left;
        width: 50%;
        min-height: 350px
    }
}

.post .split-media .media a {
    color: #dadada;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
    font-size: 52px
}

@media (min-width:768px) {
    .post .split-media .media a {
        font-size: 105px
    }
}

.post .split-media .media a:hover {
    color: #fff
}

.post .split-media .media .embed {
    display: none
}

.post .split-media .text {
    padding: 35px 40px
}

@media (min-width:768px) {
    .post .split-media .text {
        float: right;
        width: 50%;
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 35px 60px
    }
}

.post .split-media .text p:last-child {
    margin-bottom: 0
}

.post .split-content {
    padding-bottom: 150px
}

.post .split-content h2 {
    color: #58595b;
    font-size: 20px;
    line-height: 20px;
    margin-bottom: 24px
}

@media (min-width:768px) {
    .post .split-content .content {
        columns: 2;
        column-gap: 105px
    }
}

.post .intern-testimonial,
.post .openings-testimonials,
.post .opex-testimonials,
.post .testimonials {
    border-bottom: 0;
    padding-bottom: 0;
    margin-bottom: 50px
}

.post .intern-testimonial blockquote,
.post .openings-testimonials blockquote,
.post .opex-testimonials blockquote,
.post .testimonials blockquote {
    padding-bottom: 50px
}

.post-content p {
    margin-bottom: 30px
}

@media (min-width:768px) {
    .post-content p {
        font-size: 20px;
        line-height: 30px
    }
}

.post-content .intern-testimonial,
.post-content .openings-testimonials,
.post-content .opex-testimonials,
.post-content .split-media,
.post-content .testimonials,
.post-content>.text {
    margin: 0 0 30px
}

@media (min-width:992px) {
    .post-content .intern-testimonial,
    .post-content .openings-testimonials,
    .post-content .opex-testimonials,
    .post-content .split-media,
    .post-content .testimonials,
    .post-content>.text {
        margin-bottom: 50px
    }
}

@media (min-width:1200px) {
    .post-content .intern-testimonial,
    .post-content .openings-testimonials,
    .post-content .opex-testimonials,
    .post-content .split-media,
    .post-content .testimonials,
    .post-content>.text {
        margin-bottom: 100px
    }
}

.related-posts {
    background-color: #dadada;
    text-align: center;
    padding: 45px 0 35px;
    margin-bottom: 10px
}

@media (min-width:768px) {
    .related-posts {
        padding: 80px 0
    }
}

.related-posts img {
    width: 100%
}

.related-posts-slider {
    max-width: 1130px;
    margin: 0 auto;
    margin: 35px auto
}

@media (min-width:768px) {
    .related-posts-slider {
        margin: 75px auto 65px
    }
}

.related-posts .slick-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 36px;
    overflow: hidden;
    cursor: pointer
}

.related-posts .slick-arrow:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-right: 1000px;
    font-size: 36px
}

.related-posts .slick-prev {
    left: -30px
}

@media (min-width:1200px) {
    .related-posts .slick-prev {
        left: -60px
    }
}

.related-posts .slick-prev:before {
    content: "\e916"
}

.related-posts .slick-next {
    right: -30px
}

@media (min-width:1200px) {
    .related-posts .slick-next {
        right: -60px
    }
}

.related-posts .slick-next:before {
    content: "\e917"
}

.related-posts .related-post {
    padding: 0 6px;
    text-align: center;
    position: relative
}

@media (min-width:992px) {
    .related-posts .related-post {
        width: 33.3%
    }
}

.related-posts .related-post .related-posts-image {
    background-size: cover;
    max-width: 370px;
    height: 190px;
    overflow: hidden;
    position: relative
}

.related-posts .related-post .related-posts-image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to bottom, rgba(249, 249, 249, 0), #000);
    opacity: .5
}

.related-posts .related-post span {
    text-transform: uppercase;
    color: #fff;
    font-size: 13px;
    line-height: 16px;
    position: absolute;
    bottom: 18px;
    left: 0;
    width: 100%;
    z-index: 5
}

@media (min-width:768px) {
    .related-posts .related-post span {
        font-size: 15px;
        line-height: 18px;
        bottom: 25px
    }
}

.post-slider-image {
    height: 300px;
    max-width: 1241px;
    background-size: cover;
    background-position: center center
}

@media (min-width:992px) {
    .post-slider-image {
        height: 645px
    }
}

.search .news-posts {
    float: none;
    margin: 0 auto;
    width: calc(100% - 150px)
}

.search .entry {
    float: none;
    width: 100%;
    margin: 0 auto 50px;
    padding: 50px 0 0 0;
    clear: both;
    overflow: auto;
    border: none
}

.search .entry .blog-featured-img {
    width: 100%;
    float: left
}

@media (min-width:992px) {
    .search .entry .blog-featured-img {
        width: 40%
    }
}

@media (min-width:1200px) {
    .search .entry .blog-featured-img {
        width: 40%
    }
}

.search .entry .archive-info {
    float: left;
    width: 100%;
    margin: 0
}

@media (min-width:992px) {
    .search .entry .archive-info {
        width: 50%;
        margin: 0 0 0 10%
    }
}

@media (min-width:1200px) {
    .search .entry .archive-info {
        width: 50%;
        margin: 0 0 0 105px
    }
}

.search .entry .archive-info .entry-title span {
    font-size: 20px
}

.search .entry .archive-info .entry-title a {
    font-size: 26px;
    line-height: 30px;
    display: block
}

.full-width .news-posts {
    float: none;
    margin: 0 auto;
    width: calc(100% - 150px)
}

.full-width .entry {
    float: none;
    width: calc(100% - 70px);
    margin: 0 auto 50px;
    padding: 25px 0;
    clear: both;
    overflow: auto;
    border: none;
    background-color: #fff
}

@media (min-width:992px) {
    .full-width .entry {
        background-color: #f4f4f4;
        width: calc(100% - 50px)
    }
}

.full-width .entry .blog-featured-img {
    width: 100%;
    float: left;
    margin: 0 0 25px 0
}

@media (min-width:992px) {
    .full-width .entry .blog-featured-img {
        width: 40%;
        margin: 0 0 0 20px
    }
}

@media (min-width:1200px) {
    .full-width .entry .blog-featured-img {
        width: 40%;
        margin: 0 0 0 20px
    }
}

.full-width .entry .archive-info {
    float: left;
    width: calc(100% - 20px);
    margin: 0
}

@media (min-width:992px) {
    .full-width .entry .archive-info {
        margin: 0 0 0 10%;
        width: calc(45% - 20px)
    }
}

@media (min-width:1200px) {
    .full-width .entry .archive-info {
        margin: 0 0 0 85px;
        width: calc(45% - 20px)
    }
}

.full-width .entry .archive-info .entry-title span {
    font-size: 20px
}

.full-width .entry .archive-info .entry-title a {
    font-size: 26px;
    line-height: 30px;
    display: block
}

.news-post-entry h2 {
    font-size: 26px;
    line-height: 30px;
    margin: 0 0 5px 0
}

.news-post-entry .date-location {
    margin: 0 0 25px 0
}

.opex-container {
    overflow: hidden
}

.opex-container .opex-slide {
    position: relative
}

.opex-header,
.opex-quality {
    background-position: center center;
    background-size: cover;
    overflow: hidden
}

@media (min-width:768px) {
    .opex-header,
    .opex-quality {
        background-attachment: fixed
    }
}

.opex-header {
    text-align: center;
    position: relative;
    padding: 30px 30px 120px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.opex-header:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(255, 255, 255, .9)
}

.opex-header .content {
    position: relative;
    z-index: 5;
    width: 100%
}

.opex-header .play-video,
.opex-header h2,
.opex-header img {
    transform: translateY(30%);
    opacity: 0
}

.opex-header img {
    transition: all .5s ease-in
}

.opex-header .play-video {
    transition: all .75s ease-in
}

.opex-header h2 {
    transition: all 1s ease-in
}

.opex-header .icon-light-arrow-down,
.opex-header p {
    transform: translateY(10%);
    opacity: 0;
    transition: all 1s ease-in;
    transition-delay: .5s
}

.opex-header .icon-light-arrow-down {
    margin-left: -19px
}

@media (min-width:768px) {
    .opex-header .icon-light-arrow-down {
        margin-left: 0
    }
}

.opex-header.animate .icon-light-arrow-down,
.opex-header.animate .play-video,
.opex-header.animate h2,
.opex-header.animate img,
.opex-header.animate p {
    transform: translateY(0);
    opacity: 1
}

.opex-header img {
    max-width: 495px
}

.opex-header .play-video {
    display: block;
    margin: 30px 0;
    color: #27824d
}

@media (min-width:1440px) {
    .opex-header .play-video {
        margin: 95px 0
    }
}

.opex-header .icon-play {
    font-size: 60px
}

@media (min-width:768px) {
    .opex-header .icon-play {
        font-size: 102px
    }
}

.opex-header h2 {
    color: #58595b;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 20px
}

@media (min-width:768px) {
    .opex-header h2 {
        font-size: 35px;
        line-height: 42px
    }
}

.opex-header p {
    font-size: 12px;
    line-height: 22px;
    max-width: 820px;
    margin: 0 auto 15px
}

@media (min-width:768px) {
    .opex-header p {
        font-size: 16px;
        line-height: 30px;
        margin-bottom: 60px
    }
}

.opex-header .icon-light-arrow-down {
    font-size: 38px;
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    animation: animationFrames ease-in-out 2s;
    animation-iteration-count: infinite
}

@media (min-width:768px) {
    .opex-header .icon-light-arrow-down {
        font-size: 52px
    }
}

.opex-header .embed {
    width: 80%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: auto;
    box-shadow: 0 0 150px 0 rgba(51, 51, 51, .7)
}

@keyframes animationFrames {
    0% {
        transform: translate(-50%, 0)
    }
    50% {
        transform: translate(-50%, -50%)
    }
    100% {
        transform: translate(-50%, 0)
    }
}

.opex-quality {
    padding: 100px 15px
}

@media (min-width:992px) {
    .opex-quality {
        padding: 0 15px 0 120px
    }
}

.opex-quality:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.opex-quality:nth-child(3n+1):before {
    background-color: rgba(39, 130, 77, .9)
}

.opex-quality:nth-child(3n+2):before {
    background-color: rgba(51, 51, 51, .9)
}

.opex-quality:nth-child(3n+3):before {
    background-color: rgba(165, 204, 183, .9)
}

@media (min-width:992px) {
    .opex-quality .container {
        display: -ms-flexbox;
        display: flex;
        max-width: 1440px;
        margin: 0 auto;
        height: 100%;
        -ms-flex-align: center;
        align-items: center
    }
    .opex-quality:nth-child(even) .content {
        border-left: 1px solid #dadada;
        padding-left: 70px;
        padding-right: 35px
    }
    .opex-quality:nth-child(odd) .container {
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
    .opex-quality:nth-child(odd) .content {
        border-right: 1px solid #dadada;
        padding-right: 70px;
        padding-left: 35px;
        text-align: right
    }
}

.opex-quality .title {
    min-height: 230px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

@media (min-width:992px) {
    .opex-quality .title {
        min-height: 420px;
        width: 510px
    }
}

.opex-quality .title span {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 400;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 230px;
    opacity: .3;
    color: #dadada;
    line-height: 230px;
    z-index: 3
}

@media (min-width:992px) {
    .opex-quality .title span {
        font-size: 420px;
        line-height: 420px
    }
}

.opex-quality .title h2 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 400;
    position: relative;
    z-index: 5;
    color: #fff;
    font-size: 30px
}

@media (min-width:992px) {
    .opex-quality .title h2 {
        font-size: 60px;
        line-height: 72px
    }
}

.opex-quality .content {
    position: relative;
    z-index: 5;
    color: #fff;
    border-top: 1px solid #dadada;
    padding-top: 22px
}

@media (min-width:992px) {
    .opex-quality .content {
        border-top: 0;
        width: 100%;
        -ms-flex: 1;
        flex: 1;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
        align-items: center;
        padding-top: 0
    }
}

.opex-quality .content p {
    font-size: 16px;
    line-height: 30px
}

@media (min-width:768px) {
    .opex-quality .content p {
        font-size: 20px;
        line-height: 44px
    }
}

.opex-quality .content .btn,
.opex-quality .content .submit-wrap input,
.opex-quality .content .upload-wrap .MultiFile-wrap:before,
.submit-wrap .opex-quality .content input,
.upload-wrap .opex-quality .content .MultiFile-wrap:before {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    top: 35px
}

@media (min-width:992px) {
    .opex-quality .content .btn,
    .opex-quality .content .submit-wrap input,
    .opex-quality .content .upload-wrap .MultiFile-wrap:before,
    .submit-wrap .opex-quality .content input,
    .upload-wrap .opex-quality .content .MultiFile-wrap:before {
        top: auto;
        bottom: -82px;
        position: absolute
    }
}

.opex-navigation {
    position: fixed;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 50;
    display: none
}

@media (min-width:992px) {
    .opex-navigation {
        left: 30px
    }
}

.opex-navigation li {
    margin-bottom: 8px;
    position: relative;
    list-style: none
}

@media (min-width:992px) {
    .opex-navigation li {
        margin-bottom: 24px
    }
}

.opex-navigation li:after {
    content: '';
    width: 1px;
    height: 8px;
    background-color: #fff;
    position: absolute;
    bottom: -8px;
    left: 50%
}

@media (min-width:992px) {
    .opex-navigation li:after {
        height: 24px;
        bottom: -24px
    }
}

.opex-navigation li:last-child:after {
    display: none
}

.opex-navigation .active a {
    background-color: #fff;
    color: #27824d
}

.opex-navigation .active a:hover {
    background-color: #fff
}

.opex-navigation a {

    font-style: normal;
    font-weight: 400;
    display: block;
    width: 16px;
    height: 16px;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 16px;
    font-size: 25px;
    text-indent: -9999px;
    transition: all .5s ease-in
}

@media (min-width:992px) {
    .opex-navigation a {
        width: 52px;
        height: 52px;
        line-height: 52px;
        text-indent: 0
    }
}

.opex-navigation a:hover {
    background-color: rgba(255, 255, 255, .6);
    color: #27824d
}

.opex-testimonials {
    margin-top: 0
}

.opex-testimonials blockquote {
    border-top: 0
}

.subcontractors-header {
    margin-bottom: 15px
}

.subcontractors-intro {
    max-width: 1440px;
    margin: 0 auto;
    margin-bottom: 15px
}

.subcontractors-intro .content {
    background: #27824d;
    color: #a5ccb7;
    padding: 50px 30px;
    margin-bottom: 15px
}

@media (min-width:992px) {
    .subcontractors-intro .content {
        float: left;
        width: calc(100% - 345px);
        min-height: 416px;
        margin-bottom: 0;
        padding: 90px 30px
    }
}

.subcontractors-intro .image {
    background-size: cover;
    background-position: center center;
    height: 275px
}

@media (min-width:992px) {
    .subcontractors-intro .image {
        float: right;
        width: 330px;
        height: 416px
    }
}

.subcontractors-intro h2,
.subcontractors-intro p {
    max-width: 685px;
    margin: 0 auto
}

.subcontractors-intro h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    margin-bottom: 30px;
    color: #dadada
}

@media (min-width:768px) {
    .subcontractors-intro h2 {
        font-size: 35px;
        line-height: 42px;
        margin-bottom: 35px
    }
}

.subcontractors-intro p {
    font-size: 15px;
    line-height: 30px
}

@media (min-width:768px) {
    .subcontractors-intro p {
        font-size: 16px
    }
}

.subcontractors-selector {
    max-width: 1220px;
    margin: 0 auto;
    padding: 65px 15px 80px;
    text-align: center;
    text-transform: uppercase
}

.subcontractors-selector h2 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    margin-bottom: 25px;
    line-height: 38px;
    color: #333
}

.subcontractors-selector p {

    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 32px
}

.subcontractors-selector .select2 {
    background-color: #58595b;
    color: #dadada;
    text-transform: uppercase;
    height: 64px;
    font-size: 22px;
    line-height: 64px;
    transition: all .5s ease;
    max-width: 750px
}

.subcontractors-selector .select2-selection__placeholder,
.subcontractors-selector .select2-selection__rendered {

    font-style: normal;
    font-weight: 500
}

.subcontractors-selector .select2-selection__rendered {
    color: #fff
}

.subcontractors-selector .select2-selection__arrow {
    width: 25px;
    margin-right: 20px;
    font-size: 20px
}

.subcontractors-selector .select2-selection__arrow:before {
    font-family: core-icons;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "\e915"
}

.subcontractors-selector .select2-container--open {

    font-style: normal;
    font-weight: 500;
    background-color: #27824d
}

.subcontractors-selector .select2-container--open .select2-selection__placeholder {
    color: #fff
}

.subcontractors-selector .select2-container--open .select2-selection__arrow:before {
    content: "\e918"
}

.subcontractors-selector ul {
    max-width: 720px;
    margin: 0 auto;
    list-style: none
}

.subcontractors-selector li {
    margin: 0 9px 18px
}

@media (min-width:768px) {
    .subcontractors-selector li {
        float: left;
        width: calc(25% - 18px)
    }
}

.subcontractors-selector a {
    padding: 15px;
    display: block;
    height: 100%
}

@media (min-width:768px) {
    .subcontractors-selector a {
        padding: 29px 15px;
        font-size: 20px
    }
}

.subcontractors-form {
    max-width: 1065px;
    margin: 0 auto;
    padding: 65px 15px
}

.subcontractors-form .req {
    color: #ce8f3a
}

.subcontractors-form .subcontractors-form-title {
    margin-bottom: 30px
}

.subcontractors-form .subcontractors-form-title h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    padding: 0 20px
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-title h2 {
        font-size: 22px
    }
}

.subcontractors-form .subcontractors-form-title span {
    display: block;
    color: #27824d;
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 22px;
    line-height: 28px;
    padding-top: 5px
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-title span {
        font-size: 32px;
        line-height: 42px
    }
}

.subcontractors-form .subcontractors-form-info {
    border: 1px solid #dadada;
    border-bottom: 0;
    margin-bottom: 35px
}

.subcontractors-form .subcontractors-form-info .block {
    padding: 30px 35px;
    border-bottom: 1px solid #dadada
}

.subcontractors-form .subcontractors-form-info .block.text {
    line-height: 22px
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-info .block.text {
        float: left;
        border-right: 1px solid #dadada;
        width: 56%
    }
}

.subcontractors-form .subcontractors-form-info .block.contact {
    line-height: 22px
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-info .block.contact {
        float: right;
        width: 44%
    }
}

.subcontractors-form .subcontractors-form-info .block.contact strong {

    font-style: normal;
    font-weight: 500;
    color: #58595b
}

.subcontractors-form .subcontractors-form-info .block.contact a {
    color: #27824d
}

.subcontractors-form .subcontractors-form-info .block.contact a:hover {
    color: #a5ccb7
}

.subcontractors-form .subcontractors-form-info .block.light-green {
    text-align: center;
    background-color: #a5ccb7
}

.subcontractors-form .subcontractors-form-info .block.light-green p {
    max-width: 650px;
    margin: 0 auto
}

.subcontractors-form .subcontractors-form-info .block.light-green p:first-child {
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 15px;

    font-style: normal;
    font-weight: 400;
    font-size: 16px
}

.subcontractors-form .subcontractors-form-info .block.light-green strong {
    font-size: 16px;

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase
}

.subcontractors-form .subcontractors-form-info .block.green {
    text-align: center;
    background-color: #27824d;
    color: #fff
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-info .block.green {
        padding-top: 20px;
        padding-bottom: 20px
    }
}

.subcontractors-form .subcontractors-form-info .block.green a {
    color: #fff
}

.subcontractors-form .subcontractors-form-info .block.green a:hover {
    color: #a5ccb7
}

.subcontractors-form .subcontractors-form-info .block.green a {
    text-decoration: underline
}

.subcontractors-form .subcontractors-form-info .block.green strong {

    font-style: normal;
    font-weight: 500;
    display: block;
    font-size: 16px
}

@media (min-width:768px) {
    .subcontractors-form .subcontractors-form-info .block.green strong {
        display: inline-block;
        padding-right: 5px
    }
}

.subcontractors-form .prequalification-type {
    max-width: 560px;
    margin: 0 auto
}

@media (min-width:768px) {
    .subcontractors-form .prequalification-type .field-radio,
    .subcontractors-form .prequalification-type .field-select {
        float: left
    }
}

.subcontractors-form .prequalification-type .field-radio label {
    line-height: 30px
}

@media (min-width:768px) {
    .subcontractors-form .prequalification-type .field-select {
        float: right
    }
}

.subcontractors-form .prequalification-type p {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 10px
}

.subcontractors-form .prequalification-type .select2 {
    width: 105px!important;
    margin-bottom: 15px;
    padding: 5px 15px;
    display: block;
    margin: 0 auto 15px
}

@media (min-width:768px) {
    .subcontractors-form .prequalification-type .select2 {
        display: inline-block;
        margin: 0 3px 0 0;
        padding: 0 12px
    }
}

.subcontractors-form .prequalification-type .select2-selection__arrow {
    background-size: auto 24px;
    right: 10px!important
}

@media (min-width:768px) {
    .subcontractors-form .prequalification-type .select2-selection__arrow {
        background-size: auto 16px;
        right: 5px!important
    }
}

.subcontractors-form .wrapper {
    max-width: 872px;
    margin: 0 auto
}

.subcontractors-form .wrapper:before {
    content: '';
    width: calc(100% - 15px);
    margin: 35px auto 0;
    background-color: #dadada;
    height: 1px;
    display: block
}

.subcontractors-form .wrapper h3 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 28px;
    text-align: center;
    color: #27824d;
    margin-bottom: 15px;
    padding-top: 35px
}

@media (min-width:768px) {
    .subcontractors-form .wrapper h3 {
        font-size: 26px;
        line-height: 42px;
        margin-bottom: 25px;
        padding-top: 45px
    }
}

.subcontractors-form .wrapper p {

    font-style: normal;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 10px
}

@media (min-width:768px) {
    .subcontractors-form .wrapper .field-select .select2 {
        padding-top: 21px;
        padding-bottom: 21px;
        font-size: 20px
    }
}

.subcontractors-form .wrapper .field-submit a {
    color: #ce8f3a
}

.subcontractors-form .wrapper .field-submit a:hover {
    color: #825820
}

.subcontractors-form .wrapper .field-submit p {
    margin-top: 25px;
    margin-bottom: 35px;
    font-size: 18px;
    text-transform: none
}

.subcontractors-form .wrapper .field-submit button {
    width: 225px
}

.contact-header {
    height: 245px;
    position: relative
}

@media (min-width:768px) {
    .contact-header {
        height: 400px
    }
}

.contact-header:before {
    background-color: #231f20;
    opacity: .3
}

.contact-header h1 {
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 30px;
    line-height: 36px;
    text-transform: uppercase;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    text-align: center;
    width: 100%
}

@media (min-width:768px) {
    .contact-header h1 {
        font-size: 60px;
        line-height: 72px
    }
}

.contact-intro {
    max-width: 670px;
    margin: 0 auto;
    text-align: center;
    padding: 50px 0 55px
}

@media (min-width:768px) {
    .contact-intro {
        padding: 105px 0 105px
    }
}

.contact-intro h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 25px
}

@media (min-width:768px) {
    .contact-intro h2 {
        font-size: 35px;
        line-height: 42px
    }
}

.contact-intro p {
    font-size: 15px;
    line-height: 25px;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .contact-intro p {
        font-size: 16px;
        line-height: 30px;
        margin-bottom: 40px
    }
}

.contact-accordion {
    max-width: 1130px;
    margin: 0 auto;
    padding: 0 10px 45px
}

@media (min-width:768px) {
    .contact-accordion {
        padding-bottom: 75px
    }
}

.contact-accordion .contact-state {
    margin-bottom: 20px
}

.contact-accordion .contact-state.active {
    background-color: #f4f4f4
}

.contact-accordion .contact-state.active .state {
    background-color: #27824d;
    color: #fff
}

.contact-accordion .contact-state.active .state .icon-light-arrow-up {
    display: block
}

.contact-accordion .contact-state.active .state .icon-light-arrow-down {
    display: none
}

.contact-accordion .state {
    position: relative;
    height: 70px;
    text-align: center;
    background-color: #dadada;
    transition: background-color .5s ease-in-out
}

.contact-accordion .state:hover {
    cursor: pointer;
    background-color: #333;
    color: #fff
}

.contact-accordion .state h2 {
    line-height: 70px
}

.contact-accordion .state .icon-light-arrow-up {
    display: none
}

.contact-accordion .state i {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 31px
}

.contact-accordion .locations {
    background-color: #f4f4f4
}

.contact-accordion .locations .headquarters {
    position: relative;
    border-top: 1px solid #231f20;
    display: block;
    width: calc(100% - 40px);
    margin: 50px auto 0;
    overflow: visible
}

@media (min-width:992px) {
    .contact-accordion .locations .headquarters {
        width: calc(100% - 150px)
    }
}

.contact-accordion .locations .headquarters:last-of-type {
    margin: 19px auto 0
}

.contact-accordion .locations .headquarters p {
    color: #27824d;
    text-transform: uppercase;
    text-align: center;
    width: 250px;
    background-color: #f4f4f4;
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    margin: auto
}

.contact-accordion .location {
    padding: 45px 20px 0
}

@media (min-width:768px) {
    .contact-accordion .location {
        padding-bottom: 25px
    }
}

@media (min-width:992px) {
    .contact-accordion .location {
        padding-left: 75px;
        padding-right: 75px
    }
}

.contact-accordion .location:last-child {
    padding-bottom: 35px
}

@media (min-width:768px) {
    .contact-accordion .location:last-child {
        padding-bottom: 65px
    }
}

.contact-accordion .location a {
    display: block;
    overflow: hidden;
    height: 205px;
    position: relative
}

@media (min-width:768px) {
    .contact-accordion .location a {
        float: left;
        width: 50%;
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .contact-accordion .location a {
        width: 405px;
        height: 205px
    }
}

.contact-accordion .location a:hover .location-image {
    transform: scale(1.1)
}

.contact-accordion .location-image {
    position: relative;
    margin-bottom: 20px;
    height: 205px;
    transition: all .5s ease-out;
    background-size: cover
}

.contact-accordion .location-image:before {
    background-color: #231f20;
    opacity: .3
}

.contact-accordion .location h3 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    font-family: "Vitesse A", "Vitesse B";
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    z-index: 15
}

@media (min-width:768px) {
    .contact-accordion .location h3 {
        font-size: 40px
    }
}

.contact-accordion .location-info {
    color: #58595b
}

@media (min-width:768px) {
    .contact-accordion .location-info {
        margin-left: calc(50% + 25px);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media (min-width:992px) {
    .contact-accordion .location-info {
        margin-left: 460px
    }
}

.contact-accordion .location li {
    font-size: 18px;
    line-height: 25px;
    min-height: 50px;
    position: relative;
    list-style: none;
    padding-left: 35px;
    padding-top: 12px
}

@media (min-width:768px) {
    .contact-accordion .location li {
        font-size: 20px;
        line-height: 27px
    }
}

.contact-accordion .location li a {
    height: auto
}

.contact-accordion .location img {
    width: 100%
}

.contact-accordion .location i {
    font-size: 27px;
    color: #27824d;
    line-height: 50px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%)
}

.contact-form {
    max-width: 1220px;
    margin: 0 auto;
    position: relative;
    padding: 50px 10px 25px
}

@media (min-width:768px) {
    .contact-form {
        padding-bottom: 80px
    }
}

.contact-form:before {
    content: '';
    height: 1px;
    width: 90%;
    background-color: #dadada;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: block
}

@media (min-width:768px) {
    .contact-form:before {
        width: 100%
    }
}

.contact-form header {
    max-width: 605px;
    margin: 0 auto;
    text-align: center;
    padding: 0 25px 15px
}

.contact-form header h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 35px
}

.contact-form header p {
    font-size: 15px;
    line-height: 30px
}

.contact-form .form,
.contact-form .ninja-forms-cont {
    max-width: 850px;
    margin: 0 auto
}

.contact-form .form-button,
.contact-form .ninja-forms-cont-button {
    max-width: 416px
}

@media (min-width:768px) {
    .contact-form .form-button,
    .contact-form .ninja-forms-cont-button {
        margin-top: 24px
    }
}

.safety-intro {
    position: relative
}

.safety-intro .image {
    display: block;
    float: left;
    height: 300px
}

.safety-intro .content {
    background-color: #27824d;
    color: #fff;
    float: right
}

@media (min-width:992px) {
    .safety-intro .content {
        padding: 70px 30px
    }
}

.safety-intro .open-embed {
    display: block;
    color: #fff;
    text-align: center;
    font-size: 74px
}

.safety-accordion {
    position: relative;
    margin: 55px 15px;
    border: 1px solid #dadada
}

@media (min-width:768px) {
    .safety-accordion {
        padding: 15px;
        margin: 115px 15px
    }
}

@media (min-width:1200px) {
    .safety-accordion {
        max-width: 1220px;
        margin: 0 auto;
        margin: 115px auto
    }
}

.safety-accordion nav {
    display: none
}

@media (min-width:768px) {
    .safety-accordion nav {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 50px
    }
    .safety-accordion nav .safety-toggle-wrap {
        display: block;
        -ms-flex: 1;
        flex: 1
    }
}

.safety-accordion .safety-toggle-wrap {
    text-align: center;
    font-size: 20px
}

@media (min-width:768px) {
    .safety-accordion .safety-toggle-wrap {
        display: none
    }
}

.safety-accordion .safety-toggle-wrap a {
    color: #231f20;
    display: block;
    padding: 15px 0;
    border-top: 1px solid #dadada;
    transition: all .25 ease-out
}

.safety-accordion .safety-toggle-wrap a:hover {
    background-color: #f4f4f4
}

@media (min-width:768px) {
    .safety-accordion .safety-toggle-wrap a {
        border-top: 0;
        padding: 5px 0
    }
    .safety-accordion .safety-toggle-wrap a:after {
        content: '';
        background-color: #27824d;
        width: 25px;
        height: 25px;
        position: absolute;
        transform: translateX(-50%) rotate(45deg);
        bottom: 0;
        left: 50%;
        z-index: 1;
        opacity: 0
    }
}

.safety-accordion .safety-toggle-wrap a.active,
.safety-accordion .safety-toggle-wrap a.active:hover {
    background-color: #27824d;
    color: #fff;
    position: relative;
    z-index: 5;
    border-color: #fff;
    border-top: 0
}

.safety-accordion .safety-toggle-wrap a.active:after,
.safety-accordion .safety-toggle-wrap a.active:hover:after {
    bottom: -12px;
    opacity: 1
}

.safety-accordion li {
    padding-left: 40px;
    position: relative;
    margin-bottom: 40px;
    list-style: none
}

.safety-accordion li:last-child {
    margin-bottom: 0
}

.safety-accordion li:before {
    content: '';
    width: 14px;
    height: 14px;
    background-color: #27824d;
    position: absolute;
    left: 0;
    top: 3px;
    border-radius: 20px
}

.safety-accordion #collaboration-link {
    border: 1px solid #dadada;
    border-width: 0 1px
}

.safety-accordion .safety-wrap {
    transition: opacity .5s ease-in
}

@media (min-width:768px) {
    .safety-accordion .safety-wrap {
        opacity: 0
    }
}

.safety-accordion .safety-wrap:last-child {
    margin-bottom: 0
}

.safety-accordion .safety-wrap.active {
    display: block;
    opacity: 1;
    padding: 0 15px 30px;
    opacity: 1
}

@media (min-width:768px) {
    .safety-accordion .safety-wrap.active {
        padding: 0 50px 50px
    }
}

.safety-accordion .safety-wrap.active .safety-toggle-wrap {
    margin: 0 -15px 15px
}

.safety-accordion .safety-wrap.active .safety-text,
.safety-accordion .safety-wrap.active .safety-text-image {
    display: block
}

.safety-accordion .safety-wrap.active a,
.safety-accordion .safety-wrap.active a:hover {
    background-color: #27824d;
    color: #fff;
    position: relative;
    z-index: 5;
    border-color: #fff;
    border-top: 0
}

.safety-accordion .safety-wrap.active a:after,
.safety-accordion .safety-wrap.active a:hover:after {
    bottom: -12px;
    opacity: 1
}

.safety-accordion .safety-text-image {
    display: none;
    height: 300px;
    background: transparent no-repeat center center;
    background-size: cover;
    margin-bottom: 40px
}

@media (min-width:768px) {
    .safety-accordion .safety-text-image {
        width: 40%;
        height: 470px;
        float: left;
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .safety-accordion .safety-text-image {
        width: 540px;
        height: 470px
    }
}

.safety-accordion .safety-text {
    display: none
}

@media (min-width:768px) {
    .safety-accordion .safety-text {
        float: right;
        width: calc(60% - 30px);
        padding-top: 30px
    }
}

@media (min-width:992px) {
    .safety-accordion .safety-text {
        float: right;
        width: calc(100% - 575px)
    }
}

@media (min-width:1200px) {
    .safety-accordion .safety-text {
        float: right;
        width: calc(100% - 635px)
    }
}

.safety-results {
    background-color: #333;
    color: #fff;
    padding: 60px 15px
}

.safety-results header {
    text-align: center;
    margin-bottom: 60px
}

.safety-results header h2 {
    margin-bottom: 20px
}

.safety-results header p {
    font-size: 16px
}

.safety-results ul {
    max-width: 910px;
    margin: 0 auto;
    list-style: none
}

@media (min-width:768px) {
    .safety-results ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
    .safety-results ul:after {
        display: none
    }
}

.safety-results li {
    text-align: center;
    padding: 0 25%;
    margin-bottom: 60px
}

@media (min-width:768px) {
    .safety-results li {
        padding: 0;
        max-width: 175px
    }
}

.safety-results li:nth-child(1) .image {
    width: 125px
}

.safety-results li:nth-child(2) .image {
    width: 84px
}

.safety-results li:nth-child(3) .image {
    width: 93px
}

.safety-results li:nth-child(4) .image {
    width: 113px
}

.safety-results .image-wrap {
    height: 160px;
    text-align: center
}

.safety-results .image {
    max-width: 125px
}

.site-banner {
    background-color: #27824d;
    position: fixed;
    z-index: 90001;
    width: 100%;
    min-height: 36px;
    transform: translateY(-100%);
    transition: transform .25s ease-in
}

.site-banner.visible {
    transform: translateY(0)
}

.site-banner.hidden {
    transform: translateY(-100%)
}

.site-banner__text {
    text-align: center;
    padding: 7px 55px
}

.site-banner__text a {
    color: #fff
}

.site-banner__close {
    background-color: rgba(255, 255, 255, .6);
    border-radius: 50%;
    color: #27824d;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    transition: all .25s ease-in;
    width: 22px;
    height: 22px;
    text-align: center;
    font-size: 12px
}

.site-banner__close i {
    position: relative;
    top: 3px
}

.site-banner__close:hover {
    background-color: #fff
}

.disaster-intro {
    max-width: 1440px;
    margin: 0 auto;
    margin-top: 50px;
    margin-bottom: 15px
}

.disaster-intro .content {
    background: #27824d;
    color: #fff;
    padding: 50px 30px;
    margin-bottom: 15px
}

@media (min-width:768px) {
    .disaster-intro .content {
        float: right;
        width: calc(100% - 15px);
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .disaster-intro .content {
        width: calc(100% - 565px);
        min-height: 466px;
        padding: 90px 30px
    }
}

.disaster-intro .image {
    background-size: cover;
    background-position: center center;
    height: 275px;
    width: 100%;
    margin-bottom: 15px;
    display: none
}

@media (min-width:768px) {
    .disaster-intro .image {
        float: left;
        width: 50%;
        margin-bottom: 0
    }
}

@media (min-width:992px) {
    .disaster-intro .image {
        width: 550px;
        height: 466px;
        display: block
    }
}

.disaster-intro h2,
.disaster-intro p {
    max-width: 685px;
    margin: 0 auto
}

.disaster-intro h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 25px;
    line-height: 30px;
    text-transform: uppercase;
    margin-bottom: 30px
}

@media (min-width:768px) {
    .disaster-intro h2 {
        font-size: 35px;
        line-height: 42px;
        margin-bottom: 35px
    }
}

.disaster-intro p {
    font-size: 15px;
    line-height: 30px
}

@media (min-width:768px) {
    .disaster-intro p {
        font-size: 16px
    }
}

.disaster-two-up {
    position: relative;
    width: 100%;
    margin: 0 auto 0
}

@media (min-width:992px) {
    .disaster-two-up {
        width: 900px
    }
}

@media (min-width:1140px) {
    .disaster-two-up {
        width: 1100px
    }
}

.disaster-two-up .content {
    background: #333;
    color: #fff;
    padding: 50px 30px;
    margin-bottom: 15px;
    width: 100%;
    min-height: 340px
}

@media (min-width:992px) {
    .disaster-two-up .content {
        width: 499px;
        height: 400px;
        float: right
    }
}

@media (min-width:1140px) {
    .disaster-two-up .content {
        width: 700px;
        height: 311px
    }
}

.disaster-two-up .image {
    background-size: cover;
    background-position: center center;
    height: 340px;
    min-height: 340px;
    width: 100%;
    margin-bottom: 15px
}

@media (min-width:992px) {
    .disaster-two-up .image {
        width: 390px;
        height: 400px;
        float: left
    }
}

@media (min-width:1140px) {
    .disaster-two-up .image {
        height: 311px
    }
}

.disaster-two-up h2,
.disaster-two-up p {
    max-width: 685px;
    margin: 0 auto
}

.disaster-two-up h2 {

    font-style: normal;
    font-weight: 400;
    font-size: 20px!important;
    line-height: 30px;
    text-transform: uppercase;
    margin-bottom: 30px
}

.disaster-two-up p {
    font-size: 14px;
    line-height: 30px
}

.disaster-two-up.rev .content {
    background-color: #27824d;
    float: left
}

.disaster-two-up.rev .image {
    float: right
}

.disaster-three-up {
    position: relative;
    width: 80%;
    overflow: auto;
    margin: 50px auto 135px
}

@media (min-width:992px) {
    .disaster-three-up {
        width: 941px
    }
}

@media (min-width:1107px) {
    .disaster-three-up {
        width: 1107px
    }
}

.disaster-three-up .three-block {
    width: 100%;
    max-width: 500px;
    overflow: auto;
    margin: 0 auto 100px
}

@media (min-width:992px) {
    .disaster-three-up .three-block {
        width: 273px;
        margin: 0 20px;
        float: left
    }
}

@media (min-width:1107px) {
    .disaster-three-up .three-block {
        margin: 0 47px
    }
}

.disaster-three-up .three-block .image {
    position: relative;
    width: 95px;
    height: 113px;
    margin: 0 auto 35px;
    display: block
}

.disaster-three-up .three-block h4 {
    border-bottom: 3px solid #27824d;
    width: 100%;
    font: 20px/30px "Vitesse A", "Vitesse B";
    padding-bottom: 13px;
    text-transform: uppercase
}

.disaster-three-up .three-block p {
    margin: 21px 0 0 0;
    font: 16px/28px "Interstate Light"
}

.disaster-headlines {
    text-align: center;
    padding-bottom: 75px;
    padding-left: 35px;
    padding-right: 35px
}

@media (min-width:768px) {
    .disaster-headlines {
        padding-bottom: 85px
    }
}

@media (min-width:1200px) {
    .disaster-headlines {
        padding-left: 0;
        padding-right: 0
    }
}

.disaster-headlines h2 {
    max-width: 850px;
    margin: 0 auto;

    font-style: normal;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 25px;
    line-height: 30px;
    padding: 60px 0 40px
}

@media (min-width:768px) {
    .disaster-headlines h2 {
        font-size: 35px;
        line-height: 42px
    }
}

.disaster-headlines>p {
    max-width: 820px;
    margin: 0 auto;
    font-size: 15px;
    line-height: 30px;
    margin-bottom: 0
}

@media (min-width:768px) {
    .disaster-headlines>p {
        font-size: 16px;
        margin-bottom: 0
    }
}

.disaster-image {
    position: relative
}

.disaster-image a {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate3d(-50%, -50%, 0);
    font-size: 95px;
    color: #fff
}

.homeowner .home-area {
    display: block
}

.homeowner .status-area {
    display: none;
    opacity: 0
}

.homeowner header {
    position: relative;
    width: 100%;
    height: 64px;
    background-color: #fff
}

.homeowner header .logo {
    position: absolute;
    width: 140px;
    height: 48px;
    top: 8px;
    left: 15px
}

@media (min-width:700px) {
    .homeowner header .logo {
        left: 45px
    }
}

.homeowner header p {
    text-align: right;
    font: 13px/62px "Forza SSm A", "Forza SSm B";
    text-transform: uppercase;
    padding-right: 15px;
    color: #231f20
}

@media (min-width:700px) {
    .homeowner header p {
        left: 45px
    }
}

.homeowner section {
    clear: both;
    position: relative;
    width: 80%;
    margin: 0 auto;
    padding: 40px 0 40px 0
}

@media (min-width:700px) {
    .homeowner section {
        width: 626px
    }
}

.homeowner section h1 {
    font: 35px/35px "Forza SSm A", "Forza SSm B";
    color: #fff;
    text-transform: uppercase
}

.homeowner section h2 {
    font: 28px/28px "Forza SSm A", "Forza SSm B";
    color: #fff;
    text-transform: uppercase
}

.homeowner section h3 {
    font: 20px/27px "Forza SSm A", "Forza SSm B";
    color: #fff;
    text-transform: uppercase
}

.homeowner section h4 {
    font: 14px/24px "Interstate Light";
    text-transform: uppercase
}

.homeowner section p {
    font: 14px/24px "Interstate Light";
    color: #fff
}

.homeowner section a {
    color: #fff
}

.homeowner form {
    display: block;
    overflow-y: auto;
    overflow-x: hidden;
    margin: 15px 0 0 0
}

.homeowner form input {
    width: calc(100% - 9px);
    background-color: #fff;
    padding: 14px 18px 14px 18px;
    margin: 9px;
    float: left;
    outline: 0;
    text-transform: uppercase;
    transition: all .3s ease-out;
    font-family: "Forza SSm A", "Forza SSm B"
}

@media (min-width:700px) {
    .homeowner form input {
        width: 281px
    }
}

.homeowner form input:focus {
    background-color: rgba(255, 255, 255, .8)
}

.homeowner form textarea {
    clear: both;
    width: calc(100% - 9px);
    border: 1px solid #a5ccb7;
    font: 14px "Forza SSm A", "Forza SSm B";
    transition: all .3s ease-out
}

@media (min-width:700px) {
    .homeowner form textarea {
        width: 611px!important
    }
}

.homeowner form textarea:focus {
    background-color: #f3f3f3
}

.homeowner form .center-btn {
    margin: 9px;
    overflow: auto;
    width: calc(100% - 9px)
}

@media (min-width:700px) {
    .homeowner form .center-btn {
        width: 416px;
        margin: 0 auto
    }
}

.homeowner form .submit-btn {
    width: 100%;
    height: 52px;
    background-color: #fff;
    color: #27824d;
    margin: 9px auto 0;
    cursor: pointer;
    line-height: 20px;
    display: inline-block;
    transition: all .3s ease-out;

    outline: 0
}

@media (min-width:700px) {
    .homeowner form .submit-btn {
        margin: 21px auto 0
    }
}

.homeowner form .submit-btn:hover {
    background-color: #a5ccb7;
    color: #fff
}

.homeowner form .submit-btn:focus {
    background-color: #fff;
    color: #27824d
}

.homeowner form::-webkit-input-placeholder {
    text-transform: uppercase;
    color: #888
}

.homeowner form:-moz-placeholder {
    text-transform: uppercase;
    color: #888
}

.homeowner form::-moz-placeholder {
    text-transform: uppercase;
    color: #888
}

.homeowner form:-ms-input-placeholder {
    text-transform: uppercase;
    color: #888
}

.homeowner footer .contact {
    border-bottom: 2px solid rgba(255, 255, 255, .2)
}

.homeowner footer .contact p {
    color: #a5ccb7;
    text-align: center
}

.homeowner footer .contact a {
    color: #a5ccb7;
    margin: 0;
    display: block;
    width: 100%
}

@media (min-width:525px) {
    .homeowner footer .contact a {
        display: inline-block;
        width: auto;
        margin: 0 10px 0 10px
    }
}

.homeowner footer .contact a:hover {
    color: #a5ccb7
}

.homeowner footer .contact span {
    display: none
}

@media (min-width:525px) {
    .homeowner footer .contact span {
        display: inline-block
    }
}

.homeowner footer .fema-status {
    border-bottom: 2px solid rgba(0, 0, 0, .1)
}

.homeowner footer .fema-status p {
    color: #888
}

.homeowner footer .fema-status a {
    color: #888
}

.homeowner footer .fema-status a:hover {
    color: #888
}

.homeowner footer .tag p {
    color: #888;
    text-align: center;
    font-size: 11px
}

@media (min-width:456px) {
    .homeowner footer .tag p {
        font-size: 14px
    }
}

.homeowner footer .tag .greenish {
    color: #a5ccb7
}

.homeowner footer .tag img {
    width: 100%;
    display: block;
    margin: 15px auto
}

@media (min-width:456px) {
    .homeowner footer .tag img {
        width: 344px
    }
}

.fema {
    background: url(../images/fema-background.jpg) top no-repeat;
    background-size: cover;
    min-height: 100vh
}

.fema .top {
    margin: 30px auto 0;
    border-bottom: 2px solid rgba(255, 255, 255, .2)
}

@media (min-width:700px) {
    .fema .top {
        margin: 65px auto 0
    }
}

.fema .top h1 {
    margin: 0 0 32px 0;
    text-align: center
}

.fema .top p {
    text-align: center
}

.fema .form {
    margin: 0 auto 0;
    border-bottom: 2px solid rgba(255, 255, 255, .2)
}

.fema .form h2 {
    margin: 0 0 20px 0;
    text-align: center
}

.fema .form p {
    text-align: center
}

.fema .form .messages {
    width: 80%;
    margin: 25px auto 0
}

.fema-status .top {
    width: 100%;
    margin: 0 auto 0;
    border-bottom: 2px solid rgba(255, 255, 255, .2);
    background-color: #27824d;
    overflow: auto
}

.fema-status .top h2 {
    margin: 0 0 12px 0
}

.fema-status .top h3 {
    margin: 0 0 7px 0
}

.fema-status .top span {
    font-family: Interstate;
    font-weight: 700;
    margin: 0 7px 0 0
}

.fema-status .top .welcome {
    padding: 46px 0 40px 0;
    border-bottom: 2px solid rgba(255, 255, 255, .2)
}

.fema-status .top .project-status ul {
    list-style-type: none
}

.fema-status .top .project-status ul li {
    width: 25%;
    height: 25px;
    float: left;
    text-align: center;
    color: #fff
}

.fema-status .top .project-status .status-bar {
    margin: 23px 0 0 0;
    overflow: auto
}

.fema-status .top .project-status .status-bar li {
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff
}

.fema-status .top .project-status .status-bar li:first-of-type {
    border-left: 2px solid #fff;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px
}

.fema-status .top .project-status .status-bar li:last-of-type {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px
}

.fema-status .top .project-status .status-bar li.active {
    color: #27824d;
    background-color: #fff
}

.fema-status .top .project-status .status-key {
    clear: both;
    overflow: visible;
    margin: 0 0 40px 0
}

.fema-status .top .project-status .status-key li {
    margin: 20px 0 0 0;
    font-size: 10px
}

@media (min-width:700px) {
    .fema-status .top .project-status .status-key li {
        font-size: 12px
    }
}

.fema-status .details section {
    border-bottom: 2px solid #231f20
}

.fema-status .details section h4 {
    margin: 0 0 0 10px
}

@media (min-width:700px) {
    .fema-status .details section h4 {
        margin: 0 0 0 15px
    }
}

.fema-status .details section p {
    margin: 0 0 0 25px;
    color: #231f20
}

@media (min-width:700px) {
    .fema-status .details section p {
        margin: 0 0 0 135px
    }
}

.fema-status .details section:last-of-type {
    border-bottom: 2px solid rgba(0, 0, 0, .1)
}

.fema-status .details .details-header {
    padding-bottom: 0;
    border: none;
    margin: 0 auto 30px
}

.fema-status .details .details-header p {
    margin: 0
}

.fema-status .details .details-header h3 {
    color: #27824d
}

.fema-status .details .list-heading {
    width: 80%;
    height: 25px;
    margin: 40px auto 0;
    padding: 0 0 0 10px;
    background-color: #231f20;
    color: #fff
}

@media (min-width:700px) {
    .fema-status .details .list-heading {
        width: 626px
    }
}

.fema-contact .top,
.fema-faqs .top {
    width: 100%;
    margin: 0 auto 0;
    background-color: #27824d;
    overflow: auto;
    text-align: center
}

.fema-contact .top h2,
.fema-faqs .top h2 {
    margin: 0 0 12px 0
}

.fema-contact .top .welcome,
.fema-faqs .top .welcome {
    padding: 51px 0 45px;
    border-bottom: 2px solid rgba(255, 255, 255, .2)
}

.fema-contact .top .welcome a,
.fema-faqs .top .welcome a {
    color: #a5ccb7
}

.fema-contact .top .welcome a:hover,
.fema-faqs .top .welcome a:hover {
    color: #a5ccb7
}

.fema-contact .qanda,
.fema-faqs .qanda {
    padding-bottom: 0
}

.fema-contact .qanda .question,
.fema-faqs .qanda .question {
    padding: 45px 0 45px 0;
    border-bottom: 2px solid rgba(0, 0, 0, .8)
}

.fema-contact .qanda .question h3,
.fema-faqs .qanda .question h3 {
    color: #27824d;
    margin: 0 0 15px 0
}

.fema-contact .qanda .question p,
.fema-faqs .qanda .question p {
    color: #231f20
}

.fema-contact .qanda .question:last-of-type,
.fema-faqs .qanda .question:last-of-type {
    border-bottom: 2px solid rgba(0, 0, 0, .1)
}

.fema-contact .ninja-forms-all-fields-wrap .field-wrap,
.fema-contact .ninja-forms-all-fields-wrap .text-wrap,
.fema-contact form .field-wrap,
.fema-contact form .text-wrap,
.fema-faqs .ninja-forms-all-fields-wrap .field-wrap,
.fema-faqs .ninja-forms-all-fields-wrap .text-wrap,
.fema-faqs form .field-wrap,
.fema-faqs form .text-wrap {
    padding: 9px
}

.fema-contact .ninja-forms-all-fields-wrap input,
.fema-contact form input,
.fema-faqs .ninja-forms-all-fields-wrap input,
.fema-faqs form input {
    border: 1px solid #a5ccb7;
    margin: 0;
    float: none;
    padding: 14px;
    font-size: 14px!important
}

.fema-contact .ninja-forms-all-fields-wrap input:focus,
.fema-contact form input:focus,
.fema-faqs .ninja-forms-all-fields-wrap input:focus,
.fema-faqs form input:focus {
    border: 1px solid #27824d;
    background-color: rgba(0, 0, 0, .05)
}

.fema-contact .ninja-forms-all-fields-wrap #ninja_forms_field_187,
.fema-contact .ninja-forms-all-fields-wrap #ninja_forms_field_188,
.fema-contact .ninja-forms-all-fields-wrap .submit-btn,
.fema-contact form #ninja_forms_field_187,
.fema-contact form #ninja_forms_field_188,
.fema-contact form .submit-btn,
.fema-faqs .ninja-forms-all-fields-wrap #ninja_forms_field_187,
.fema-faqs .ninja-forms-all-fields-wrap #ninja_forms_field_188,
.fema-faqs .ninja-forms-all-fields-wrap .submit-btn,
.fema-faqs form #ninja_forms_field_187,
.fema-faqs form #ninja_forms_field_188,
.fema-faqs form .submit-btn {
    background-color: #27824d;
    color: #fff;
    margin-top: 11px
}

.fema-contact .ninja-forms-all-fields-wrap #ninja_forms_field_187:hover,
.fema-contact .ninja-forms-all-fields-wrap #ninja_forms_field_188:hover,
.fema-contact .ninja-forms-all-fields-wrap .submit-btn:hover,
.fema-contact form #ninja_forms_field_187:hover,
.fema-contact form #ninja_forms_field_188:hover,
.fema-contact form .submit-btn:hover,
.fema-faqs .ninja-forms-all-fields-wrap #ninja_forms_field_187:hover,
.fema-faqs .ninja-forms-all-fields-wrap #ninja_forms_field_188:hover,
.fema-faqs .ninja-forms-all-fields-wrap .submit-btn:hover,
.fema-faqs form #ninja_forms_field_187:hover,
.fema-faqs form #ninja_forms_field_188:hover,
.fema-faqs form .submit-btn:hover {
    background-color: #0f341f
}

.new_warranty_content {
    max-width: 1440px;
    width: calc(100% - 240px);
    padding: 75px 120px 75px 120px;
    margin: 0 auto
}

@media screen and (max-width:1100px) {
    .new_warranty_content {
        padding: 75px 20px 75px 20px;
        width: calc(100% - 40px)
    }
}

.new_warranty_content h1 {

    font-style: normal;
    font-weight: 500;
    font-size: 40px;
    text-transform: uppercase
}

.new_warranty_content h2 {

    font-style: normal;
    font-weight: 500;
    font-size: 35px;
    text-transform: uppercase
}

.new_warranty_content h3 {

    font-style: normal;
    font-weight: 500;
    font-size: 30px;
    text-transform: uppercase
}

.new_warranty_content h4 {

    font-style: normal;
    font-weight: 500;
    font-size: 25px;
    text-transform: uppercase
}

.new_warranty_content h5 {

    font-style: normal;
    font-weight: 500;
    font-size: 20px;
    text-transform: uppercase
}

.new_warranty_content h6 {

    font-style: normal;
    font-weight: 500;
    font-size: 15px;
    text-transform: uppercase
}

.new_warranty_content img {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block
}

.new_warranty_content p {
    margin: 20px 0 20px 0
}

.new_warranty_content ul {
    padding: 0 0 0 20px
}