/* Анимация для стрелки */
/* Ключевые кадры для анимации */
@keyframes arrowBounce {
    0%, 20%, 40%, 100% {
        transform: translateY(0); /* Исходное положение */
    }
    10% {
        transform: translateY(10px); /* Смещение вниз */
    }
    30% {
        transform: translateY(10px); /* Второй раз вниз */
    }
}

.container {
    width: 100% !important;
}



button {
    outline: none;
    border: none;
}

.button {
    text-align: center;
}

.button.transparent {
    background-color: transparent !important;
    border: 1px solid var(--color-white) !important;
    border-radius: 0;
}

.button.black:hover {
    color: var(--color-white) !important;
    background-color: var(--color-white) !important;
}

.button.black {
    border: 1px solid #000 !important;
    color: #000 !important;
}

.button.black:hover {
    border: 1px solid var(--color-dark-red) !important;
    color: var(--color-dark-red) !important;
    background-color: transparent;
}

.button.white {
    border: 1px solid var(--color-white) !important;
    background-color: var(--color-white) !important;
    color: black !important;
}

.button.white:hover {
    background-color: #8f8f8f !important;
    border: 1px #8f8f8f solid !important;
}

.text-upper {
    text-transform: uppercase;
}

.red {
    color: var(--color-red) !important;
}

.red-bg {
    background-color: var(--color-red);
}

.gray-bg {
    background-color: var(--color-gray);
}

.round-sm {
    border-radius: 11px !important;
}

.heading {
    font-weight: 600;
    font-size: clamp(28px, 3.2vw, 35px);
    color: currentColor;
    margin-bottom: 30px;
    line-height: 1.2;
}

span.heading {
    display: block;
}

.description {
    font-size: clamp(18px, 1.8vw, 20px);
    font-weight: 400;
    line-height: 1.2;
}

.centered {
    text-align: center;
}

.wrapper_inner {
    padding-inline: 0 !important;
    margin-inline: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

.section .wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.button {
    background-color: var(--color-red) !important;
    color: var(--color-white) !important;
    border-radius: var(--border-radius);
    padding: 8px 28px;
    font-size: clamp(15px, 2vw, 20px); !important;
}

.button:hover {
    background-color: var(--color-dark-red) !important;
    transition-duration: var(--transition-duration);
    box-shadow: 1px 5px 10px var(--color-dark);
}

.header{
    height: 84svh;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-block: var(--container-padding-x);
    color: var(--color-white);
    background: url("../images/header-bg.jpg") no-repeat scroll center center;
    background-size: cover;
}

.header__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1; /* Заставляем контент занимать оставшееся пространство */
    text-align: center;
}

.header__text-container {
    padding: 20px;
    border-radius: var(--border-radius);
    backdrop-filter: blur(10px) brightness(50%);
    -webkit-backdrop-filter: blur(10px) brightness(50%); /* Префикс для Safari */
}

.header__arrow {
    margin-bottom: 20px; /* Опционально, для отступа от нижнего края */
}

.nav__list {
    height: 100%;
    display: flex;
    column-gap: 23px;
    align-items: center;
}

.nav__item {
    height: 100%;
    display: flex;
    align-items: center;
}

.nav__link {
    text-decoration: none;
    color: var(--color-white);
    height: 100%;
    display: flex;
    align-items: center;
    transition-duration: var(--transition-duration);
}

.nav__link:hover {
    transform: translateY(-5px);

}

.header__text {
    font-weight: 600;
    font-size: clamp(40px, 5vw, 96px);
    line-height: 1.3;
}

.header__description {
    font-size: clamp(15px, 2.5vw, 36px);
    line-height: 1.3;
}

.overlay {
    position: fixed;
    background: #000;
    opacity: 50%;
    inset: 0;
    z-index: 40;
}

.overlay.hidden {
    visibility: hidden;
}

.header__arrow {
    cursor: pointer;
    animation: arrowBounce 3s infinite ease-in-out;
    animation-timing-function: ease-in-out;
}

.section.about {
    margin-bottom: 90px;
    padding-inline: 25px;
    background-color: var(--color-gray);
}

.about__container {
    text-align: center;
    padding: 50px;
    padding-block: 80px;
    margin-bottom: 90px;

}

.about__description {
    font-size: clamp(18px, 1.8vw, 20px);
}

.section.whom {
    text-align: center;
    margin-bottom: 70px;
}

.whom__description {
    margin-bottom: 60px;
    text-align: center;
}

.whom__container {
    display: flex;
    flex-wrap: wrap; /* Элементы переносятся на следующую строку при переполнении */
    justify-content: center; /* Центрирование элементов в строках */
    gap: 50px; /* Расстояние между элементами */
    padding-inline: 20px; /* Внутренние отступы контейнера */
    margin-bottom: 15px;
}

.whom__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 180px;
    margin-bottom: 30px;
}

.whom__item-description {
    font-size: clamp(14px, 1.8vw, 20px);
}

.whom__item img {
    width: 100%;
    aspect-ratio: 1;
    margin-bottom: 15px;
    border-radius: 50%;
}

.benefits.section {
    background-color: var(--color-red);
    color: var(--color-white);
    padding-block: 88px;
}

.benefits.section.second {
    padding-block: 30px;
}

.benefits__heading {
    text-align: center;
    margin-bottom: 50px;
}

.benefits__sub-heading {
    margin-bottom: 20px;
    line-height: 1.2;
}

.benefits__sub-heading,
.task__item-title {
    font-size: clamp(20px, 2vw, 30px);
}

.task__item-title {
    margin-bottom: 20px;
}

.benefits__description,
.task__item-description {
    font-size: clamp(14px, 1.5vw, 20px);
}

.benefits__list {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.benefits__item {
    max-width: 762px;
    display: flex;
    margin-bottom: 40px;
}

.benefits__item svg {
    margin-right: 30px;
    min-width: 52px;
}

.section.form {
    background-color: var(--color-gray);
    padding-block: 80px;
}

.section.form .wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-inline: var(--container-padding-x);
}

.form__heading {
    line-height: 1.2;
}

.form__description {
    margin-bottom: 30px;
}

.from__body {
    text-align: left;
    max-width: 700px;
    background-color: #fff;
    padding: 30px 40px;
    border-radius: 30px;
}

.placeholder__container {
    width: 100%;
    position: relative;
    margin-bottom: 20px;
    background-color: #F5F5F5;
    border: 1px solid #8C8C8C;
    outline: none;
    height: 40px;
    font-size: 15px;
    border-radius: var(--border-radius);
}

.placeholder__container:nth-child(2) {
    margin-bottom: 10px;
}

.placeholder__container input[type="text"] {
    background-color: transparent !important;
    border: none !important;
    outline: none;
    height: 100% !important;
    width: 100% !important;
    padding: 10px 10px 0 10px !important;
    font-size: 16px !important;
    border-radius: var(--border-radius) !important;
}

.form__button {
    border: none;
    width: 100%;
}

.placeholder__container input:focus + label,
.placeholder__container input:not(:placeholder-shown) + label{
    font-size: 11px;
    padding: 2px 10px;
}

.checkbox__container  {
    margin-bottom: 15px;
}

.form__checkbox {
    vertical-align: bottom;
}

.form__checkbox-label {
    font-size: 12px;
    line-height: 1;
    color: #999;
    vertical-align: bottom;
}

.task.section {
    padding-block: 70px;
}

.task__heading {
    text-align: center;
    margin-bottom: 50px;
}

.task__container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    align-items: center;
}

.task__item {
    display: inline-flex;
    align-items: center;
    gap: 30px;
}

.task__item:nth-child(even) {
    flex-direction: row-reverse;
    text-align: right;
}

.section.price {
    background-color: var(--color-gray);
    padding-block: 60px;
}

.price__heading {
    text-align: center;
}

.price__list {
    display: flex;
    flex-wrap: wrap; /* Позволяем карточкам переноситься на новую строку */
    gap: 15px;
    justify-content: center; /* Центрируем карточки */
}

.price__item {
    display: flex;
    flex-direction: column;
    max-width: 285px;
    width: 100%; /* Карточки занимают 100% ширины в своих колонках */
    border-radius: 11px;
    overflow: hidden;
}

.price__item-image {
    width: 100%;
    height: auto;
}

.price__item-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Растягиваем контент по вертикали */
    flex: 1; /* Контейнер занимает оставшееся место карточки */
    background-color: #fff;
    border-radius: 11px;
}

.price__item-body {
    padding: 20px;
    flex-grow: 1; /* Тело карточки занимает всё оставшееся место */
    justify-content: space-between;
    display: flex;
    flex-direction: column;
}

.price__money {
    font-size: clamp(14px, 1.5vw, 24px);
    margin-bottom: 10px;
    font-weight: 800;
}

.price__title {
    line-height: 1.2;
    margin-bottom: 7px;
}

.price__footer {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    margin-top: auto; /* Прижимаем футер к низу карточки */
}

.price__footer .button {
    padding: 7px 15px;
}

.annotation {
    font-size: 12px;
    color: var(--color-white);
    margin-top: 30px;
    line-height: 1;
}

.statistic {
    padding-block: 50px;
    text-align: center;
}

.statistic__heading {
    margin-bottom: 5px;
}

.statistic__description {
    margin-bottom: 60px;
}

.statistic__list {
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
}

.statistic__item {
    position: relative;
    flex: 1 1 200px; /* Карточки растягиваются равномерно по ширине, минимальная ширина 200px */
    max-width: 250px; /* Ограничиваем максимальную ширину */
}

.statistic__item::after {
    content: "";
    position: absolute;
    left: 0;
    top: 35%;
    width: 100%;
    height: 1px;
    background-color: var(--color-dark);
    border: none;
}

.statistic__item-description {
    margin-top: 15px;
    font-size: clamp(14px, 1.5vw, 20px);
}

.reviews.section {
    padding-block: 40px;
}

.reviews__heading {
    display: block;
    text-align: center;
    color: var(--color-white);
}

.review__body {
    width: 85%;
    margin-inline: auto;
    padding: 20px;
    background-color: var(--color-gray);
    border-radius: 15px;
    height: 100%;
}

.review__header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    margin-bottom: 5px;
}

.review__time {
    font-size: 10px;
    color: #8C8C8C;
    text-transform: uppercase;
}

.review__name {
    font-size: 20px;
    font-weight: 900;
    margin-bottom: 20px;
}

/* Вариант ГПТ */
.reviews__controls {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
}

.reviews__list {
    display: flex;
    transition: transform 0.3s ease-in-out;
    width: 100%;
    transform: translateX(-100%);
    align-items: stretch; /* Растягиваем отзывы по высоте самого большого */
}

.review {
    min-width: 100%;
    box-sizing: border-box;
    padding: 20px;
    text-align: left;
    border-radius: 8px;
    align-items: stretch; /* Растягиваем контейнер до максимальной высоты */
}

.reviews__arrow {
    background-color: transparent;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

.reviews__arrow svg {
    stroke: var(--color-white);
}

.reviews__left-arrow {
    left: 0;
}

.reviews__right-arrow {
    right: 0;
}

.its__heading {
    margin-bottom: 20px;
}

.table.section {
    padding-block: 40px;
}

.table__heading {
    text-align: center;
}

table {
    width: 100%;
    border-collapse: collapse;
    text-align: center;
}

thead th {
    background-color: var(--color-red);
    color: white;
    padding: 10px;
    font-weight: bold;
}

tbody tr {
    border-bottom: 1px solid #ddd;
}

tbody td {
    padding: 10px;
    font-size: 1.2em;
}

tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

tbody td:first-child {
    text-align: left;
}


@media (max-width: 940px) {

    .whom__description {
        margin-bottom: 60px;
    }

    .whom__container {
        gap: 30px;
    }

    .whom__item {
        max-width: 130px;
    }

    .whom__item img {
        width: 130px;
    }

    .task__item {
        flex-direction: column;
    }

    .task__item img {
        width: 100%; /* Изображение будет занимать всю ширину родительского блока */
        max-width: 500px; /* Максимальная ширина изображения (подстроить по необходимости) */
        height: auto; /* Сохраняем пропорции изображения */
    }

    .task__item-text {
        width: 100%; /* Текст повторяет ширину изображения */
        max-width: 500px; /* Ограничиваем ширину текста, чтобы она совпадала с изображением */
        text-align: left; /* Оставляем выравнивание текста слева */
    }

    .task__item:nth-child(even) {
        flex-direction: column;
    }

    .statistic__item::after {
        top: 40%;
    }
}

@media (max-width: 757px) {
    .whom__description {
        margin-bottom: 50px;
    }

    .whom__item {
        max-width: 90px;
    }

    .whom__item img {
        width: 100px;
    }

    .statistic__item::after {
        top: 45%;
    }
}

.b24-form {
    text-align: left;
}


/* Bitrix fix */

@media (min-width:1200px) {
    .container {
        width: 100%;
    }
}

@media (min-width:992px) {
    .container {
        width: 100%;
    }
}

@media (min-width:768px) {
    .container {
        width: 100%;
    }
}

.menu-wrapper {
    list-style-type: none;
}

/*
.region_wrapper .svg-inline-mark {
    display: none;
}
 */