.hero-banner {
    overflow: hidden;
    position: relative
}

.hero-banner .hero-banner-image-wrapper {
    width: 100%
}

.hero-banner .hero-banner-image-wrapper a::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.hero-banner .banner-image {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: auto
}

.hero-banner .hero-banner-overlay-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%
}

.hero-banner .hero-banner-overlay-wrapper .image-container {
    height: 100%;
    aspect-ratio: auto
}

.hero-banner .inner-overlay button,
.hero-banner .inner-overlay a {
    pointer-events: all
}

.hero-banner .inner-overlay button[type=button],
.hero-banner .inner-overlay a[type=button] {
    -webkit-appearance: none
}

.hero-banner .inner-overlay h1,
.hero-banner .inner-overlay h2,
.hero-banner .inner-overlay h3 {
    margin: 0;
    padding: 0;
    color: #000
}

.hero-banner .inner-overlay h1 {
    font-weight: 100;
    font-size: 4.75rem;
    line-height: .9210526316;
    letter-spacing: normal;
    -webkit-margin-after: .5em;
    margin-block-end: .5em
}

@media(max-width: 833.98px) {
    .hero-banner .inner-overlay h1 {
        font-weight: 300;
        font-size: 2.5rem;
        line-height: 1.2;
        letter-spacing: normal
    }
}

.hero-banner .inner-overlay h2 {
    font-weight: 400;
    font-size: 2.0625rem;
    line-height: 1.5151515152;
    letter-spacing: normal;
    -webkit-margin-after: 0;
    margin-block-end: 0
}

@media(max-width: 833.98px) {
    .hero-banner .inner-overlay h2 {
        font-size: 1.625rem;
        line-height: .8461538462;
        letter-spacing: normal;
        -webkit-margin-after: .5em;
        margin-block-end: .5em
    }
}

.hero-banner .inner-overlay h2 strong {
    font-weight: 400
}

.hero-banner .inner-overlay h3 {
    font-weight: 300;
    font-size: 1.625rem;
    line-height: 1.6923076923;
    letter-spacing: normal
}

@media(max-width: 833.98px) {
    .hero-banner .inner-overlay h3 {
        font-size: 1.3125rem;
        line-height: 1.7142857143;
        letter-spacing: normal
    }
}

.hero-banner .inner-overlay p {
    color: #000;
    -webkit-margin-after: .5em;
    margin-block-end: .5em;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: normal
}

@media(max-width: 833.98px) {
    .hero-banner .inner-overlay p {
        font-size: 1rem;
        line-height: 1;
        letter-spacing: normal
    }
}

.hero-banner .inner-overlay p.description-video-intro {
    font-weight: 300;
    font-size: 1.625rem;
    line-height: 1.3076923077;
    letter-spacing: normal;
    text-transform: uppercase
}

@media(max-width: 833.98px) {
    .hero-banner .inner-overlay p.description-video-intro {
        font-size: 1.375rem;
        line-height: 1.8181818182;
        letter-spacing: normal
    }
}

.hero-banner .inner-overlay p.banner-subheading {
    font-weight: 300
}

.hero-banner .inner-overlay p strong,
.hero-banner .inner-overlay p.banner-subheading-line2 {
    font-weight: 400
}

.hero-banner .inner-overlay a {
    font-weight: 300;
    font-size: .875rem;
    line-height: 1.2857142857;
    letter-spacing: normal;
    background-color: rgba(0, 0, 0, 0);
    margin: 0;
    padding: 0
}

.hero-banner .hero-banner-overlay-inner {
    padding-left: 0
}

.hero-banner .shadown-overlay-left-to-right {
    background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0))
}

.hero-banner .shadown-overlay-right-to-left {
    background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(to left, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0))
}

.hero-banner .shadown-overlay-center-to-sides {
    background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0)), color-stop(45%, rgba(0, 0, 0, 0.36)), color-stop(55%, rgba(0, 0, 0, 0.36)), to(rgba(0, 0, 0, 0)));
    background: linear-gradient(to left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.36) 45%, rgba(0, 0, 0, 0.36) 55%, rgba(0, 0, 0, 0) 100%)
}

.hero-banner .hero-banner-overlay {
    position: absolute;
    height: 100%;
    z-index: 3
}

.hero-banner .hero-banner-overlay .banner-intro {
    font: normal normal 300 12px/15px "Lato"
}

@media(min-width: 834px) {
    .hero-banner .hero-banner-overlay .banner-intro {
        font-weight: 300;
        font-size: .875rem;
        line-height: 1.2142857143;
        letter-spacing: normal
    }
}

@media(min-width: 1200px) {
    .hero-banner .hero-banner-overlay .banner-intro {
        font-weight: 300;
        font-size: .875rem;
        line-height: 1.2142857143;
        letter-spacing: normal
    }
}

@media(min-width: 1400px) {
    .hero-banner .hero-banner-overlay .banner-intro {
        font-weight: 300;
        font-size: 1rem;
        line-height: 1.1875;
        letter-spacing: normal
    }
}

@media(min-width: 1940px) {
    .hero-banner .hero-banner-overlay .banner-intro {
        font-weight: 300
    }
}

.hero-banner .hero-banner-overlay .inner-overlay {
    position: relative;
    height: 100%;
    padding: 15px 150px 0 15px
}

@media(min-width: 834px) {
    .hero-banner .hero-banner-overlay .inner-overlay {
        padding: 20px 150px 0 25px
    }
}

@media(min-width: 1200px) {
    .hero-banner .hero-banner-overlay .inner-overlay {
        padding: 40px 150px 0 40px
    }
}

@media(min-width: 1400px) {
    .hero-banner .hero-banner-overlay .inner-overlay {
        padding: 50px 150px 0 50px
    }
}