.bsg-hero {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 160px;
    position: relative;
    text-align: center
}

@media(min-width:1025px) {
    .bsg-hero {
        padding-top: 190px;
        text-align: left
    }
}

@media(min-width:1281px) {
    .bsg-hero {
        padding-top: 180px
    }
}

.bsg-hero__content {
    position: relative;
    width: calc(100% - 48px);
    z-index: 1
}

@media(min-width:1025px) {
    .bsg-hero__has-form {
        align-items: flex-start;
        display: flex;
        justify-content: space-between
    }
}

.bsg-hero__form {
    background: #f4f4f4;
    border-top: 4px solid #c91459;
    color: #000;
    padding: 16px
}

.bsg-hero__form .form-title {
    display: none
}

.bsg-hero__form {
    margin-top: 24px
}

@media(min-width:1025px) {
    .bsg-hero__form {
        max-width: 40%;
        width: 100%
    }
}

.bsg-hero__form form.hs-form .legal-consent-container .hs-richtext,
.bsg-hero__form form.hs-form .legal-consent-container .hs-richtext p {
    color: rgba(34, 34, 34, .6)
}

.bsg-hero__full {
    display: flex;
    flex-direction: column;
    justify-content: center
}

.bsg-hero__full:not(.bsg-hero__has-form) {
    height: auto;
    min-height: 100vh
}

@media(min-width:1025px) {
    .bsg-hero__text--left {
        max-width: 50%
    }

    .bsg-hero__text--right {
        margin-left: 50%;
        max-width: 50%
    }
}

.bsg-hero__text--center {
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
    text-align: center
}

.bsg-hero__text--center .bsg-hero__hubspot-cta form.hs-form {
    margin: 0 auto
}

.bsg-hero__mobile--bottom {
    justify-content: flex-end
}

@media(min-width:1025px) {
    .bsg-hero__mobile--bottom {
        justify-content: center
    }
}

.bsg-hero__mobile--top {
    justify-content: flex-start
}

@media(min-width:1025px) {
    .bsg-hero__mobile--top {
        justify-content: center
    }
}

.bsg-hero__mobile--headline-top {
    justify-content: flex-start
}

@media(min-width:1025px) {
    .bsg-hero__mobile--headline-top {
        justify-content: center
    }
}

.bsg-hero__mobile--headline-top .bsg-hero__headline {
    margin-bottom: 70%
}

@media(min-width:1025px) {
    .bsg-hero__mobile--headline-top .bsg-hero__headline {
        margin-bottom: inherit
    }
}

.bsg-hero__mobile--both-top {
    justify-content: flex-start
}

@media(min-width:1025px) {
    .bsg-hero__mobile--both-top {
        justify-content: center
    }
}

.bsg-hero__mobile--both-top .bsg-hero__subheadline {
    margin-bottom: 80%
}

@media(min-width:1025px) {
    .bsg-hero__mobile--both-top .bsg-hero__subheadline {
        margin-bottom: 24px
    }
}

.bsg-hero__eyebrow {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 100%;
    margin-bottom: 16px;
    text-transform: uppercase
}

@media(min-width:821px) {
    .bsg-hero__eyebrow {
        font-size: 18px
    }
}

.bsg-hero__headline {
    transition: .4s
}

.bsg-hero__headline--small {
    font-family: Ivar Headline, Times New Roman, serif;
    font-size: 40px;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.1;
    margin-bottom: 24px;
    margin-top: 0
}

@media(min-width:501px) {
    .bsg-hero__headline--small {
        font-size: 54px
    }
}

@media(min-width:769px) {
    .bsg-hero__headline--small {
        font-size: 56px
    }
}

@media(min-width:1281px) {
    .bsg-hero__headline--small {
        font-size: 70px
    }
}

@media(min-width:1513px) {
    .bsg-hero__headline--small {
        font-size: 80px
    }
}

.bsg-hero__headline--xsmall {
    font-family: Ivar Headline, Times New Roman, serif;
    font-size: 40px;
    font-weight: 400;
    letter-spacing: .01em;
    line-height: 1.1;
    margin-bottom: 24px;
    margin-top: 0
}

@media(min-width:501px) {
    .bsg-hero__headline--xsmall {
        font-size: 50px
    }
}

@media(min-width:821px) {
    .bsg-hero__headline--xsmall {
        font-size: 56px
    }
}

@media(min-width:1281px) {
    .bsg-hero__headline--xsmall {
        font-size: 74px
    }
}

@media(min-width:1025px) {
    .bsg-hero__headline--spacing-tight {
        line-height: 100%
    }
}

.bsg-hero__headline--wordmark {
    max-width: 75%
}

.bsg-hero__headline--wordmark img {
    max-width: 100%
}

.bsg-hero__text--left .bsg-hero__headline--wordmark {
    text-align: left
}

.bsg-hero__headline--hide {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap
}

.bsg-hero__subheadline {
    margin-top: 24px
}

.bsg-hero__subheadline--small {
    font-family: Sohne, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6
}

@media(min-width:821px) {
    .bsg-hero__subheadline--small {
        font-size: 16px
    }
}

.bsg-hero__subheadline--small li,
.bsg-hero__subheadline--small p {
    font-family: Sohne, Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6
}

@media(min-width:821px) {

    .bsg-hero__subheadline--small li,
    .bsg-hero__subheadline--small p {
        font-size: 16px
    }
}

.bsg-hero__subheadline--large {
    font-family: Sohne, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1.6
}

@media(min-width:821px) {
    .bsg-hero__subheadline--large {
        font-size: 20px
    }
}

@media(min-width:1281px) {
    .bsg-hero__subheadline--large {
        font-size: 22px
    }
}

.bsg-hero__subheadline--large li,
.bsg-hero__subheadline--large p {
    font-family: Sohne, Arial, sans-serif;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: .02em;
    line-height: 1.6
}

@media(min-width:821px) {

    .bsg-hero__subheadline--large li,
    .bsg-hero__subheadline--large p {
        font-size: 20px
    }
}

@media(min-width:1281px) {

    .bsg-hero__subheadline--large li,
    .bsg-hero__subheadline--large p {
        font-size: 22px
    }
}

.bsg-hero__subheadline--large p {
    line-height: 142%
}

@media(min-width:1281px) {
    .bsg-hero__subheadline--large {
        margin-top: 32px
    }
}

.bsg-hero__ctas {
    display: inline-block;
    margin-top: 24px
}

.bsg-hero__ctas.bsg-hero__hubspot-cta {
    width: 100%
}

.bsg-hero__bg-video {
    opacity: .5
}

.bsg-hero__video {
    padding-top: 10%
}

@media(min-width:821px) {
    .bsg-hero__video--right .bsg-video-cta {
        right: 0
    }

    .bsg-hero__video--center .bsg-video-cta {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%)
    }
}

.bsg-hero__has-form .bsg-hero__video {
    padding-top: 20%
}

@media(min-width:821px) {
    .bsg-hero__video .bsg-video-cta {
        bottom: 0;
        position: absolute
    }

    .bsg-hero.bsg-background-video .bsg-hero__content {
        margin-bottom: 40px
    }
}

.bsg-hero__image {
    margin: 40px auto 0;
    min-height: 400px;
    position: relative;
    width: 100%
}

@media(min-width:1025px) {
    .bsg-hero__image {
        margin-left: 40px;
        margin-top: 0;
        min-height: 530px;
        width: calc(50% - 40px)
    }
}

.bsg-hero__image img {
    height: 100%;
    left: 0;
    object-fit: contain;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%
}

.bsg-hero__has-image.bsg-hero--right .bsg-hero__text--right {
    margin-left: 0
}

.bsg-hero__has-image.bsg-hero--right .bsg-hero__content {
    display: flex;
    flex-direction: row-reverse
}

.bsg-hero__has-image.bsg-hero--right .bsg-hero__image {
    margin-left: 0;
    margin-right: 40px
}

.bsg-hero__has-image.bsg-hero--center .bsg-hero__image {
    margin: 40px auto 0
}

.bsg-hero__has-image.hide-on-mobile .bsg-hero__image {
    display: none
}

@media(min-width:821px) {
    .bsg-hero__has-image.hide-on-mobile .bsg-hero__image {
        display: block
    }
}

@media(max-width:820px) {
    .bsg-hero__has-image.hide-on-mobile .bsg-hero__content {
        display: block
    }
}

.bsg-hero__has-image .bsg-hero__content {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

@media(min-width:821px) {
    .bsg-hero__has-image .bsg-hero__content {
        justify-content: center
    }
}