:root {
    --swiper-navigation-size: 15px!important;
    --promo-main-swiper-margin-bottom: 20px;
    --promo-main-block-height: 350px;
    --promo-main-loading-container-margin-wide: 25px;
    --promo-main-loading-container-margin: 0 var(--promo-main-loading-container-margin-wide) var(--promo-main-swiper-margin-bottom);
    --promo-main-loading-container-width: calc(100% - var(--promo-main-loading-container-margin-wide));
    --promo-main-loading-block-background: linear-gradient(100deg, #d3d3d3 25%, #e0e0e0 50%, #d3d3d3 75%);
    --promo-main-loading-block-animation: shimmer 2s infinite linear;
    --promo-main-block-border-radius: 30px;
    --promo-main-slide-width: 100%;
    --promo-main-slide-background-color: #fff6d9;
    --promo-main-slide-background-position: right center;
    --promo-main-slide-next-btn-size: 40px;
    --promo-main-slide-next-btn-background-color: #FFFFFF;
    --promo-main-slide-next-btn-border-radius: 50%;
    --promo-main-slide-next-btn-top: 85%;
    --promo-main-slide-next-btn-right: 30px;
    --promo-main-slide-prev-btn-right: calc(var(--promo-main-slide-next-btn-right) + 50px);
    --promo-main-slide-padding: 80px 40px 20px;
    --promo-main-slide-title-fs: 36px;
    --promo-main-slide-title-fw: 400;
    --promo-main-slide-title-max-width: 50%;
    --promo-main-slide-title-margin: 0 0 10px;
    --promo-main-slide-descr-fs: 18px;
    --promo-main-slide-comment-fs: 14px;
    --promo-main-slide-descr-fw: 300;
    --promo-main-slide-descr-max-width: 60%;
    --promo-main-slide-descr-margin: 0;
    --promo-main-slide-comment-margin: 10px 0 0;
    --promo-main-slide-btn-color: rgba(255, 145, 1, 1);
    --promo-main-slide-dot-color: rgba(255, 145, 1, 1);
    --promo-main-slide-btn-shadow: 0 0 31px -17px var(--promo-main-slide-btn-color);
    --promo-main-slide-btn-border-radius: 10px;
    --promo-main-slide-btn-transition: .7s;
    --promo-main-slide-btn-padding: 10px 30px;
    --promo-main-slide-btn-max-width: 180px;
    --promo-main-slide-btn-scale: 1.03;
    --promo-main-slide-dots-transition: width 8s linear;
    --promo-main-slide-dots-background: rgba(0, 0, 0, 0.1);
    --promo-main-slide-dots-height: 6px;
    --promo-main-slide-dots-transform: translateX(-50%);
    --promo-main-slide-dots-padding: 12px 20px;
    --promo-main-slide-dots-gap: 10px;
    --promo-main-slide-dots-z-index: 10;
}

#promo_ads_script {
    margin-bottom: var(--promo-main-swiper-margin-bottom);
}

.promo_ads__container {
    background: var(--promo-main-loading-block-background);
    animation: var(--promo-main-loading-block-animation);
    border-radius: var(--promo-main-block-border-radius);
    margin: 0 0 var(--promo-main-swiper-margin-bottom);
    height: var(--promo-main-block-height);
    background-size: 200% 100%;
    box-sizing: border-box;
    width: 100%;
}

@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.mySwiperPromo {
    background-color: var(--promo-main-slide-background-color);
    border-radius: var(--promo-main-block-border-radius);
    height: var(--promo-main-block-height);
    width: var(--promo-main-slide-width);
    box-sizing: border-box;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    position: relative;
    display: flex;
    margin: 0;
}

.slide_ad {
    background-position: var(--promo-main-slide-background-position);
    background-color: var(--promo-main-slide-background-color);
    justify-content: center!important;
    flex-direction: row!important;
    align-items: center!important;
    background-repeat: no-repeat;
    background-size: contain;
    display: flex!important;
    height: 100%;
}

.swiper-button-prev, .swiper-button-next {
    background-color: var(--promo-main-slide-next-btn-background-color);
    border-radius: var(--promo-main-slide-next-btn-border-radius);
    transition: var(--promo-main-slide-btn-transition);
    height: var(--promo-main-slide-next-btn-size);
    width: var(--promo-main-slide-next-btn-size);
    top: var(--promo-main-slide-next-btn-top);
    display: flex;
    left: auto;
}

.swiper-button-prev {
    right: var(--promo-main-slide-prev-btn-right);
}

.swiper-button-next {
    right: var(--promo-main-slide-next-btn-right);
}

.slide_ad__content {
    padding: var(--promo-main-slide-padding);
    justify-content: space-between;
    flex-direction: column;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    width: 100%;
}

.slide_ad__content > div > .promo_title {
    max-width: var(--promo-main-slide-title-max-width);
    font-weight: var(--promo-main-slide-title-fw);
    margin: var(--promo-main-slide-title-margin);
    font-size: var(--promo-main-slide-title-fs);
}

.slide_ad__content > div > .promo_descr {
    max-width: var(--promo-main-slide-descr-max-width);
    font-weight: var(--promo-main-slide-descr-fw);
    margin: var(--promo-main-slide-descr-margin);
    font-size: var(--promo-main-slide-descr-fs);
    white-space: break-spaces;
}

.slide_ad__content > div > .promo_descr > .bold {
    font-weight: var(--promo-main-slide-title-fw);
}

.slide_ad__content > div .promo_comment {
    margin: var(--promo-main-slide-comment-margin);
    font-size: var(--promo-main-slide-comment-fs);
    font-weight: var(--promo-main-slide-descr-fw);
    white-space: break-spaces;
    display: flex;
}

.slide_ad__content_title {
    max-width: var(--promo-main-slide-title-max-width);
    font-weight: var(--promo-main-slide-title-fw);
    margin: var(--promo-main-slide-title-margin);
    font-size: var(--promo-main-slide-title-fs);
}

.slide_ad__content_descr {
    max-width: var(--promo-main-slide-descr-max-width);
    font-weight: var(--promo-main-slide-descr-fw);
    margin: var(--promo-main-slide-descr-margin);
    font-size: var(--promo-main-slide-descr-fs);
    white-space: break-spaces;
}

.slide_ad__btn {
    background-color: var(--promo-main-slide-next-btn-background-color);
    border-radius: var(--promo-main-slide-btn-border-radius);
    transition: var(--promo-main-slide-btn-transition);
    max-width: var(--promo-main-slide-btn-max-width);
    box-shadow: var(--promo-main-slide-btn-shadow);
    font-weight: var(--promo-main-slide-descr-fw);
    padding: var(--promo-main-slide-btn-padding);
    font-size: var(--promo-main-slide-descr-fs);
    color: var(--promo-main-slide-btn-color);
    justify-content: center;
    text-decoration: none;
    flex-direction: row;
    text-align: center;
    display: flex;
}

.slide_ad__btn:hover, .swiper-button-prev:hover, .swiper-button-next:hover {
    scale: var(--promo-main-slide-btn-scale);
}

.progress-dots {
    transform: var(--promo-main-slide-dots-transform);
    z-index: var(--promo-main-slide-dots-z-index);
    padding: var(--promo-main-slide-dots-padding);
    gap: var(--promo-main-slide-dots-gap);
    box-sizing: border-box;
    align-items: center;
    position: absolute;
    display: flex;
    width: 100%;
    left: 50%;
    top: 0;
}

.dot {
    border-radius: var(--promo-main-slide-btn-border-radius);
    background: var(--promo-main-slide-dots-background);
    transition: var(--promo-main-slide-btn-transition);
    height: var(--promo-main-slide-dots-height);
    position: relative;
    overflow: hidden;
    width: 100%;
}

.dot-fill {
    background: var(--promo-main-slide-dot-color);
    position: absolute;
    height: 100%;
    width: 0;
    left: 0;
    top: 0;
}

.dot.fill > .dot-fill {
    transition: var(--promo-main-slide-dots-transition);
}

@media only screen and (max-width: 1280px) {
    :root {
        --promo-main-slide-dots-padding: 18px 40px;
        --promo-main-loading-container-margin-wide: 10px;
    }

    #promo_ads_script > .mySwiperPromo {
        background-color: var(--promo-main-slide-next-btn-background-color);
        padding: 0 var(--promo-main-loading-container-margin-wide);
    }

    .promo_ads__container {
        width: calc(100% - 2 * var(--promo-main-loading-container-margin-wide));
        margin: var(--promo-main-loading-container-margin);
    }
}

@media only screen and (max-width: 960px) {
    :root {
        --promo-main-slide-padding: 50px 30px 20px;
        --promo-main-slide-title-max-width: 60%;
    }
}

@media only screen and (max-width: 560px) {
    :root {
        --promo-main-slide-title-max-width: 80%;
        --promo-main-block-height: 550px;
        --promo-main-slide-btn-max-width: 100%;
    }

    .swiper-button-prev, .swiper-button-next {
        display: none;
    }
}
