.banner-with-text {
    position: relative;
}

.banner-with-text .banner-text {
    position: absolute;
    top: 30%;
    right: 0;
    width: 38%;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text .banner-text {
        width: 48%;
        top: 15%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .banner-with-text .banner-text {
        top: 21%;
    }
}

.banner-with-text .banner-text h2 {
    font-size: 4rem;
    font-weight: 700;
    color: var(--theme-color);
    line-height: 1.1;
    margin: 0;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text .banner-text h2 {
        font-size: 1.4rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .banner-with-text .banner-text h2 {
        font-size: 2.2rem;
    }
}

.banner-with-text .banner-text p {
    font-size: 1.6rem;
    color: #6d707b;
    width: 50%;
    margin: 1.5rem 0;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text .banner-text p {
        margin: .2rem 0 .5rem;
        width: 60%;
        font-size: .8rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .banner-with-text .banner-text p {
        margin-top: 0;
        width: 60%;
    }
}

.banner-with-text .banner-text a {
    border-radius: 2rem;
    padding: 0.6rem 3rem;
    font-size: 1.8rem;
    color: #fff;
    background: var(--theme-color);
    border: 0.1rem solid var(--theme-color);
    display: inline-block;
    text-decoration: none;
}

.banner-with-text .banner-text a:last-child {
    margin-left: 8px;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text .banner-text a {
        font-size: .8rem;
        padding: .5rem 2rem .6rem 2rem;
        line-height: 1.2rem;
        margin-top: 8px;
    }

    .banner-with-text .banner-text a:last-child {
        margin-left: 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .banner-with-text .banner-text a {
        font-size: 1.2rem;
    }
}

.banner-with-text .banner-text a i {
    font-size: 1.5rem;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text .banner-text a i {
        font-size: .8rem;
    }
}

.banner-with-text.text-in-left .banner-text {
    width: 39%;
    left: 20%;
    right: auto;
}

@media screen and (min-width: 320px) and (max-width: 767px) {
    .banner-with-text.text-in-left .banner-text {
        width: 68%;
        top: 15%;
        left: 15%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .banner-with-text.text-in-left .banner-text {
        width: 68%;
        top: 15%;
        left: 15%;
    }
}
