/**
Theme Name: Astra Child 2
Author: Brainstorm Force
Author URI: http://wpastra.com/
Description: Child theme for Astra, A very lightweight and beautiful theme made to work with Page Builders.
Version: 2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/

/* Шапка */
.contact-info {
    display: flex;
    align-items: center; /* Центрирование по вертикали */
    gap: 45px; /* Расстояние между элементами контактной информации */
}

/* Адрес и почта */
.contact-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Выравнивание по левому краю */
    gap: 5px; /* Расстояние между элементами адреса и почты */
}

.address,
.email {
    display: flex;
    align-items: center; /* Центрирование по вертикали */
    gap: 5px; /* Расстояние между иконкой и текстом */
}

.address svg,
.email svg {
    width: 16px;
    height: 16px;
    fill: #0055BB;
}

.address p,
.email span {
    font-family: Inter;
    font-weight: 500;
    font-size: 14px;
    line-height: 16px;
    margin: 0;
    color: #FAFAFA;
}

/* Телефоны */
.phone-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Выравнивание по левому краю */
    gap: 20px; /* Расстояние между телефонными номерами */
}

.phone-container a {
    font-family: Inter;
    font-weight: 700;
    font-size: 16px;
    line-height: 19px;
    color: #FAFAFA;
    text-decoration: none;
}

.site-header-section-left {
    max-width: 60%; /* Установите процент или фиксированное значение */
    margin: 0 auto; /* Центрирует контейнер */
	margin-left: 0;
}

.site-title {
    line-height: 1em !important;
}

.ast-builder-menu-1 {
    margin-left: -170px;
}

.ast-site-identity .site-title a {
    font-size: 20px;
}

@media (max-width: 1024px) {
    
    .ast-site-identity .site-title a {
        font-size: 16px;
    }
    
    .contact-block {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0px;
    }
    
    .address p, .email a {
        font-weight: 400;
        font-size: 12px;
        line-height: 14px;
        margin: 5px;
        }
    
    .phone-container a {
        font-weight: 400;
        font-size: 12px;
        line-height: 22px;
    }
    
    .contact-info {
        gap: 10px;
    }
}

@media (max-width: 768px) and (min-width: 786px) {
    .site-header-section-left {
        max-width: 40% !important;
        margin: 0 auto;
        margin-left: 0;
    }
}

@media (max-width: 425px) and (min-width: 425px) {
    .site-header-section-left {
        max-width: 55%;
    }
}

@media (max-width: 375px) and (min-width: 375px) {
    .site-header-section-left {
        max-width: 60%;
    }
}

@media (max-width: 320px) {
    .site-header-section-left {
        max-width: 80%;
    }
}

/* Копиригшт */
.bottom-container {
    width: 85%;
    height: 28px;
    display: flex;
    margin: 0px auto;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: space-around;
    margin-left: 150px;
}

.bottom-container p {
    margin: 10px 0;
    font-size: 14px;
    line-height: 1.4;
}

.bottom-container a {
    color: inherit;
    text-decoration: none;
}

.bottom-container a:hover {
    text-decoration: underline;
}

/* инфо на картинке */
.custom-info {
    max-width: 900px; /* Максимальная ширина */
    max-height: 350px; /* Максимальная высота */
   /* overflow: hidden; /* Скрывает всё, что выходит за пределы блока */
   /* top: 70px;
}

.custom-button {
	transform: translateY(90px);
}

@media (max-width: 768px) and (min-width: 786px) {
    .custom-info {
    top: 70px;
    }*/
}

/* форма на сайте */
/* Основной контейнер формы */
.contact-form-container {
    position: relative;
    width: 100%;
    max-width: 1200px;
    height: 329px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: url('/wp-content/uploads/2025/02/page-61494919-bd362ed69e7924545e35b216d3d15356aee8747c.png') no-repeat center center;
    background-size: cover;
    padding: 0 0;
    margin-bottom: 50px;
}

/* Наложение затемнения на фон */
.form-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(10, 18, 57, 0.8);
}

/* Форма контактов */
.contact-form {
    position: relative;
    z-index: 1;
    width: 95%;
    color: #FAFAFA;
    font-family: Inter;
    padding: 0;
    /*background-color: rgba(0, 0, 0, 0.3);
    border-radius: 8px;*/
}

/* Контактная информация */
.contact-info-form {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
    justify-content: space-between;
}

/* Заголовок "Звоните или оставьте заявку" */
.contact-info-form h3 {
    font-weight: 800;
    font-size: 36px;
    line-height: 46.8px;
    letter-spacing: 0%;
    margin-bottom: 0;
	  color: #FAFAFA;
}

/* Раздел телефонов */
.phone-numbers {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Каждый номер телефона */
.phone-number-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

/* Иконка телефона */
.phone-number-item img {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

/* Текст номера телефона */
.phone-number-item p {
    font-weight: 700;
    font-size: 24px;
    line-height: 29.05px;
    letter-spacing: 0%;
    margin: 0;
}

/* Раздел времени работы */
.working-hours {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Текст времени работы */
.working-hours p {
    font-weight: 400;
    font-size: 18px;
    line-height: 23.4px;
    letter-spacing: 0%;
    margin: 0;
}

/* Поля ввода */
.input-fields {
    display: flex;
    justify-content: space-between; /* Располагаем элементы по краям */
    align-items: center;
    margin-top: 20px;
    gap: 10px; /* Отступ между полями */
}

.contact-form input {
    width: 400px;
    height: 50px;
    padding: 0;
    /*border: 1px solid #ccc;*/
    border-radius: 6px;
    /*background-color: transparent;*/
    /*color: #FAFAFA;*/
    font-size: 1em;
}

.contact-form button {
    width: 267px;
    height: 50px;
    padding: 10px;
    background-color: #0055BB;
    color: #FAFAFA;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 1em;
    font-family: Inter;
    transition: background-color 0.3s ease;
}

.contact-form button:hover {
    background-color: #1773E1;
}

/* Согласие с политикой */
.agreement {
    text-align: left; /* Выравнивание по левому краю */
    margin-top: 30px;
    font-size: 1em;
    color: #FAFAFA;
}

label, legend {
     color: #FAFAFA;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 20px;
}

.agreement input[type="checkbox"] {
    margin-right: 5px;
    width: 20px;
    height: 20px;
}

/* Для больших экранов */
@media (max-width: 1440px) {
    .contact-form-container {
        max-width: 1200px;
    }
        
    .contact-form {
        width: 95%;
        max-width: 1200px;
        padding: 10px;
    }
        
    .contact-info-form {
        display: flex;
        align-items: center;
        gap: 20px;
        margin-bottom: 30px;
        justify-content: space-between;
    }
        
    .contact-info-form h3 {
        font-size: 30px;
    }
}

@media (max-width: 1280px) {
    .contact-form {
        width: 95%;
    }
    
    .contact-info-form h3 {
        font-size: 30px;
    }
    
    .phone-number-item p {
        font-size: 17px;
        line-height: 25.05px;
    }
    
    .working-hours p {
        font-size: 13px;
        line-height: 20.4px;
    }
    
    .contact-form input {
        width: 290px;
    }
    
    .contact-form button {
        width: 222px;
    }
}

@media (max-width: 1024px) {
    .contact-form-container {
        max-width: 1024px;
        height: 250px;
    }
    
    .contact-form {
        width: 95%;
    }
    
    .contact-info-form {
        gap: 10px;
        margin-bottom: 20px;
    }
    
    .contact-info-form {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 20px;
        justify-content: space-between;
    }
    
    .contact-info-form h3 {
        font-size: 22px;
        line-height: 30.8px;
    }
    
    .phone-number-item img {
        width: 15px;
        height: 15px;
     }
     
     .phone-number-item p {
        font-size: 13px;
        line-height: 16.05px;
    }
    
    .working-hours p {
        font-size: 13px;
        line-height: 20.4px;
    }
    
    .agreement input[type="checkbox"] {
        width: 15px;
        height: 15px;
    }
}

@media (max-width: 768px) {
    /* Основной контейнер формы */
    .contact-form-container {
        height: 635px;
        width: 100%; /* Уменьшаем ширину для лучшей адаптации */
        padding: 0 5px; /* Уменьшаем отступы */
        margin-top: 50px; /* Сдвигаем контейнер на 50px вниз */
    }

    /* Форма контактов */
    .contact-form {
        padding: 5px; /* Уменьшаем внутренние отступы */
    }

    /* Контактная информация */
    .contact-info-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    text-align: left;
    }

    /* Заголовок "Звоните или оставьте заявку" */
    .contact-info-form h3 {
    font-family: Inter;
    font-weight: 800;
    font-size: 30px;
    line-height: 39px;
    }

    /* Раздел телефонов */
    .phone-numbers {
        flex-direction: column; /* Делаем номера в столбец */
        align-items: center;
    }

    /* Каждый номер телефона */
    .phone-number-item {
        margin-bottom: 5px; /* Уменьшаем отступы */
    }

    /* Иконка телефона */
    .phone-number-item img {
        width: 20px; /* Уменьшаем размер иконки */
        height: 20px;
        margin-right: 5px; /* Уменьшаем отступ */
    }

    /* Текст номера телефона */
    .phone-number-item p {
        font-size: 24px; /* Уменьшаем размер шрифта */
        line-height: 30px; /* Корректируем высоту строки */
    }

    /* Раздел времени работы */
    .working-hours {
        flex-direction: column; /* Делаем время работы в столбец */
        align-items: center;
    }

    /* Текст времени работы */
    .working-hours p {
        font-size: 18px; /* Уменьшаем размер шрифта */
        line-height: 23px; /* Корректируем высоту строки */
    }

    /* Поля ввода */
    .input-fields {
        flex-direction: column; /* Располагаем поля друг под другом */
        align-items: center;
        gap: 10px; /* Уменьшаем отступы */
    }

    /* Поля ввода текста */
    .contact-form input {
        padding: 8px; /* Уменьшаем отступы */
        font-size: 0.9em; /* Уменьшаем размер шрифта */
    }

    /* Кнопка отправки */
    .contact-form input {
        width: 100%;
        height: 50px;
        border-radius: 6px;
        padding: 8px;
        font-size: 0.9em;
    }
    
    .contact-form button {
        padding: 10px;
        background-color: #0055BB;
        color: #FAFAFA;
        border: none;
        border-radius: 6px;
        font-size: 1.5em;
        font-family: Inter, sans-serif;
        transition: background-color 0.3s ease;
        margin-right: auto;
        /*margin-left: 10px;*/
    }

    /* Согласие с политикой */
    .agreement {
        font-size: 0.7em; /* Размер шрифта */
        display: flex; /* Используем Flexbox для выравнивания */
        align-items: center; /* Выравнивание элементов по центру вертикали */
    }
    
    /* Уменьшение размера чекбокса */
    .agreement input[type="checkbox"] {
        width: 20px; /* Ширина чекбокса */
        height: 20px; /* Высота чекбокса */
        margin-right: 10px; /* Отступ между чекбоксом и текстом */
        appearance: none; /* Убираем стандартный стиль чекбокса */
        border: 1px solid #ccc; /* Добавляем собственную границу */
        background-color: #fff; /* Фон чекбокса */
        cursor: pointer; /* Курсор указателя */
        display: inline-block; /* Для корректного отображения */
        position: relative; /* Для позиционирования галочки */
    }
    
    /* Стиль для галочки при нажатии */
    .agreement input[type="checkbox"]:checked::after {
        content: ""; /* Создаем псевдоэлемент для галочки */
        position: absolute;
        top: 2px; /* Позиционирование галочки */
        left: 5px; /* Позиционирование галочки */
        width: 6px; /* Размер галочки */
        height: 12px; /* Размер галочки */
        border: solid #007bff; /* Цвет галочки */
        border-width: 0 2px 2px 0; /* Толщина линий галочки */
        transform: rotate(45deg); /* Наклон галочки */
    }
    
    .agreement label {
        display: inline; /* Текст размещается в одну строку */
        font-family: Inter;
        font-weight: 400;
        font-size: 16px;
        line-height: 20.8px;
    }
    
    .agreement a {
        color: #007bff; /* Цвет ссылки */
        text-decoration: underline; /* Подчеркивание ссылки */
    }
}

/* Стили для экранов до 375px */
@media (max-width: 375px) {
    .contact-form-container {
        height: 635px;
        width: 100%;
        max-width: 720px;
        padding: 0 5px;
        margin-top: 50px;
    }
    
}

/* Стили для экранов до 320px */
@media (max-width: 320px) {
    /* Кнопка отправки */
    .contact-form button {
        padding: 4px; /* Минимальные отступы */
    }
}

/*FOOTER*/
/* Обертка для левого и правого контейнеров */
.footer-content-wrapper {
    width: 80%; /* Занимает 80% ширины родителя */
    max-width: 1920px; /* Ограничение максимальной ширины */
    display: flex;
    justify-content: space-between; /* Располагаем контейнеры с двух сторон */
    margin: 0 auto; /* Выравнивание по центру */
    position: relative; /* Для позиционирования дочерних элементов */
    margin-top: 0px; /* Отступ сверху */
}

/* Левый контейнер с контактами */
.container-left {
    flex: 1;
    max-width: 420px;
    height: 430px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: var(--White, #FAFAFA);
    position: static;
}

.contact-infos {
    display: flex;
    gap: 6px;
    flex-direction: column;
    align-items: flex-start;
}

.contact-infos h2 {
    font-family: Inter;
    font-weight: 800;
    font-size: 36px;
    line-height: 46.8px;
    letter-spacing: 0%;
    margin-bottom: 24px;
	  color: aliceblue;
}

.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.contact-item img.icon {
    width: 24px; /* Размер иконки */
    height: 24px;
    margin-right: 10px; /* Отступ между иконкой и текстом */
    vertical-align: middle; /* Выравнивание по центру относительно текста */
}

.contact-item p {
    margin: 0;
    font-family: Inter;
    font-weight: 400;
    font-size: 20px;
    line-height: 24.2px;
    letter-spacing: 0%;
    color: var(--White, #FAFAFA);
}

.contact-item p1, p2 {
    margin: 0;
    font-family: Inter;
    font-weight: 700;
    font-size: 24px;
    line-height: 29.05px;
}

/* Правый контейнер с фото */
.container-right {
    flex: 1;
    max-width: 630px;
    height: 445px;
    position: static;
}

.container-right img.photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Базовые стили */
.map-container {
    position: relative;
    overflow: hidden;
}

.map-container iframe {
    width: 100%;
    height: 410px;
    border: none;
}

/* Горизонтальная линия */
.line {
    width: 70%;
    position: absolute;
    top: calc(100% - 65px);
    border: 1px solid var(--Gray-line, #494949);
    /*left: 10%;*/
}

/* Нижний контейнер с текстом */
.bottom-container {
    width: 70%;
    height: 17px;
    position: absolute;
    bottom: 20px;
    /*left: 10%;*/
    display: flex;
    align-items: center;
    color: var(--White, #FAFAFA);
    justify-content: space-between;
}

.bottom-container p {
    font-family: Inter;
    font-weight: 400;
    font-size: 14px;
    line-height: 16.94px;
    letter-spacing: 0%;
}

.bottom-container a {
    color: var(--White, #FAFAFA);
    text-decoration: none;
}

.bottom-container a:hover {
    text-decoration: underline;
}

@media (max-width: 1440px) {
    .container-1 {
        height: 560px;
    }
    
    .bottom-container p {
        font-size: 12px;
    }
    
    .container-right {
        max-width: 580px;
    }
}

@media (max-width: 1440px) {
    .container-right {
        max-width: 465px;
    }
}

@media (max-width: 1024px) {
    .footer {
        width: 100%;
        height: 480px;
    }
    
    .contact-infos h2 {
        font-weight: 800;
        font-size: 32px;
        line-height: 40.8px;
        letter-spacing: 0;
    }
    
    .contact-item p1, p2 {
        font-weight: 700;
        font-size: 20px;
        line-height: 29.05px;
    }
    
    .contact-item p {
        font-weight: 400;
        font-size: 14px;
        line-height: 20.2px;
    }
    
    .bottom-container p {
        font-size: 9px;
        line-height: 16.94px;
    }
    
    .container-left {
        max-width: 310px;
        height: 315px;
        display: flex;
        flex-direction: row;
        align-items: flex-end;
    }
    
    .container-right {
        max-width: 410px;
        height: 315px;
    }
    
    .map-container iframe {
        width: 100%;
        height: 315px;
    }
    
    .line {
        width: 90%;
        top: calc(100% - 60px);
        border: 1px solid var(--Gray-line, #494949);
        left: 8%;
    }
}

@media (max-width: 768px) {
    /* Общий стиль футера */
    .footer {
        height: auto !important;
        padding: 15px; /* Уменьшаем отступы */
        flex-direction: column;
        width: 100%; /* Занимает всю доступную ширину */
        max-width: 100%; /* Исключаем выход за пределы viewport */
        box-sizing: border-box; /* Учитываем padding в ширине */
    }

    .footer-content-wrapper {
        width: 100%;
        max-width: 1920px;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        margin: 0 auto;
        position: relative;
        margin-top: 40px;
    }

    /* Левый контейнер с контактами */
    .container-left {
        width: 100%; /* Занимает всю доступную ширину */
        height: auto;
        margin-top: 0;
        position: static;
        left: auto;
        order: 1; /* Контакты идут первыми */
    }

    .contact-infos h2 {
        font-size: 20px; /* Уменьшаем размер шрифта для лучшей адаптации */
        line-height: 26px;
        margin-bottom: 12px;
    }

    .contact-item p {
        font-size: 14px; /* Уменьшаем размер шрифта */
        line-height: 18px;
        margin: 0; /* Убираем лишние отступы */
    }

    /* Правый контейнер с фото */
    .container-right {
        width: 100%; /* Занимает всю доступную ширину */
        height: auto;
        margin-top: 15px;
        position: static;
        left: auto;
        order: 2; /* Карта идет после контактов */
    }

    .container-right img.photo {
        width: 100%; /* Изображение занимает всю доступную ширину */
        height: auto; /* Сохраняем пропорции */
        display: block; /* Убираем пробелы под изображением */
    }

    /* Горизонтальная линия */
    .line {
        width: 100%; /* Линия занимает всю доступную ширину */
        position: static;
        top: auto;
        margin-top: 15px;
        order: 3; /* Линия идет после карты */
    }

    /* Нижний контейнер с текстом */
    .bottom-container {
        width: 100%; /* Занимает всю доступную ширину */
        height: auto;
        position: static;
        bottom: auto;
        left: auto;
        flex-direction: column;
        margin-top: 15px;
        text-align: center;
        order: 4; /* Нижний контейнер идет последним */
    }

    .bottom-container p {
        font-size: 14px; /* Уменьшаем размер шрифта */
        line-height: 15px;
        margin: 0; /* Убираем лишние отступы */
        margin-bottom: 20px;
    }

    .bottom-container a {
        font-size: 14px; /* Уменьшаем размер шрифта */
        line-height: 15px;
        margin-top: 6px;
    }
}

/* Стили для экранов до 425px */
@media (max-width: 425px) {
    .footer {
        padding: 12px; /* Дополнительно уменьшаем отступы */
    }
    
    .footer-content-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .contact-infos h2 {
        font-size: 18px; /* Дополнительно уменьшаем размер шрифта */
        line-height: 22px;
    }

    .contact-item p {
        font-size: 12px; /* Дополнительно уменьшаем размер шрифта */
        line-height: 15px;
    }

    .bottom-container p, .bottom-container a {
        font-size: 14px; /* Дополнительно уменьшаем размер шрифта */
        line-height: 16px;
    }
}

/* Стили для экранов до 375px */
@media (max-width: 375px) {
    .footer {
        padding: 10px; /* Максимально уменьшаем отступы */
    }
    
    .footer-content-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .contact-infos h2 {
        font-size: 16px; /* Максимально уменьшаем размер шрифта */
        line-height: 20px;
    }

    .contact-item p {
        font-size: 10px; /* Максимально уменьшаем размер шрифта */
        line-height: 12px;
    }

    .bottom-container p, .bottom-container a {
        font-size: 14px; /* Минимальный размер шрифта */
        line-height: 16px;
    }
}

/* Стили для экранов до 320px */
@media (max-width: 320px) {
    .footer {
        padding: 8px; /* Минимальные отступы */
    }
    
    .footer-content-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .contact-infos h2 {
        font-size: 14px; /* Минимальный размер шрифта */
        line-height: 16px;
    }

    .contact-item p {
        font-size: 8px; /* Минимальный размер шрифта */
        line-height: 10px;
    }

    .bottom-container p, .bottom-container a {
        font-size: 10px; /* Минимальный размер шрифта */
        line-height: 12px;
    }
}
.body{
    opacity: 1;
}