.hero {
    width: 100%;
    position: relative;
    overflow: hidden;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 0;
    padding-top: 37.5%;
}

.hero--full{
    padding-top: calc(100vh - 129px);
}

.hero > .parsys{width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.hero > .parsys > .rown{
    width: 100%; 
}

.hero__text,
.hero__text-placeholder{position: relative; display: inline;}

.hero__disclaimer{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 0 20px 0;
}

@media screen and (max-width: 39.9375em) {
    .hero {
        padding-top: 150%;
    }
    .hero--full{
        padding-top: calc(100vh - 90px);
    }
}   

/* Home Page H1 */
.hero.hero--video h1.home {
    position: absolute;
    top: 0;
}

/* ------ Hero Videos ------ */

.hero--video{
    padding-top: 0;
    height: auto;
}

/* UI block for iOS */
.hero--video > div::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.hero--video > div {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 50%;
}
.hero--video.hero--ev > div,
.hero--basic > div{
    padding-top: 37.5%;
}


@media screen and (max-width: 39.9375em) {
    .hero--video > div,
    .hero--video.hero--ev > div,
    .hero--basic > div{
        padding-top: 150%;
    }
}



.hero--video video-js.video-js.vjs-fluid:not(.vjs-audio-only-mode),
.hero--basic video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    z-index: -2;
    padding: 0 !important
}

.video-js .vjs-tech{object-fit: cover;}

.hero--video .vjs-control-bar {
    display: none;
}

.hero--video .section.section--text {
    position: absolute;
    z-index: 11;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero--video .section.section--cta {
    position: absolute;
    width: 100%;
    bottom: 24px;
    left: 0;
    z-index: 11;
}

.hero--video .hero__text{
    display: inline-block
}
.hero--video .hero__text.hero__text--car,
.hero--video .hero__text.hero__text--slogan{
    display: block;
}
@media screen and (max-width: 39.9375em) {
    .hero__text.hero__text--car{padding-top: 1rem;}

}
.hero--video .hero__text.hero__text--slogan{text-transform: uppercase; animation-delay: 250ms;}

.hero--video .hero__pause {
    position: absolute;
    bottom: 12px;
    right: 12px;
    color: #fff;
    z-index: 5;
    font-size: 1.4rem !important;
}


.hero__line-slide{
    height: 1px; 
    width: 36px;
    background-color: #fff; 
    position: absolute; 
    top: calc(100% + 18px); left: 0;
    transition: clip-path 500ms ease-in-out;
    clip-path: inset(0);
    overflow: hidden;

}
.hero__line-slide--in{clip-path: inset(0 100% 0 0);}
.hero__line-slide--out{clip-path: inset(0 0 0 100%);}



.slide-right {
    -webkit-animation: slide-right .5s ease-in-out both;
    animation: slide-right .5s ease-in-out both;
}
.slide-right--delay {
    animation-delay: 250ms;
}

.slide-away{
    -webkit-animation: slide-away .5s ease-in-out both;
    animation: slide-away .5s ease-in-out both;
}

/* Adjust Text on first load so it's not bouncing around */
h5.hero__text.hero__text--car.slide-right {
    min-height: 25px;
}
h2.hero__text.hero__text--slogan.slide-right.slide-right--delay {
    min-height: 45px;
}

/* Pause/Play Button */
.button-container {
    width: calc(100% - 4.75rem);
    max-width: 1440px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: green;
    z-index: 11;
    height: auto;
}
@media screen and (max-width: 63.9375em) {
    .button-container {
        width: calc(100% - 1em);
    }
}

/* Adjust Text Area for Mobile */
@media screen and (max-width: 39.9375em) {
    .hero--video:not(.hero--basic) .section.section--text {
        align-items: normal;
    }
    .hero--video:not(.hero--basic) .section.section--text  .text-box {
        top: 40%;
        position: relative;
    } 
    .hero--video:not(.hero--basic) .section.section--text  .text-box-ev {
        top: 30%;
        position: relative;
    }
    span.hero__text-placeholder.headline.headline--1.slide-right {
        float: left;
        margin-bottom: 0;
    }
    span.hero__text.headline--1.slide-right {
        clear: both;
        float: left;
    }
}
/* * ----------------------------------------
* animation slide-right
* ---------------------------------------- */

@-webkit-keyframes slide-right {
    0% {
        left: -20px;
        opacity: 0;
    }

    100% {
        left: 0px;
        opacity: 1;
    }
}

@keyframes slide-right {
    0% {
        left: -20px;
        opacity: 0;
    }

    100% {
        left: 0px;
        opacity: 1;
    }
}

/* * ----------------------------------------
* animation slide-right
* ---------------------------------------- */
@-webkit-keyframes slide-away {
    0% {
       left: 0px;
        opacity: 1
    }

    100% {
        left: 20px;
        opacity: 0;
    }
}

@keyframes slide-away {
    0% {
        left: 0px;
        opacity: 1
    }

    100% {
        left: 20px;
        opacity: 0;
    }
}


/* ------ Breakpoint references ------ */

/* Small only --- >640px */
@media screen and (max-width: 39.9375em) {}   

/* Medium and up --- 640px< */
@media screen and (min-width: 40em) {}      

/* Medium only --- 640px-1024px*/
@media screen and (min-width: 40em) and (max-width: 63.9375em) {}

/* Large and up --- 1024px<  */
@media screen and (min-width: 64em) {}