﻿/*
1. Reset CSS
2. Fonts
3. Main Setting
4. Header
5. Content
6. Popup
7. Media
    7.1 Wide screens
    7.2 Tablets
    7.3 Mobiles
*/

/**************************************/
/************ 1. Reset Css ************/
/**************************************/

html{line-height:1.15;-webkit-text-size-adjust:100%}
body{margin:0}
h1{font-size:2em;margin:.67em 0}
hr{box-sizing:content-box;height:0;overflow:visible}
pre{font-family:monospace,monospace;font-size:1em}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
code,kbd,samp{font-family:monospace,monospace;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}
button,input{overflow:visible}
button,select{text-transform:none}
button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{padding:.35em .75em .625em}
legend{box-sizing:border-box;display:table;max-width:100%;padding:0;white-space:normal}
progress{vertical-align:baseline}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}
[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}
[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
details{display:block}
summary{display:list-item}
*,*::before,*::after{box-sizing:border-box}

/**********************************/
/************ 2. Fonts ************/
/**********************************/

@font-face{
    font-family: 'Museo Sans Cyrl';
    font-weight: 300;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/MuseoSansCyrl300.woff2') format('woff2');
}

@font-face{
    font-family: 'Museo Sans Cyrl';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/MuseoSansCyrl500.woff2') format('woff2');
}

@font-face{
    font-family: 'Museo Sans Cyrl';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/MuseoSansCyrl700.woff2') format('woff2');
}

@font-face{
    font-family: 'Museo Sans Cyrl';
    font-weight: 900;
    font-style: normal;
    font-display: swap;
    src: url('../fonts/MuseoSansCyrl900.woff2') format('woff2');
}

/*****************************************/
/************ 3. Main Setting ************/
/*****************************************/

::placeholder {
    color: #C7C8CA;
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Museo Sans Cyrl';
    font-size: 1.6rem;
    font-weight: 300;
    color: #3D3D3E;
    background: #fff;
}

#page {
    position: relative;
    overflow: hidden;
}

.wrap {
    width: 1280px;
    margin: 0 auto;
}

/***********************************/
/************ 4. Header ************/
/***********************************/

.header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 9px 0 0;
    z-index: 5;
}

.header__wrap {
    display: flex;
    align-items: flex-start;
}

.header__company {
    display: flex;
    align-items: center;
    margin-left: -3px;
}

.header__description {
    width: 290px;
    margin: 0 0 4px;
}

.header__description--mobile {
    display: none;
}

.header__manager {
    display: flex;
    align-items: center;
    margin: 8px 0 0 61px;
}

.header__manager-img {
    position: relative;
}

.header__manager-text {
    margin-left: 17px;
    width: 185px;
    color: #6a6a6a;
}

.header__manager-text b {
    color: #292929;
    font-weight: 500;
}

.header__manager-img::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #00c058;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 9px;
    right: -2px;
    animation: flash 2s infinite;
}

.header__contact {
    display: flex;
    align-items: center;
    margin: 31px 0 0 17px;
}

.header__social {
    width: 29px;
    height: 29px;
    border: 1px solid #408dff;
    fill: #408dff;
    stroke: #408dff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 7px;
    transition: .3s;
}

.header__social:hover {
    background: #408dff;
    fill: #fff;
    stroke: #fff;
}

.header__social--whatsapp {
    border: 1px solid #00c058;
    fill: #00c058;
    stroke: #00c058;
}

.header__social--whatsapp:hover {
    background: #00c058;
    fill: #fff;
    stroke: #fff;
}

.header__social-icon {
    height: 13px;
}

.header__phone {
    font-size: 23px;
    font-weight: 600;
    color: #292929;
    text-decoration: none;
    margin-left: 11px;
    display: inline-block;
    border: 1.5px solid #5390eb;
    border-radius: 8px;
    padding: 5px 14px;
}

.header__phone:hover {
    text-decoration: underline;
}

.header__callback {
    font-weight: 700;
    font-size: 18px;
    color: #f3f3f3;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 49px 23px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    text-align: center;
    border: none;
    cursor: pointer;
    margin: 12px 3px 0 auto;
}

.header__callback::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.header__callback::after {
    content: "";
    width: 16px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    transform-origin: 0 100%;
    transform: skew(-22deg);
    animation: blick 4s infinite;
}

.header__callback span {
    position: relative;
    z-index: 2;
}

.header__callback:hover {
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
}

.header__callback:hover::before {
    opacity: 1;
    visibility: visible;
}

/************************************/
/************ 5. Content ************/
/************************************/

button {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.hidden {
    display: none !important;
}

.promo {
    padding: 168px 0 100px;
    background: url(../img/bg/bg.jpg) no-repeat top center / cover;
    position: relative;
    overflow: hidden;
    z-index: 2;
}

.promo::before {
    content: "";
    width: 292px;
    height: 257px;
    display: block;
    position: absolute;
    top: calc(50% - 234px);
    left: -3%;
    animation: wave 2s infinite alternate;
    background: url(../img/leaf.png) no-repeat center;
    z-index: -1;
}
.promo::after {
    content: "";
    width: 270px;
    height: 346px;
    display: block;
    position: absolute;
    left: -3%;
    bottom: -91px;
    animation: wave 2s infinite alternate;
    background: url(../img/fan.png) no-repeat center;
    z-index: -1;
}
.promo .wrap::after {
    content: "";
    width: 348px;
    height: 301px;
    display: block;
    position: absolute;
    top: 68px;
    right: -8%;
    animation: wave 2s infinite alternate;
    background: url(../img/hood.png) no-repeat center;
    z-index: -1;
}

.promo .wrap {
    display: flex;
    flex-direction: column;
}

.promo__description {
    order: 1;
    margin: 0 0 24px;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: #fff;
    width: 629px;
    padding: 8px 0 11px 24px;
    max-width: 100%;
    position: relative;
    z-index: 2;
    text-align: center;
    transform: translateY(30px);
    opacity: 0;
    transition: .5s;
    transition-delay: .3s;
}

.promo__description::before {
    content: "";
    background: linear-gradient(180deg, #07c45e 0%, #01a44c 100%);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    transform: skewX(-21deg);
    transform-origin: 0 100%;
    border-radius: 4px;
}

.promo__description b {
    font-weight: 900;
}

.promo__title {
    order: 2;
    font-size: 48px;
    font-weight: 300;
    width: 830px;
    max-width: 100%;
    margin: 0 0 39px;
    line-height: normal;
    transform: translateY(30px);
    opacity: 0;
    transition: .5s;
    transition-delay: .6s;
}

.promo__title b {
    font-weight: 900;
}

.promo__title u {
    text-decoration: none;
    position: relative;
    display: inline;
}

.promo__title span {
    color: #488ef6;
}

.promo__title u::before {
    content: "";
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    bottom: 3px;
    left: 0;
    background: #292929;
}

.promo__description.animated,
.promo__title.animated {
    transform: none;
    opacity: 1;
}

.promo__btn-container {
    order: 6;
    align-self: flex-start;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 730px;
    max-width: 100%;
    gap: 16px;
    margin-bottom: 74px;
    position: relative;
}

.promo__btn {
    font-weight: 900;
    font-size: 27px;
    line-height: 31px;
    letter-spacing: 0.035em;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 5px #0a50c1;
    border-radius: 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 40px 45px 44px 47px;
    min-width: 480px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    border: none;
    cursor: pointer;
}

.promo__btn::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.promo__btn::after {
    content: "";
    width: 35px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    transform-origin: 0 100%;
    transform: skew(-27deg);
    animation: blick 4s infinite;
}

.promo__btn:hover {
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 5px #4484E2;
}

.promo__btn:hover::before {
    opacity: 1;
    visibility: visible;
}

.promo__btn span {
    position: relative;
    z-index: 2;
}

.promo__img-container {
    order: 3;
    position: absolute;
    left: calc(50% + 215px);
    top: calc(50% - 360px);
    z-index: 2;
}

.promo__img {
    pointer-events: none;
}

.promo__img--second {
    position: absolute;
    top: 185px;
    left: -325px;
    z-index: 1;
}

.promo__img-tooltips {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.promo__img-tooltips > *:nth-child(1) {
    top: 171px;
    left: 359px;
}
.promo__img-tooltips > *:nth-child(2) {
    top: 369px;
    left: -34px;
}
.promo__img-tooltips > *:nth-child(3) {
    top: 500px;
    left: 355px;
}

.tooltip {
    position: absolute;
}

.tooltip__icon-container {
    width: 37px;
    height: 37px;
    background: linear-gradient(0deg, #408dff 0%, #a9cbff 100%);
    border-radius: 50%;
    padding: 9px;
    fill: #fff;
    cursor: pointer;
    position: relative;
    z-index: 2;
}

.tooltip__icon-container::before,
.tooltip__icon-container::after {
    content: "";
    position: absolute;
    top: -7px;
    left: -7px;
    width: calc(100% + 14px);
    height: calc(100% + 14px);
    opacity: 0;
    background: linear-gradient(0deg, rgba(80, 150, 255, 0.38) 0%, rgba(199, 221, 255, 0.38) 100%);
    animation: pulse 6s infinite;
    border-radius: 50%;
    z-index: 1;
    transform: scale(0);
}

.tooltip__icon-container::after {
    background: linear-gradient(0deg, rgba(92, 149, 234, 0.3) 0%, rgba(199, 221, 255, 0.3) 100%);
    top: -14px;
    left: -14px;
    width: calc(100% + 28px);
    height: calc(100% + 28px);
    z-index: 2;
}

.tooltip__icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 3;
}

.tooltip__list {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    right: calc(100% + 37px);
    bottom: -17px;
    background: #fff;
    width: 438px;
    margin: 0;
    padding: 24px 20px 22px 44px;
    line-height: 1.2;
    border-radius: 10px;
    list-style: none;
    transition: 0.3s;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.tooltip__list-item {
    position: relative;
}

.tooltip__list-item::before {
    content: "";
    width: 7px;
    height: 7px;
    position: absolute;
    top: 7px;
    left: -18px;
    background: #3c3c3c;
    border-radius: 50%;
}

.promo__edge-title {
    order: 4;
    font-size: 25px;
    margin: 0 0 51px 6px;
}

.promo__edges {
    order: 5;
    display: flex;
    padding: 0;
    margin: 0 -8px;
    list-style: none;
}

.promo__edge {
    width: 255px;
    text-align: center;
}

.promo__edge:nth-child(2) {
    width: 170px;
    margin-left: 28px;
    margin-top: -4px;
}

.promo__edge:nth-child(3) {
    width: 246px;
    margin-left: 28px;
    margin-top: -6px;
}

.promo__edge-img img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
}

.promo__edge-text {
    font-size: 19px;
    margin: 0;
}

.promo__edge-text b {
    font-weight: 900;
}

.promo__edge:nth-child(2) .promo__edge-text {
    margin-top: 5px;
}

.promo__edge:nth-child(3) .promo__edge-img {
    margin-right: 33px;
}

.promo__edge:nth-child(3) .promo__edge-text {
    margin-top: 2px;
}

.promo__edge:nth-child(3) .promo__edge-text b {
    display: block;
}

.tooltip__icon-container:hover + .tooltip__list {
    opacity: 1;
    visibility: visible;
}

.promo__img-tooltips > *:nth-child(2) .tooltip__list {
    right: auto;
    left: calc(100% + 29px);
    bottom: -49px;
    padding: 24px 20px 22px 44px;
    width: 380px;
    gap: 12px;
}

.promo__img-tooltips > *:nth-child(3) .tooltip__list {
    top: -33px;
    bottom: auto;
    right: calc(100% + 27px);
    width: 517px;
    padding: 27px 20px 30px 49px;
    gap: 12px;
}

.reviews {
    padding: 48px 0 100px;
}

.reviews__title {
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    margin: 0 0 35px;
}

.reviews__title b {
    font-weight: 900;
}

.reviews-slider {
    width: 1156px;
    max-width: 100%;
    padding: 0 0 38px;
    overflow: visible;
}

.review-info {
    text-align: center;
    background: #EFEFEF;
    border-radius: 16px;
    font-size: 13px;
    line-height: 1.23077;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    min-height: 50px;
    flex-shrink: 0;
}

.review-info b {
    color: #5096FF;
}

.review {
    border-radius: 16px;
    border: 1px solid #D9D9D9;
    padding: 16px 13px 20px 18px;
    flex-grow: 1;
}

.review__header {
    display: flex;
    align-items: center;
    gap: 11px;
}

.review__name {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 2px;
}

.review__date {
    color: #65676B;
    font-size: 10px;
    line-height: 1.5;
    margin-top: -2px;
}

.review__rating {
    display: flex;
    gap: 4px;
    margin-top: 10px;
}

.review__rating-icon {
    width: 13px;
    aspect-ratio: 1;
    fill: #EAC30E;
}

.review__content {
    font-size: 12px;
    line-height: 1.5;
    margin: 8px 0 0;
}

.reviews-slider .swiper-slide {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}

.reviews-slider__arrow {
    cursor: pointer;
    position: absolute;
    top: calc(50% - 18px);
    left: -53px;
    width: 36px;
    height: 36px;
    border: 1px solid #78AEFF;
    border-radius: 50%;
    stroke: #78AEFF;
    padding: 9px;
    transition: .3s;
    z-index: 2;
}

.reviews-slider__arrow-icon {
    display: block;
    width: 100%;
    height: 100%;
}

.reviews-slider .swiper-slide-visible {
    opacity: 1;
    visibility: visible;
}

.reviews-slider__arrow[data-direction="next"] {
    left: auto;
    right: -53px;
    transform: rotate(180deg);
}

.reviews-slider__arrow:hover {
    background: #78AEFF;
    stroke: #fff;
}

.reviews-slider__pagination {
    --swiper-pagination-bottom: 0;
    --swiper-pagination-bullet-horizontal-gap: 0;
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-inactive-color: #d9d9d9;
    --swiper-pagination-bullet-size: 9px;
    --swiper-pagination-color: #5096FF;
    display: flex;
    justify-content: center;
    gap: 25px;
}

.reviews-slider__pagination .swiper-pagination-bullet {
    transition: .3s;
}

/* Блок отзывов (перенесён с сайта k.dobryjmaster.ru) */
.reviews--kond {
    margin-bottom: 120px;
}

.reviews--kond .reviews_inner {
    max-width: 1100px;
    margin: 0 auto;
}

.reviews--kond .reviews_title {
    margin: 0 0 48px 0;
    text-align: center;
    font-size: 45px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #292929;
}

.reviews--kond .reviews_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.reviews--kond .reviews_card {
    display: flex;
    flex-direction: column;
    padding: 22px;
    background: #fff;
    border-radius: 12px;
    border: 1px solid rgba(32, 98, 224, 0.1);
    box-shadow: 0 4px 22px rgba(15, 40, 80, 0.06);
    transition: box-shadow 0.2s;
}

.reviews--kond .reviews_card:hover {
    box-shadow: 0 8px 32px rgba(32, 98, 224, 0.1);
}

.reviews--kond .reviews_card_head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
}

.reviews--kond .reviews_card_photo {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(145deg, #e8f0ff 0%, #f0f4f8 100%);
    border: 2px solid rgba(32, 98, 224, 0.12);
}

.reviews--kond .reviews_card_avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 36px;
    line-height: 1;
}

.reviews--kond .reviews_card_meta {
    min-width: 0;
}

.reviews--kond .reviews_card_name {
    font-size: 16px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -0.01em;
    color: #1a2332;
}

.reviews--kond .reviews_card_hint {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
}

.reviews--kond .reviews_card_text {
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 500;
    color: #3d4d5c;
}

@media (max-width: 991px) {
    .reviews--kond .reviews_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .reviews--kond {
        margin-bottom: 100px;
    }
}

@media (max-width: 575px) {
    .reviews--kond .reviews_title {
        margin-bottom: 28px;
        font-size: 28px;
    }

    .reviews--kond .reviews_grid {
        grid-template-columns: 1fr;
    }

    .reviews--kond .reviews_card {
        padding: 18px;
    }

    .reviews--kond {
        margin-bottom: 80px;
    }
}

/* Блок "Ответы на частые вопросы" */
.faq {
    margin-bottom: 100px;
}

.faq__title {
    margin: 0 0 40px;
    text-align: center;
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: #292929;
}

.faq__list {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.faq__item {
    background: #fff;
    border: 1px solid rgba(32, 98, 224, 0.1);
    border-radius: 14px;
    box-shadow: 0 4px 22px rgba(15, 40, 80, 0.06);
    padding: 0 28px;
    transition: box-shadow 0.2s;
}

.faq__item:hover {
    box-shadow: 0 8px 32px rgba(32, 98, 224, 0.1);
}

.faq__item[open] {
    box-shadow: 0 8px 32px rgba(32, 98, 224, 0.1);
}

.faq__question {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #292929;
}

.faq__question::-webkit-details-marker {
    display: none;
}

.faq__question::marker {
    content: "";
}

.faq__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 2px 6px rgb(255 255 255 / 56%);
    position: relative;
}

.faq__icon::before,
.faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #fff;
    border-radius: 2px;
    transform: translate(-50%, -50%);
}

.faq__icon::before {
    width: 12px;
    height: 2px;
}

.faq__icon::after {
    width: 2px;
    height: 12px;
    transition: transform 0.25s;
}

.faq__item[open] .faq__icon::after {
    transform: translate(-50%, -50%) rotate(90deg) scale(0);
}

.faq__answer {
    padding: 0 0 26px;
    margin: -6px 0 0;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 500;
    color: #3d4d5c;
}

@media (max-width: 991px) {
    .faq {
        margin-bottom: 100px;
    }
}

@media (max-width: 575px) {
    .faq__title {
        margin-bottom: 28px;
        font-size: 26px;
    }

    .faq__item {
        padding: 0 18px;
        border-radius: 12px;
    }

    .faq__question {
        padding: 18px 0;
        font-size: 15px;
        gap: 12px;
    }

    .faq__icon {
        width: 24px;
        height: 24px;
    }

    .faq__answer {
        font-size: 13px;
        padding-bottom: 20px;
    }

    .faq {
        margin-bottom: 80px;
    }
}

.catalog {
    background: url(../img/bg/bg-city.jpg) no-repeat center / cover;
    padding: 74px 0 83px;
    border-radius: 18px 18px 0 0;
}

.catalog__title {
    text-align: center;
    color: #424243;
    font-size: 48px;
    font-weight: 700;
    margin: 0 0 41px;
    transform: translateY(30px);
    opacity: 0;
    transition: .5s;
    transition-delay: .3s;
}

.catalog__title.animated {
    opacity: 1;
    transform: none;
}

.tab__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 31px;
    gap: 22px;
}

.tab__nav-item {
    font-size: 22px;
    line-height: 1;
    color: #3d3d3e;
    width: 301px;
    border: 1px solid #11bc60;
    background: #fff;
    cursor: pointer;
    padding: 20px 10px;
    border-radius: 100px;
    transition: 0.3s;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.tab__nav-item-name {
    display: block;
    font-size: 28px;
    font-weight: 700;
}

.tab__nav-item:hover,
.tab__nav-item.active {
    background: #11bc60;
    color: #fff;
}
.tab__nav-item.active {
    cursor: default;
}

.tab__content-item {
    display: none;
}

.tab__content-item.active {
    display: block;
}

.card {
    box-shadow: 7px 2px 34px rgba(0, 40, 19, 0.02);
    border-radius: 23px;
    background: linear-gradient(90deg, #fcfcfc 0%, #fbfcff 17.71%, #efefef 51.04%, #ffffff 74.48%, #fbfbfb 100%);
}

.card__inner {
    display: flex;
    align-items: flex-start;
    border-radius: 23px;
    background: url(../img/bg/bg-work.jpg) no-repeat center / cover #fff;
}

.card__img {
    margin: 33px 0 0;
}

.card__img img {
    display: block;
}

.card__img-mobile {
    display: none;
}

.card__info {
    margin: 85px 0 0 42px;
    width: 295px;
}

.card__title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.36;
    margin-bottom: 13px;
}

.card__title span {
    background: linear-gradient(99.72deg, #11bc60 5.04%, #24d977 47.34%, #11bc60 98.17%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: table;
    font-size: 22px;
    margin: -7px 0 0 5px;
}

.card__content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 21px;
    line-height: 1.19048;
    margin: 0 0 25px 3px;
}

.card__content p {
    margin: 0;
}

.card__attributes {
    padding: 0;
    margin: 0 0 46px;
    list-style: none;
}

.card__attribute {
    display: flex;
    align-items: center;
}

.card__attribute:not(:last-child) {
    margin-bottom: 20px;
}

.card__attribute-icon-container {
    width: 28px;
    margin-right: 12px;
}

.card__attribute-icon {
    width: 100%;
    height: 28px;
    fill: #11bc60;
    stroke: #11bc60;
}

.card__attribute-title {
    font-size: 21px;
    margin-right: 13px;
}

.card__attribute-value {
    font-size: 29px;
    font-weight: 500;
}

.card__btn {
    font-weight: 700;
    font-size: 18px;
    color: #f3f3f3;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 20px 23px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    text-align: center;
    width: 270px;
    max-width: 100%;
    border: none;
    cursor: pointer;
}

.card__btn::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.card__btn::after {
    content: "";
    width: 16px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    transform-origin: 0 100%;
    transform: skew(-22deg);
    animation: blick 4s infinite;
}

.card__btn:hover {
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
}

.card__btn:hover::before {
    opacity: 1;
    visibility: visible;
}

.card__btn span {
    position: relative;
    z-index: 2;
}

.card__purpose {
    margin: 93px 0 0 auto;
    position: relative;
}

.card__purpose img {
    border-radius: 20px 0 0 20px;
    display: block;
}

.card__purpose-sticker {
    position: absolute;
    top: -42px;
    left: -91px;
    background: linear-gradient(0deg, #408dff 0%, #a9cbff 100%);
    border: 11px solid #fff;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    flex-direction: column;
    font-size: 33px;
    font-weight: 700;
    color: #fff;
    padding: 22px 5px 5px;
}

.card__purpose-sticker span:nth-child(2) {
    font-size: 18px;
    margin-top: 3px;
}

.card__purpose-sticker span:nth-child(3) {
    font-size: 12px;
    margin-top: -2px;
}

.card__purpose-sticker span:nth-child(4) {
    font-size: 18px;
    margin-top: -4px;
}

.card__purpose-sticker span:nth-child(5) {
    font-size: 12px;
    font-weight: 500;
    margin-top: 7px;
}

.card__purpose-sticker b {
    font-size: 19px;
    font-weight: 700;
    margin-top: 5px;
}

.card__attribute-price {
    font-size: 30px;
    font-weight: 900;
    color: #488ef6;
    margin: 0 1px 0 -13px;
}

.quiz {
    padding: 78px 0;
    position: relative;
}

.quiz::before {
    content: "";
    background-image: url("data:image/svg+xml,%0A%3Csvg width='19' height='29' viewBox='0 0 19 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.25' y='0.25' width='18.5' height='28' rx='8.75' stroke='%23B8B8BB' stroke-width='0.5'/%3E%3Cline x1='9.35' y1='6.35' x2='9.35' y2='13.65' stroke='%23B8B8BB' stroke-width='0.7' stroke-linecap='round'/%3E%3C/svg%3E");
    width: 19px;
    height: 29px;
    display: block;
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -9px;
    z-index: 3;
}

.quiz::after {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 128 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M64.0004 0C78 -4.68204e-09 96 29 121 29C165.52 29 -37.5193 29 7.00045 29C34 29 50.0009 4.68204e-09 64.0004 0Z' fill='white'/%3E%3C/svg%3E");
    width: 128px;
    height: 29px;
    position: absolute;
    top: -28px;
    left: calc(50% - 64px);
    z-index: 2;
}

.quiz .wrap {
    position: relative;
    z-index: 3;
}

.quiz__title {
    font-size: 36px;
    font-weight: 500;
    text-align: center;
    width: 875px;
    max-width: 100%;
    margin: 0 auto 43px;
    padding-left: 70px;
    transform: translateY(30px);
    opacity: 0;
    transition: .5s;
    transition-delay: .3s;
}

.quiz__title.animated {
    opacity: 1;
    transform: none;
}

.quiz__title::after {
    content: "+подарок";
    background: url(../img/present-small.png) no-repeat left center;
    min-height: 49px;
    display: inline-block;
    vertical-align: middle;
    font-size: 28px;
    font-weight: 500;
    line-height: 49px;
    color: #5998f7;
    margin-right: -13px;
    margin-left: 17px;
    padding-left: 42px;
}

.quiz__title b {
    font-weight: 900;
}

.quiz__box {
    background: url(../img/tree.png) no-repeat top 103px left 7px, linear-gradient(169.33deg, #ffffff -30.15%, #c5d2e6 94.93%);
    box-shadow: 0px 19px 44px rgba(176, 179, 185, 0.3);
    border-radius: 22px;
    display: flex;
    padding: 23px 20px 22px 27px;
    position: relative;
}

.quiz__box::before {
    content: "";
    width: 375px;
    height: 375px;
    position: absolute;
    left: -197px;
    bottom: -68px;
    background: url(../img/fan-2.png) no-repeat center;
    z-index: -1;
}

.quiz__box::after {
    content: "";
    width: 668px;
    height: 729px;
    background: url(../img/pipe.png) no-repeat center;
    position: absolute;
    right: -322px;
    top: -29px;
    z-index: -1;
}

.quiz__other {
    width: 297px;
}

.quiz__manager {
    margin: 0 11px 0 auto;
    display: table;
    position: relative;
    z-index: 2;
}

.quiz__manager::before {
    content: "";
    width: 285px;
    height: 306px;
    display: block;
    position: absolute;
    top: 57px;
    left: -93px;
    background: url(../img/logo-transparent.png) no-repeat center;
    z-index: -1;
}

.quiz__manager-info {
    position: absolute;
    top: 27px;
    left: -74px;
}

.quiz__manager-name {
    font-weight: 700;
}

.quiz__manager-description {
    font-size: 12px;
    font-weight: 500;
    color: #86868c;
    margin: 12px 0 0;
    width: 125px;
}

.quiz__result {
    margin-top: -76px;
    background: #fff;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    z-index: 2;
    padding-top: 34px;
}

.quiz__result-title {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    width: 220px;
    max-width: 100%;
    margin: 0 auto 37px;
}

.quiz__result-list-title {
    display: none;
}

.quiz__result-list {
    padding: 0 0 0 15px;
    list-style: none;
    width: 230px;
    margin: 0 auto;
}

.quiz__result-item {
    display: flex;
    align-items: center;
    font-size: 13px;
}

.quiz__result-item:not(:last-child) {
    margin-bottom: 28px;
}

.quiz__result-item-icon-container {
    width: 25px;
    height: 25px;
    position: relative;
    background: linear-gradient(0deg, rgba(80, 150, 255, 0.38) 0%, rgba(199, 221, 255, 0.38) 100%);
    border-radius: 50%;
    fill: #5f646c;
    stroke: #5f646c;
    padding: 6px 7px;
    flex-shrink: 0;
}

.quiz__result-item-icon-container.active {
    fill: #5C95EA;
    stroke: #5C95EA;
}

.quiz__result-item-icon-container::before {
    content: "";
    z-index: 1;
    position: absolute;
    top: -3px;
    left: -3px;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    background: linear-gradient(0deg, rgba(92, 149, 234, 0.3) 0%, rgba(199, 221, 255, 0.3) 100%);
    opacity: 0;
    animation: pulse 4s infinite;
    border-radius: 50%;
    transform: scale(0);
}

.quiz__result-item-icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

.quiz__result-item-text {
    margin-left: 11px;
    width: 160px;
    max-width: calc(100% - 11px - 25px - 14px);
}

.quiz__result-present {
    position: relative;
    background: url(../img/document.png) no-repeat right bottom;
    height: 181px;
    margin-top: 15px;
}

.quiz__result-present::before {
    content: "";
    width: 255px;
    height: 132px;
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(../img/present.png) no-repeat center;
}

.quiz__result-present-icon-container {
    position: absolute;
    left: 60px;
    bottom: 38px;
    width: 50px;
    height: 50px;
    background: linear-gradient(0deg, #5096ff 0%, #c7ddff 100%);
    border-radius: 50%;
    fill: #fff;
    stroke: #fff;
    padding: 9px 15px 11px;
}

.quiz__result-present-icon-container::before {
    content: "";
    z-index: 1;
    position: absolute;
    top: -6px;
    left: -6px;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    background: linear-gradient(0deg, rgba(92, 149, 234, 0.3) 0%, rgba(199, 221, 255, 0.3) 100%);
    opacity: 0;
    animation: pulse 4s infinite;
    border-radius: 50%;
    transform: scale(0);
}

.quiz__result-present-icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 3;
}

.quiz__result-present-text {
    font-size: 13px;
    padding: 16px 0 0 50px;
    width: 175px;
}

.quiz__main {
    width: 100%;
    background: url(../img/bg/bg-build.jpg) no-repeat center / cover #fff;
    box-shadow: 0px 2px 43px rgba(176, 179, 185, 0.22);
    border-radius: 22px;
    padding-top: 33px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.quiz__progress {
    width: 539px;
    height: 17px;
    max-width: 100%;
    margin: 0 auto;
    background: #efefef;
    border-radius: 10px;
    display: flex;
    align-items: center;
    font-size: 10px;
    line-height: 15px;
    font-weight: 500;
    color: #8e8e90;
    padding: 1px;
    position: relative;
    flex-shrink: 0;
}

.quiz__progress-active {
    width: 30px;
    height: 100%;
    background: url("data:image/svg+xml,%3Csvg viewBox='0 0 17 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath transform='matrix(.93722 .34875 -.5148 .8573 10.803 -2.344)' fill='url(%23a)' fill-opacity='.9' d='M0 0h6.241v20.346H0z'/%3E%3Cdefs%3E%3ClinearGradient id='a' x1='3.121' y1='0' x2='3.121' y2='20.346' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2324D977'/%3E%3Cstop offset='1' stop-color='%2311BC60'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E")
            repeat-x center,
        linear-gradient(180deg, #07c45e 0%, #01a44c 100%);
    border-radius: 7px;
    flex-shrink: 0;
    transition: 2s;
    animation: loading 1s linear infinite;
}

.quiz__progress-text {
    text-align: center;
    flex-grow: 1;
}

.quiz__progress-text--fixed {
    position: absolute;
    top: 1px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
}

.questions {
    text-align: center;
    flex-grow: 1;
}

.questions .slick-list {
    height: 100%;
}

.questions .slick-track{
    display: flex;
    height: 100%;
}

.questions .slick-slide {
    height: auto;
    flex: 0 0 auto;
}

.question {
    padding: 29px 0 40px;
    display: flex;
    flex-direction: column;
    width: 700px;
    max-width: calc(100% - 20px);
    margin: 0 auto;
    height: 100%;
}

.question__counter {
    font-size: 14px;
    margin-bottom: 19px;
    color: #000;
}

.question__title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 28px;
    color: #000;
}

.variants {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 21px 40px;
    margin-bottom: 30px;
}

.variant {
    position: relative;
    max-width: 205px;
    margin: 0 auto;
    cursor: pointer;
}

.variant__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
}

.variant__checked {
    width: 34px;
    height: 34px;
    background: #fff;
    border-radius: 50%;
    display: block;
    margin: -14px auto 0;
    z-index: 2;
    position: relative;
    padding: 5px;
}

.variant__checked::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(243, 243, 243, 0.1) 0%, rgba(186, 200, 192, 0.1) 100%);
    z-index: 1;
}

.variant__checked-icon {
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #f1f0f0 0%, #d0d6d3 100%);
    border-radius: 50%;
    padding: 7px 6px;
    fill: #fff;
    position: relative;
    z-index: 2;
}

.variant__img {
    max-width: 100%;
    border-radius: 8px;
}

.variant__text {
    font-size: 15px;
    display: block;
    margin-top: -1px;
    color: #000;
}

.variant:hover .variant__input:not(:checked) ~ .variant__checked::before {
    background: linear-gradient(180deg, rgba(7, 196, 94, 0.1) 0%, rgba(1, 164, 76, 0.1) 100%);
}

.variant:hover .variant__input:not(:checked) ~ .variant__checked .variant__checked-icon {
    border: 1px solid #2bd077;
    padding: 6px 5px;
    fill: #2bd077;
}

.variant__input:checked ~ .variant__checked::before {
    background: linear-gradient(180deg, rgba(33, 206, 112, 0.1) 0%, rgba(32, 174, 97, 0.1) 100%);
}

.variant__input:checked ~ .variant__checked .variant__checked-icon {
    background: linear-gradient(180deg, #21ce70 0%, #20ae61 100%);
}

.question__btns {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: auto;
}

.checkbox-list {
    max-width: 100%;
    margin-bottom: 30px;
}

.checkbox-list > *:not(:last-child) {
    margin-bottom: 18px;
}

.checkbox {
    background: #fcfcfc;
    box-shadow: 0px 19px 44px rgba(176, 179, 185, 0.3);
    border-radius: 8px;
    display: flex;
    align-items: center;
    cursor: pointer;
    min-width: 160px;
    padding: 12px 10px 11px 25px;
    font-weight: 500;
    position: relative;
}

.checkbox__checkbox {
    flex-shrink: 0;
}

.checkbox__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
}

.checkbox__custom {
    display: block;
    width: 29px;
    height: 29px;
    padding: 3px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(243, 243, 243, 0.1) 0%, rgba(186, 200, 192, 0.1) 100%);
}

.checkbox__custom::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #fcfcfc;
    border-radius: 8px;
}

.checkbox__custom-icon {
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: linear-gradient(180deg, #f1f0f0 0%, #d0d6d3 100%);
    padding: 7px 6px;
    fill: #fff;
    display: block;
}

.checkbox__text {
    flex-grow: 1;
    text-align: left;
    margin-left: 17px;
    font-weight: 300;
    color: #000;
}

.checkbox:hover .checkbox__input:not(:checked) ~ .checkbox__custom {
    background: linear-gradient(180deg, rgba(7, 196, 94, 0.1) 0%, rgba(1, 164, 76, 0.1) 100%);
}

.checkbox:hover .checkbox__input:not(:checked) ~ .checkbox__custom .checkbox__custom-icon {
    border: 1px solid #2bd077;
    padding: 6px 5px;
    fill: #2bd077;
}

.checkbox__input:checked ~ .checkbox__custom {
    background: linear-gradient(180deg, rgba(33, 206, 112, 0.1) 0%, rgba(32, 174, 97, 0.1) 100%);
}

.checkbox__input:checked ~ .checkbox__custom::before {
    border-color: #11bc60;
}

.checkbox__input:checked ~ .checkbox__custom .checkbox__custom-icon {
    background: linear-gradient(180deg, #21ce70 0%, #20ae61 100%);
}

.question__prev {
    font-weight: 500;
    font-size: 18px;
    line-height: 19px;
    color: #82828C;
    background: linear-gradient(180deg, #F7FAFF 0%, #D9DFE8 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #D0D6DF;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 20px 23px;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    text-align: center;
    width: 267px;
    max-width: 100%;
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.question__prev::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #E1E8F2 0%, #BEC5D0 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.question__prev:hover {
    color: #4B4B5A;
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #B4BBC5;
}

.question__prev:hover::before {
    opacity: 1;
    visibility: visible;
}

.question__prev span {
    position: relative;
    z-index: 2;
}

.question__next {
    font-weight: 700;
    font-size: 18px;
    line-height: 19px;
    color: #f3f3f3;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 20px 23px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    text-align: center;
    width: 267px;
    max-width: 100%;
    border: none;
    cursor: pointer;
    margin-left: auto;
}

.question__next::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.question__next::after {
    content: "";
    width: 16px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    transform-origin: 0 100%;
    transform: skew(-22deg);
    animation: blick 4s infinite;
}

.question__next:not([disabled]):hover {
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
}

.question__next:not([disabled]):hover::before {
    opacity: 1;
    visibility: visible;
}

.question__next span {
    position: relative;
    z-index: 2;
}

.question__next[disabled] {
    opacity: .3;
    cursor: default;
}

.question__btns .checkbox {
    margin-left: 14px;
}

.range {
    display: flex;
    align-items: flex-start;
    padding: 0 13px 0 0;
    margin-bottom: 30px;
}

.range__total {
    font-size: 18px;
    font-weight: 500;
    min-width: 141px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-left: 62px;
}

.range__result {
    background: linear-gradient(180deg, #2bd077 0%, #20bc68 100%);
    border-radius: 4px;
    font-size: 20px;
    line-height: 38px;
    color: #fff;
    width: 106px;
    height: 38px;
    text-align: center;
}

.range .irs {
    flex-grow: 1;
}

.range .irs-line {
    height: 14px;
    top: 11px;
    background: #efefef;
}

.range .irs-min,
.range .irs-max {
    top: 33px;
    font-size: 16px;
    font-weight: 500;
    color: #3d3d3e;
    background: none;
    border-radius: 0;
    font-family: "Museo Sans Cyrl";
    visibility: visible !important;
}

.range .irs-bar {
    top: 11px;
    height: 14px;
    background: #32cb78;
}

.range .irs-handle {
    top: -1px;
    width: 37px;
    height: 37px;
    background: linear-gradient(180deg, rgba(33, 206, 112, 0.1) 0%, rgba(32, 174, 97, 0.1) 100%);
    border-radius: 50%;
    position: absolute;
}

.range .irs-handle::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    border-radius: 50%;
    background: linear-gradient(180deg, #21ce70 0%, #20ae61 100%);
}

.range .irs-handle i {
    display: none !important;
}

.range .irs-single {
    display: none;
}

.range + .question__title {
    border-top: 1px solid #d8d8d8;
    margin-top: 39px;
    padding-top: 50px;
}

.question--1 {
    padding-top: 21px;
}

.question--1 .question__counter {
    margin-bottom: 6px;
}

.question--1 .question__title {
    margin-bottom: 26px;
}

.question--2 .question__title {
    margin-bottom: 58px;
}

.question--2 .variant__text {
    margin-top: 10px;
}

.question--5 .variant__text {
    font-size: 16px;
    margin-top: 8px;
}

.quiz__result--termos {
    padding-top: 29px;
}

.quiz__result--termos .quiz__result-title {
    width: 260px;
    margin-bottom: 16px;
}

.quiz__result--termos .quiz__result-list-title {
    display: block;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    text-decoration: underline;
    margin-bottom: 20px;
}

.quiz__result--termos .quiz__result-present-icon-container {
    bottom: auto;
    top: 25px;
    left: 58px;
}

.quiz__result--termos .quiz__result-present-text {
    padding: 89px 0 0 35px;
    text-align: center;
    font-weight: 700;
    width: 134px;
}

.quiz__result--termos .quiz__result-present {
    height: 170px;
}

.quiz__result--termos .quiz__result-present::before {
    background: url(../img/quiz/termos.png) no-repeat center;
    width: 85px;
    height: 159px;
    right: 80px;
}

.quiz__result--bag {
    padding-top: 29px;
}

.quiz__result--bag .quiz__result-title {
    width: 260px;
    margin-bottom: 16px;
}

.quiz__result--bag .quiz__result-list-title {
    display: block;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    text-decoration: underline;
    margin-bottom: 20px;
}

.quiz__result--bag .quiz__result-present-icon-container {
    bottom: auto;
    top: 5px;
    left: 27px;
}

.quiz__result--bag .quiz__result-present {
    height: 170px;
    background-position: right bottom -25px;
}

.quiz__result--bag .quiz__result-present::before {
    background: url(../img/quiz/sumka.png) no-repeat center;
    width: 189px;
    height: 112px;
    right: 60px;
}

.quiz__result--bag .quiz__result-present-text {
    font-weight: 700;
    padding: 13px 0 0 92px;
    width: 225px;
}

.quiz__result--free-day {
    padding-top: 29px;
}

.quiz__result--free-day .quiz__result-title {
    width: 260px;
    margin-bottom: 16px;
}

.quiz__result--free-day .quiz__result-list-title {
    display: block;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    text-decoration: underline;
    margin-bottom: 20px;
}

.quiz__result--free-day .quiz__result-present-icon-container {
    bottom: auto;
    top: 24px;
    left: 27px;
}

.quiz__result--free-day .quiz__result-present {
    height: 170px;
}

.quiz__result--free-day .quiz__result-present::before {
    width: 231px;
    height: 185px;
    right: 28px;
    bottom: -15px;
    z-index: -1;
}

.quiz__result--free-day .quiz__result-present-text {
    font-weight: 700;
    font-size: 24px;
    line-height: 26px;
    padding: 23px 0 0 52px;
    width: 195px;
    text-align: center;
    background: -webkit-gradient(linear, left top, left bottom, from(#626d72), to(#5a5a65));
    background: -o-linear-gradient(top, #626d72 0%, #5a5a65 100%);
    background: linear-gradient(180deg, #626d72 0%, #5a5a65 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.quiz__result--free-day .quiz__result-present-text span {
    background: -webkit-gradient(linear, left top, left bottom, from(#a8b5ba), to(#43434f));
    background: -o-linear-gradient(top, #a8b5ba 0%, #43434f 100%);
    background: linear-gradient(180deg, #a8b5ba 0%, #43434f 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: block;
    font-size: 45px;
    font-weight: 700;
    margin-bottom: -4px;
    line-height: normal;
}

.quiz__callback {
    padding: 25px;
}

.quiz__callback-title {
    font-size: 32px;
    font-weight: 500;
    margin: 0 -50px 70px;
    letter-spacing: -.04em;
    color: #000;
}

.quiz__callback-title span {
    color: #5096ff;
}

.quiz__callback-sub-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 32px;
    color: #000;
}

.quiz__callback-sub-title span {
    color: #5096ff;
}

.callback {
    width: 337px;
    max-width: 100%;
    position: relative;
    text-align: center;
    margin: 0 auto;
}

.callback__title {
    font-size: 20px;
    font-weight: 500;
    margin: 0 -5px 41px;
    color: #000;
}

.messengers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.messenger {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    padding: 10px 12px;
    border-radius: 16px;
    border: 2px solid transparent;
    --current-color: #25d366;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.messenger:hover {
    border-color: #e5e7eb;
}

.messenger.is-active {
    border-color: var(--current-color);
}

.messenger__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
}

.messenger__custom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    overflow: hidden;
    -webkit-box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
            box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.12);
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.messenger__custom-icon {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    display: block;
}

.messenger__text {
    margin-top: 8px;
    font-size: 13px;
    color: #000;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.messenger.is-active .messenger__text {
    color: #2b2b2e;
    font-weight: 700;
}

.callback__messengers {
    margin-bottom: 20px;
}

.callback__fields {
    margin-bottom: 1px;
}

.callback__input {
    margin-bottom: 12px;
    background: #fff;
    -webkit-box-shadow: 0px 19px 44px rgba(176, 179, 185, 0.3);
            box-shadow: 0px 19px 44px rgba(176, 179, 185, 0.3);
    border-radius: 11px;
    width: 100%;
    border: none;
    padding: 22px 20px;
    text-align: center;
    font-weight: 300;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    outline: none;
}

.callback__input.error {
    -webkit-box-shadow: 0px 19px 44px rgb(176 179 185 / 30%), inset 0 0 5px #f00;
            box-shadow: 0px 19px 44px rgb(176 179 185 / 30%), inset 0 0 5px #f00;
}

.callback__btn {
    font-weight: 700;
    font-size: 16px;
    color: #f3f3f3;
    background: -webkit-gradient(linear, left top, left bottom, from(#7faaea), to(#5390eb));
    background: -o-linear-gradient(top, #7faaea 0%, #5390eb 100%);
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    -webkit-box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
            box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
    border-radius: 11px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 23px 15px 22px 15px;
    position: relative;
    overflow: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    border: none;
    width: 100%;
    cursor: pointer;
    margin-bottom: 15px;
}

.callback__btn::before {
    content: "";
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, from(#a8c7f4), to(#6098eb));
    background: -o-linear-gradient(top, #a8c7f4 0%, #6098eb 100%);
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.callback__btn::after {
    content: "";
    width: 35px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.35)), to(rgba(255, 255, 255, 0)));
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform-origin: 0 100%;
        -ms-transform-origin: 0 100%;
            transform-origin: 0 100%;
    -webkit-transform: skew(-27deg);
        -ms-transform: skew(-27deg);
            transform: skew(-27deg);
    -webkit-animation: blick 4s infinite;
            animation: blick 4s infinite;
}

.callback__btn:hover {
    -webkit-box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
            box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
}

.callback__btn:hover::before {
    opacity: 1;
    visibility: visible;
}

.callback__btn span {
    position: relative;
    z-index: 2;
}

.checked {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    cursor: pointer;
}

.checked__checkbox {
    position: relative;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

.checked__input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    opacity: 0;
}

.checked__custom {
    border: 1px solid #bc1b11;
    width: 14px;
    height: 14px;
    display: block;
    padding: 1px;
}

.checked__custom-icon {
    width: 100%;
    height: 100%;
    display: block;
    fill: transparent;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.checked__text {
    font-size: 10px;
    line-height: 16px;
    color: #000;
    margin-left: 7px;
}

.callback__bonus {
    font-size: 20px;
    color: #000;
    width: 296px;
    max-width: 100%;
    margin: 0 auto;
}

.messenger--telegram {
    --current-color: #29a9eb;
}

.messenger--max {
    --current-color: #7c5cff;
}

.callback__checked {
    margin-bottom: 18px;
}

.checked__input:checked + .checked__custom {
    border-color: #11bc60;
    background: #11bc60;
}

.checked__input:checked + .checked__custom .checked__custom-icon {
    fill: #11bc60;
}

.quiz__finish {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}

.quiz__finish-icon {
    width: 72px;
    height: 72px;
    margin: 0 0 24px;
    border-radius: 50%;
    background: linear-gradient(180deg, #21ce70 0%, #20ae61 100%);
    box-shadow: 0 8px 20px rgba(32, 174, 97, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.quiz__finish-icon-svg {
    width: 28px;
    height: 20px;
    fill: #fff;
}

.quiz__finish-title {
    font-size: 32px;
    font-weight: 700;
    color: #000;
}

.quiz__finish-text {
    font-size: 16px;
    line-height: 22px;
    color: #000;
    margin: 10px 0 0;
}

.dialog {
    position: fixed;
    right: 26px;
    bottom: 26px;
    z-index: 6;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.dialog__icon-container {
    width: 88px;
    height: 88px;
    padding: 22px;
    fill: #fff;
    background: -webkit-gradient(linear, left bottom, left top, from(#408DFF), to(#A9CBFF));
    background: -o-linear-gradient(bottom, #408DFF 0%, #A9CBFF 100%);
    background: linear-gradient(0deg, #408DFF 0%, #A9CBFF 100%);
    border-radius: 50%;
    position: relative;
    z-index: 3;
}

.dialog__icon-container::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: 1;
    border-radius: 50%;
    background: -webkit-gradient(linear, left bottom, left top, from(#89B8FF), to(#CDE1FF));
    background: -o-linear-gradient(bottom, #89B8FF 0%, #CDE1FF 100%);
    background: linear-gradient(0deg, #89B8FF 0%, #CDE1FF 100%);
}

.dialog__icon-container:hover::before {
    opacity: 1;
    visibility: visible;
}

.dialog__icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

.dialog__list {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -22px 0 0 -22px;
    padding: 0;
    list-style: none;
}

.dialog__list::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 238px;
    opacity: 0;
    visibility: hidden;
}

.dialog__item {
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}

.dialog__item:nth-child(2),
.dialog__item:nth-child(3) {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -22px 0 0 -22px;
}

.dialog__link {
    width: 44px;
    height: 44px;
    display: block;
    padding: 12px;
    background: -webkit-gradient(linear, left bottom, left top, from(#408dff), to(#a9cbff));
    background: -o-linear-gradient(bottom, #408dff 0%, #a9cbff 100%);
    background: linear-gradient(0deg, #408dff 0%, #a9cbff 100%);
    border-radius: 50%;
    fill: #fff;
    position: relative;
    display: block;
}

.dialog__link::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -webkit-gradient(linear, left bottom, left top, from(#92bdff), to(#dfecff));
    background: -o-linear-gradient(bottom, #92bdff 0%, #dfecff 100%);
    background: linear-gradient(0deg, #92bdff 0%, #dfecff 100%);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    z-index: 1;
    border-radius: 50%;
}

.dialog__link-icon {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 2;
}

.dialog__link--whatsapp {
    background: -webkit-gradient(linear, left top, left bottom, from(#9fffba), to(#28ce4d));
    background: -o-linear-gradient(top, #9fffba 0%, #28ce4d 100%);
    background: linear-gradient(180deg, #9fffba 0%, #28ce4d 100%);
}

.dialog__link--whatsapp::before {
    background: -webkit-gradient(linear, left top, left bottom, from(#d3fcde), to(#8edd9f));
    background: -o-linear-gradient(top, #d3fcde 0%, #8edd9f 100%);
    background: linear-gradient(180deg, #d3fcde 0%, #8edd9f 100%);
}

.dialog__link--telegram {
    background: -webkit-gradient(linear, left bottom, left top, from(#40baff), to(#a7dfff));
    background: -o-linear-gradient(bottom, #40baff 0%, #a7dfff 100%);
    background: linear-gradient(0deg, #40baff 0%, #a7dfff 100%);
    padding: 12px 11px;
}

.dialog__link--telegram::before {
    background: -webkit-gradient(linear, left bottom, left top, from(#40baff), color-stop(0.01%, #86d3ff), to(#e2f5ff));
    background: -o-linear-gradient(bottom, #40baff 0%, #86d3ff 0.01%, #e2f5ff 100%);
    background: linear-gradient(0deg, #40baff 0%, #86d3ff 0.01%, #e2f5ff 100%);
}

.dialog__link:hover::before {
    opacity: 1;
    visibility: visible;
}

.dialog:hover .dialog__list::before {
    opacity: 1;
    visibility: visible;
}

.dialog:hover .dialog__item {
    -webkit-transform: translateY(-87px);
        -ms-transform: translateY(-87px);
            transform: translateY(-87px);
    opacity: 1;
    visibility: visible;
}

.dialog:hover .dialog__item:nth-child(2) {
    -webkit-transform: translateY(-141px);
        -ms-transform: translateY(-141px);
            transform: translateY(-141px);
}

.dialog:hover .dialog__item:nth-child(3) {
    -webkit-transform: translateY(-194px);
        -ms-transform: translateY(-194px);
            transform: translateY(-194px);
}

@-webkit-keyframes blick {
    0% {
        left: -100px;
    }
    50%,
    100% {
        left: calc(100% + 100px);
    }
}

@keyframes blick {
    0% {
        left: -100px;
    }
    50%,
    100% {
        left: calc(100% + 100px);
    }
}

@-webkit-keyframes wave {
    0% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
    100% {
        -webkit-transform: translateY(-10px);
                transform: translateY(-10px);
    }
}

@keyframes wave {
    0% {
        -webkit-transform: translateY(0);
                transform: translateY(0);
    }
    100% {
        -webkit-transform: translateY(-10px);
                transform: translateY(-10px);
    }
}

@-webkit-keyframes pulse {
    0% {
        -webkit-transform: scale(0);
                transform: scale(0);
        opacity: 0;
    }
    25%,
    35% {
        opacity: 1;
    }
    50%,
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 0;
    }
}

@keyframes pulse {
    0% {
        -webkit-transform: scale(0);
                transform: scale(0);
        opacity: 0;
    }
    25%,
    35% {
        opacity: 1;
    }
    50%,
    100% {
        -webkit-transform: scale(1);
                transform: scale(1);
        opacity: 0;
    }
}

@-webkit-keyframes flash {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes flash {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes loading {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 17px 0;
    }
}

@keyframes loading {
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: 17px 0;
    }
}

.footer {
    background: #212121;
    color: #fff;
}

.footer__inner {
    display: flex;
    padding: 43px 0 48px 40px;
}

.footer__main {
    width: 340px;
    max-width: 100%;
}

.footer__company {
    display: flex;
    align-items: center;
    gap: 24px;
}

.footer__description {
    font-size: 15px;
    line-height: 19px;
    margin: -12px 0 0;
}

.footer__requisites {
    color: rgb(255 255 255 / .75);
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 12px;
    font-size: 14px;
}

.footer__requisite {
    margin: 0;
}

.footer__links {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
}

.footer__link {
    color: rgb(255 255 255 / .75);
    font-size: 12px;
}

.footer__link:hover {
    text-decoration: none;
}

.footer__contacts {
    width: 280px;
    margin: 5px 0 0 161px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer__contacts-sub-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.footer__contact-title {
    font-size: 18px;
    font-weight: 700;
}

div.footer__contact-value {
    width: 100%;
}

.footer__contact-value {
    color: rgb(255 255 255 / .75);
    text-decoration: none;
}

.footer__communication {
    margin: 8px 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer__socials {
    display: flex;
    align-items: center;
    gap: 10px;
}

.footer__social {
    width: 29px;
    height: 29px;
    border: 1px solid #408dff;
    fill: #408dff;
    stroke: #408dff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: -1px;
    transition: .3s;
}

.footer__social:hover {
    background: #408dff;
    fill: #fff;
    stroke: #fff;
}

.footer__social--whatsapp {
    border: 1px solid #00c058;
    fill: #00c058;
    stroke: #00c058;
}

.footer__social--whatsapp:hover {
    background: #00c058;
    fill: #fff;
    stroke: #fff;
}

.footer__social-icon {
    height: 13px;
}

.footer__phone {
    font-size: 23px;
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    margin-left: 3px;
    display: inline-block;
    border: 1.5px solid #5390eb;
    border-radius: 8px;
    padding: 5px 14px;
}

.footer__phone:hover {
    text-decoration: underline;
}

.footer__callback {
    font-weight: 700;
    font-size: 18px;
    color: #f3f3f3;
    background: linear-gradient(180deg, #7faaea 0%, #5390eb 100%);
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #0a50c1;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 21px 49px 23px;
    position: relative;
    overflow: hidden;
    transition: 0.3s;
    text-align: center;
    border: none;
    cursor: pointer;
    margin: 5px 3px 0 auto;
}

.footer__callback::before {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, #a8c7f4 0%, #6098eb 100%);
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}

.footer__callback::after {
    content: "";
    width: 16px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -100px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0) 100%);
    transform-origin: 0 100%;
    transform: skew(-22deg);
    animation: blick 4s infinite;
}

.footer__callback span {
    position: relative;
    z-index: 2;
}

.footer__callback:hover {
    box-shadow: inset 0px 3.79918px 11.3976px rgb(255 255 255 / 56%), 0 3px #4484E2;
}

.footer__callback:hover::before {
    opacity: 1;
    visibility: visible;
}

/**********************************/
/************ 6. Popup ************/
/**********************************/

.modal {
    display: none;
    width: 690px;
    min-height: 487px;
    background: url(../img/bg/bg-build.jpg) no-repeat right bottom / cover;
    padding: 34px 20px 5px 294px;
}

.modal::before {
    content: "";
    width: 272px;
    height: 452px;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/tree2.png) no-repeat;
    z-index: 1;
}

.modal::after {
    content: "";
    width: 452px;
    height: 501px;
    position: absolute;
    top: -117px;
    left: -143px;
    background: url(../img/light.png) no-repeat left top;
    mix-blend-mode: screen;
    z-index: 2;
}

.modal__close {
    width: 12px;
    height: 11px;
    position: absolute;
    top: 11px;
    right: 11px;
    background: none;
    padding: 0;
    border: 0;
    stroke: #3d3d3e;
    cursor: pointer;
}

.modal__close-icon {
    width: 100%;
    height: 100%;
    display: block;
}

.modal > * {
    z-index: 3;
}

.modal__product {
    position: absolute;
    left: 0;
    bottom: 0;
}

.modal__title {
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    line-height: 35px;
}

.modal__title span {
    color: #5096ff;
}

.callback .modal__title {
    margin: 0 -32px 19px;
}

#modalThank {
    width: 360px;
    max-width: calc(100vw - 30px);
    padding: 44px 30px 30px;
    min-height: auto;
    overflow: hidden;
    text-align: center;
}

#modalThank::before,
#modalThank::after {
    display: none;
}

#modalThank .modal__title {
    margin: 0 0 10px;
}

.modal-thank__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: linear-gradient(180deg, #21ce70 0%, #20ae61 100%);
    box-shadow: 0 8px 20px rgba(32, 174, 97, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-thank__icon-svg {
    width: 24px;
    height: 18px;
    fill: #fff;
}

.modal-thank__text {
    font-size: 15px;
    line-height: 20px;
    color: #626264;
    margin: 0 0 26px;
}

/**********************************/
/************ 7. Media ************/
/**********************************/

/******************************************/
/************ 7.1 Wide screens ************/
/******************************************/

@media screen and (max-width: 1300px) {
    .wrap {
        width: auto;
        padding: 0 10px;
    }

    .header__wrap {
        align-items: center;
    }

    .header__manager {
        margin-top: 0;
        margin-left: 5%;
    }

    .header__contact {
        margin-top: 0;
        margin-left: auto;
    }

    .header__callback {
        display: none;
    }

    .promo__description {
        font-size: 16px;
        width: 530px;
    }

    .promo__title {
        font-size: 36px;
        width: 600px;
    }

    .promo__btn {
        font-size: 21px;
        padding: 28px 40px;
    }

    .promo__img-container {
        left: calc(50% + 105px);
        top: calc(50% - 340px);
    }

    .promo__img {
        width: 400px;
    }

    .promo__img--second {
        left: -80px;
        top: 150px;
        width: 450px;
    }

    .promo__img-tooltips > *:nth-child(1) {
        top: 120px;
        left: 250px;
    }

    .promo__img-tooltips > *:nth-child(2) {
        top: 230px;
        left: 50px;
    }

    .promo__img-tooltips > *:nth-child(3) {
        top: 310px;
        left: 280px;
    }

    .promo__edges {
        margin: 0;
    }

    .promo__edge {
        width: 150px;
    }

    .promo__edge:nth-child(2),
    .promo__edge:nth-child(3) {
        margin-left: 55px;
    }

    .promo__edge-text {
        font-size: 16px;
    }

    .quiz__box::before,
    .quiz__box::after {
        display: none;
    }

    .quiz__title::after {
        display: table;
        margin: 0 auto;
    }


    .tab__nav-item {
        width: calc((100% - 66px) / 4);
    }

    .card__img {
        width: calc((100% - 267px - 80px) / 2);
    }

    .card__img img {
        max-width: 100%;
    }

    .card__purpose {
        width: calc((100% - 267px - 80px) / 2);
    }

    .card__purpose img {
        max-width: 100%;
    }

    .card__purpose-sticker {
        width: 180px;
        height: 180px;
        font-size: 16px;
        line-height: normal;
        left: -42px;
    }

    .card__purpose-sticker b {
        margin: 0;
    }

    .card__info {
        margin-bottom: 30px;
    }

    .card__title {
        font-size: 32px;
    }

    .card__title span {
        margin-top: 0;
    }

    .card__attribute-title {
        font-size: 18px;
        margin-right: 10px;
    }

    .card__attribute-value {
        font-size: 24px;
    }

    .card__attribute-price {
        margin-left: -7px;
        font-size: 26px;
    }

    .card__attributes {
        margin-bottom: 30px;
    }

    .tooltip__list {
        width: 355px;
        padding: 20px 20px 20px 35px;
        font-size: 14px;
        right: calc(100% + 10px);
    }

    .tooltip__list-item::before {
        top: 6px;
        left: -13px;
    }

    .promo__img-tooltips > *:nth-child(2) .tooltip__list {
        left: calc(100% + 10px);
        width: 310px;
        padding: 20px 20px 20px 40px;
        bottom: -20px;
    }

    .promo__img-tooltips > *:nth-child(3) .tooltip__list {
        top: auto;
        right: calc(100% + 10px);
        width: 355px;
        bottom: -16px;
        padding: 20px 20px 20px 35px;
    }

    .quiz__main {
        padding: 30px 10px 0;
    }

    .reviews-slider {
        max-width: calc(100% - 110px);
    }

    .footer__contacts {
        margin-left: 50px;
    }
}

/*************************************/
/************ 7.2 Tablets ************/
/*************************************/

@media screen and (max-width: 1024px) {
    .header__wrap {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }

    .header__manager {
        margin-left: auto;
    }

    .header__contact {
        margin: 10px auto 0;
    }

    .promo {
        padding: 180px 0 60px;
        text-align: center;
    }

    .promo::after {
        display: none;
    }

    .promo__description {
        margin-left: auto;
        margin-right: auto;
    }

    .promo__title {
        margin-left: auto;
        margin-right: auto;
    }

    .promo__btn-container {
        margin-bottom: 70px;
    }

    .promo__img-container {
        position: relative;
        left: auto;
        top: auto;
        display: table;
        margin: 0 auto 150px;
        text-align: left;
    }

    .promo__img {
        width: 450px;
        margin-left: 130px;
    }

    .promo__img--second {
        top: 160px;
        width: 560px;
        left: -110px;
        margin: 0;
    }

    .promo__img-tooltips > *:nth-child(1) {
        top: 30px;
        left: 480px;
    }

    .promo__img-tooltips > *:nth-child(2) {
        top: 300px;
        left: 50px;
    }

    .promo__img-tooltips > *:nth-child(3) {
        top: 380px;
        left: 390px;
    }

    .promo__edges {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .quiz__title {
        font-size: 30px;
    }

    .quiz__box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }

    .quiz__other {
        width: 350px;
        margin: 30px auto 0;
    }

    .quiz__main {
        margin: 0;
        width: 100%;
    }

    .tab__nav-item {
        width: 220px;
        padding: 20px 10px;
        font-size: 15px;
    }

    .tab__nav-item-name {
        font-size: 17px;
    }

    .card__info {
        width: 200px;
        margin-top: 20px;
    }

    .card__img {
        width: calc((100% - 200px - 80px) / 2);
        margin: 0;
    }

    .card__purpose {
        width: calc((100% - 200px - 80px) / 2);
        margin-top: 0;
    }

    .card__title {
        font-size: 28px;
        margin-bottom: 15px;
    }

    .card__inner {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .card__attribute-icon-container {
        margin-right: 8px;
    }

    .card__attribute-title {
        font-size: 16px;
        margin-right: 5px;
    }

    .card__attribute-value {
        font-size: 20px;
    }

    .card__attribute-price {
        font-size: 23px;
        margin-left: -5px;
    }

    .card__purpose-sticker {
        font-size: 14px;
        width: 140px;
        height: 140px;
        padding-top: 15px;
    }

    .card__purpose-sticker b {
        font-size: 16px;
    }

    .catalog {
        padding-bottom: 50px;
    }

    .quiz {
        padding-bottom: 50px;
    }

    .card__content {
        font-size: 16px;
    }

    .card__purpose-sticker span:nth-child(2) {
        font-size: 14px;
    }

    .card__purpose-sticker span:nth-child(4) {
        font-size: 14px;
    }

    .card__purpose-sticker span:nth-child(5) {
        font-size: 10px;
    }

    .footer__inner {
        padding-left: 0;
        flex-direction: column;
        gap: 30px;
    }

    .footer__main {
        width: auto;
        display: contents;
    }

    .footer__requisites {
        order: 2;
        width: 100%;
        margin: 0;
    }

    .footer__links {
        order: 3;
        margin: 0;
    }

    .footer__contacts {
        margin: 0;
        order: 1;
        width: 100%;
    }

    .footer__company {
        width: 330px;
        max-width: 100%;
    }

    .footer__communication {
        margin: 0;
        align-items: flex-start;
    }

    .footer__callback {
        margin: 0;
    }

    .reviews__title {
        font-size: 30px;
    }
}

/*************************************/
/************ 7.3 Mobiles ************/
/*************************************/

@media screen and (max-width: 768px) {
    .wrap {
        padding: 0 15px;
    }

    .header__logo img {
        width: 59px;
    }

    .header__description {
        font-size: 12px;
        line-height: 1.25;
        width: auto;
        margin: 0;
    }

    .header__description--desktop {
        display: none;
    }

    .header__description--mobile {
        display: block;
        font-size: 14px;
        line-height: 1.3;
        font-weight: 600;
        color: #000;
    }

    .header__manager {
        display: none;
    }

    .header {
        padding-top: 10px;
        padding-bottom: 10px;
        position: fixed;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    }

    .header__wrap {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    }

    .header__company {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        min-width: 0;
    }

    .header__social {
        width: 24px;
        height: 24px;
        margin-left: 6px;
    }

    .header__phone {
        margin: 0;
        font-size: 19px;
        font-weight: 700;
        padding: 6px 12px;
        white-space: nowrap;
    }

    .header__contact {
        width: auto;
        margin: 0 0 0 10px;
        -webkit-box-flex: 0;
            -ms-flex: none;
                flex: none;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
    }

    .promo {
        padding: 91px 0 10px;
    }

    .promo__description {
        display: none;
    }

    .promo__description.animated {
        -webkit-transform: translateX(-5px);
            -ms-transform: translateX(-5px);
                transform: translateX(-5px);
    }

    .promo__description::before {
        -webkit-transform: skew(-12deg);
            -ms-transform: skew(-12deg);
                transform: skew(-12deg);
    }

    .promo__title {
        font-size: 24px;
        width: 340px;
        margin-bottom: 8px;
    }

    .promo__title--home {
        font-size: 29px;
        width: 100%;
        max-width: 100%;
    }

    .promo__btn-container {
        order: 4;
        min-width: 0;
        width: 100%;
        margin-bottom: 16px;
        gap: 8px;
    }

    .promo__btn {
        font-size: 20px;
        line-height: normal;
        padding: 22px 20px 22px 26px;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        white-space: normal;
        text-align: center;
    }

    .promo__img-container {
        order: 2;
        margin-bottom: 128px;
    }

    .promo__img {
        margin: 0;
        width: 253px;
        transform: translateX(34px);
    }

    .promo__img--second {
        width: 371px;
        transform: none;
        top: 50px;
        left: -112px;
    }

    .tooltip__icon-container {
        width: 22px;
        height: 22px;
        padding: 5px;
    }

    .tooltip__icon {
        display: block;
    }

    .promo__img-tooltips > *:nth-child(1) {
        top: 18px;
        left: 238px;
    }

    .promo__img-tooltips > *:nth-child(2) {
        top: 142px;
        left: -6px;
    }

    .promo__img-tooltips > *:nth-child(3) {
        top: 194px;
        left: 224px;
    }

    .promo::before {
        width: 82px;
        height: 71px;
        left: -16px;
        top: 334px;
        background-size: contain;
    }

    .promo::after {
        display: none;
    }

    .promo .wrap::after {
        width: 217px;
        height: 184px;
        right: -108px;
        top: 133px;
        background-size: contain;
    }

    .tooltip__list {
        width: 280px;
        right: 0;
        bottom: auto;
        top: calc(100% + 11px);
        border-radius: 6px;
        padding: 14px 8px 14px 29px;
        font-size: 10px;
        gap: 4px;
    }

    .tooltip__list-item::before {
        width: 4px;
        height: 4px;
        top: 4px;
        left: -10px;
    }

    .promo__img-tooltips > *:nth-child(2) .tooltip__list {
        right: auto;
        left: -12px;
        top: auto;
        bottom: calc(100% + 10px);
        width: 286px;
        padding: 14px 10px 16px 23px;
        gap: 8px;
    }

    .promo__img-tooltips > *:nth-child(3) .tooltip__list {
        left: auto;
        right: -22px;
        bottom: calc(100% + 11px);
        width: 286px;
        padding: 13px 10px 17px 25px;
        gap: 9px;
    }

    .promo__edge-title {
        font-size: 22px;
        margin: -11px 0 13px;
    }

    .promo__edges {
        order: 3;
        display: flex;
        align-items: stretch;
        justify-content: center;
        gap: 4px;
        margin: 0 0 10px;
    }

    .promo__edge,
    .promo__edge:nth-child(2),
    .promo__edge:nth-child(3) {
        width: auto;
        flex: 1 1 0;
        max-width: 132px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        margin: 0;
    }

    .promo__edge-img,
    .promo__edge:nth-child(2) .promo__edge-img,
    .promo__edge:nth-child(3) .promo__edge-img {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        margin: 0 0 11px;
        border-radius: 50%;
        background: radial-gradient(circle at 35% 30%, #8dffba 0%, #1fce6a 55%, #0fae57 100%);
        box-shadow: 0 0 0 4px rgba(31, 206, 106, 0.18), 0 0 14px 4px rgba(31, 206, 106, 0.55);
    }

    .promo__edge-img img {
        display: none;
    }

    .promo__edge-text,
    .promo__edge:nth-child(2) .promo__edge-text,
    .promo__edge:nth-child(3) .promo__edge-text {
        font-size: 14px;
        line-height: 1.35;
        text-align: center;
        width: auto;
        max-width: 116px;
        min-height: 39px;
        margin: 0;
        letter-spacing: 0.01em;
    }

    .quiz::before {
        width: 8px;
        height: 12px;
        background-size: contain;
        margin-left: -4px;
        top: -3px;
    }

    .quiz::after {
        width: 64px;
        height: 14px;
        top: -13px;
        left: calc(50% - 32px);
    }

    .quiz {
        padding: 38px 0 25px;
    }

    .quiz__title {
        font-size: 20px;
        line-height: 24px;
        padding: 0;
    }

    .quiz__title::after {
        background-size: 34px 34px;
        font-size: 20px;
        line-height: 34px;
        margin-top: 11px;
        padding-left: 25px;
        min-height: 34px;
    }

    .quiz__box {
        padding: 17px 15px 18px;
        margin: 0 -15px;
        background: -o-linear-gradient(280.67deg, #ffffff -30.15%, #c5d2e6 94.93%);
        background: linear-gradient(169.33deg, #ffffff -30.15%, #c5d2e6 94.93%);
    }

    .quiz__other {
        max-width: 100%;
    }

    .quiz__manager img {
        width: 140px;
    }

    .quiz__manager-info {
        top: 20px;
        left: -97px;
    }

    .quiz__manager-name {
        font-size: 14px;
    }

    .quiz__manager-description {
        font-size: 11px;
        margin-top: 8px;
    }

    .quiz__result {
        margin-top: -54px;
        padding-top: 21px;
    }

    .quiz__manager {
        margin-right: 26px;
    }

    .quiz__result-title {
        width: 238px;
        font-size: 16px;
        margin-bottom: 13px;
    }

    .quiz__result-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%;
        padding: 0 17px 0 33px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }

    .quiz__result-item-text {
        margin: 10px 0 0 -6px;
        font-size: 12px;
        width: 100%;
    }

    .quiz__result-item {
        width: calc(50% - 7px);
    }

    .quiz__result-present {
        height: auto;
        margin-top: 0px;
        height: 144px;
        background-size: 206px 141px;
    }

    .quiz__result-item:not(:last-child) {
        margin: 0;
    }

    .quiz__result-present-text {
        font-size: 12px;
        width: 167px;
        padding: 17px 0 0 52px;
    }

    .quiz__result-present::before {
        width: 233px;
        height: 98px;
        background-size: contain;
        right: 12px;
        bottom: -5px;
    }

    .quiz__result-present-icon-container {
        width: 33px;
        height: 33px;
        padding: 8px;
        left: 80px;
        bottom: 35px;
    }

    .catalog {
        padding: 21px 0 22px;
    }

    .catalog__title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .tab__nav {
        width: 228px;
        gap: 7px;
        margin: 0 auto 14px;
    }

    .tab__nav-item {
        font-size: 12px;
        width: 100%;
        font-weight: 500;
        margin: 0;
        padding: 8px 5px 7px;
    }

    .tab__nav-item-name {
        font-size: 14px;
    }

    .card {
        padding: 0;
        border-radius: 16px;
    }

    .card__inner {
        border-radius: 16px;
        display: block;
        padding-bottom: 44px;
    }

    .card__img {
        display: none;
    }

    .card__info {
        width: 100%;
        margin: 33px 0 0;
    }

    .card__title {
        text-align: center;
        font-size: 28px;
        line-height: 1;
    }

    .card__title span {
        font-size: 22px;
        display: block;
    }

    .card__img-mobile {
        display: block;
        text-align: center;
        margin: 24px 0 0 -10px;
    }

    .card__content {
        margin: 0px 33px 12px;
        font-size: 14px;
        gap: 9px;
    }

    .card__attributes {
        display: table;
        margin: -5px auto 20px;
    }

    .card__attribute:not(:last-child) {
        margin-bottom: 4px;
    }

    .card__attribute-icon-container {
        width: 20px;
        margin-right: 10px;
    }

    .card__attribute-title {
        font-size: 12px;
        margin-right: 7px;
    }

    .card__attribute-value {
        font-size: 16px;
    }

    .card__attribute-price {
        font-size: 18px;
        margin-left: -5px;
    }

    .card__attribute-icon {
        height: 20px;
    }

    .card__btn {
        font-size: 14px;
        padding: 21px 10px 17px;
        width: 238px;
        margin: 0 auto;
    }

    .card__purpose {
        width: calc(100% - 36px);
        margin: 21px auto 0;
        font-size: 0;
        text-align: center;
    }

    .card__purpose img {
        width: 360px;
        border-radius: 12px;
    }

    .card__purpose-sticker {
        width: 96px;
        height: 95px;
        left: calc(50% - 47px);
        bottom: -33px;
        top: auto;
        border-width: 6px;
        padding: 7px 5px 5px;
        font-size: 19px;
    }

    .card__purpose-sticker b {
        font-size: 11px;
        font-weight: 300;
        margin-top: 5px;
    }

    .card__purpose-sticker span:nth-child(2) {
        font-size: 9px;
        margin-top: 0;
    }

    .card__purpose-sticker span:nth-child(3) {
        font-size: 7px;
    }

    .card__purpose-sticker span:nth-child(4) {
        font-size: 9px;
    }

    .card__purpose-sticker span:nth-child(5) {
        font-size: 6px;
        margin-top: 5px;
    }

    .modal {
        width: 360px;
        max-width: calc(100vw - 30px);
        min-height: 471px;
        padding: 30px 21px 10px;
    }

    .modal::before,
    .modal::after {
        display: none;
    }

    .modal__product {
        display: none;
    }

    .callback .modal__title {
        margin: 0 0 20px;
        font-size: 21px;
        line-height: 28px;
    }

    .messenger__custom {
        width: 48px;
        height: 48px;
    }

    .callback__btn {
    }

    .checked__text {
        font-size: 9px;
    }

    .callback__checked {
        margin-bottom: 19px;
    }

    .quiz__main {
        padding: 20px 0 0;
    }

    .quiz__progress {
        height: 11px;
        max-width: calc(100% - 24px);
    }

    .quiz__progress-active {
        width: 15px;
    }

    .quiz__progress-text {
        font-size: 7px;
        line-height: 9px;
    }

    .question__counter,
    .question--1 .question__counter {
        font-size: 12px;
        margin-bottom: 12px;
    }

    .question__title {
        font-size: 18px;
        font-weight: 500;
        max-width: calc(100% - 24px);
        margin-left: auto;
        margin-right: auto;
    }

    .question {
        max-width: 100%;
        height: auto;
        padding: 13px 0 25px;
    }

    .variants {
        width: calc(100% - 26px);
        margin: 0 auto 3px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: inherit;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }

    .variant__checked {
        width: 20px;
        height: 20px;
        margin-top: -10px;
        padding: 3px;
    }

    .variant__checked::before {
        top: 1px;
        left: 1px;
        width: calc(100% - 2px);
        height: calc(100% - 2px);
    }

    .variant__checked-icon {
        padding: 3px;
    }

    .variant__text {
        font-size: 11px;
        margin-top: 1px;
    }

    .question__btns {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .question--1 .question__btns {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 0;
    }

    .question__btns .checkbox {
        margin: 0 0 29px;
        padding: 9px 35px 8px;
    }

    .question__btns .checkbox__text {
        margin-left: 10px;
        font-size: 12px;
    }

    .checkbox__custom {
        width: 24px;
        height: 24px;
    }

    .checkbox__custom-icon {
        width: 19px;
        height: 19px;
        padding: 4px;
    }

    .question__next {
        width: 238px;
        margin-left: 0;
        font-size: 16px;
        padding: 17px;
    }

    .questions .slick-track {
        display: block;
        height: auto;
    }

    .question--2 .question__title {
        margin-bottom: 25px;
    }

    .range__result {
        width: 86px;
        font-size: 16px;
        line-height: 33px;
        height: 33px;
    }

    .range__total {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: auto;
        min-width: auto;
        margin: 0 0 16px;
    }

    .range {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0;
        width: calc(100% - 28px);
        margin: 0 auto 45px;
    }

    .range__unit {
        font-size: 14px;
        margin-left: 5px;
    }

    .range .irs {
        width: 100%;
    }

    .range .irs-bar {
        height: 10px;
    }

    .range .irs-line {
        height: 10px;
    }

    .range .irs-min,
    .range .irs-max {
        font-size: 14px;
        padding: 0;
    }

    .range .irs-handle {
        width: 22px;
        height: 22px;
        margin-top: 6px;
    }

    .range .irs-handle::before {
        top: 2px;
        left: 2px;
        width: calc(100% - 4px);
        height: calc(100% - 4px);
    }

    .range + .question__title {
        border: none;
        padding: 0;
        margin-top: 2px;
    }

    .range + .question__btns {
        margin-top: 15px;
    }

    .question__prev {
        width: 238px;

        font-size: 16px;
        padding: 16px;
        margin-top: 9px;
    }

    .question--2 {
        padding-bottom: 25px;
    }

    .checkbox__text {
        font-size: 14px;
        margin-left: 14px;
    }

    .checkbox-list > *:not(:last-child) {
        margin-bottom: 10px;
        padding: 11px 20px 9px;
    }

    .variant {
        max-width: 100%;
        width: calc(50% - 4px);
        margin: 0 0 12px;
    }

    .variant__img {
        margin: 0 auto;
    }
    
    .question--5 .variant__text {
        font-size: 12px;
    }

    .variant:nth-child(2n) {
        margin-left: auto;
    }

    .question--5 {
        padding-bottom: 35px;
    }

    .question--1 {
        padding-bottom: 35px;
    }

    .quiz__callback {
        padding: 16px 26px 19px;
        position: relative;
    }

    .quiz__callback-title {
        font-size: 24px;
        margin: 0 0 20px;
    }

    .quiz__callback-sub-title {
        font-size: 16px;
        margin-bottom: 16px;
    }

    .quiz .callback__title {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .quiz .callback__messengers {
        margin-bottom: 40px;
    }

    .quiz .callback__input {
        background: -webkit-gradient(linear, left top, left bottom, from(#f7f8fb), to(#ecedee));
        background: -o-linear-gradient(top, #f7f8fb 0%, #ecedee 100%);
        background: linear-gradient(180deg, #f7f8fb 0%, #ecedee 100%);
        border-radius: 8px;
        font-size: 12px;
        padding: 20px;
    }


    .quiz .callback__btn {
        font-size: 14px;
        padding: 19px 15px;
        margin-bottom: 11px;
    }

    .quiz .checked__custom {
        width: 11px;
        height: 11px;
    }

    .quiz .checked__text {
        font-size: 7px;
        margin-left: 5px;
    }

    .quiz .callback__checked {
        width: 100%;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        margin-bottom: 10px;
    }

    .quiz .callback__bonus {
        font-size: 16px;
    }

    .quiz__finish-title {
        font-size: 18px;
    }

    .quiz__finish-icon {
        width: 56px;
        height: 56px;
        margin-bottom: 16px;
    }

    .quiz__finish-text {
        font-size: 13px;
        line-height: 18px;
    }

    .quiz__result--termos .quiz__result-title {
        margin-bottom: 5px;
    }

    .quiz__result--termos .quiz__result-list-title {
        font-size: 14px;
        margin-bottom: 11px;
    }

    .quiz__result--termos .quiz__result-list {
        padding: 0 0 0 22px;
    }

    .quiz__result--termos .quiz__result-present-icon-container {
        top: 21px;
        left: 62px;
    }

    .quiz__result--termos .quiz__result-present-text {
        padding: 65px 0 0 21px;
    }

    .quiz__result--termos .quiz__result-present {
        height: 126px;
    }

    .quiz__result--termos .quiz__result-present::before {
        bottom: -34px;
        -webkit-transform: rotate(-2deg);
            -ms-transform: rotate(-2deg);
                transform: rotate(-2deg);
        right: 78px;
    }

    .quiz__result--bag .quiz__result-title {
        margin-bottom: 5px;
    }

    .quiz__result--bag .quiz__result-list-title {
        font-size: 14px;
        margin-bottom: 11px;
    }

    .quiz__result--bag .quiz__result-list {
        padding: 0 0 0 22px;
    }

    .quiz__result--bag .quiz__result-present {
        height: 125px;
    }

    .quiz__result--bag .quiz__result-present-icon-container {
        top: 8px;
        left: 24px;
    }

    .quiz__result--bag .quiz__result-present-text {
        padding: 14px 0 0 70px;
        width: 195px;
    }

    .quiz__result--bag .quiz__result-present::before {
        bottom: -24px;
        -webkit-transform: rotate(2deg);
            -ms-transform: rotate(2deg);
                transform: rotate(2deg);
        right: 57px;
    }

    .quiz__result--free-day .quiz__result-title {
        margin-bottom: 5px;
    }

    .quiz__result--free-day .quiz__result-list-title {
        font-size: 14px;
        margin-bottom: 11px;
    }

    .quiz__result--free-day .quiz__result-list {
        padding: 0 0 0 22px;
    }

    .quiz__result--free-day .quiz__result-present {
        height: 125px;
    }

    .quiz__result--free-day .quiz__result-present-icon-container {
        top: 8px;
        left: 24px;
    }

    .quiz__result--free-day .quiz__result-present-text {
        font-size: 20px;
        line-height: 20px;
        padding: 1px 0 0 38px;
        width: 177px;
    }

    .quiz__result--free-day .quiz__result-present-text span {
        font-size: 40px;
    }

    .quiz__result--free-day .quiz__result-present::before {
        width: 183px;
        height: 147px;
        background-size: contain;
        right: 7px;
    }

    .quiz__manager::before {
        display: none;
    }

    .reviews {
        padding: 20px 0 39px;
    }

    .reviews__title {
        font-size: 20px;
        line-height: 24px;
        margin-bottom: 23px;
    }

    .reviews-slider {
        max-width: calc(100% - 45px);
        padding-bottom: 26px;
    }

    .review-info {
        min-height: 46px;
    }

    .reviews-slider .swiper-slide {
        gap: 14px;
    }

    .review {
        padding: 15px 5px 15px 15px;
    }

    .review__content {
        font-size: 11px;
        line-height: 17px;
    }

    .reviews-slider__pagination {
        gap: 16px;
    }

    .reviews-slider__arrow {
        width: 22px;
        height: 22px;
        top: 50%;
        left: -30px;
        padding: 5px;
    }

    .reviews-slider__arrow[data-direction="next"] {
        right: -30px;
    }

    .footer__inner {
        padding: 23px 0 29px;
        gap: 5px;
    }

    .footer__company {
        gap: 17px;
        width: 250px;
    }

    .footer__logo img {
        width: 35px;
    }

    .footer__description {
        font-size: 11px;
        line-height: 14px;
    }

    .footer__social {
        width: 18px;
        height: 18px;
    }

    .footer__phone {
        font-size: 14px;
        margin: 0;
        padding: 4px 10px;
    }

    .footer__social-icon {
        height: 8px;
    }

    .footer__socials {
        gap: 7px;
    }

    .footer__callback {
        font-size: 11px;
        padding: 12px 29px;
        border-radius: 7px;
    }

    .footer__contacts {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: start;
        margin-top: 22px;
        line-height: 1;
        gap: 5px;
    }

    .footer__contact-title {
        font-size: 12px;
    }

    .footer__contact-value {
        font-size: 10px;
    }

    .footer__contact {
        gap: 3px;
    }

    .footer__contacts-sub-list {
        gap: 12px;
    }

    .footer__requisites {
        margin-top: 24px;
        font-size: 10px;
        gap: 8px;
    }

    .footer__link {
        font-size: 9px;
    }
}

@media screen and (max-width: 360px) {
    .modal .messenger__custom {
        padding: 11px 8px;
    }
}