div.defaultModal .modal-dialog {
    margin-top: 5%;
}

div.defaultModal .modal-dialog .modal-content {
    background: #fff;
    border: 1px solid #fff;
    padding: 25px 30px;
    border-radius: 0;
}

div.defaultModal .modal-dialog .modal-content h3 {
    display: table;
    margin: 10px auto 25px;
}

div.defaultModal form {
    display: block;
    width: 100%;
    margin: 0 0 25px;
}

div.defaultModal form input, div.defaultModal form select {
    display: table;
    padding: 14px 15px;
    margin: 0 auto 15px;
    text-align: center;
    border: 1px solid #ccc;
    font-weight: 300;
    width: 80%;
    font-size: 14px;
}

div.defaultModal form button {
    display: table;
    margin: 0 auto;
    background: #c6093b;
    color: #fff;
    padding: 15px 25px;
    width: 80%;
    border: 1px solid #c6093b;
    font-size: 12px;
}

div.defaultModal form input#message {
    display: none;
}
header p.address br {
    display: none;
}
header .mainHeader ul.menu li.pleft+li.pleft a {
    padding-left: 10px;
}
.col-sm-12.text-center.karaoke_text p {
    margin: 20px 0 0;
    font-weight: 300;
}

@media(min-width: 925px){
    header .mainHeader ul.menu li.pleft ul.childs {
        width: 220px;
    }
}

@media(max-width: 925px) {
    div.defaultModal .modal-dialog .modal-content h3 {
        font-size: 28px;
    }

    div.defaultModal form input, div.defaultModal form select {
        width: 100%;
    }

    div.defaultModal form button {
        width: 100%;
    }

    div.defaultModal .modal-dialog {
        margin-top: 15%;
    }
    .contentBlock .container ul.iconsList li:last-child {
        margin-left: auto;
        margin-right: auto;
    }
    ul.mobileContacts {
        position: fixed;
        right: 120px;
        top: 29px;
        transform: translate(0, -50%);
        display: table;
        margin: 0;
        z-index: 5;
        padding: 0;
    }

    ul.mobileContacts li {
        display: inline-table;
        vertical-align: middle;
    }

    ul.mobileContacts li+li {
        margin-left: 10px;
    }

    ul.mobileContacts li a img {
        display: table;
        max-width: 18px;
        max-height: 18px;
    }

    header .preHeader {
        position: absolute;
        left: 100%;
        top: 0;
        display: block;
    }

    header .preHeader .langsBlock {
        position: fixed;
        right: 85px;
        top: 21px;
        z-index: 10;
    }
    header .preHeader .langsBlock button {
        color: #c6093b!important;
        font-size: 14px;
    }

    header .preHeader button:after {
        border-top: 4px solid #c6093b;
        margin-left: 2px;
    }

    ul.mobileContacts li+li img {
        height: 22px;
    }
    header .preHeader ul.langsList {
        left: -10px;
    }
    header {
        overflow: hidden;
    }
}

/* Программа лояльности Wyndham Rewards (страница /about) */

/* стык с блоком «Об отеле»: убираем двойной отступ и белую полосу
   от margin'а .contentBlock — секции должны читаться как одна */
.contentBlock.forAboutPage {
    margin-bottom: 0;
}

.contentBlock.forAboutPage .container {
    padding-bottom: 40px;
}

.loyaltyBlock {
    background: #f6f6f6;
    padding: 0 0 90px;
}

.loyaltyBlock .loyaltyFrame {
    padding: 10px;
    background-image: url(../img/about/bg-unit-loyalty.jpg);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
}

.loyaltyBlock .loyaltyCard {
    background: #fff;
    padding: 40px;
}

.loyaltyBlock h2 {
    color: #1b203c;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.3;
    text-transform: uppercase;
    margin: 0 0 25px;
}

.loyaltyBlock p.subtitle {
    margin: 0 0 25px;
    font-weight: 600;
    color: #1b203c;
    font-size: 18px;
    line-height: 1.5;
}

.loyaltyBlock p.text {
    margin: 0 0 20px;
    line-height: 1.6;
    font-weight: 300;
    font-size: 16px;
    color: #171922;
}

.loyaltyBlock p.text:last-of-type {
    margin-bottom: 0;
}

.loyaltyBlock a.bookingButton {
    display: table;
    padding: 20px 35px;
    background: #c6093b;
    border: 1px solid #c6093b;
    color: #fff !important;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    margin: 30px 0 0;
    transition: all .3s ease;
}

.loyaltyBlock a.bookingButton:hover {
    background: transparent;
    color: #c6093b !important;
    text-decoration: none;
}

.loyaltyBlock ul.loyaltyIcons {
    display: block;
    padding: 0;
    margin: 0;
    list-style: none;
}

.loyaltyBlock ul.loyaltyIcons li {
    display: block;
    padding: 15px;
}

.loyaltyBlock ul.loyaltyIcons li img {
    display: block;
    width: 100%;
    max-width: 200px;
    height: auto;
    margin: 0 auto;
}

@media(max-width: 925px) {
    .contentBlock.forAboutPage .container {
        padding-bottom: 30px;
    }

    .loyaltyBlock {
        padding: 0 0 50px;
    }

    .loyaltyBlock .loyaltyCard {
        padding: 25px 20px;
    }

    .loyaltyBlock h2 {
        font-size: 20px;
        margin: 0 0 20px;
    }

    .loyaltyBlock p.subtitle {
        font-size: 15px;
        margin: 0 0 20px;
    }

    .loyaltyBlock p.text {
        font-size: 14px;
    }

    .loyaltyBlock a.bookingButton {
        margin: 25px 0 0;
        padding: 18px 30px;
        font-size: 13px;
    }

    /* в этом проекте col-md-* включается с 925px, поэтому ниже
       колонки схлопываются и иконки встают в ряд под текстом */
    .loyaltyBlock ul.loyaltyIcons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: 25px 0 0;
    }

    .loyaltyBlock ul.loyaltyIcons li {
        width: 50%;
        padding: 10px;
    }

    .loyaltyBlock ul.loyaltyIcons li img {
        max-width: 150px;
    }
}

@media(max-width: 575.98px) {
    .loyaltyBlock a.bookingButton {
        display: block;
        width: 100%;
        padding: 18px 15px;
        text-align: center;
    }
}

/* Описание номера из админки (страница номера) */
.apartmentPage>.container .rightBlock .apartmentDescr {
    display: block;
    position: relative;
    margin: 0 0 40px;
    padding-top: 45px;
    border-top: 1px solid rgba(0, 0, 0, .11);
    line-height: 1.6;
    font-weight: 300;
    font-size: 16px;
    color: #171922;
}

.apartmentDescr p,
.apartmentDescr ul,
.apartmentDescr ol {
    margin: 0 0 15px;
}

.apartmentDescr p:last-child,
.apartmentDescr ul:last-child,
.apartmentDescr ol:last-child {
    margin-bottom: 0;
}

.apartmentDescr h2,
.apartmentDescr h3,
.apartmentDescr h4 {
    margin: 0 0 15px;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.4;
    color: #1b203c;
    text-transform: unset;
}

.apartmentDescr ul,
.apartmentDescr ol {
    padding-left: 20px;
}

.apartmentDescr li {
    margin: 0 0 8px;
}

.apartmentDescr li:last-child {
    margin-bottom: 0;
}

.apartmentDescr b,
.apartmentDescr strong {
    font-weight: 600;
    color: #1b203c;
}

.apartmentDescr a {
    color: #c6093b;
    text-decoration: underline;
}

.apartmentDescr img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}

@media(max-width: 925px) {
    .apartmentPage>.container .rightBlock .apartmentDescr {
        margin: 0 0 30px;
        padding-top: 30px;
        font-size: 15px;
    }
}

/* Фитнес-центр: описание стало длинным — читаем его как лид-абзац,
   а перечисление выносим в список по образцу страницы /conference.
   :not(.forRest) — потому что на странице ресторана у h1 те же классы
   (forFitness forRest), и без этого правила утекали бы туда */
.contentBlock .container h1.forFitness:not(.forRest) {
    display: block;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.65;
    color: #171922;
    margin: 0 0 25px;
    max-width: 95%;
}

.contentBlock .container ul.list.fitnessOptions {
    display: block;
    width: 100%;
    max-width: 95%;
    margin: 0 0 30px;
}

.contentBlock .container ul.list.fitnessOptions li {
    display: block;
    width: 100%;
}

.contentBlock .container ul.list.fitnessOptions li+li {
    margin-top: 14px;
}

/* пункты здесь длиннее, чем на /conference, поэтому маркер уводим из потока —
   иначе вторая строка подтекает под квадрат */
.contentBlock .container ul.list.fitnessOptions li p {
    display: block;
    padding-left: 22px;
    font-size: 16px;
    line-height: 1.5;
}

.contentBlock .container ul.list.fitnessOptions li p:before {
    position: absolute;
    left: 0;
    top: 7px;
    margin: 0;
}

.contentBlock .container .freeNote {
    display: block;
    margin: 0;
    padding-left: 15px;
    border-left: 2px solid #c6093b;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #c6093b;
    max-width: 95%;
}

@media(max-width: 925px) {
    .contentBlock .container h1.forFitness:not(.forRest) {
        font-size: 16px;
        line-height: 1.6;
        margin: 0 0 20px;
        max-width: 100%;
    }

    .contentBlock .container ul.list.fitnessOptions {
        max-width: 100%;
        margin: 0 0 25px;
    }

    .contentBlock .container ul.list.fitnessOptions li p {
        font-size: 15px;
    }

    .contentBlock .container .freeNote {
        font-size: 15px;
        max-width: 100%;
    }
}

/* Фитнес-центр: блок с ценами — группы абонементов и список включённого */
.redContentBlock .container .priceBox {
    display: block;
    width: 100%;
    border: 2px solid #fff;
    padding: 30px;
    margin: 0;
}

.redContentBlock .container .priceGroup+.priceGroup {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, .35);
}

.redContentBlock .container .priceGroup p.groupTitle {
    display: block;
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.redContentBlock .container ul.priceRows {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.redContentBlock .container ul.priceRows li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 0;
}

.redContentBlock .container ul.priceRows li+li {
    margin-top: 12px;
}

.redContentBlock .container ul.priceRows li .name {
    font-size: 15px;
    font-weight: 300;
    padding-right: 15px;
}

.redContentBlock .container ul.priceRows li .value {
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
    text-align: right;
}

.redContentBlock .container .priceGroup p.priceNote {
    display: block;
    margin: 8px 0 0;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5;
    opacity: .8;
}

.redContentBlock .container .inclBlock {
    display: block;
    margin: 30px 0 0;
}

.redContentBlock .container .inclBlock p.inclTitle {
    display: block;
    margin: 0 0 14px;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.redContentBlock .container ul.inclList {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.redContentBlock .container ul.inclList li {
    display: block;
    position: relative;
    margin: 0;
    padding-left: 22px;
    font-size: 15px;
    font-weight: 300;
    line-height: 1.5;
}

.redContentBlock .container ul.inclList li+li {
    margin-top: 10px;
}

.redContentBlock .container ul.inclList li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 10px;
    height: 10px;
    background: #fff;
}

@media(max-width: 925px) {
    .redContentBlock .container .priceBox {
        padding: 20px;
    }

    .redContentBlock .container .priceGroup+.priceGroup {
        margin-top: 22px;
        padding-top: 20px;
    }

    .redContentBlock .container ul.priceRows li .name,
    .redContentBlock .container ul.priceRows li .value {
        font-size: 14px;
    }

    .redContentBlock .container ul.inclList li {
        font-size: 14px;
    }
}

/* Ресторан YESSIL: текст стал длиннее — лид, два абзаца и финальная строка */
.contentBlock .container .restText h1.forRest {
    display: block;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.45;
    color: #1b203c;
    margin: 0 0 25px;
    max-width: 92%;
}

.contentBlock .container .restText p.miniDescr {
    display: block;
    max-width: 92%;
    margin: 0;
}

.contentBlock .container .restText p.miniDescr+p.miniDescr {
    margin-top: 18px;
}

.contentBlock .container .restText p.restOutro {
    display: block;
    max-width: 92%;
    margin: 28px 0 0;
    padding-left: 15px;
    border-left: 2px solid #c6093b;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #c6093b;
}

@media(max-width: 925px) {
    .contentBlock .container .restText h1.forRest {
        font-size: 18px;
        line-height: 1.35;
        margin: 0 0 20px;
        max-width: 100%;
    }

    .contentBlock .container .restText p.miniDescr {
        max-width: 100%;
        font-size: 15px;
    }

    .contentBlock .container .restText p.miniDescr+p.miniDescr {
        margin-top: 15px;
    }

    .contentBlock .container .restText p.restOutro {
        max-width: 100%;
        margin: 22px 0 0;
        font-size: 16px;
    }
}

/* Банкетный зал «Алатау»: название, характеристики, вместимость и два абзаца */
.contentBlock .container .banketText h1.forRest {
    display: block;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.35;
    color: #1b203c;
    margin: 0 0 12px;
    max-width: 92%;
}

.contentBlock .container .banketText p.hallSpecs {
    display: block;
    margin: 0 0 22px;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: .04em;
    color: #6b6f7d;
}

.contentBlock .container .banketText p.hallCapacity {
    display: block;
    max-width: 92%;
    margin: 0 0 25px;
    padding-left: 15px;
    border-left: 2px solid #c6093b;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #c6093b;
}

.contentBlock .container .banketText p.miniDescr {
    display: block;
    max-width: 92%;
    margin: 0;
}

.contentBlock .container .banketText p.miniDescr+p.miniDescr {
    margin-top: 18px;
}

@media(max-width: 925px) {
    .contentBlock .container .banketText h1.forRest {
        font-size: 20px;
        line-height: 1.35;
        margin: 0 0 10px;
        max-width: 100%;
    }

    .contentBlock .container .banketText p.hallSpecs {
        font-size: 13px;
        margin: 0 0 18px;
    }

    .contentBlock .container .banketText p.hallCapacity {
        max-width: 100%;
        margin: 0 0 20px;
        font-size: 16px;
    }

    .contentBlock .container .banketText p.miniDescr {
        max-width: 100%;
        font-size: 15px;
    }

    .contentBlock .container .banketText p.miniDescr+p.miniDescr {
        margin-top: 15px;
    }
}

/* Караоке: вопрос-заголовок, абзац, вместимость акцентом и абзац про атмосферу */
.contentBlock .container .karaokeText h1.forRest {
    display: block;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.45;
    color: #1b203c;
    margin: 0 0 22px;
    max-width: 95%;
}

.contentBlock .container .karaokeText p.miniDescr {
    display: block;
    max-width: 95%;
    margin: 0;
}

.contentBlock .container .karaokeText p.hallCapacity {
    display: block;
    max-width: 95%;
    margin: 22px 0;
    padding-left: 15px;
    border-left: 2px solid #c6093b;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    color: #c6093b;
}

@media(max-width: 925px) {
    .contentBlock .container .karaokeText h1.forRest {
        font-size: 18px;
        line-height: 1.35;
        margin: 0 0 18px;
        max-width: 100%;
    }

    .contentBlock .container .karaokeText p.miniDescr {
        max-width: 100%;
        font-size: 15px;
    }

    .contentBlock .container .karaokeText p.hallCapacity {
        max-width: 100%;
        margin: 18px 0;
        font-size: 16px;
    }
}

/* Конференц-залы: таблица вместимости картинкой, своя на каждый язык.
   Стоит в колонке с текстом, по ширине колонки. Кликом открывается
   в fancybox — отсюда курсор-указатель и рамка по наведению.
   Рамка прозрачная в покое, чтобы размер картинки не прыгал при ховере. */
.contentBlock .container img.confTable {
    display: block;
    width: 100%;
    height: auto;
    margin: 40px 0 0;
    cursor: pointer;
    border: 2px solid transparent;
    border-radius: 10px;
    transition: border-color .3s ease, opacity .3s ease;
}

.contentBlock .container img.confTable:hover {
    border-color: #c6093b;
    opacity: .85;
}

@media(max-width: 925px) {
    .contentBlock .container img.confTable {
        margin: 30px 0 0;
    }
}

/* Конференц-залы: блок с табами по залам.
   Вид кнопок повторяет табы на /karaoke (.bottomTabsBlock), но класс свой —
   там у контейнера text-align: center, который бы центрировал весь текст. */
.confHallsBlock {
    background: #f6f6f6;
    padding: 70px 0;
}

.confHallsBlock .hallTabs {
    display: block;
    text-align: center;
    margin: 0 0 45px;
}

.confHallsBlock .hallTabs button {
    display: inline-table;
    margin: 0 20px;
    padding: 0;
    background: none;
    border: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    color: rgba(23, 25, 34, .3);
    transition: color .3s ease;
    cursor: pointer;
}

.confHallsBlock .hallTabs button:hover {
    color: #171922;
}

/* правило активного идёт после :hover, чтобы при наведении на выбранный
   таб он оставался красным, а не темнел */
.confHallsBlock .hallTabs button.active {
    color: #c6093b;
}

.confHallsBlock .hallPane {
    display: none;
}

.confHallsBlock .hallPane.active {
    display: block;
}

.confHallsBlock .hallPane h2 {
    display: block;
    margin: 0 0 20px;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.35;
    color: #1b203c;
    text-transform: unset;
}

.confHallsBlock .hallPane p.text {
    display: block;
    margin: 0 0 25px;
    line-height: 1.6;
    font-weight: 300;
    font-size: 16px;
    color: #171922;
}

.confHallsBlock .hallPane p.featTitle {
    display: block;
    margin: 0 0 15px;
    font-weight: 600;
    font-size: 16px;
    color: #1b203c;
}

.confHallsBlock ul.hallFeats {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.confHallsBlock ul.hallFeats li {
    display: block;
    position: relative;
    margin: 0;
    padding-left: 22px;
    line-height: 1.5;
    font-weight: 300;
    font-size: 16px;
    color: #1b203c;
}

.confHallsBlock ul.hallFeats li+li {
    margin-top: 12px;
}

/* маркер-квадрат, как у ul.list на остальных страницах */
.confHallsBlock ul.hallFeats li:before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    width: 10px;
    height: 10px;
    background: #c6093b;
}

/* полноширинные картинки зала — лежат вне контейнера, как bottomBigImg на /karaoke */
.hallImages {
    display: none;
}

.hallImages.active {
    display: block;
}

@media(max-width: 925px) {
    .confHallsBlock {
        padding: 45px 0;
    }

    .confHallsBlock .hallTabs {
        margin: 0 0 30px;
    }

    .confHallsBlock .hallTabs button {
        margin: 0 10px;
        font-size: 14px;
    }

    .confHallsBlock .hallPane h2 {
        font-size: 20px;
        margin: 0 0 15px;
    }

    .confHallsBlock .hallPane p.text,
    .confHallsBlock .hallPane p.featTitle,
    .confHallsBlock ul.hallFeats li {
        font-size: 15px;
    }
}

/* Второй телефон в верхней панели шапки.
   Иконка трубки остаётся внутри первой ссылки — так на неё продолжают
   действовать существующие правила (отступ, выравнивание, затемнение
   у прилипшей шапки). Разделитель между номерами — отдельный span. */
header .preHeader .phoneSep {
    display: inline-table;
    vertical-align: middle;
    margin: 0 8px;
    color: #fff;
    opacity: .45;
}

header.fixed .preHeader .phoneSep {
    opacity: .3;
}

@media(max-width: 925px) {
    /* в мобильной вёрстке верхняя панель уезжает за экран целиком,
       но на всякий случай не даём разделителю ломать строку */
    header .preHeader .phoneSep {
        margin: 0 5px;
    }
}
