/* Классы вместо инлайновых style="" — сгенерировано при переносе.
   Подключается последним, чтобы не проигрывать по каскаду. */

.u-margintop-01 { margin-top: 30px; }
.u-backgroundcolor-02 { background-color: white; }
.u-objectposition-03 { object-position: 0 0; }
.u-objectposition-04 { object-position: 100% 0; }
.u-objectposition-05 { object-position: 0 20%; }
.u-transform-06 { transform: scaleY(1.5) skewY(4deg) rotate(-90deg); }
.u-objectposition-07 { object-position: 45% 0; }
.u-objectposition-08 { object-position: 38% 0; }
.u-objectposition-09 { object-position: 70% 0; }
.u-transform-10 { transform: scaleY(1.25) skewY(4deg) rotate(-90deg); }
.u-height-11 { height: 600px; }
.u-border-filter-12 { filter: invert(90%); border: 0; }
.u-margin-width-13 { width: fit-content; margin: auto; }
.u-height-marginright-margintop-14 { height: 30px; margin-top: 10px; margin-right: 0; }
.u-flexdirection-15 { flex-direction: column; }
.u-color-fontweight-16 { color: #01ff00; font-weight: bold; }
.u-margin-17 { margin: 0; }
.u-color-fontweight-textdecorat-18 { color: #01ff00; font-weight: bold; text-decoration: none; }
.u-height-margin-19 { height: 30px; margin: auto; }
.u-width-20 { width: 100%; }
.u-marginbottom-textalign-21 { text-align: center; margin-bottom: 30px; }
.u-objectposition-22 { object-position: left; }
.u-objectposition-23 { object-position: 50% 0; }
.u-objectposition-24 { object-position: 50% 10%; }
.u-objectposition-25 { object-position: 0 10%; }
.u-margin-26 { margin: 10px; }
.u-transform-27 { transform: scaleX(-1); }
.u-margin-margintop-width-28 { width: fit-content; margin: auto; margin-top: 20px; }

/* Две карты филиалов в ряд, без промежутка между ними.
   Класс добавляется шаблоном главной, когда карт больше одной. */
.map--split {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}
.map--split iframe {
    flex: 1 1 50%;
    width: 50%;
    min-width: 0;
    /* Высота задана явно: у .map в footer.css стоит height: fit-content
       с !important, и от height: 100% карта схлопывалась в узкую полосу. */
    height: 600px;
    display: block;
}
@media only screen and (max-width: 852.98px) {
    .map--split {
        flex-direction: column;
    }
    .map--split iframe {
        width: 100%;
        flex: 1 1 auto;
        height: 360px;
    }
}

/* Первый экран главной: ограничиваем высоту.
   У .photo в mydc.css задана только ширина, высота считается по пропорции
   картинки. Вертикальное фото растягивало блок выше экрана.
   object-position: top — кадр обрезается снизу, а не поровну сверху
   и снизу: головы танцоров остаются целиком. */
.mydc_video .photo {
    max-height: 100vh;
    object-fit: cover;
    object-position: top;
}

/* Слайдер зала: ограничиваем высоту кадра.
   У .slideshow-container нет ограничения по высоте, а картинки идут
   на всю ширину — на широком мониторе кадр вырастал выше экрана
   и не помещался целиком. Фотографию зала можно подрезать, это кадр. */
.pc_version_zal .slideshow-container .mySlides img {
    max-height: 70vh;
    object-fit: cover;
    object-position: center;
}

/* Расписание — другой случай: это не фотография, а таблица, её нельзя
   ни резать, ни растягивать на всю ширину. Вписываем картинку целиком.
   Высота считается от экрана за вычетом шапки, плашки с предупреждением
   и точек под слайдером — так расписание занимает всё свободное место
   и при этом помещается целиком, без прокрутки. */
.pc_version_raspisanie .slideshow-container .mySlides img {
    width: auto;
    max-width: 100%;
    max-height: calc(100vh - 260px);
    object-fit: contain;
    display: block;
    margin: 0 auto;
}
.navigation_images .dot img {
    max-height: 90px;
    object-fit: cover;
}
.mobile_version_zal .splide__slide img {
    max-height: 60vh;
    object-fit: cover;
    object-position: center;
}
@media only screen and (max-width: 852.98px) {
    .pc_version_zal .slideshow-container .mySlides img {
        max-height: 55vh;
    }
}
