@charset "UTF-8";

/* Контейнер внешней таблицы */
.news_properties {
  width: 100%;
  margin: 20px 0;
  border-collapse: collapse;
}

/* Обнуляем отступы внешних ячеек, чтобы они не мешали */
.news_properties > tbody > tr > td {
  padding: 0;
}

.news_properties tbody tr:nth-child(2n) {
    background: #F5F5F5 !important;
}

/* Стилизация внутренней (основной) таблицы с ценами */
.news_properties table {
  width: 100% !important; /* Перебиваем инлайн-стиль HTML */
  height: auto !important; /* Сбрасываем фиксированную высоту 54px */
  border-collapse: collapse;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  background: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04); /* Мягкая современная тень */
  border: 1px solid #eef2f5 !important; /* Заменяем старый border="1" */
}

/* Очистка и настройка строк */
.news_properties table tr {
  height: auto !important; /* Убираем жесткую высоту строк 18px */
  transition: background-color 0.2s ease;
}

/* Эффект подсветки строки при наведении */
.news_properties table tr:hover {
  background-color: #f8fafc;
}

/* Стилизация ячеек с текстом и ценами */
.news_properties table td {
  height: auto !important;
  padding: 14px 20px !important; /* Просторные modern-отступы */
  border-bottom: 1px solid #eef2f5;
  color: #334155;
  vertical-align: middle;
}

/* Убираем нижнюю линию у самой последней строки */
.news_properties table tr:last-child td {
  border-bottom: none;
}

/* Стили для первой колонки (название услуги) */
.news_properties table td:first-child {
  font-weight: 500;
}

/* Стили для второй колонки (цена) */
.news_properties table td:last-child {
  text-align: right; /* Выравниваем цены по правому краю */
  font-weight: 600;
  color: #0f172a;
  white-space: nowrap; /* Чтобы "руб." не переносилось на новую строку */
}

/* Опционально: стили для тегов span внутри ячеек, если нужно скорректировать шрифт */
.news_properties table td span {
  display: inline-block;
  line-height: 1.4;
}

* {
    transition: all .2s;
    color: #3C352B;
    box-sizing: border-box;
}

a {
    display: inline-block;
}

p {
    margin-bottom: 20px;
}

.fos {
    position: fixed;
    top: 20px;
    left: 10px;
    right: 10px;
    max-width: 600px;
    padding: 30px;
    background: white;
    border-radius: 30px;
    margin: 0 auto;
    z-index: 150;
    display: none;
    flex-flow: column;
    row-gap: 30px;
}

.fos #response-message {
    display: none;
}

#response-message {
    font-size: 20px;
}

.fos #feedback-form {
    display: flex;
    flex-flow: column;
    row-gap: 30px;
}

.fos input {
    width: 100%;
    height: 50px;
    line-height: 50px;
    border-radius: 30px;
    border: 1px #34514A solid;
    outline: none;
    padding: 0 20px;
    font-size: 16px;
}

.fos h2 {
    margin-bottom: 0;
}

.fos .vmc-button {
    width: fit-content;
}

.fos .label {
    display: flex;
    column-gap: 20px;
}

.window-block {
    width: 100%;
    height: 100%;
    position: fixed;
    background: rgba(0, 0, 0, 0.6);
    z-index: 90;
    display: none;
}

body {
    color: #333;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    font-weight: 400;
}

.wrap {
    max-width: 1760px;
    margin: 0 auto;
    padding: 0 30px;
}

.header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    padding: 30px 20px;
    height: 100px;
    background: white;
    z-index: 10;
}

.slider, .slider .swiper, .slider .swiper-wrapper, .slider .swiper-slide, .slider .swiper-slide img {
    min-height: 700px;
}

.header .wrap {
    display: flex;
    align-items: end;
    justify-content: space-between;
    column-gap: 20px;
    padding: 0 30px;
    max-width: 1700px;
}

.small-menu-button {
    display: none;
    cursor: pointer;
    width: 40px;
    height: 40px;
    background: url(/images/menu.svg) no-repeat;
    background-size: contain;
}

.small-menu-button:hover {
    background: url(/images/menu-h.svg) no-repeat;
    background-size: contain;
}

.small-menu .head, .fos .head {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.small-menu .close, .fos .close {
    cursor: pointer;
    width: 30px;
    height: 30px;
    background: url(/images/close.svg) no-repeat;
    background-size: contain;
}

.small-menu .close:hover, .fos .close:hover {
    background: url(/images/close-h.svg) no-repeat;
    background-size: contain;
    opacity: 1;
}

.small-menu {
    display: none;
    position: fixed;
    right: 0;
    top: 0;
    background: white;
    padding: 20px;
    flex-flow: column;
    row-gap: 30px;
    justify-content: space-between;
    align-items: center;
    z-index: 100;
    height: 100%;
    width: 300px;
}

.small-menu .main-menu ul {
    display: flex;
    flex-flow: column;
}

footer {
    display: flex;
    align-items: end;
    justify-content: space-between;
    padding: 30px 30px;
    height: 100px;
    background: white;
    z-index: 10;
    column-gap: 20px;
}

.header .vmc-logo, footer .vmc-logo, .small-menu .vmc-logo {
    display: block;
    width: 163px;
    height: 40px;
    background: url(/images/logo.svg) no-repeat;
    background-size: contain;
}

.main-menu nav ul {
    padding: 0;
    margin: 0;
    display: flex;
}

.main-menu nav ul li {
    list-style: none;
}

.main-menu nav ul li a {
    display: block;
    padding: 0 15px;
    color: #3C352B;
    text-decoration: none;
    font-size: 16px;
    line-height: 30px;
    border-radius: 5px;
}

.main-menu nav ul li a:hover {
    color: white;
    background: #8F0326;
}

.header .right {
    display: flex;
    column-gap: 20px;
    align-items: center;
}

.header .right .contacts .item {
    display: flex;
    align-items: center;
    column-gap: 8px;
    font-size: 14px;
}

.header .right .contacts .item p {
    margin: 0;
    padding: 0;
}

.header .right .contacts .item .img {
    width: 16px;
    text-align: center;
}

.header .right .contacts .item img {
    height: 16px;
}

.small-menu .contacts .item {
    display: flex;
    align-items: center;
    column-gap: 8px;
    font-size: 14px;
}

.small-menu .contacts .item p {
    margin: 0;
    padding: 0;
}

.small-menu .contacts .item .img {
    width: 16px;
    text-align: center;
}

.small-menu .contacts .item img {
    height: 16px;
}

.small-menu .contacts {
    display: flex;
    flex-flow: column;
    row-gap: 20px;
}

.vmc-button {
    padding: 0 30px;
    background: #34514A;
    font-weight: bold;
    font-size: 16px;
    color: white !important;
    text-decoration: none !important;
    border-radius: 10px;
    cursor: pointer;
    height: 40px;
    line-height: 40px;
}

.vmc-button:hover {
    background: #8F0326;
}

.content {
    padding: 100px 0 0 0;
}

h1, h2, h3, h4 {
    color: #34514A;
}

h2 {
    font-size: 38px;
    margin-bottom: 30px;
}

.text .infosystem {
    display: flex;
    column-gap: 20px;
    
    #gallery {
        top: 0 !important;
        left: 0 !important;
        min-width: 40%;
        align-items: start !important;

        img {
            border-radius: 30px;
        }
    }
    
    p {
        background: none !important;
    }
}

@media (max-width: 767.98px) {
    .features-wrapper .features-item {
        grid-template-columns: 100%;
    }

    .features-wrapper .features-item:nth-child(2) .text {
        grid-column-start: initial;
        grid-row-start: initial;
    }

    .features-wrapper .features-item .text {
        margin-top: 20px;
    }

    /* .features-wrapper .features-item .text p { white-space: nowrap; }  */
    .answer-wrapper div {
        white-space: normal;
    }
}

.contact-wrap {
    margin-top: 30px;
    padding: 30px;
    border-radius: 30px;
    background: #F5F5F5;
    display: flex;
    justify-content: space-between;
    column-gap: 50px;
}

.contact-wrap .right {
    width: calc(100% - 70px);
}

.contact-wrap .right iframe {
    border-radius: 20px;
    width: 100%;
    height: 100%;
    min-height: 320px;
    border: 0;
}

.contact-wrap .left {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

.contact-wrap .left p {
    font-size: 16px;
}

.contact-wrap .left h5 {
    color: #34514A;
    font-size: 18px;
    margin-bottom: 10px;
}

.cookie-message {
    display: none;
    background: #D9D9D9;
    width: 100%;
    font-size: 16px;

    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 60px;
}

.cookie-message .df {
    display: flex;
    column-gap: 20px;
}

.inner-wrap .title {
    background: #F5F5F5;
    border-radius: 30px;
    padding: 30px;
    text-align: center;

    overflow: hidden;
}

.inner-wrap .title .image {
    max-height: 500px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    margin-bottom: 30px;
}

.inner-wrap .title h1 {
    font-size: 50px;
    padding: 0 30px 30px;
}

.inner-wrap .title img {
    width: 100%;
}

.inner-wrap .text {
    text-align: left;
    padding: 0 30px 0 30px;
    font-size: 16px;
}

.inner-wrap .text .news_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: row wrap;
    column-gap: 24px;
    row-gap: 24px;
}

.inner-wrap .text .promotion_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-flow: row wrap;
    column-gap: 24px;
    row-gap: 24px;
}

.inner-wrap .text .promotion_list dd {
    background: #34514A;
    width: calc(50% - 20px);
    height: 350px;
    position: relative;
    text-align: center;
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    opacity: 0.8;
    display: flex;
    flex-flow: column;
    align-items: end;
}

.inner-wrap .text .news_list dd {
    background: #34514A;
    width: calc(25% - 20px);
    height: 350px;
    position: relative;
    text-align: center;
    overflow: hidden;
    margin: 0;
    border-radius: 20px;
    opacity: 0.8;
}

.inner-wrap .text .news_list dd:hover {
    background: #8F0326;
    opacity: 1;
}

.inner-wrap .text .news_list dd .head {
    color: white;
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    z-index: 1;
    text-align: left;
    font-size: 20px;
    text-decoration: none;
}

.inner-wrap .text .promotion_list dd .head {
    color: white;
    position: absolute;
    top: 10px;
    left: 20px;
    right: 20px;
    z-index: 1;
    text-align: left;
    font-size: 20px;
    height: calc(100% - 20px);
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    flex-flow: column;
}

.work-hours-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px; 
  background-color: #8F0326;
  padding: 5px 6px; 
  border-radius: 15px; 
  
  color: #FFFFFF !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  font-size: 14px; 
  font-weight: 600;
  line-height: 1;
  margin-left: 5px;
}
.work-hours-badge * {
 color: #FFFFFF !important;
}

.work-hours-icon {
  width: 16px; 
  height: 16px;
  flex-shrink: 0;
}

/* Стили для приподнятых минут */
.work-hours-text sup {
  font-size: 10px; /* Делаем цифры меньше */
  font-weight: 500;
  vertical-align: super;
  line-height: 0;
  margin-left: 1px; /* Легкий отступ от часов */
  top: 2px;
  position: relative;
}

.inner-wrap .text .promotion_list dd .head .show-fos {
    width: 150px;
    background: white;
    color: black !important;
}

.inner-wrap .text .promotion_list dd .head .show-fos:hover {
    background: #8F0326;
    color: white !important;
}

.inner-wrap .text .news_list dd a {
    color: white;
    text-decoration: none;
    line-height: 22px;
}

.inner-wrap .text .news_list dd .description p {
    background: white;
    border-radius: 10px !important;
    color: #3C352B;
    margin: 15px 0 0 0;
    width: fit-content;
    padding: 3px 10px;
    font-size: 14px;
}

.inner-wrap .text .promotion_list dd .description p {
    color: white;
    border-radius: 10px !important;
    margin: 15px 0 0 0;
    width: fit-content;
    font-size: 14px;
}

.inner-wrap .text .promotion_list dd .description p * {
    color: white;
}

.inner-wrap .text .promotion_list dd h2 {
    color: white;
    margin-bottom: 10px;
}

.inner-wrap .text .promotion_list dd h3 {
    color: white;
    font-size: 16px;
}

.inner-wrap .text .promotion_list dd h3 * {
    color: white;
    font-size: 16px;
}


.inner-wrap .text .news_list dd img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: 100%;
    height: 100%;

    max-width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.inner-wrap .text .promotion_list dd img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: auto;
    height: 100%;

    max-width: 100%;
}

.inner-wrap .text #gallery {
    width: calc(100% + 60px);
    position: relative;
    left: -30px;
    top: -30px;
    border-radius: 30px;
    //height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.inner-wrap .text a {
    display: block;
}

.hostcmsTag {
    position: absolute;
    left: -200px;
}

@media (max-width: 1595px) {
    .main-menu nav ul li a {
        font-size: 14px;
    }

    .header .right .contacts .item p, .small-menu .contacts .item p {
        font-size: 12px;
    }
    
    .work-hours-badge {
        font-size: 12px;
    }
}

@media (max-width: 1460px) {
    .main-menu nav ul li a {
        padding: 0 10px;
    }

    .links-wrap .links h3 {
        font-size: 20px;
        line-height: 60px !important;
    }
}

@media (max-width: 1405px) {
    .header {
        padding: 30px;
    }

    .header .wrap {
        padding: 0;
    }

    .links-wrap .links h3 {
        font-size: 20px;
        line-height: 60px !important;
    }

    footer {
        padding: 30px 0;
    }
}

@media (max-width: 1370px) {
    .small-menu-button {
        display: block;
    }

    .big-menu {
        display: none;
    }

    .contact-wrap .left p {
        font-size: 14px;
    }
}

@media (max-width: 1200px) {
    .inner-wrap .text .news_list dd {
        width: calc(32% - 20px);
    }
}

@media (max-width: 1000px) {
    .text .infosystem {
        flex-flow: column;
        
        #gallery {
            left: -30px !important;
            top: -30px !important;
            align-items: center !important;
        }
    }
    .inner-wrap .text .news_list dd {
        width: calc(50% - 20px);
    }
}

@media (max-width: 950px) {
    h2 {
        font-size: 28px;
    }

    .slider, .slider .swiper, .slider .swiper-wrapper, .slider .swiper-slide, .slider .swiper-slide img {
        min-height: 500px;
    }

    .swiper-wrapper .swiper-slide .slide-content p {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .inner-wrap .text {
        font-size: 14px !important;
    }

    .links-wrap .links {
        flex-flow: column;
        row-gap: 30px;
    }

    .links-wrap .links a {
        width: 100% !important;
    }

    .tour img {
        width: 100%;
        height: auto;
    }

    footer {
        height: auto;
        flex-flow: column;
        row-gap: 20px;
        align-items: center;
        justify-content: space-between;
    }

    .inner-wrap .text {
        padding: 0 !important;
    }

    footer .vmc-logo {
        height: 40px;
    }
}

@media (max-width: 860px) {
    .header .contacts {
        display: none;
    }
}

@media (max-width: 670px) {
    .inner-wrap .text .news_list dd {
        width: 100%;
    }
}

@media (max-width: 755px) {
     .swiper-wrapper .swiper-slide {
        display: flex;
        flex-flow: column;
        max-height: 3000px !important;
    }
    .swiper-wrapper .swiper-slide img {
        min-height: 0 !important;
        border-radius: 30px;
    }
         
    .slide-content {
        position: relative !important;
        width: 100% !important;
        right: 0 !important;
        height: 400px !important;
        min-height: 400px !important;
        overflow: auto;
        margin-bottom: 130px;
        padding-bottom: 10px !important;
    }

    .swiper-pagination {
        display: none;
    }

    .swiper-button-prev {
        left: auto !important;
        right: 100px !important;
    }

    .contact-wrap {
        flex-flow: column;
        row-gap: 20px;
    }


    .contact-wrap .right {
        width: 100%;
    }
}