
html {
    margin-top: -10px;
    padding: 0px;
    /* background-color: green;*/
}

.h1, .h2, .h3, h1, h2, h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    font-family: inherit;
    font-weight: 500;
    line-height: 1.1;
    color: inherit;
}

@font-face {
    font-family: 'montserrat';
    src: url("fonts/montserrat-bold-webfont.eot");
    src: url("fonts/montserrat-bold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/montserrat-bold-webfont.woff2") format("woff2"), url("fonts/montserrat-bold-webfont.woff") format("woff"), url("fonts/montserrat-bold-webfont.ttf") format("truetype"), url("fonts/montserrat-bold-webfont.svg#montserratbold") format("svg");
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'montserrat';
    src: url("fonts/montserrat-semibold-webfont.eot");
    src: url("fonts/montserrat-semibold-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/montserrat-semibold-webfont.woff2") format("woff2"), url("fonts/montserrat-semibold-webfont.woff") format("woff"), url("fonts/montserrat-semibold-webfont.ttf") format("truetype"), url("fonts/montserrat-semibold-webfont.svg#montserratsemi_bold") format("svg");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'montserrat';
    src: url("fonts/montserrat-regular-webfont.eot");
    src: url("fonts/montserrat-regular-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/montserrat-regular-webfont.woff2") format("woff2"), url("fonts/montserrat-regular-webfont.woff") format("woff"), url("fonts/montserrat-regular-webfont.ttf") format("truetype"), url("fonts/montserrat-regular-webfont.svg#montserratregular") format("svg");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'montserrat';
    src: url("fonts/montserrat-light-webfont.eot");
    src: url("fonts/montserrat-light-webfont.eot?#iefix") format("embedded-opentype"), url("fonts/montserrat-light-webfont.woff2") format("woff2"), url("fonts/montserrat-light-webfont.woff") format("woff"), url("fonts/montserrat-light-webfont.ttf") format("truetype"), url("fonts/montserrat-light-webfont.svg#montserratlight") format("svg");
    font-weight: 300;
    font-style: normal;
}

/** 
* SVG SPRITE SHEET
* GENERATED BY Export Adobe Animate CC SVG Spritesheet JSFL
* Author: marc@fwdatl.com
**/
.instagram-off, .footer .social .instagram {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 0.98% 2.78%;
    background-size: 1375%;
}

.vimeo-off, .footer .social .vimeo {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 11.76% 2.78%;
    background-size: 1375%;
}

.twitter-off, .footer .social .twitter {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 22.55% 2.78%;
    background-size: 1375%;
}

.linkedin-off, .footer .social .linkedin {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 33.33% 2.78%;
    background-size: 1375%;
}

.facebook-off, .footer .social .facebook {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 44.12% 2.78%;
    background-size: 1375%;
}

.instagram-on, .footer .social .instagram:after {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 0.98% 17.78%;
    background-size: 1375%;
}

.vimeo-on, .footer .social .vimeo:after {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 11.76% 17.78%;
    background-size: 1375%;
}

.twitter-on, .footer .social .twitter:after {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 22.55% 17.78%;
    background-size: 1375%;
}

.linkedin-on, .footer .social .linkedin:after {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 33.33% 17.78%;
    background-size: 1375%;
}

.facebook-on, .footer .social .facebook:after {
    width: 40px;
    height: 40px;
    background: url("img/social_icons.svg") no-repeat 44.12% 17.78%;
    background-size: 1375%;
}

/**** common ****/
body {
    background-size: 100% 150px;
    font-family: "montserrat", sans-serif;
}

@media only screen and (max-width: 767px) {
    body {
        background: none;
    }
}

/** helpers **/
.retina {
    -moz-transform: scale(0.5);
    -o-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -moz-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
}

.center {
    text-align: center;
}

.size-13 {
    font-size: 1rem;
    line-height: 1.4rem;
}

.size-14 {
    font-size: 1.1rem;
    line-height: 1.6rem;
}

.size-16 {
    font-size: 1.2rem;
}

.size-18 {
    font-size: 1.3rem;
}

.size-27 {
    font-size: 2.0rem;
}

.uppercase {
    text-transform: uppercase;
}

.white {
    color: #fff;
}

.teal {
    color: #00cccc;
}

.text-teal {
    color: #4a686a;
}

/** nav & footer **/
/*** navigation **/
.navbar {
    --bs-navbar-padding-y: 0.0rem;
    margin-bottom: 15px;
    background: #fff;
}

    .navbar .container {
        max-width: 1000px !important;
    }

    .navbar .gradientbar {
        display: block;
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        height: 40px;
        background: #fff url(img/horiz_gradient.jpg);
        background-size: cover;
    }

@media only screen and (max-width: 767px) {
    .navbar .gradientbar {
        height: 5px !important;
    }
}

@media only screen and (min-width: 768px) {
    .navbar .collapse {
        display: block;
    }
}

.navbar.navbar-fixed-top {
    position: fixed;
    width: 100%;
    z-index: 100;
}

.navbar .navbar-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;
    height: 120px;
    width: 100%;
}

    .navbar .navbar-header .navbar-nav {
        list-style-type: none;
        margin: 26px 0 0 0;
        padding: 0;
    }

        .navbar .navbar-header .navbar-nav a, .navbar .navbar-header .navbar-nav a:link, .navbar .navbar-header .navbar-nav a:visited {
            color: #336666;
            font-weight: 600;
            text-decoration: none;
            -moz-transition: all 0.2s;
            -o-transition: all 0.2s;
            -webkit-transition: all 0.2s;
            transition: all 0.2s;
            margin: 0 1.5rem;
        }

            .navbar .navbar-header .navbar-nav a.active li, .navbar .navbar-header .navbar-nav a:link.active li, .navbar .navbar-header .navbar-nav a:visited.active li {
                color: #00cccc;
                border-bottom: 2px solid #00cccc;
            }

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .navbar .navbar-header .navbar-nav a, .navbar .navbar-header .navbar-nav a:link, .navbar .navbar-header .navbar-nav a:visited {
        margin: 0 1rem;
    }
}

.navbar .navbar-header .navbar-nav a:hover li, .navbar .navbar-header .navbar-nav a:link:hover li, .navbar .navbar-header .navbar-nav a:visited:hover li {
    color: #00cccc;
}

.navbar .navbar-header .navbar-nav a li, .navbar .navbar-header .navbar-nav a:link li, .navbar .navbar-header .navbar-nav a:visited li {
    padding: 0;
    font-family: "montserrat", sans-serif;
    display: inline-block;
    text-transform: uppercase;
    color: #417475;
    font-size: 1.0rem;
    letter-spacing: 0.1rem;
    border-bottom: 2px solid transparent;
}

    .navbar .navbar-header .navbar-nav a li:first-child, .navbar .navbar-header .navbar-nav a:link li:first-child, .navbar .navbar-header .navbar-nav a:visited li:first-child {
        margin-left: 0;
    }

    .navbar .navbar-header .navbar-nav a li:last-child, .navbar .navbar-header .navbar-nav a:link li:last-child, .navbar .navbar-header .navbar-nav a:visited li:last-child {
        margin-right: 0;
    }

.navbar .mobile-navbar-header {
    display: none;
    text-align: left;
    padding: 15px 0 15px 15px;
}

    .navbar .mobile-navbar-header img {
        width: 180px;
    }

.navbar .mobile-nav-container {
    display: none;
}

@media only screen and (max-width: 767px) {
    .navbar {
        background: #fff;
    }

        .navbar .mobile-navbar-header {
            display: block;
        }

        .navbar .mobile-nav-container {
            display: block;
        }

        .navbar .navbar-toggle {
            float: right;
            border: none;
            position: relative;
            background: none;
            width: 60px;
            height: 60px;
            margin: -5px 10px 0 0;
            outline: none;
        }

            .navbar .navbar-toggle .burger {
                position: absolute;
                left: 14px;
                top: 20px;
            }

            .navbar .navbar-toggle .icon-bar {
                position: absolute;
                background: #00cccc;
                width: 32px;
                height: 2px;
                -moz-transition: all 0.2s;
                -o-transition: all 0.2s;
                -webkit-transition: all 0.2s;
                transition: all 0.2s;
            }

            .navbar .navbar-toggle.collapsed .top {
                top: 0;
                left: 0;
                -moz-transform: rotate(0deg);
                -o-transform: rotate(0deg);
                -ms-transform: rotate(0deg);
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }

            .navbar .navbar-toggle.collapsed .mid {
                top: 8px;
                left: 0;
                -moz-transform: scale(1);
                -o-transform: scale(1);
                -ms-transform: scale(1);
                -webkit-transform: scale(1);
                transform: scale(1);
            }

            .navbar .navbar-toggle.collapsed .bot {
                top: 16px;
                left: 0;
                -moz-transform: rotate(0deg);
                -o-transform: rotate(0deg);
                -ms-transform: rotate(0deg);
                -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
            }

            .navbar .navbar-toggle .top {
                top: 8px;
                left: 0;
                -moz-transform: rotate(45deg);
                -o-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
            }

            .navbar .navbar-toggle .mid {
                top: 8px;
                left: 0;
                -moz-transform: scale(0);
                -o-transform: scale(0);
                -ms-transform: scale(0);
                -webkit-transform: scale(0);
                transform: scale(0);
            }

            .navbar .navbar-toggle .bot {
                top: 8px;
                left: 0;
                -moz-transform: rotate(-45deg);
                -o-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
            }

        .navbar .navbar-header {
            display: none;
        }

        .navbar #mobile-navbar-nav {
            width: 100%;
            margin: 0;
            padding: 0;
            text-align: center;
            box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.3);
        }

            .navbar #mobile-navbar-nav a, .navbar #mobile-navbar-nav a:link, .navbar #mobile-navbar-nav a:visited {
                text-decoration: none;
            }

                .navbar #mobile-navbar-nav a li, .navbar #mobile-navbar-nav a:link li, .navbar #mobile-navbar-nav a:visited li {
                    color: #00cccc;
                    font-weight: 600;
                    text-decoration: none;
                    text-transform: uppercase;
                    border-bottom: 1px solid #00cccc;
                    -moz-transition: all 0.2s;
                    -o-transition: all 0.2s;
                    -webkit-transition: all 0.2s;
                    transition: all 0.2s;
                }

                .navbar #mobile-navbar-nav a:first-child li, .navbar #mobile-navbar-nav a:link:first-child li, .navbar #mobile-navbar-nav a:visited:first-child li {
                    border-top: 1px solid #00cccc;
                }

                .navbar #mobile-navbar-nav a:last-child li, .navbar #mobile-navbar-nav a:link:last-child li, .navbar #mobile-navbar-nav a:visited:last-child li {
                    padding-bottom: 40px;
                    border-bottom: none;
                }

                .navbar #mobile-navbar-nav a:hover li, .navbar #mobile-navbar-nav a:link:hover li, .navbar #mobile-navbar-nav a:visited:hover li {
                    color: #fff !important;
                    background: #00cccc;
                }

            .navbar #mobile-navbar-nav li {
                width: 100%;
                display: block;
                margin: 0 !important;
                padding: 20px 0;
                font-size: 1.6rem;
                border-top: 1px solid #fff;
            }
}

.content-container {
    padding-top: 150px !important;
}

@media only screen and (max-width: 767px) {
    .content-container {
        padding-top: 74px !important;
    }
}

/**** footer ****/
.footer {
    text-align: center;
    background: #f6f9f9;
    padding: 15px 0 15px 0;
}

    .footer ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
    }

        .footer ul li {
            display: inline-block;
        }

            .footer ul li:after {
                content: '|';
            }

            .footer ul li:last-child:after {
                content: '';
            }

@media only screen and (max-width: 767px) {
    .footer ul li {
        display: block;
        margin-bottom: 15px;
        margin-top: 15px;
    }

        .footer ul li:after {
            content: '';
        }
}

.footer .locations li, .footer .locations a, .footer .locations a:link, .footer .locations a:visited {
    text-decoration: none;
    font-size: .8rem;
    color: #336666;
    font-weight: 500;
    letter-spacing: 0.2rem;
}

@media only screen and (max-width: 767px) {
    .footer .locations li, .footer .locations a, .footer .locations a:link, .footer .locations a:visited {
        font-size: 1.6rem;
    }
}

.footer .locations a, .footer .locations a:link, .footer .locations a:visited {
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    margin-right: 12px;
    margin-left: 8px;
}

.footer .locations li:hover a {
    text-decoration: none;
    color: #f6f9f9;
    background: #336666;
}

.footer .nav {
    margin: 15px 0;
    justify-content: center;
    align-items: center;
}

@media only screen and (max-width: 767px) {
    .footer .nav {
        margin: 30px 0;
    }
}

.footer .nav li, .footer .nav a, .footer .nav a:link, .footer .nav a:visited {
    font-size: .8 rem;
    color: #336666;
    font-weight: 300;
    letter-spacing: 0.2rem;
}

@media only screen and (max-width: 767px) {
    .footer .nav li, .footer .nav a, .footer .nav a:link, .footer .nav a:visited {
        font-size: 1.4rem;
    }
}

.footer .nav a, .footer .nav a:link, .footer .nav a:visited {
    text-decoration: none;
    padding: 5px 10px 5px 10px;
    border-radius: 5px;
    -moz-transition: all 0.2s;
    -o-transition: all 0.2s;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    margin-right: 4px;
    margin-left: 0px;
}

.footer .nav li:hover a {
    text-decoration: none;
    color: #f6f9f9;
    background: #336666;
}

.footer .social {
    margin: -10px 0 15px 0;
}

    .footer .social .icon {
        position: relative;
    }

        .footer .social .icon:after {
            content: '';
            position: absolute;
            display: block;
            top: 0;
            left: 0;
            opacity: 0;
            -moz-transition: all 0.2s;
            -o-transition: all 0.2s;
            -webkit-transition: all 0.2s;
            transition: all 0.2s;
        }

        .footer .social .icon:hover:after {
            opacity: 1;
        }

    .footer .social a, .footer .social a:link, .footer .social a:visited {
        display: block;
        text-indent: -9999px;
        font-size: 0;
    }

    .footer .social li {
        display: inline-block;
        margin: 0;
        padding: 0 10px 0 10px;
    }

        .footer .social li:after {
            content: '';
        }

/**** content ******/
p {
    padding: 0;
    margin: 0;
    font-size: 1.0rem; /* was 1.6rem older 2017 site */
    line-height: 1.8rem; /* was 1.6rem older 2017 site */
    color: #4a686a;
    font-weight: 400;
    letter-spacing: 0.1rem;
}

    p a, p a:visited, p a:link {
        text-decoration: none;
        color: #4a686a;
        -moz-transition: all 0.2s;
        -o-transition: all 0.2s;
        -webkit-transition: all 0.2s;
        transition: all 0.2s;
    }

        p a:hover, p a:visited:hover, p a:link:hover {
            color: #00cccc;
            text-decoration: none;
            border-bottom: 1px dotted #00cccc;
        }

h1 {
    font-size: 1.6rem;
    color: #4a686a;
    font-weight: 400;
    letter-spacing: 0.05rem;
    margin: 10px 0;
}

h2 {
    font-size: 2rem;
    color: #fff;
    font-weight: 400;
    letter-spacing: 0.15rem;
}

p.cta {
    font-size: .8rem;
    line-height: .8rem;
    letter-spacing: 0.05rem !important;
    color: #4a686a;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
}

.content-container {
    position: relative;
    padding-top: 0px;
    z-index: 0;
}

@media only screen and (max-width: 767px) {
    .content-container {
        padding-top: 80px;
    }

        .content-container .container {
            padding: 10px 25px !important;
        }
}

p, h1, .chart, .service-list, .partner, .team-item, .reveal, .portfolio-item, .work-item {
    opacity: 0;
    -webkit-filter: blur(2);
    filter: blur(2);
}

.container {
    max-width: 860px !important;
    padding: 0 !important;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .container {
        width: 100%;
        padding: 0 2% !important;
    }
}

.teal-container {
    max-width: 100%;
    background: #00cccc;
}

.narrow-container {
    margin: 0 auto;
    max-width: 710px !important;
}

@media only screen and (max-width: 767px) {
    .narrow-container {
        padding-left: 25px;
        padding-right: 25px;
    }
}

.medium-container {
    margin: 0 auto;
    padding: 0 12px;
    max-width: 784px !important;
}

.wide-container {
    margin: 0 auto;
    padding: 0 12px;
    max-width: 900px !important;
}

.full-bleed-container {
    width: 100%;
}

.full-bleed-image {
    max-width: 100%;
    height: auto;
}

.full-height-image {
    height: 100%;
    max-height: 100%;
    width: auto;
}

/** overlay **/
.scroll-arrow {
    position: fixed;
    z-index: 2000;
    right: 40px;
    bottom: 40px;
    cursor: pointer;
}

@media only screen and (max-width: 767px) {
    .scroll-arrow {
        display: none;
    }
}

/*** front-page **********/
.front-page .masthead {
    position: relative;
    min-height: 430px;
    max-height: 430px;
    overflow: hidden;
    background: #000;
    text-align: center;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .front-page .masthead {
        max-height: 330px !important;
        min-height: 330px !important;
    }
}

@media only screen and (max-width: 767px) {
    .front-page .masthead {
        max-height: 290px !important;
        min-height: 290px !important;
    }
}

.front-page .masthead .m {
    display: none;
}

@media only screen and (max-width: 767px) {
    .front-page .masthead .m {
        display: block;
    }
}

.front-page .masthead h2 {
    position: absolute;
    width: 100%;
    padding: 0 5%;
    z-index: 200;
    opacity: 0;
    font-size: 1.1rem;
    text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.7);
}

@media only screen and (max-width: 767px) {
    .front-page .masthead h2 {
        padding: 0 2%;
    }
}

.front-page .masthead .images {
    font-size: 0;
    display: block;
    position: relative;
    z-index: 100;
    min-width: 100%;
    min-height: 100%;
    white-space: nowrap;
}

    .front-page .masthead .images .item-container {
        position: relative;
        display: inline-block;
        opacity: 0;
        -webkit-box-shadow: 4px 0px 14px 0px rgba(0, 0, 0, 0.38);
        -moz-box-shadow: 4px 0px 14px 0px rgba(0, 0, 0, 0.38);
        box-shadow: 4px 0px 14px 0px rgba(0, 0, 0, 0.38);
    }

        .front-page .masthead .images .item-container .item {
            position: absolute;
            display: block;
            left: 0;
            top: 0;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            min-width: 100%;
            min-height: 100%;
            max-width: 100%;
            max-height: 100%;
            z-index: 0;
        }

        .front-page .masthead .images .item-container .plus {
            position: absolute;
            width: 82px;
            height: auto;
            right: -41px;
            top: calc(50% - 41px);
            opacity: 0;
            z-index: 10000;
        }

@media only screen and (max-width: 767px) {
    .front-page .masthead .images .item-container .plus {
        width: 60px;
        height: auto;
        right: -30px;
        top: calc(65% - 30px);
    }
}

.front-page .team-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    margin: 10px 0 20px 0;
}

    .front-page .team-list .team-item {
        -webkit-box-flex: auto;
        -webkit-flex: auto;
        -moz-box-flex: auto;
        -moz-flex: auto;
        -ms-flex: auto;
        flex: auto;
    }

        .front-page .team-list .team-item img {
            width: 90px;
            height: auto;
        }

.front-page .services {
    padding: 5px 0 25px 0 !important;
}

    .front-page .services .cta {
        font-size: .9rem;
        line-height: 1.1rem;
    }

    .front-page .services h2 {
        margin: 10px 0 5px 0;
        font-size: 1.2rem;
        font-style: 400;
    }

    .front-page .services ul {
        list-style-type: none;
        padding: 0 0 0 15px;
        margin: 0;
    }

        .front-page .services ul li {
            position: relative;
            font-size: .9rem;
            color: #fff;
            font-weight: 400;
            line-height: 1.5rem;
            letter-spacing: 0.12rem;
        }

            .front-page .services ul li:before {
                content: '+';
                position: absolute;
                left: -15px;
            }

@media only screen and (max-width: 767px) {
    .front-page .services {
        padding: 10px 25px 40px 25px !important;
    }

        .front-page .services .service-list {
            margin-top: 20px;
        }
}

.services-page .chart {
    margin-bottom: 40px;
}

@media only screen and (max-width: 767px) {
    .services-page .desktop-chart {
        display: none;
    }
}

.services-page .mobile-chart {
    display: none;
}

@media only screen and (max-width: 767px) {
    .services-page .mobile-chart {
        display: block;
    }
}

/****** approach ******/
.approach-page .masthead {
    padding: 0;
    margin: 0;
}

    .approach-page .masthead .right, .approach-page .masthead .left {
        padding: 0;
        margin: 0;
        min-height: 430px;
        background-size: cover !important;
    }

@media only screen and (max-width: 767px) {
    .approach-page .masthead .right, .approach-page .masthead .left {
        min-height: 250px;
        padding-top: 50%;
    }
}

.approach-page .masthead .right {
    position: relative;
}

    .approach-page .masthead .right img {
        position: relative;
    }

    .approach-page .masthead .right .plus {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        position: absolute;
        z-index: 100;
        left: -210px;
        top: 0;
        height: 100%;
    }

@media only screen and (max-width: 767px) {
    .approach-page .masthead .right .plus {
        display: inline-block;
        left: 0;
        top: 0px !important;
        margin: 0 auto;
        width: 100%;
    }

        .approach-page .masthead .right .plus .vert {
            display: none !important;
        }
}

.approach-page .masthead .right .plus h2 {
    position: relative;
    vertical-align: middle;
    text-align: center;
    color: #4a686a;
    font-size: 1.1rem;
    text-transform: uppercase;
    background: #fff;
    width: 420px;
    margin: 0;
    padding: 37px 0;
}

@media only screen and (max-width: 767px) {
    .approach-page .masthead .right .plus h2 {
        padding: 20px 0;
        width: 85%;
        font-size: 1.6rem;
        margin: -35px auto 0 auto;
    }
}

.approach-page .masthead .right .plus .vert {
    position: absolute;
    display: block;
    background: #fff;
    top: 0;
    left: 38%;
    height: 100%;
    width: 100px;
}

.approach-page .container {
    margin-top: 20px;
    margin-bottom: 50px;
}

    .approach-page .container p.cta {
        text-align: center;
        font-size: 1.1rem;
        line-height: 1.3rem;
    }

/****** contact ******/
.contact-page {
    margin-bottom: 80px;
}

    .contact-page h1 {
        margin-bottom: 0;
    }

/****** team page ******/
.team-page .partners {
    margin-bottom: 60px;
}

    .team-page .partners .partner {
        margin-top: 20px;
        padding: 0;
    }

        .team-page .partners .partner .img-holder {
            width: 100%;
            background: #eee;
        }

            .team-page .partners .partner .img-holder img {
                width: 100%;
                max-width: 100%;
                height: 0;
                padding-top: 89.9317406143%;
                opacity: 0;
            }

        .team-page .partners .partner .description {
            padding: 10px;
        }

            .team-page .partners .partner .description h3 {
                font-size: 1rem;
                font-weight: 400;
                text-transform: uppercase;
                margin: 2px 0;
            }

            .team-page .partners .partner .description p {
                font-size: .8rem;
                line-height: 1rem;
            }

        .team-page .partners .partner.plus:before {
            position: absolute;
            z-index: 20;
            top: 94px;
            left: -42px;
            content: '';
            background: url("img/plus_165.png");
            background-size: cover;
            width: 83px;
            height: 83px;
        }

@media only screen and (max-width: 767px) {
    .team-page .partners .partner.plus:before {
        display: none;
    }
}

.team-page .locations {
    padding: 20px 0;
}

    .team-page .locations .map {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-justify-content: center;
        -moz-justify-content: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        -moz-align-items: center;
        align-items: center;
        margin: 25px auto;
        height: 396px;
        background: url("img/map.png") no-repeat center center;
        background-size: cover;
    }

        .team-page .locations .map h1 {
            width: 95%;
            text-align: center;
            font-weight: 500;
            font-size: 2.5rem;
            padding: 10px 10px;
            background: rgba(255, 255, 255, 0.68);
        }

/************ works overview ***************/
/************ works item page **************/
.works-item-page {
    padding-top: 60px;
}

    .works-item-page article {
        margin: 20px 0;
        padding: 0;
    }

        .works-item-page article p {
            letter-spacing: 0.06rem;
            font-size: .8rem;
            text-indent: 2.8rem;
            line-height: 1.8rem;
        }

            .works-item-page article p:first-child {
                text-indent: 0;
            }

    .works-item-page .portfolio {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -moz-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-direction: normal;
        -webkit-box-orient: vertical;
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-flow: row wrap;
        -moz-flex-flow: row wrap;
        -ms-flex-flow: row wrap;
        flex-flow: row wrap;
        margin-bottom: 165px;
    }

        .works-item-page .portfolio .portfolio-item {
            width: 100%;
            border-bottom: 1px solid #fff;
            background: #eee;
        }

            .works-item-page .portfolio .portfolio-item img {
                display: block;
                width: 100%;
                padding-top: 67.4285714286%;
            }

@media only screen and (min-width: 768px) {
    .works-item-page .portfolio .portfolio-item {
        width: 50%;
        border-right: 1px solid #fff;
    }
}

/************ works list **************/
.work-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-flow: row wrap;
    -moz-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    min-width: 100%;
    padding: 0;
    margin: 0;
    background: #ccc;
}

    .work-list .work-item {
        cursor: pointer;
        position: relative;
        height: calc((270/450)*100vw);
        width: 100vw;
        border-top: 1px solid #fff;
        overflow: hidden;
    }

@media only screen and (min-width: 768px) {
    .work-list .work-item {
        border-right: 1px solid #fff;
        height: 270px;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .work-list .work-item {
        width: 50%;
    }
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .work-list .work-item {
        width: 33.33%;
    }
}

@media only screen and (min-width: 1200px) {
    .work-list .work-item {
        width: 33.33%;
    }
}

.work-list .work-item h3 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    -moz-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    height: 100%;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.4rem;
    line-height: 2.5rem;
    margin: 0;
    padding: 0;
    color: #fff;
    text-align: center;
    width: 100%;
    opacity: 0;
}

.work-list .work-item .overlay {
    display: block;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    background: rgba(75, 104, 106, 0.75);
    opacity: 0;
}

.work-list .work-item .image {
    background-size: cover !important;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
}

@media only screen and (max-width: 767px) {
    .work-list .work-item {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: flex-start;
        -moz-justify-content: flex-start;
        justify-content: flex-start;
        -webkit-box-align: end;
        -ms-flex-align: end;
        -webkit-align-items: flex-end;
        -moz-align-items: flex-end;
        align-items: flex-end;
    }

        .work-list .work-item .overlay {
            opacity: 1 !important;
            min-height: 60px;
        }

        .work-list .work-item h3 {
            opacity: 1 !important;
            padding: 16px 20px;
            line-height: 30px;
            text-align: left;
            min-width: 100%;
        }
}
