body {
    font-family: play, sans-serif;
    padding: 0;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
}

.page {
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
    max-width: 1200px;
}
.page-content {
    padding: 20px;
}

.header {
    display: flex;
    align-items: center;
    justify-content: center;
}

.logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 22px;
}

.logo-image {
    color: #000;
    width: 150px;
}

.logo-underline {
    width: 100%;
    height: 2px;
    background-color: #000;
}

.logo-overline {
    width: 100%;
    height: 2px;
    background-color: #000;
}

.header-info {
    text-align: right;
    min-width: 800px;
}

.header-description-phone-container { /* New container */
    display: flex;
    justify-content: space-between; /* or flex-start depending on design */
    align-items: flex-start;           /* Vertical alignment */
    flex-direction: column;  /* Stack description and phone vertically */
}

.header-description-wrapper {  /* Style the wrapper instead of .header-description */
    padding-left: 130px;  /* Apply padding to the wrapper */
}

.header-description {
    font-size: 14px;
    color: #0B3644;
    line-height: 1.3;
    font-weight: 700;
    padding-top: 20px;
    padding-bottom: 10px;
    max-width: 390px;
    border-bottom: 1px solid #111; /* Add border here */
    padding-right: 20px;

}

.header-phone {
    display: flex;
    justify-content: flex-end;
    font-size: 23px;
    font-weight: 700;
    color: #0B3644;
    text-decoration: none;
    padding-left: 20px;
    white-space: nowrap;
}

.header-navigation {
    display: flex;
    justify-content: flex-end; 
    gap: 25px;
    text-transform: uppercase;
    font-weight: 700;
    padding-right: 290px;
}



.header-navigation a {
    font-size: 16px;
    color: #0B3644;
    text-decoration: none;
}

.header-navigation a:hover {
    text-decoration: underline;
}


/* Main Content Styles */
.main-content {
    margin-bottom: 100px;
    margin-top: 70px;
}

.main-title {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
}

.company-description {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}


.map {
    margin-left: 0;
    margin: 0 auto;
    height: 300px;
    width: 100%;
    max-width: 960px;
    display: block;
}

/* Footer Styles */
.footer {
    background-color: #222;
    color: #fff;
    padding: 20px 16px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: auto;
    text-align: center;
    flex-wrap: wrap;
}
.footer-copyright {
    font-size: 26px;
    color: #fff;
    margin: 0;
}

.footer-button-container {
           display: inline-block; /* Важно: делает контейнер занимающим столько места, сколько нужно */
}

.footer-button {
    color: #fff;
    padding: 8px 15px;
    text-decoration: none;
    border-radius: 3px;
    font-size: 16px;
}

.footer-button-overline {
    width: 100%;
    height: 2px;
    background-color: #fff;
    margin-bottom: 10px;
}

.footer-phone {
    font-size: 23px;
    font-weight: bold;
    color: #21ABD1;;
    margin: 0;
}

/* Utility Classes */
.underline-on-hover {
    position: relative;
    display: inline-block;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
}

.underline-on-hover::before {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 0;
    background: #29ABE2;
    height: 2px;
    transition: right 0.3s ease-out;
    z-index: -1;
}

.underline-on-hover:hover::before,
.active-link::before {
    right: 0;
}

.active-link {
    color: #007bff;
}

.font-size {
    font-size: 21px;
}
h1 {
    color: #fff;
    font-size: 64px;
}

h2 {
    color: #000000;
    font-size: 55px;
}

h3 {
    color: #29abe2;
    font-size: 35px;
}

h4 {
    color: #fff;
    font-size: 35px;
}

h5 {
    color: #fff;
    font-size: 18px ;
}

h6 {
    color: #29abe2;
    font-size: 18px;
}
.info_down2 {
      display: flex;
      padding: 60px 230px;
      flex-direction: column;
      color: white;
      text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); /* Необязательно, для лучшей читаемости текста на фоне */
}

.info_down h2 {
      margin-top: 0;
      font-size: 2em; /* Сделаем заголовок побольше */
      font-weight: bold; /* Выделяем заголовок */
      text-align: center; /* Выравниваем заголовок по центру */
      margin-bottom: 20px;
    }
    .info_down2 ul {
      list-style: none;
      padding: 0;
      margin: 0;
      display: grid;
      flex-wrap: wrap;
      justify-content: space-around; /* Равномерное распределение по ширине */
      grid-template-columns: 1fr 1fr; /* Две колонки одинаковой ширины */
    }

    .info_down2 li {
      width: 45%; /* Немного меньше, чем половина, чтобы был отступ */
      margin-bottom: 15px;
      position: relative;
      padding-left: 30px; /* Для галочки */
      font-size: 24px;
      text-align: left;
    }

    .info_down2 li::before {
      content: '\2713'; /* Юникод галочки */
      color: #29abe2; /* Белый цвет галочки */
      position: absolute;
      left: 0;
      top: 0; /* Выравниваем галочку сверху */
      font-size: 1.5em; /* Немного увеличиваем размер галочки */
    }


/* Переопределяем порядок последних трех элементов списка */
.info_down2 li:nth-child(4) {
    grid-column: 2;       /* Помещаем в правую колонку */
    grid-row: 1;          /* Помещаем в первую строку */
}

.info_down2 li:nth-child(5) {
    grid-column: 2;       /* Помещаем в правую колонку */
    grid-row: 2;          /* Помещаем во вторую строку */
}

.info_down2 li:nth-child(6) {
    grid-column: 2;       /* Помещаем в правую колонку */
    grid-row: 3;          /* Помещаем в третью строку */
}

.hero2 {
    background-image: url('/static/logo/info2.png'); /* Замени на URL своего изображения */
    background-size: cover; /* Растянуть изображение на всю область */
    background-position: center; /* Центрировать изображение */
    background-blend-mode: multiply; /* Смешивание фона */
    color: white; /* Белый текст, чтобы был виден на фоне */
    padding: 20px; /* Отступы вокруг контента */
    background-color: #4f4f4f;
}

.feature2 {
    flex: 1 1 45%;
    display: flex;
    align-items: left;
    gap: 10px;
    margin-bottom: 15px;
    font-size: 25px;
    justify-content: left;
}
.feature2 i {
    color: #29ABE2;
    font-size: 24px;
    width: 30px;
    text-align: left;
}

.button {
	background: #29aae1;
	color: #fff;
	text-align: center;
	border: 3px solid #29aae1;
	padding: 10px;
	margin-top: 10px;
	cursor: pointer;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	font-family: play, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
    position: relative;
    left: 800px;
    bottom: 65px;
	-webkit-transition: background .3s ease-in-out, border-color .3s ease-in-out;
	-o-transition: background .3s ease-in-out, border-color .3s ease-in-out;
	transition: background .3s ease-in-out, border-color .3s ease-in-out'
}

/* Стили для модального окна */
        .modal {
            display: none; /* Скрыто по умолчанию */
            position: fixed; /* Остается на месте даже при прокрутке */
            z-index: 1; /* Сидит поверх остального содержимого */
            left: 0;
            top: 0;
            width: 100%; /* Полная ширина */
            height: 100%; /* Полная высота */
            overflow: auto; /* Включить прокрутку при необходимости */
            background-color: rgba(0,0,0,0.4); /* Черный цвет с прозрачностью */
        }

        /* Содержимое модального окна */
        .modal-content {
            background-color: #fefefe;
            margin: 15% auto; /* 15% сверху и по центру */
            padding: 20px;
            border: 1px solid #888;
            width: 300px; /* Может быть изменено в зависимости от содержимого */
            border-radius: 10px;
            box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);
        }

        /* Кнопка закрытия */
        .close {
            color: #aaa;
            float: right;
            font-size: 28px;
            font-weight: bold;
        }

        .close:hover,
        .close:focus {
            color: black;
            text-decoration: none;
            cursor: pointer;
        }

        /* Дополнительные стили для соответствия изображению */
        .modal-content h2 {
            color: #3498db;
            text-align: center;
            margin-bottom: 15px;
        }

        .modal-content input[type="text"],
        .modal-content input[type="email"],
        .modal-content textarea {
            width: 100%;
            padding: 10px;
            margin-bottom: 10px;
            border: 1px solid #ddd;
            border-radius: 5px;
            box-sizing: border-box;
        }

        .modal-content button {
            background-color: #3498db;
            color: white;
            padding: 12px 20px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            width: 100%;
        }

        .modal-content button:hover {
            background-color: #2980b9;
        }

/* Мобильные устройства */
@media (max-width: 767px) {
    .page {
        padding: 0 12px;
    }

    .header-description {
        font-size: 14px;
    }

    .footer {
        position: static;
        padding: 16px 10px;
        flex-shrink: 0;
    }

    .footer-button-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-phone {
        margin-top: 10px;
    }

    .map {
        height: 250px;
        width: 100%;
    }
}

/* Планшеты */
@media (min-width: 768px) and (max-width: 1199px) {
    .page {
        padding: 0 24px;
    }

    .header-description {
        font-size: 14px;
    }

    .header-phone {
        font-size: 20px;
    }

    .map {
        height: 350px;
    }
}

/* Десктопы */
@media (min-width: 1200px) {
    .page {
        padding: 0;
    }

    .header-description {
        font-size: 16px;
    }

    .header-phone {
        font-size: 24px;
    }
}