.is-hero-banner {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-bottom: 60px;
    padding-top: 60px;
    position: relative;

    @include md-screen {
        background-position: right center;
        background-size: auto 100%;
        align-items: center;
        display: flex;
        padding-bottom: 80px;
        padding-top: 140px;
    }

    @include sm-screen {
        background-image: none !important;
    }

    &:before {
        background: linear-gradient(90deg, rgba(0, 47, 135, 1), rgba(0, 47, 135, 1) 40%, rgba(0, 47, 135, 0.2) 90%, rgba(0, 47, 135, 0));
        content: "";
        display: block;
        height: 100%;
        left: 0;
        pointer-events: none;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: 1;

        @include lg-screen {
            background: linear-gradient(90deg, rgba(0, 47, 135, 1), rgba(0, 47, 135, 1) 40%, rgba(0, 47, 135, .7) 70%, rgba(0, 47, 135, .4) 80%, rgba(0, 47, 135, 0));
        }
    }
    &.has-extra-bottom-space{
        @include md-screen {
            background-position: right top;
            background-size: 60% auto;
            padding-bottom: 110px;
        }
    }

    &>div {
        position: relative;
        z-index: 5;
    }

    .is-img {
        display: block;
        margin-bottom: 20px;
        position: relative;

        &:before {
            background: linear-gradient(0deg, rgba(0, 47, 135, 1) 0%, rgba(0, 47, 135, 0.5) 30%, rgba(0, 47, 135, 0) 100%);
            content: "";
            display: block;
            height: 100%;
            left: 0;
            pointer-events: none;
            position: absolute;
            top: 0;
            width: 100%;
            z-index: 5;
        }

        &:after {
            background: rgba(0, 47, 135, 0.2);
            content: "";
            height: 100%;
            left: 0;
            position: absolute;
            top: 0;
            width: 100%;
            z-index: 3;
        }

        img {
            position: relative;
            width: 100%;
            z-index: 1;
        }
    }

    .title-row {
        position: relative;

        @include sm-screen {
            text-align: center;
        }

        @include md-screen {
            align-items: center;
            justify-content: flex-start;
            display: flex;
        }

        &.has-logo {
            .is-title:not(.is-subtitle) {
                position: relative;

                @include md-screen {
                    margin-bottom: 0;
                }

                &:after {
                    @include md-screen {
                        background: rgba(255, 255, 255, 0.25);
                        content: "";
                        display: block;
                        height: 45px;
                        margin-top: -22px;
                        position: absolute;
                        right: -15px;
                        top: 50%;
                        width: 1px;
                    }
                }
            }
        }
    }

    .is-title:not(.is-subtitle) {
        text-align: center;

        @include md-screen {
            font-size: 31px;
            text-align: left;
        }
    }

    .is-subtitle {
        margin-top: 15px;
        text-align: center;

        @include md-screen {
            font-size: 22px;
            text-align: left;
        }
    }

    .is-logo {
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-width: 1px 0 0;
        display: inline-block;
        flex-shrink: 0;
        margin-bottom: 20px;
        margin-top: 20px;
        max-width: 240px;
        padding-top: 30px;
        padding-right: 30px;
        width: auto;

        @include md-screen {
            border: none;
            margin: auto auto auto 30px;
            max-width: 100%;
            padding: 0;
            width: 200px;
        }
    }

    .is-intro {
        font-size: 17px;
        margin-top: 15px;
        text-align: center;

        @include md-screen {
            font-size: 18px;
            text-align: left;
        }

        &:first-child {
            margin-top: 30px;
        }

        &>p:first-child {
            margin-top: 0;
        }
    }

    .is-button-group {
        margin-top: 15px;

        &:first-child {
            margin-top: 30px;
        }
    }

    .is-button {
        text-transform: none;

        @include lg-screen {
            min-width: 245px;
        }
    }

    .container-lg {
        &>.row {
            @include lg-screen {
                margin-left: -25px;
                margin-right: -25px;
            }
        }
    }
}