.cta-banner {
    position: relative;
    z-index: 3;
}

.cta-banner:after {
    content: "";
    position: absolute;
    left: 0;
    width: calc(100% - 22px);
    bottom: -12px;
    height: 12px;
    background-color: var(--blue);
}

.cta-banner-bg {
    position: absolute;
    left: 0;
    height: 100%;
    width: 100%;
    top: 0;
    background-color: var(--dark-blue);
}

.cta-banner-bg img {
    mix-blend-mode: multiply;
    opacity: 0.4;
}

.cta-banner-overlay {
    position: relative;
    z-index: 1;
    padding: 60px 0;
}

.cta-banner-content {
    position: relative;
    text-align: center;
}

.cta-banner-content h2 {
    color: #fff;
    font-size: 40px;
}

.cta-banner-content h2 span {
    color: var(--yellow);
}

.cta-banner-content p {
    color: #fff;
    letter-spacing: 0.02em;
    margin: 0 0 45px;
}

.cta-banner-content .btn i {
    margin-right: 10px;
}


@media(min-width: 768px) {
    .cta-banner-content h2 {
        margin-bottom: 25px;
    }

    .cta-banner-overlay {
        padding: 80px 0;
    }

    .cta-banner-content .btn+.btn {
        margin-left: 32px;
    }

    .cta-banner:after {
        width: calc(100% - 52px);
    }
}

@media(min-width: 1200px) {
    .cta-banner-content {
        text-align: left;
        padding-right: 380px;
    }

    .cta-banner-overlay {
        padding: 110px 0;
    }

    .cta-banner-wrapper {
        position: relative;
    }

    .cta-banner-image {
        position: absolute;        
        right: 0;
        top: -150px;        
    }

    .cta-banner-image-main {
        width: 352px;
        height: 392px;
        border-radius: 48px 0 0 0;
        position: relative;
        overflow: hidden;
    }

    .cta-banner-content .btn+.btn {
        margin-left: 16px;
    }

    .cta-banner:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 100%;
        max-width: 1285px;
        bottom: 0;
        top: 100%;
        height: 12px;
        background-color: var(--blue);
    }

    .cta-banner:after {
        width: 50%;
    }

    .cta-banner-image span {
        position: absolute;
        width: 26px;
        height: 26px;
        background-color: var(--blue);
        border-radius: 8px 0 0 0;
        right: 368px;
        top: 80px;
    }

    .cta-banner-image:after {
        content: "";
        position: absolute;
        right: -40px;
        width: 93px;
        height: 93px;
        background-color: var(--light-blue);
        border-radius: 0 0 24px 0;
        bottom: -33px;
    }

    .cta-banner-image:before {
        content: "";
        position: absolute;
        right: -60px;
        width: 41px;
        height: 40px;
        background-color: var(--yellow);
        border-radius: 8px 0 0 0;
        bottom: 75px;
    }

    .cta-banner-content h2 {
        font-size: 44px;
    }

    .cta-banner-content p a:not(.btn):hover {
        color: #fff;
        border-color: #fff;
    }
}

.cta-banner-content p a:not(.btn) {
    color: var(--yellow);
    border-color: var(--yellow);
}