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

.cta-banner__wrap {
    background: #fff;
    box-shadow: 0 10px 25px rgba(24, 22, 53, 0.1);
    padding: 20px 25px;
    border-radius: 15px;
    color: #605E7F;
}

.cta-banner--with-image {
    padding: 20px 10px 10px;
}

.cta-banner--with-image .cta-banner__content {
    text-align: center;
    padding: 0 15px;
}

.cta-banner--with-image .cta-banner__content .btn-group {
    justify-content: center;
}

.cta-banner__image {
    width: 100%;
    height: 200px;
    margin-top: 20px;
}

.cta-banner__image img {
    border-radius: 10px;
}

.cta-banner__content h2,
.cta-banner__content h3 {
    color: #312BA1;
}

.cta-banner__content .sub-heading,
.cta-banner__content .sub-title {
    color: #DD6C07;
}

.bg-gradient .cta-banner__content .btn-secondary {
    background: #FFFFFF;
    border-color: #D29CFF;
}


@media (min-width: 768px) {
    .cta-banner__wrap {
        padding: 30px 40px;
        border-radius: 35px;
    }

    .cta-banner--with-image {
        padding: 30px 10px 10px;
    }

    .cta-banner--with-image .cta-banner__content {
        padding: 0 30px;
    }

    .cta-banner__image {
        height: 325px;
    }

    .cta-banner__image img {
        border-radius: 28px;
    }
}

@media (min-width: 1200px) {
    .cta-banner__wrap {
        padding: 35px 50px;
    }

    .cta-banner--with-image {
        display: flex;
        justify-content: flex-end;
        /* flex-direction: row-reverse; */
        gap: 36px;
        align-items: center;
        position: relative;
        /* padding: 10px 10px 10px calc(50% + 16px); */
        min-height: 345px;
        padding: 10px;
    }

    .cta-banner--with-image.cta-banner--with-image-left {
        flex-direction: row-reverse; 
    }

    .cta-banner--with-image .cta-banner__content {
        text-align: left;
        /* padding: 25px 40px 25px 0; */
        width: 100%;
    }

    .cta-banner--with-image.cta-banner--with-image-right .cta-banner__content {
        padding: 25px 0px 25px 30px;
    }

    .cta-banner--with-image.cta-banner--with-image-left .cta-banner__content {
        padding: 25px 40px 25px 0px;
    }

    .cta-banner--with-image .cta-banner__content .btn-group {
        justify-content: flex-start;
    }

    .cta-banner__image {
        /* width: calc(50% - 28px); */
        height: calc(100% - 20px);
        /* position: absolute; */
        left: 10px;
        top: 10px;
        margin: 0;
    }

    .cta-banner__image img {
        /* position: absolute; */
    }

    .bg-gradient .cta-banner__content .btn-secondary:hover {
        border-color: #D29CFF;
        color: #5D1896;
        background: rgba(210, 156, 255, 0.35);
    }

}