hero {
    position: relative;
    display: block;
    width: 100%;
    height: 98vh;
    min-height: 900px;
    padding: 152px 52px 152px;
    overflow: hidden;
}

hero > content {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    max-width: 1400px;
    margin: 0 auto;
}


hero > content > textwrap {
    position: relative;
    display: block;
    width: 100%;
    padding: 0 52px 52px 0;
    flex: 0 0 45%;
}

@media(max-width: 1065px) {
    hero > content > textwrap {
        flex: 0 0 45%;
    }

}

hero > content > textwrap > h1 {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 32px;
    line-height: 1;
    text-transform: uppercase;
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
}

hero > content > videowrap {
    position: relative;
    display: block;
    width: auto;
    height: 100%;
    flex: 1 1 100%;
    margin: 0 0 0 -32px;
}

hero > content > videowrap > video {
    position: relative;
    display: block;
    height: 100%;
    width: auto;
    margin: 0;
    padding: 0;
}


@media(max-width: 820px) {
    hero {
        height: auto;
        max-height: unset;
    }

    hero > content {
        display: block;
    }

    hero > content > videowrap {
        display: block;
        width: 100%;
        height: auto;
        margin: 52px 0 0 0;
    }

    hero > content > videowrap > video {
        width: 100%;
        height: auto;
    }
}


@media(max-width: 600px) {
    hero {
        padding-left: 32px;
        padding-right: 32px;
    }

    hero > content > textwrap {
        padding-right: 0;
    }

    hero > content > videowrap {
        display: block;
        width: 185%;
        height: auto;
        margin: 52px 0 0 -42px;
    }

    hero > content > videowrap > video {
        width: 100%;
        height: auto;
    }
}

section:first-of-type {
    padding-top: 152px;
    padding-bottom: 152px;
    border-top: 1px solid #2a2a2a;
    background: linear-gradient(to bottom, rgba(20, 20, 20, .8) 0px, rgba(0, 0, 5, 0) 250px);
}

flarewrap {
    position: relative;
    display: inline-block;
    color: #ffffff;
}

flarewrap > imagewrap {
    position: absolute;
    left: -350px;
    bottom: -40px;
    margin: 0;
    padding: 0;
    width: 650px;
    height: 100px;
    opacity: 0;
    animation: flareAnim 2s cubic-bezier(0.215, 0.610, 0.355, 1) forwards .5s;
}

@keyframes flareAnim {
    0% {
        opacity: 0;
        transform: translate3d(0, 0, 0);
    }

    25% {
        opacity: 1;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        transform: translate3d(240px, 0, 0);
    }
}

@media(max-width: 600px) {

    flarewrap > imagewrap {
        bottom: -44px;
    }

    @keyframes flareAnim {
        0% {
            opacity: 0;
            transform: translate3d(0, 0, 0);
        }

        25% {
            opacity: 1;
        }

        50% {
            opacity: 1;
        }

        100% {
            opacity: 0;
            transform: translate3d(160px, 0, 0);
        }
    }
}

flarewrap > imagewrap > img {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    animation: flareInf .5s linear infinite
}

@keyframes flareInf {
    0% {
        opacity: .5;
    }

    5% {
        opacity: 1;
    }

    10% {
        opacity: .8;
    }

    13% {
        opacity: .9;
    }

    25% {
        opacity: 1;
    }

    36% {
        opacity: .8;
    }

    50% {
        opacity: 1;
    }

    60% {
        opacity: .7;
    }

    100% {
        opacity: 1;
    }
}