html, body {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    padding: 0;
    margin: 0;
}
body {
    flex: 1;
    font-family: 'Lato', sans-serif;
    background-color: black;
    overflow-x: hidden;
}
.main {
    position: relative;
    width: 1300px;
    height: 850px;
    min-width: 1300px;
    min-height: 850px;
    max-width: 1300px;
    max-height: 850px;
    margin: 0 auto;
}
@media screen and (max-width: 1299px) {
    .main {
        width: 100%;
        min-width: 100%;
        max-width: 100%;
    }
}
@media screen and (max-width: 540px) {
    .main {
        height: auto;
        max-height: none;
        min-height: auto;
    }
}
.light {
    position: absolute;
    z-index: 1;
    top: 0;
    left: -70px;
    width: 704px;
    height: 393px;
    background-image: url(../img/wp1.jpg);
    background-repeat: no-repeat;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;
    opacity: 0;
}
@media screen and (max-width: 860px) {
    .light {
        left: -110px;
    }
}
@media screen and (max-width: 570px) {
    .light {
        left: -135px;
    }
}
@media screen and (max-width: 540px) {
    .light {
        display: none;
    }
}
.client-text {
    position: absolute;
    top: 80px;
    left: 160px;
    display: flex;
    flex-direction: column;
    width: 440px;
    opacity: 0;
    line-height: 1.6;
    text-shadow: 1px 1px 1px black;
    transition-duration: 1.2s;
    transition-timing-function: ease-in-out;
}
.client-text-title {
    font-size: 30px;
    font-weight: 900;
    color: white;
}
@media screen and (max-width: 760px) {
    .client-text-title {
        font-size: 24px;
    }
}
@media screen and (max-width: 570px) {
    .client-text-title {
        font-size: 20px;
    }
}
.client-text-copy {
    font-size: 15px;
    font-weight: 600;
    color: #ddd;
}
@media screen and (max-width: 880px) {
    .client-text {
        width: 340px;
    }
    .client-text-copy {
        font-size: 13px;
    }
}
@media screen and (max-width: 760px) {
    .client-text {
        width: 300px;
    }
    .client-text-copy {
        font-size: 12px;
    }
}
@media screen and (max-width: 570px) {
    .client-text {
        width: 270px;
    }
    .client-text-copy {
        font-size: 12px;
    }
}
.client-text-placed {
    top: 20px;
    opacity: 1;
}
.tv-wrapper {
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: 0;
    width: 500px;
    height: 545px;
}
@media screen and (max-width: 860px) {
    .tv-wrapper {
        height: 376px;
    }
}
@media screen and (max-width: 570px) {
    .tv-wrapper {
        left: -30px;
    }
}
@media screen and (max-width: 540px) {
    .tv-wrapper {
        left: calc(50% - 195px);
    }
}
.tv {
    position: absolute;
    z-index: 10;
    width: 500px;
    height: 545px;
    background-image: url(../img/tv.png);
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 860px) {
    .tv {
        width: 345px;
        height: 376px;
    }
}
.tv-panel {
    position: absolute;
    right: 16px;
    bottom: 166px;
    z-index: 100;
    width: 89px;
    height: 225px;
}
.tv-guts {
    position: absolute;
    z-index: 200;
    right: 16px;
    bottom: 166px;
    width: 89px;
    height: 225px;
    background-image: url(../img/guts.jpg);
    transition-duration: 3s;
    opacity: 0;
}
@media screen and (max-width: 860px) {
    .tv-guts {
        top: 102px;
        left: 274px;
        width: 61px;
        height: 157px;
        background-size: cover;
    }
}
.pointer {
    display: none;
    position: absolute;
    z-index: 100;
    top: 0;
    right: 100px;
    width: 166px;
    height: 104px;
    background-image: url(../img/pointer.png);
}
@media screen and (max-width: 540px) {
    .pointer {
        display: block;
    }
}
.immediate {
    transition-duration: 0s;
}
@media screen and (max-width: 860px) {
    .button-down {
        background-position-x: -61px;
    }
}
video {
    position: absolute;
    z-index: 1;
    top: 160px;
    left: 100px;
    width: 270px;
    opacity: 0;
}
@media screen and (max-width: 860px) {
    video {
        top: 110px;
        left: 70px;
        width: 190px;
    }
}
.logo {
    position: absolute;
    z-index: 1;
    right: 120px;
    bottom: 170px;
    width: 293px;
    height: 224px;
    background-repeat: no-repeat;
    background-size: cover;
}
@media screen and (max-width: 860px) {
    .logo {
        right: 235px;
        bottom: 118px;
        width: 202px;
        height: 155px;
    }
}
@media screen and (max-width: 540px) {
    .logo {
        bottom: 116px;
    }
}
.no-signal {
    background-image: url(../img/nosignal.gif);
}
.logo-hit {
    background-image: url(../img/hit.png);
}
.logo-newscorp {
    background-image: url(../img/newscorp.png);
}
.logo-dod {
    background-image: url(../img/dod.png);
}
.logo-army {
    background-image: url(../img/army.png);
}
.logo-osu {
    background-image: url(../img/osu.png);
}
.logo-bp {
    background-image: url(../img/bp.png);
}
.logo-astro {
    background-image: url(../img/astro.png);
}
.logo-nbc {
    background-image: url(../img/nbc.png);
}
.logo-cnn {
    background-image: url(../img/cnn.png);
}
.logo-disney {
    background-image: url(../img/disney.png);
}
.logo-kodak {
    background-image: url(../img/kodak.png);
}
.logo-uw {
    background-image: url(../img/uw.png);
}
.logo-turner {
    background-image: url(../img/turner.png);
}
.progress {
    position: absolute;
    z-index: 20;
    bottom: 277px;
    left: 413px;
    width: 52px;
    height: 19px;
    background-color: rgba(255,255,255,.1);
}
@media screen and (max-width: 860px) {
    .progress {
        left: 284px;
        bottom: 190px;
        width: 38px;
        height: 13px;
    }
}
@media screen and (max-width: 540px) {
    .progress {
        display: none;
    }
}
.progressing {
    animation: 15s expanding linear;
}
.content {
    position: absolute;
    right: 20px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    width: 600px;
    /* border: 1px solid lightskyblue; */
}
@media screen and (max-width: 1150px) {
    .content {
        width: 500px;
    }
}
@media screen and (max-width: 1060px) {
    .content {
        width: 450px;
    }
}
@media screen and (max-width: 1020px) {
    .content {
        width: 400px;
    }
}
@media screen and (max-width: 970px) {
    .content {
        width: 360px;
    }
}
@media screen and (max-width: 930px) {
    .content {
        width: 320px;
    }
}
@media screen and (max-width: 860px) {
    .content {
        width: 360px;
    }
}
@media screen and (max-width: 780px) {
    .content {
        width: 290px;
    }
}
@media screen and (max-width: 690px) {
    .content {
        right: 30px;
        width: 250px;
    }
}
@media screen and (max-width: 650px) {
    .content {
        right: 30px;
        width: 220px;
    }
}
@media screen and (max-width: 620px) {
    .content {
        right: 30px;
        width: 190px;
    }
}
@media screen and (max-width: 590px) {
    .content {
        right: 30px;
        width: 170px;
    }
}
@media screen and (max-width: 540px) {
    .content {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        width: auto;
        padding: 10px 20px 0 20px;
    }
}
h1, .text p {
    /* border: 1px solid gold; */
}
h1 {
    color: white;
}
h1 p {
    font-size: 60px;
    font-weight: 600;
    margin: 0;
}
h1 {
    margin-bottom: 0;
}
@media screen and (max-width: 1150px) {
    h1 p {
        font-size: 50px;
    }
}
@media screen and (max-width: 1020px) {
    h1 p {
        font-size: 40px;
    }
}
@media screen and (max-width: 930px) {
    h1 p {
        font-size: 32px;
    }
}
@media screen and (max-width: 760px) {
    h1 p {
        font-size: 28px;
    }
}
@media screen and (max-width: 650px) {
    h1 p {
        font-size: 22px;
    }
}
@media screen and (max-width: 590px) {
    h1 p {
        font-size: 18px;
    }
}
@media screen and (max-width: 540px) {
    h1 p {
        font-size: 36px;
    }
}
h2 {
    margin: 50px 0 10px 0;
    color: #009cde;
}
.flat {
    margin: 0;
}
.text p {
    color: #ddd;
    font-size: 24px;
}
@media screen and (max-width: 1100px) {
    .text p {
        font-size: 24px;
    }
}
@media screen and (max-width: 1020px) {
    .text p {
        font-size: 22px;
    }
}
@media screen and (max-width: 970px) {
    .text p {
        font-size: 20px;
    }
}
@media screen and (max-width: 760px) {
    .text p {
        font-size: 16px;
        line-height: 1.5;
    }
}
@media screen and (max-width: 650px) {
    .text p {
        font-size: 14px;
        line-height: 1.5;
    }
}
@media screen and (max-width: 590px) {
    .text p {
        font-size: 13px;
        line-height: 1.5;
    }
}
@media screen and (max-width: 540px) {
    .text p {
        font-size: 18px;
    }
}
.mobile-shim {
    display: none;
    width: 100%;
    height: 380px;
}
@media screen and (max-width: 540px) {
    .mobile-shim {
        display: block;
    }    
}
.bold {
    font-weight: 900;
    color: white;
}
a {
    font-weight: 900;
    color: rgba(255,89,0);
    text-decoration: none;
}
.hidden {
    display: none;
}
.preload {
    position: absolute;
    bottom: 0;
    right: 0;
    opacity: 0;
}
@keyframes expanding {
    0% {
        width: 0;
    }
    100% {
        width: 52px;
    }
}
@media screen and (max-width: 860px) {
    @keyframes expanding {
        0% {
            width: 0;
        }
        100% {
            width: 38px;
        }
    }
}