.request-modal {
    display: none;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #1E266CB2;
    color: #1E266C;
}

.request-modal .wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 100%;
    min-height: 500px;
    max-width: 590px;
    background: #FBFBFC;
    padding: 20px 0 22px;
}

.request-modal-wrapper {
    gap: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 28px;
}

.request-modal-wrapper--submit {
    font-size: 14px;
    font-weight: 400;
    line-height: 16.24px;
    display: none;
    margin: 218px 0 177px;
    text-align: center;
}

.request-modal-wrapper--submit span {
    font-weight: 900;
    line-height: 17.47px;
}

.request-modal__title,
.request-modal input,
.request-modal label,
.request-modal button {
    width: 100%;
    max-width: 284px;
}

.request-modal__title {
    font-size: 24px;
    font-weight: 500;
    line-height: 26.4px;
    text-align: center;
    text-transform: uppercase;
}

.request-modal .input-wrapper {
    max-width: 284px;
}

.request-modal .input--checkbox + label {
    font-size: 14px;
    font-weight: 500;
    line-height: 16.48px;
}

.request-modal__close {
    display: flex;
    gap: 16px;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 16.48px;
    color: #FF7A00;
}

.promo {
    background-color: #1E266C;
    background-image: url('../themes/vahta/assets/img/promo.jpg');
    background-size: 50% auto;
    background-repeat: repeat-y;
    background-position: right top;
}

.promo__content {
    padding-top: 246px;
    padding-bottom: 44px;
    max-width: 580px;
    color: #ffffff;
}

.promo__content-description {
    margin-top: 44px;
}

.promo__content-description p {
    font-weight: bold;
    font-size: 20px;
}

.promo__content-description ul {
    margin-left: 18px;
}

.promo__header {
    font-size: 60px;
    font-weight: 400;
    line-height: 66px;
    text-align: left;
    text-transform: uppercase;
    margin-bottom: 44px;
}

.promo__header span {
    color: #FF7A00;
}

.promo__contacts {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-top: 247px;
}

.promo__contact-link {
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    line-height: 22px;
}

.promo__contact-link img {
    width: 50px;
    height: 50px;
}

.vacancies,
.reviews,
.about,
.questions {
    margin: 128px 0;
}

.vacancies .wrapper,
.reviews .wrapper {
    display: flex;
    flex-direction: column;
    gap: 44px;
    align-items: center;
}

.vacancies,
.about,
.questions {
    scroll-margin-top: 110px;
}

.vacancies__range-title {
    color: #1E266C;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    line-height: 26.4px;
    margin-bottom: 39px;
}

.vacancies__range-slider,
.vacancies__range-scale {
    max-width: 600px;
    width: 100%;
}

.vacancies__range-scale {
    margin-left: 3px;
    margin-top: 5px;
}

.vacancies__range-numbers {
    margin-left: -15px;
    margin-top: 5px;
    width: calc(100% + 50px);
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    font-weight: 500;
    line-height: 13.2px;
    color: #1E266C;
}

.vacancies__not-found {
    text-align: center;
    display: none;
    font-size: 24px;
    font-weight: 500;
    line-height: 32.4px;
    color: #1E266C;
}

.vacancies__salary--mobile {
    display: none;
    flex-direction: column;
}

.vacancies__salary--mobile > p {
    width: 100%;
    font-size: 24px;
    font-weight: 500;
    line-height: 26.4px;
    color: #1E266C;
    text-align: center;
    margin-bottom: 10px;
}

.vacancies__salary--mobile > img {
    margin-left: -15px;
    min-width: calc(100% + 20px);
}

.vacancies__slider-wrapper,
.reviews__slider-wrapper {
    width: 100%;
    position: relative;
}

.vacancies__slider {
    max-width: 895px;
}

.vacancies__slider .swiper-wrapper,
.reviews__slider .swiper-wrapper {
    width: 100%;
}

.vacancies__slider-vacancy {
    display: flex;
    flex-direction: column;
    width: 285px;
    background-color: #FBFBFC;
    padding: 20px;
    color: #1E266C;
    font-size: 14px;
    font-weight: 400;
    line-height: 18.9px;
    height: auto;
}

.slider-vacancy__title {
    font-size: 24px;
    font-weight: 900;
    line-height: 29.95px;
    padding-bottom: 10px;
}

.slider-vacancy__tags {
    line-height: 16.48px;
    font-weight: 500;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.slider-vacancy__tags p {
    display: inline-block;
    background: #1E266C12;
    padding: 5px;
}

.slider-vacancy__description {
    margin-left: 20px;
    margin-bottom: 27px;
}

.vacancies__slider-pagination,
.reviews__slider-pagination {
    display: flex;
    justify-content: center;
    margin-top: 44px;
}

.slider-vacancy__buttons {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.slider-vacancy__buttons .button:nth-child(2) svg {
    width: 20px;
    height: 20px;
}

.swiper-pagination-bullet {
    width: 20px;
    height: 20px;
    background-image: url('../themes/vahta/assets/img/icons/bullet.svg');
    background-color: transparent;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background-image: url('../themes/vahta/assets/img/icons/bullet--filled.svg');
}

.vacancies__slider-next,
.vacancies__slider-prev,
.reviews__slider-next,
.reviews__slider-prev {
    position: absolute;
    top: 38%;
    cursor: pointer;
}

.vacancies__slider-prev,
.reviews__slider-prev {
    left: 0;
}

.vacancies__slider-next,
.reviews__slider-next {
    right: 0;
    transform: scaleX(-1);
}

.reviews__slider {
    width: 100%;
    max-width: 589px;
    overflow: hidden;
    margin: 0 auto;
}

.reviews__slider-review {
    width: 100%;
    max-width: 590px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.reviews__slider-review-image {
    width: 100%;
    filter: grayscale(50%);
}

.reviews__slider-review-tone {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: rgb(30 38 108 / 50%);
}

.reviews__slider-review-button {
    position: absolute;
    z-index: 3;
    cursor: pointer;
}

.about {
    background: linear-gradient(90deg, rgba(255,122,0,1) 50%, rgba(30,38,108,1) 50%);
}

.about__content {
    display: flex;
    gap: 102px;
    padding: 68px 0;
    color: #FFFFFF;
}

.about__content-left {
    max-width: 549px;
    display: flex;
    flex-direction: column;
    gap: 44px;
}

.about__content-right {
    display: flex;
    flex-direction: column;
}

.about__title {
    font-size: 36px;
    font-weight: 900;
    line-height: 39.6px;
    text-transform: uppercase;
}

.about__description {
    font-size: 18px;
    font-weight: 400;
    line-height: 24.3px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.about__description ul {
    list-style-position: inside;
}

.about__advantages {
    width: 100%;
    max-width: 500px;
    display: flex;
    flex-wrap: wrap;
    gap: 44px 100px;
    margin-top: 82px;
}

.about__advantage {
    width: 100%;
    max-width: 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 24.3px;
    text-align: center;
    text-transform: uppercase;

}

.about__advantage img {
    width: 50px;
    height: 50px;
}

.questions__content {
    margin-top: 44px;
    color: #1E266C;
    font-size: 18px;
    font-weight: 400;
    line-height: 24.3px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.questions__question {
    padding: 20px 44px;
    background: #FBFBFC;
    transition: all 0.3s;
}

.questions__question[open] {
    background: #FF7A001A;
}

.questions__question summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 24px;
    font-weight: 500;
    line-height: 33.6px;
}

.questions__question summary::-webkit-details-marker,
.questions__question summary::marker {
    display: none;
    content: "";
}

.questions__question summary:after {
    content: url("../themes/vahta/assets/img/icons/details.svg");
    width: 9px;
    height: 18px;
    display: inline-block;
    margin-right: 9px;
    transition: all 0.3s;
}

.questions__question[open] summary:after {
    transform: rotate(180deg);
    margin-right: 0;
}

.questions__question p {
    margin-top: 8px;
}

.ask {
    background: #FBFBFC url("../themes/vahta/assets/img/ask.jpg") no-repeat;
}

.ask > img {
    display: none;
}

.ask .wrapper {
    display: flex;
    justify-content: flex-end;
}

.ask__content {
    padding: 41px 0 55px;
    max-width: 592px;
    color: #1E266C;
}

.ask__title {
    text-align: initial;
    margin-bottom: 10px;
}

.ask__description {
    font-size: 24px;
    font-weight: 500;
    line-height: 32.4px;
    max-width: 585px;
    margin-bottom: 20px;
}

.ask__description a {
    color: #1E266C;
    font-weight: 700;
}

.ask__form {
    display: flex;
    gap: 20px;
}

.ask__form-left,
.ask__form-right {
    width: 100%;
    max-width: 286px;
}

.ask__form-left .input-wrapper:first-child input {
    margin-bottom: 20px;
}

.ask__form .input--checkbox + label {
    font-size: 14px;
    font-weight: 500;
    line-height: 16.48px;
    color: #1E266C;
    margin-top: 9px;
    margin-bottom: 29px;
}

.ask__form-right .button {
    max-width: initial;
    width: 100%;
}

@media (max-width: 1440px) {
    .promo__contacts {
        margin-top: 200px;
    }
}

@media (max-width: 1370px) {
    .promo__content {
        padding-top: 200px;
    }
}

@media (max-width: 1295px) {
    .promo__contacts {
        margin-top: 150px;
    }
}

@media (max-width: 1210px) {
    .promo__content {
        padding-top: 150px;
    }
}

@media (max-width: 1170px) {
    .vacancies,
    .reviews,
    .about,
    .questions {
        margin: 64px 0;
    }

    .about {
        background: transparent;
    }

    .about .wrapper {
        margin: 0;
    }

    .about__content {
        flex-direction: column;
        gap: 0;
        padding: 0;
    }

    .about__title {
        font-size: 32px;
        font-weight: 900;
        line-height: 35.2px;
    }

    .about__description {
        font-size: 18px;
        font-weight: 400;
        line-height: 24.3px;
    }

    .about__content-left,
    .about__content-right {
        padding: 64px 10px;
        display: flex;
        align-items: center;
    }

    .about__content-left {
        background: #FF7A00;
        max-width: 100%;
        gap: 22px;
    }

    .about__content-right {
        background: #1E266C;
        margin-bottom: 0;
    }

    .about__content-right .about__title {
        margin-bottom: 22px;
    }

    .about__advantages {
        justify-content: center;
        gap: 44px 10px;
        margin-top: 0;
    }

    .about__advantage {
        font-size: 14px;
        font-weight: 700;
        line-height: 18.9px;
    }
}

@media (max-width: 1160px) {
    .promo {
        background: url("../themes/vahta/assets/img/promo--mobile.jpg");
        background-size: cover;
    }
}

@media (max-width: 1140px) {
    .vacancies__slider-next,
    .vacancies__slider-prev,
    .reviews__slider-next,
    .reviews__slider-prev {
        display: none;
    }
}

@media (max-width: 1120px) {
    .ask > img:first-child {
        display: block;
        max-width: 100%;
    }

    .ask {
        background: #FBFBFC;
    }

    .ask .wrapper {
        flex-direction: column;
        justify-content: initial;
        align-items: center;
    }
}

@media (max-width: 970px) {
    .vacancies__slider {
        max-width: 600px;
    }
}

@media (max-width: 940px) {
    .promo__content {
        padding: 170px 0 20px;
    }

    .vacancies,
    .about,
    .questions {
        scroll-margin-top: 68px;
    }

    .ask {
        scroll-margin-top: -68px;
    }
}

@media (max-width: 790px) {
    .promo {
        background-size: 100%;
        background-repeat: no-repeat;
        background-color: #1E266C;
    }

    .promo__header {
        font-size: 36px;
        font-weight: 400;
        line-height: 39.6px;
    }

    .promo__content .button {
        max-width: initial;
        width: 100%;
        height: 60px;
    }

    .promo__contacts {
        margin-top: 40px;
        gap: 28px;
    }

    .vacancies .wrapper {
        gap: 22px;
    }

    .vacancies__slider-pagination,
    .reviews__slider-pagination {
        margin-top: 22px;
    }

    .questions__content {
        margin-top: 36px;
    }

    .questions__question {
        padding: 20px 10px;
    }

    .ask > img:first-child {
        display: none;
    }

    .ask > img:nth-child(2) {
        display: block;
        width: 100%;
    }

    .ask__content {
        padding: 22px 0 64px;
        text-align: center;
    }

    .ask__title {
        text-align: center;
    }

    .ask__description {
        font-size: 18px;
        font-weight: 500;
        line-height: 24.3px;
    }

    .ask__form {
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .ask__form-left,
    .ask__form-right {
        max-width: 300px;
    }

    .ask__form .input--text {
        max-width: 300px;
    }
}

@media (max-width: 710px) {
    .vacancies__range-numbers {
        display: none;
    }

    .vacancies__range-slider,
    .vacancies__range-scale {
        max-width: 300px;
    }
}

@media (max-width: 660px) {
    .request-modal {
        align-items: flex-start;
        top: 68px;
        background: #FBFBFC;
    }

    .request-modal .wrapper {
        margin: 0;
        justify-content: space-between;
    }

    .request-modal__close {
        margin-top: auto;
    }
}

@media (max-width: 640px) {
    .vacancies__slider {
        max-width: 285px;
    }
}

@media (max-width: 450px) {
    .vacancies .wrapper > img {
        display: none;
    }

    .vacancies__salary--mobile {
        display: block;
    }
}

@media (max-width: 430px) {
    .about__advantage {
        max-width: 145px;
    }
}

@media (max-width: 370px) {
    .vacancies__range-slider,
    .vacancies__range-scale {
        max-width: 260px;
    }
}

@media (max-width: 340px) {
    .vacancies__salary--mobile > img {
        min-width: initial;
        margin-left: -5px;
        width: calc(100% + 10px);
    }
}
