html, body {
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    background-color:#000000;
}

div, a, img, span {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline:0;
    -webkit-backface-visibility:hidden;
    -webkit-text-size-adjust:none;
}

div, ul {
    margin:0;
    padding:0;
}

ul {
    list-style: none;
}

.hidden {
    width:0px;
    height:0px;
    position:absolute;
    top:-1000px;
    left:-1000px;
    opacity:0;
    z-index:0;
}


/* ================================== */
/* ---- general / top level --------- */
/* ================================== */

#main_wrapper {
    width:100%;
    height:auto;
    position: relative;
    font-size:14px;
    opacity: 0;
}

#main_wrapper.show {
    opacity: 1;
}

.section {
    width:100%;
    height:auto;
    position:relative;
    overflow:hidden;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}


/* */

#hamburgerBtn {
    width:50px;
    height:50px;
    position:fixed;
    color:#ffffff;
    opacity:.5;
    font-size:30px;
    top:20px;
    right:10px;
    text-align: center;
    cursor:pointer;
    z-index:8000;
    transition:300ms;
    -webkit-transition:300ms;
}

#hamburgerBtn:hover {
    opacity:1;
}

/* */

#cornerLogo {
    width: 100px;
    height: auto;
    position:absolute;  
    top:10px;
    left:10px;
    z-index:8000;
}

.video-container { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }

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


@media only screen and (max-width: 750px) {
    #hamburgerBtn {
        transform: scale(.75);
        top: 0px;
        right: 0px;
    }

    /* */

    #cornerLogo {
        transform: scale(.5);
        top: -10px;
        left: -10px;
    }
}

/* ================================== */
/* ---- slide menu ------------------ */
/* ================================== */

#slideMenu {
    width:48vh;
    height:100vh;
    position:fixed;
    top:0;
    right:-100%;
    background-color:rgba(0,0,0,.9);
    transition:300ms;
    -webkit-transition:300ms;
}

#slideMenu.open {
    right:0;
}

#slideMenu .nav {
    width:90%;
    height:auto;
    position:absolute;
    top:50%;
    left:50%;
    text-align:center;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
}

#slideMenu .nav .navItem {
    width:auto;
    height:auto;
    font-family: 'Montserrat', sans-serif;
    font-weight:500;
    font-size:4vh;
    margin:3.2vh auto;
    color:#b7b7b7;
    cursor:pointer;
    transition:300ms;
    -webkit-transition:300ms;
}

#slideMenu .nav .navItem:hover {
    color:#ffffff;
}

#slideMenu .social_wrapper {
    width:auto;
    height:auto;
    padding:1vh;
    text-align:right;
    position:absolute;
    bottom:1vh;
    right:0;
}

#slideMenu .social_wrapper a {
    width: 4vh;
    font-size: 4vh;
    color: #b7b7b7;
    margin: 0 2vh;
    display:inline-block;
    text-decoration:none;
    text-align:center;
}

#slideMenu .social_wrapper a:hover {
    color:#ffffff;
}


@media only screen and (max-width: 600px) {
    #slideMenu {
        width:100%;
    }
}

/* ================================== */
/* ---- hero video ------------------ */
/* ================================== */

.section.hero {
    height: 100vh;
}

.section.hero.w1650 {
    height: 80vw;
}

.section.hero.w1650 video {
    height: 56vw;
}

.hero video {
    width:auto;
    height:auto;
    min-width:100%;
    min-height:100%;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
}

.hero .msg {
    width:auto;
    height:auto;
    position:absolute;
    font-family: 'Montserrat', sans-serif;
    font-weight:500;
    color:#ffffff;
    text-align:center;
    font-size:8vh;
    /*text-shadow: 2px 7px 6px rgba(0,0,0,0.5);*/
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
}
    /*
    .hero.resizeByWidth .msg {
        font-size:10vw;
    }
    */

.hero .tm {
    font-size:3vh;
    vertical-align:top;
    position:relative;
    top:1.3vh;
}
    /*
    .hero.resizeByWidth .tm {
        font-size:3vw;
        top:1.9vw;
    }
    */

.hero .msg .tagline {
    height:30vh;
    width:auto;
}
    
    .section.hero.w1650 .msg .tagline {
        height:27vw;
        width:auto;
    }
    

.hero .downArrow {
    height:20px;
    width:auto;
    position:absolute;
    bottom:60px;
    left:50%;
    transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
}

    .section.hero.w1650 .downArrow {
        height:2vw;
        bottom: 2vw;
    }

@keyframes bounce { 
  0% { transform: translate(-50%, 0); }
  100% { transform: translate(-50%, -15px); }
}
.bounce-animation {
  animation: bounce 0.6s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}


/* ================================== */
/* ---- sizzle video ---------------- */
/* ================================== */
.sizzle {
    height: auto;
    min-height: auto;
    padding: 150px;
    box-sizing: border-box;
}

@media only screen and (max-width: 800px) {
    .sizzle {
        padding: 10px;
    }
}

/* ================================== */
/* ---- spotlight works ------------- */
/* ================================== */
.spotlight {
    height:100vh;
}

.spotlight.w1650 {
    height: 83vw;
}

.spotlight .default {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    opacity:1;
    transition:300ms;
    -webkit-transition:300ms;
    pointer-events:auto;
}

.spotlight .default .content_container {
    width:100%;
    height:auto;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    color:#ffffff;
    text-align:center;
}

.spotlight .default .content_container .clio {
    width:auto;
    height:4.5vh;
}

.spotlight .default .content_container .webby {
    width:auto;
    height:8vh;
}

.spotlight .default .content_container .heading {
    font-size:8vh;
    line-height:8vh;
    font-family: 'Montserrat', sans-serif;
    font-weight:100;
    margin:2vh;
}

    .spotlight .default.resizeByWidth .content_container .heading {
        font-size:8.5vw;
        line-height:8.5vw;
        margin:2.5vw;
    }

    .spotlight .default .content_container .heading .fca {
        height:12vh;
        width:auto;
    }

        .spotlight .default.resizeByWidth .content_container .heading .fca {
            height:auto;
            width:30vw;
        }

.spotlight .default .content_container .copy {
    font-size:2.5vh;
    font-family: 'Montserrat', sans-serif;
    font-weight:700;
}

    .spotlight .default.resizeByWidth .content_container .copy {
        font-size:3.5vw;
    }

.spotlight .default .tout {
    width:auto;
    height:auto;
    position:absolute;
    bottom:2vh;
    text-align:center;
    font-size:2vh;
    opacity:.6;
    font-family: 'Montserrat', sans-serif;
    font-weight:800;
    color:#ffffff;
    left:50%;
    transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
    transition:300ms;
    -webkit-transition:300ms;
    cursor:pointer;
}
    
    .spotlight.w600 .default .tout {
        bottom:1vh;
        font-size:1.2vh;
    }

.spotlight .default .tout .downArrow {
    font-size:3vh;
    margin:.6vh;
    transition:300ms;
    -webkit-transition:300ms;
}

    .spotlight .default.resizeByWidth .tout .downArrow {
        font-size:3vw;
        margin:.6vw;
    }

.spotlight .default .tout:hover {
    opacity:1;
}

.spotlight .default .tout:hover .downArrow {
    margin:.8vh;
}

.spotlight .caseStudy {
    width:100%;
    height:auto;
    background-color:#f3f3f3;
    min-height:calc(100vh - 2600px);
    position:relative;
    opacity:0;
    padding:130px 0;
    pointer-events:none;
    transition:300ms;
    -webkit-transition:300ms;
}

.spotlight .caseStudy .content_container {
    width:1120px;
    height:auto;
    position:relative;
    margin:0 auto;
    font-family: 'Montserrat', sans-serif;
    font-weight:500;
}

.spotlight .caseStudy .closeBtn {
    position:absolute;
    top:0;
    right:0;
    color:#000000;
    font-family: 'Montserrat', sans-serif;
    font-size:1.5em;
    font-weight:500;
    transition:300ms;
    -webkit-transition:300ms;
    cursor:pointer;
    text-align:right;
    opacity:.5;
}

.spotlight .caseStudy .closeBtn:hover {
    opacity:1;
}

.spotlight .caseStudy .top {
    width:100%;
    height:auto;
    position:relative;
    margin-bottom:4em;
}

.spotlight .caseStudy .top .title {
    font-family: 'Montserrat', sans-serif;
    font-size:3.3em;
    font-weight:700;
}

.spotlight .caseStudy .top .subTitle {
    font-family: 'Montserrat', sans-serif;
    font-size:2em;
    font-weight:200;
}

.spotlight .column_container {
    width:100%;
    height:auto;
    position:relative;
    text-align:left;
    vertical-align:top;
}
    .spotlight .column_container .top-margin {
        margin-top: 2em;
    }

    .spotlight .column_container .groupLabel {
        font-weight: bold;
        margin: 1em 1em 1em 0;
    }
    
    .spotlight .column_container .first {
        margin-top: 0;
    }

    .spotlight .column_container a {
        color:#333333;
        text-decoration:none;
        transition:300ms;
        -webkit-transition:300ms;
    }

    .spotlight .column_container a:hover {
        color:red;
        text-decoration:underline;
    }

.spotlight .column_container .left {
    width:47%;
    height:auto;
    position:relative;
    display:inline-block;
    text-align:left;
    vertical-align:top;
    margin-right:3%;
    font-size:1.2em;
    line-height:1.5em;
    color:#333333;
}

.spotlight .column_container .right {
    width:47%;
    height:auto;
    position:relative;
    display:inline-block;
    text-align:left;
    vertical-align:top;
    margin-left:2.5%;
    font-size:1.2em;
    line-height:1.5em;
    color:#333333;
}

.spotlight .column_container .stats {
    width:100%;
    height:auto;
    position:relative;
    text-align:left;
}

.spotlight .column_container .stats .stat {
    display:inline-block;
    font-family: 'Montserrat', sans-serif;
    color:#969696;
    vertical-align:top;
    margin-right:1.5em;
    margin-top: .2em;
    margin-bottom: .2em;
}

.spotlight .column_container .stats .stat .quantity {
    font-size:3em;
    line-height:1em;
    font-weight:500;
    
}

.spotlight .column_container .stats .stat .metric {
    font-size:.7em;
    line-height:1.3em;
}

.spotlight .column_container img {
    margin:3em 0;
}

/* open */
.spotlight.open {
    height:auto;
}

.spotlight.open .default{
    opacity:0;
    pointer-events:none;
}

.spotlight.open .caseStudy{
    opacity:1;
    pointer-events:auto;
}


@media (max-width:1220px){
    .spotlight .caseStudy .content_container {
        width:700px;
    }

    .spotlight .caseStudy .closeBtn {
        top:-3em;
    }

    .spotlight .column_container .left {
        width:100%;
        margin-right:0;
    }

    .spotlight .column_container .right {
        width:100%;
        margin-left:0;
    }
}

@media (max-width:750px){
    .spotlight .caseStudy .content_container {
        width:90vw;
    }

    .spotlight .caseStudy .top {
        margin-bottom: 7vw;
    }

    .spotlight .caseStudy .top .title {
        font-size: 6vw;
    }

    .spotlight .caseStudy .top .subTitle {
        font-size: 3.6vw;
    }

    .spotlight .column_container .left {
        font-size: 1.2em;
        line-height: 1.5em;
    }

    .spotlight .column_container .right {
        font-size: 1.2em;
        line-height: 1.5em;
    }

    .spotlight .column_container .stats .stat {
        margin-right: 6vw;
    }

    .spotlight .column_container .stats .stat .quantity {
        font-size: 7vw;
        line-height: 6vw;
    }

    .spotlight .column_container .stats .stat .metric {
        font-size: 1.9vw;
        line-height: 2.3vw;
    }

    .spotlight .column_container img {
        margin: 8vw 0;
    }
}


/* ================================== */
/* ---- recent work ----------------- */
/* ================================== */

.recentWork {
    min-height:auto;
    height:auto;
    background-color:#ffffff;
    text-align:center;
    padding:11vh 0;
}

.recentWork .content_container {
    width:90%;
    height:auto;
    position:relative;
    top:0;
    left:0;
    text-align:left;
    margin:0 auto;
}

.recentWork .content_container .heading {
    font-size: 5vh;
    font-family: 'Montserrat', sans-serif;
    color: #000000;
    margin: 4vh;
    text-align: center;
    font-weight: 600;
}

.recentWork .content_container .thumbnails {
    width:100%;
    height:auto;
    text-align:center;
}

.recentWork .content_container .thumb {
    width:300px;
    height:300px;
    margin:15px;
    position:relative;
    display:inline-block;
    overflow:hidden;
}

.recentWork .content_container .thumb img {
    width:100%;
    height:auto;
}

@media (max-width:380px){
    .recentWork .content_container .thumb {
        width:255px;
        height:255px;
    }
}

.recentWork .content_container .thumb .ro {
    width:100%;
    height:100%;
    position:absolute;
    z-index:1;
    top:0;
    left:0;
    background-color:rgba(0,0,0, .85);
    opacity:0;
    transition:300ms;
    -webkit-transition:300ms;
}

.recentWork .content_container .thumb .ro .details {
    width:100%;
    height:auto;
    position:absolute;
    font-family: 'Montserrat', sans-serif;
    color: #ffffff;
    top:50%;
    left:0;
    transform:translateY(-50%);
    -webkit-transform:translateY(-50%);
}

.recentWork .content_container .thumb .ro .details .title{
    font-size:30px;
    font-weight:100;
    opacity:0;
    transition:300ms;
    -webkit-transition:300ms;
    transition-delay:150ms;
    -webkit-transition-delay:150ms;
    transform:translateX(-10%);
    -webkit-transform:translateX(-10%);
}

.recentWork .content_container .thumb .ro .details .subTitle{
    font-size:14px;
    font-weight:800;
    opacity:0;
    transition:300ms;
    -webkit-transition:300ms;
    transition-delay:300ms;
    -webkit-transition-delay:300ms;
    transform:translateX(10%);
    -webkit-transform:translateX(10%);
}

.recentWork .content_container .thumb:hover .ro {
    opacity:1;
}

.recentWork .content_container .thumb:hover .ro .details .title{
    opacity:1;
    transform:translateX(0%);
    -webkit-transform:translateX(0%);
}

.recentWork .content_container .thumb:hover .ro .details .subTitle{
    opacity:1;
    transform:translateX(0%);
    -webkit-transform:translateX(0%);
}


/* ================================== */
/* ---- who we are ------------------ */
/* ================================== */

.section.whoWeAre {
    min-height: 100vh;
}

.whoWeAre{
    /* background-image:url(../img/about_bg.jpg); */
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    background-color:#000000;
}

    .whoWeAre.resizeByWidth{
        /*background-image:url(../img/about_bg_vertical.jpg); */
    }

.whoWeAre .bg_grid {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    display:grid;
    grid-template-columns:auto auto auto;
}

    .whoWeAre.resizeByWidth .bg_grid {
        grid-template-columns:auto auto;
    }

.whoWeAre .bg_grid .square {
    display: inline-grid;
    background-color:#000000;
    background-position:top center;
    background-size:cover;
    background-repeat:no-repeat;
    opacity:.3;
    height:50vh;
    width:auto;
    transition:1000ms;
    -webkit-transition:1000ms;
}

.whoWeAre.resizeByWidth .bg_grid .square {
    height:33.3vh;
}

/*
.whoWeAre .bg_grid .square:nth-child(2) {
    transition-delay:150ms;
    -webkit-transition-delay:150ms;
}

.whoWeAre .bg_grid .square:nth-child(3) {
    transition-delay:300ms;
    -webkit-transition-delay:300ms;
}

.whoWeAre .bg_grid .square:nth-child(4) {
    transition-delay:450ms;
    -webkit-transition-delay:450ms;
}

.whoWeAre .bg_grid .square:nth-child(5) {
    transition-delay:600ms;
    -webkit-transition-delay:600ms;
}

.whoWeAre .bg_grid .square:nth-child(6) {
    transition-delay:750ms;
    -webkit-transition-delay:750ms;
}
*/

.whoWeAre .content_container {
    width:100vh;
    height:auto;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    color:#ffffff;
    text-align:center;
}

    .whoWeAre.resizeByWidth .content_container {
        width:70vw;
        top:32%;
    }

    .whoWeAre.resizeBySlimWidth .content_container {
        width:100vw;
        top:32%;
    }

.whoWeAre .content_container .heading {
    font-size:9vh;
    font-family: 'Montserrat', sans-serif;
    font-weight:100;
    margin:2vh;
}
    
    .whoWeAre.resizeByWidth .content_container .heading {
        font-size:8vw;
        margin:2vw;
    }

    .whoWeAre.resizeBySlimWidth .content_container .heading {
        font-size:11.5vw;
    }

.whoWeAre .content_container .copy {
    font-size:2.7vh;
    font-family: 'Montserrat', sans-serif;
    font-weight:200;
}

    .whoWeAre.resizeByWidth .content_container .copy {
        font-size:2.7vw;
    }

    .whoWeAre.resizeBySlimWidth .content_container .copy {
        font-size:4.6vw;
        width: 90%;
        margin: 0 auto;
    }

.whoWeAre .logos {
    width:90%;
    height:14vh;
    position:absolute;
    bottom:3vh;
    left:50%;
    transform:translateX(-50%);
    -webkit-transform:translateX(-50%);
    background-image:url(../img/about_logos.png);
    background-position:center bottom;
    background-size:contain;
    background-repeat:no-repeat;
}

    .whoWeAre.resizeByWidth .logos {
        width:100%;
        height:15vw;
        bottom:3vw;
        
    }

    .whoWeAre.resizeBySlimWidth .logos {
        background-image:url(../img/about_logos_vertical.png);
        height:65vw;
    }



/* ================================== */
/* ---- contact --------------------- */
/* ================================== */
.contact {
    background-color:#282828;
}

.section.contact {
    min-height: 100vh;
}

.contact .content_container {
    width:100%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    font-family: 'Montserrat', sans-serif;
    color:#ffffff;
    text-align:center;
}

.contact .content_container .heading {
    font-size:9vh;
    margin:6vh auto;
    font-weight:100;
}

    .contact.resizeByWidth .content_container .heading {
        font-size:18vw;
        margin:12vw auto;
    }

.contact .content_container .body {
    font-size:2.7vh;
    font-weight:200;
    line-height:4vh;
}

    .contact.resizeByWidth .content_container .body {
        font-size:5.3vw;
        line-height:8vw;
    }

.contact .content_container .body .linkage {
    color:rgba(255,255,255,.7);
    text-decoration:none;
    transition:300ms;
    -webkit-transition:300ms;
}

.contact .content_container .body .linkage:hover {
    color:rgba(255,255,255, 1);
}

.contact .social_wrapper {
    width:auto;
    height:auto;
    padding:1vh;
    text-align:center;
    position:relative;
}

.contact .social_wrapper a {
    width: 4vh;
    font-size: 4vh;
    color:rgba(255,255,255,.6);
    margin: 0 2vh;
    display:inline-block;
    text-decoration:none;
    text-align:center;
    transition:300ms;
    -webkit-transition:300ms;
}

    .contact.resizeByWidth .social_wrapper a {
        width: 8vw;
        font-size: 8vw;
        margin: 0 5vw;
    }

.contact .social_wrapper a:hover {
    color:rgba(255,255,255,1);
}





/* ================================== */
/* ---- careers --------------------- */
/* ================================== */

#careers_wrapper {
    width:100%;
    height:100%;
    position:fixed;
    top:0;
    display:none;
    z-index:9999;
}

#careers_wrapper .bg {
    width:100%;
    height:100%;
    position:fixed;
    top:0;
    background:#000;
    opacity:0.9;
}

#careers_wrapper .content_container {
    width:950px;
    height:auto;
    position:absolute;
    font-family:'Montserrat',sans-serif;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    -webkit-transform:translate(-50%, -50%);
    opacity:0;
    transition:300ms;
    -webkit-transition:300ms;
}

    #careers_wrapper.show .content_container {
        opacity:1;
    }

#careers_wrapper .content_container .header {
    width:100%;
    height:auto;
    position:relative;
    background:#1e1e1e;
    color:#fff;
}

#careers_wrapper .content_container .header .headerSize {
    font-size:30px;
    color:#fff;
}

#careers_wrapper .content_container .header .emailColor {
    text-decoration:underline;
    color:rgba(255,255,255,.6);
    transition:300ms;
    -webkit-transition:300ms;
}

#careers_wrapper .content_container .header .emailColor:hover {
    color:rgba(255,255,255,1);
}

#careers_wrapper .content_container .header .close {
    width:20px;
    height:32px;
    position:absolute;
    color:#fff;
    top:0;
    right:0;
    cursor:pointer;
    line-height:32px;
    z-index:9999;
}

#careers_wrapper .content_container .header .join {
    color:#999999;
    position:relative;
    padding-top:26px;
    padding-bottom:26px;
    text-align:center;
}

#careers_wrapper .content_container .main {
    width:100%;
    height: calc(100vh - 184px - 10vh);
    overflow:auto;
    position:relative;
    background:#e9e9e9;
}

#careers_wrapper .content_container .main .positions {
    width:auto;
    position:relative;
    margin:0 auto;
    background:#e9e9e9;
    text-align:center;
    padding:32px 8%;
}

#careers_wrapper .content_container .main .positions .list {
    width:80%;
    text-align:left;
    position:relative;
    display:block;
    margin:0 auto;
}

#careers_wrapper .content_container .main .positions .list ul {
    list-style: disc
}

#careers_wrapper .content_container .main .positions .list li {
    margin:10px;
    text-align:left;
}

#careers_wrapper .content_container .main .positions .heading {
    font-size:30px;
    text-align:center;
}

#careers_wrapper .content_container .main .positions .title {
    text-decoration:underline;
    text-align:center;
}

#careers_wrapper .content_container .main .positions .copy {
    display:block;
    text-align:left;
    margin-top:5px;
}


@media (max-width:1000px){
    #careers_wrapper .content_container {
        width:97%;
    }
}




