@import url(https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap);
@charset "UTF-8";
/*
 * Файл оглавления
 *
 * Подключает остальные компоненты системы стилизации
 */
/*
 * Конфигурация оформления
 */
/* Цветовая палитра */
/* Скругление */
/*
 * Медиа-запросы для определения свойств вьюпорта
 * Смартфоны: все экраны до 767 пкс, от 768 до 1023 пкс в альбомной ориентации
 * Планшеты: все экраны от 768 до 1023 пкс в портретной ориентации и 1024 пкс
 * Маленькие десктопы: от 1025 до 1279 пкс
 * Средние десктопы: от 1280 до 1439 пкс
 * Большие десктопы: от 1440 до 1599 пкс
 * Очень большие десктопы: от 1600 пкс
 */
/* Мобильные устройства */
/* Настольные устройства */
/* Нестрогие и комбинированные запросы */
/* Тип вывода */
/* Ориентации */
/* Комбайн медиа запросов по сокращениям */
@media screen and (max-width: 767px) {
  html {
    font-size: 0.2777777778vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  html {
    font-size: 0.1302083333vw;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  html {
    font-size: 0.0732064422vw;
  }
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 0.0520833333vw;
  }
}

/*
 * Принимает число и формирует сетку из указанного значения
 * Возможные варианты переменной $mq: [null, m, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db]
 * Пример:
 * @include grid(12) — реализует 12-ти колоночную сетку
 * @include grid(4, p) — реализует 4-х колоночную сетку на телефонах
 */
/* Адаптивная сетка с изменяющимся количеством колонок в зависимости от девайся
 * на настольных устройствах 12 колонок
 * на планшетах 8 колонок
 * на телефонах 4 колонки
 */
/* Определяют местоположение в сетке ссылаясь на конкретные линии
 * Если передано одно значение применится к — grid-column-end.
 * колонка не будет привязана к строке, а просто будет занимать указанное количество колонок.
 * Пример: @include col(6) — ширина нашей колонки будет равна шести колонкам
 * Пример: @include col(6, tl ds) — ширина нашей колонки будет равна шести колонкам для планшетов горизонтальной ориентации и стационарных компьютеров с малой диагональю
 *
 * При двух аргументах первое значение будет присвоено — grid-column-start, а второе — grid-column-end
 * Таким образом можно сдвигать колонку по строке
 * Пример: @include col(2 4) — ширина колонки будет 4 колонки и начнется она со второй колонки
 * Пример: @include col(2 2, t) — ширина колонки будет 2 колонки и начнется она со второй колонки для планшетов
*/
/* Определяют местоположение в сетке ссылаясь на конкретные линии
 * Если передано одно значение применится к — grid-row-end.
 * колонка будет привязана к строке.
 * Пример: @include row(2) — колонка будет растягиваться по вертикали на две строки.
 *
 * При двух аргументах первое значение будет присвоено — grid-row-start, а второе — grid-row-end
 * Таким образом можно растягивать и сдвигать колонку по строкам
 * Пример: @include row(2 4) — колонка будет занимать 4 строки и начнется со второй строкиб.
 * Пример: @include row(2 4, d) — колонка будет занимать 4 строки и начнется со второй строки для стационарных компьютеров.
*/
/* Отступы по горизонтали и вертикали
 * Возможные варианты переменной $mq: [null, m, mm, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db]
 * Пример:
 * @include gap(16, null) — 16rem отступов по горизонтали и вертикали вне контекста медиа запросов
 * @include gap(8, pp) — 8rem отступов по горизонтали и вертикали на мобильном с портретной ориентацией
 */
/* Отступы по горизонтали
 * Возможные варианты переменной $mq: [null, m, mm, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db]
 * Пример:
 * @include gap-col(16, null) — 16rem отступов по горизонтали вне контекста медиа запросов
 * @include gap-col(8, pp) — 8rem отступов по горизонтали на мобильном с портретной ориентацией
 */
/* Отступы по вертикали
 * Возможные варианты переменной $mq: [null, m, mm, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db]
 * Пример:
 * @include gap-row(16, null) — 16rem отступов по вертикали вне контекста медиа запросов
 * @include gap-row(8, pp) — 8rem отступов по вертикали на мобильном с портретной ориентацией
 */
/*
 * Сброс стандартного оформления
 */
* {
  box-sizing: border-box;
  outline: none;
}

html, body,
div, span,
header, nav, menu, aside, footer, section, article,
p,
.article ol,
.article ul, a,
strong,
sub, sup,
blockquote,
figure, figcaption,
img,
form,
label,
q, s, b, u, i,
h1, h2, h3, h4, h5, h6,
em, tt,
dl, dt, dd,
ol, ul, li,
table, tbody, tfoot, thead, caption,
tr, th, td,
pre,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
ins,
kbd,
samp,
small,
strike,
var,
center,
fieldset,
legend,
details,
embed,
hgroup,
output,
ruby,
canvas,
iframe,
object,
applet,
summary,
time,
mark,
video, audio,
button, input, select {
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: baseline;
}

header, aside, footer,
article, section,
details,
figcaption,
hgroup,
menu, nav {
  display: block;
}

html {
  height: 100%;
}

body {
  line-height: 1;
  height: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img {
  border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-weight: normal;
  font-style: normal;
  font-family: inherit;
}

ol, ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: normal;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
}

abbr,
acronym {
  border: 0;
}

/*
 * Миксины для настройки полей
 */
/*
 * Миксины стандартных обёрток контента
 */
/*
 * Меняет позицию элемента во flex блоках
 * Возможные варианты переменной $mq: [null, m, mm, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db]
 * Пример:
 * @include order(4) — поставит элемент 4-м
 * @include order(4, t) — поставит элемент 4-м на планшетах
 */
/*
 * Генерация классов полей
 * Примеры классов:
 * .p-32      — поле в 32rem по всем сторонам
 * .pl-8      — левое поле в 8rem
 * .pb-ds-16  — нижнее поле в 16rem на маленьких настольных устройства с экраном до 1279 пкс
 * .py-pl-0   — убирает вертикальное поле на телефонах с альбомной ориентацией
 */
/* Возможны поля:
 * all    — все стороны
 * top    — сверху
 * right  — справа
 * bottom — снизу
 * left   — слева
 * x      — по горизонтали
 * y      — по вертикали
 */
/*
 * Сокращения медиа-запросов:
 * null — без медиа запроса
 * m    — все мобильные устройства
 * mm   — смартфоны в горизонтальной ориентации и планшеты в вертикальной ориентации
 * p    — смартфоны
 * pp   — смартфоны в вертикальной ориентации
 * pl   — смартфоны в альбомной ориентации
 * t    — планшеты
 * tp   — планшеты в вертикальной ориентации
 * tl   — планшеты в альбомной ориентации
 * d    — все настольные устройства
 * ds   — маленькие настольные устройства с экраном до 1279 пкс
 * dm   — средние настольные устройства с экраном от 1280 до 1439 пкс
 * dl   — широкоэкранные настольные устройства с экраном от 1440 до 1599 пкс
 * dxl  — широкоэкранные настольные устройства с экраном от 1600 пкс
 * np   — все устройства, кроме смартфонов
 * utl  — планшеты в портретной ориентации и смартфоны
 * ftl  — планшеты в альбомной ориентации и настольные устройства
 * db   — большие и очень большие настольные устройства
 */
.p-0 {
  padding: 0rem;
}

.p-8 {
  padding: 8rem;
}

.p-16 {
  padding: 16rem;
}

.p-24 {
  padding: 24rem;
}

.p-32 {
  padding: 32rem;
}

.p-40 {
  padding: 40rem;
}

.p-48 {
  padding: 48rem;
}

.p-56 {
  padding: 56rem;
}

.p-64 {
  padding: 64rem;
}

@media screen and (max-width: 767px) {
  .p-p-0 {
    padding: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-8 {
    padding: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-16 {
    padding: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-24 {
    padding: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-32 {
    padding: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-40 {
    padding: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-48 {
    padding: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-56 {
    padding: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .p-p-64 {
    padding: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-0 {
    padding: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-8 {
    padding: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-16 {
    padding: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-24 {
    padding: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-32 {
    padding: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-40 {
    padding: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-48 {
    padding: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-56 {
    padding: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-pp-64 {
    padding: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-0 {
    padding: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-8 {
    padding: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-16 {
    padding: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-24 {
    padding: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-32 {
    padding: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-40 {
    padding: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-48 {
    padding: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-56 {
    padding: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .p-pl-64 {
    padding: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-0 {
    padding: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-8 {
    padding: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-16 {
    padding: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-24 {
    padding: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-32 {
    padding: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-40 {
    padding: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-48 {
    padding: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-56 {
    padding: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .p-t-64 {
    padding: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-0 {
    padding: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-8 {
    padding: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-16 {
    padding: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-24 {
    padding: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-32 {
    padding: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-40 {
    padding: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-48 {
    padding: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-56 {
    padding: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .p-tp-64 {
    padding: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-0 {
    padding: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-8 {
    padding: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-16 {
    padding: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-24 {
    padding: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-32 {
    padding: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-40 {
    padding: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-48 {
    padding: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-56 {
    padding: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .p-tl-64 {
    padding: 64rem;
  }
}

.pt-0 {
  padding-top: 0rem;
}

.pt-8 {
  padding-top: 8rem;
}

.pt-16 {
  padding-top: 16rem;
}

.pt-24 {
  padding-top: 24rem;
}

.pt-32 {
  padding-top: 32rem;
}

.pt-40 {
  padding-top: 40rem;
}

.pt-48 {
  padding-top: 48rem;
}

.pt-56 {
  padding-top: 56rem;
}

.pt-64 {
  padding-top: 64rem;
}

@media screen and (max-width: 767px) {
  .pt-p-0 {
    padding-top: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-8 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-16 {
    padding-top: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-24 {
    padding-top: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-32 {
    padding-top: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-40 {
    padding-top: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-48 {
    padding-top: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-56 {
    padding-top: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .pt-p-64 {
    padding-top: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-0 {
    padding-top: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-8 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-16 {
    padding-top: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-24 {
    padding-top: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-32 {
    padding-top: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-40 {
    padding-top: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-48 {
    padding-top: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-56 {
    padding-top: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pt-pp-64 {
    padding-top: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-0 {
    padding-top: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-8 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-16 {
    padding-top: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-24 {
    padding-top: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-32 {
    padding-top: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-40 {
    padding-top: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-48 {
    padding-top: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-56 {
    padding-top: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pt-pl-64 {
    padding-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-0 {
    padding-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-8 {
    padding-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-16 {
    padding-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-24 {
    padding-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-32 {
    padding-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-40 {
    padding-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-48 {
    padding-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-56 {
    padding-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pt-t-64 {
    padding-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-0 {
    padding-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-8 {
    padding-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-16 {
    padding-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-24 {
    padding-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-32 {
    padding-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-40 {
    padding-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-48 {
    padding-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-56 {
    padding-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pt-tp-64 {
    padding-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-0 {
    padding-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-8 {
    padding-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-16 {
    padding-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-24 {
    padding-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-32 {
    padding-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-40 {
    padding-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-48 {
    padding-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-56 {
    padding-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pt-tl-64 {
    padding-top: 64rem;
  }
}

.pr-0 {
  padding-right: 0rem;
}

.pr-8 {
  padding-right: 8rem;
}

.pr-16 {
  padding-right: 16rem;
}

.pr-24 {
  padding-right: 24rem;
}

.pr-32 {
  padding-right: 32rem;
}

.pr-40 {
  padding-right: 40rem;
}

.pr-48 {
  padding-right: 48rem;
}

.pr-56 {
  padding-right: 56rem;
}

.pr-64 {
  padding-right: 64rem;
}

@media screen and (max-width: 767px) {
  .pr-p-0 {
    padding-right: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-8 {
    padding-right: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-16 {
    padding-right: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-24 {
    padding-right: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-32 {
    padding-right: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-40 {
    padding-right: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-48 {
    padding-right: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-56 {
    padding-right: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .pr-p-64 {
    padding-right: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-0 {
    padding-right: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-8 {
    padding-right: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-16 {
    padding-right: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-24 {
    padding-right: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-32 {
    padding-right: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-40 {
    padding-right: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-48 {
    padding-right: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-56 {
    padding-right: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pr-pp-64 {
    padding-right: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-0 {
    padding-right: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-8 {
    padding-right: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-16 {
    padding-right: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-24 {
    padding-right: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-32 {
    padding-right: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-40 {
    padding-right: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-48 {
    padding-right: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-56 {
    padding-right: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pr-pl-64 {
    padding-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-0 {
    padding-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-8 {
    padding-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-16 {
    padding-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-24 {
    padding-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-32 {
    padding-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-40 {
    padding-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-48 {
    padding-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-56 {
    padding-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pr-t-64 {
    padding-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-0 {
    padding-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-8 {
    padding-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-16 {
    padding-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-24 {
    padding-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-32 {
    padding-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-40 {
    padding-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-48 {
    padding-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-56 {
    padding-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pr-tp-64 {
    padding-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-0 {
    padding-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-8 {
    padding-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-16 {
    padding-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-24 {
    padding-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-32 {
    padding-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-40 {
    padding-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-48 {
    padding-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-56 {
    padding-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pr-tl-64 {
    padding-right: 64rem;
  }
}

.pb-0 {
  padding-bottom: 0rem;
}

.pb-8 {
  padding-bottom: 8rem;
}

.pb-16 {
  padding-bottom: 16rem;
}

.pb-24 {
  padding-bottom: 24rem;
}

.pb-32 {
  padding-bottom: 32rem;
}

.pb-40 {
  padding-bottom: 40rem;
}

.pb-48 {
  padding-bottom: 48rem;
}

.pb-56 {
  padding-bottom: 56rem;
}

.pb-64 {
  padding-bottom: 64rem;
}

@media screen and (max-width: 767px) {
  .pb-p-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .pb-p-64 {
    padding-bottom: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pb-pp-64 {
    padding-bottom: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pb-pl-64 {
    padding-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pb-t-64 {
    padding-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pb-tp-64 {
    padding-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-0 {
    padding-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-48 {
    padding-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-56 {
    padding-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pb-tl-64 {
    padding-bottom: 64rem;
  }
}

.pl-0 {
  padding-left: 0rem;
}

.pl-8 {
  padding-left: 8rem;
}

.pl-16 {
  padding-left: 16rem;
}

.pl-24 {
  padding-left: 24rem;
}

.pl-32 {
  padding-left: 32rem;
}

.pl-40 {
  padding-left: 40rem;
}

.pl-48 {
  padding-left: 48rem;
}

.pl-56 {
  padding-left: 56rem;
}

.pl-64 {
  padding-left: 64rem;
}

@media screen and (max-width: 767px) {
  .pl-p-0 {
    padding-left: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-8 {
    padding-left: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-16 {
    padding-left: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-24 {
    padding-left: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-32 {
    padding-left: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-40 {
    padding-left: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-48 {
    padding-left: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-56 {
    padding-left: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .pl-p-64 {
    padding-left: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-0 {
    padding-left: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-8 {
    padding-left: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-16 {
    padding-left: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-24 {
    padding-left: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-32 {
    padding-left: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-40 {
    padding-left: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-48 {
    padding-left: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-56 {
    padding-left: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .pl-pp-64 {
    padding-left: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-0 {
    padding-left: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-8 {
    padding-left: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-16 {
    padding-left: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-24 {
    padding-left: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-32 {
    padding-left: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-40 {
    padding-left: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-48 {
    padding-left: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-56 {
    padding-left: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .pl-pl-64 {
    padding-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-0 {
    padding-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-8 {
    padding-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-16 {
    padding-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-24 {
    padding-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-32 {
    padding-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-40 {
    padding-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-48 {
    padding-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-56 {
    padding-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pl-t-64 {
    padding-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-0 {
    padding-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-8 {
    padding-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-16 {
    padding-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-24 {
    padding-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-32 {
    padding-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-40 {
    padding-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-48 {
    padding-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-56 {
    padding-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .pl-tp-64 {
    padding-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-0 {
    padding-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-8 {
    padding-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-16 {
    padding-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-24 {
    padding-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-32 {
    padding-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-40 {
    padding-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-48 {
    padding-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-56 {
    padding-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .pl-tl-64 {
    padding-left: 64rem;
  }
}

/*
 * Генерация классов отступов
 * Примеры классов:
 * .m-32      — отступ в 32rem по всем сторонам
 * .ml-8      — левый отступ в 8rem
 * .mb-ds-16  — нижний отступ в 16rem на маленьких настольных устройства с экраном до 1279 пкс
 * .my-pl-0   — убирает вертикальный отступ на телефонах с альбомной ориентацией
 */
/* Возможны стороны:
 * all    — все стороны
 * top    — сверху
 * right  — справа
 * bottom — снизу
 * left   — слева
 * x      — по горизонтали
 * y      — по вертикали
 */
/*
 * Сокращения медиа-запросов:
 * null — без медиа запроса
 * m    — все мобильные устройства
 * mm   — смартфоны в горизонтальной ориентации и планшеты в вертикальной ориентации
 * p    — смартфоны
 * pp   — смартфоны в вертикальной ориентации
 * pl   — смартфоны в альбомной ориентации
 * t    — планшеты
 * tp   — планшеты в вертикальной ориентации
 * tl   — планшеты в альбомной ориентации
 * d    — все настольные устройства
 * ds   — маленькие настольные устройства с экраном до 1279 пкс
 * dm   — средние настольные устройства с экраном от 1280 до 1439 пкс
 * dl   — широкоэкранные настольные устройства с экраном от 1440 до 1599 пкс
 * dxl  — широкоэкранные настольные устройства с экраном от 1600 пкс
 * np   — все устройства, кроме смартфонов
 * utl  — планшеты в портретной ориентации и смартфоны
 * ftl  — планшеты в альбомной ориентации и настольные устройства
 * db   — большие и очень большие настольные устройства
 */
.m-0 {
  margin: 0rem;
}

.m-8 {
  margin: 8rem;
}

.m-16 {
  margin: 16rem;
}

.m-24 {
  margin: 24rem;
}

.m-32 {
  margin: 32rem;
}

.m-40 {
  margin: 40rem;
}

.m-48 {
  margin: 48rem;
}

.m-56 {
  margin: 56rem;
}

.m-64 {
  margin: 64rem;
}

@media screen and (max-width: 767px) {
  .m-p-0 {
    margin: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-8 {
    margin: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-16 {
    margin: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-24 {
    margin: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-32 {
    margin: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-40 {
    margin: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-48 {
    margin: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-56 {
    margin: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .m-p-64 {
    margin: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-0 {
    margin: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-8 {
    margin: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-16 {
    margin: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-24 {
    margin: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-32 {
    margin: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-40 {
    margin: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-48 {
    margin: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-56 {
    margin: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .m-pp-64 {
    margin: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-0 {
    margin: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-8 {
    margin: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-16 {
    margin: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-24 {
    margin: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-32 {
    margin: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-40 {
    margin: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-48 {
    margin: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-56 {
    margin: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .m-pl-64 {
    margin: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-0 {
    margin: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-8 {
    margin: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-16 {
    margin: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-24 {
    margin: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-32 {
    margin: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-40 {
    margin: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-48 {
    margin: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-56 {
    margin: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .m-t-64 {
    margin: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-0 {
    margin: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-8 {
    margin: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-16 {
    margin: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-24 {
    margin: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-32 {
    margin: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-40 {
    margin: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-48 {
    margin: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-56 {
    margin: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .m-tp-64 {
    margin: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-0 {
    margin: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-8 {
    margin: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-16 {
    margin: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-24 {
    margin: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-32 {
    margin: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-40 {
    margin: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-48 {
    margin: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-56 {
    margin: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .m-tl-64 {
    margin: 64rem;
  }
}

.mt-0 {
  margin-top: 0rem;
}

.mt-8 {
  margin-top: 8rem;
}

.mt-16 {
  margin-top: 16rem;
}

.mt-24 {
  margin-top: 24rem;
}

.mt-32 {
  margin-top: 32rem;
}

.mt-40 {
  margin-top: 40rem;
}

.mt-48 {
  margin-top: 48rem;
}

.mt-56 {
  margin-top: 56rem;
}

.mt-64 {
  margin-top: 64rem;
}

@media screen and (max-width: 767px) {
  .mt-p-0 {
    margin-top: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-8 {
    margin-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-16 {
    margin-top: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-24 {
    margin-top: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-32 {
    margin-top: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-40 {
    margin-top: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-48 {
    margin-top: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-56 {
    margin-top: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .mt-p-64 {
    margin-top: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-0 {
    margin-top: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-8 {
    margin-top: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-16 {
    margin-top: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-24 {
    margin-top: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-32 {
    margin-top: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-40 {
    margin-top: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-48 {
    margin-top: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-56 {
    margin-top: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mt-pp-64 {
    margin-top: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-0 {
    margin-top: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-8 {
    margin-top: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-16 {
    margin-top: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-24 {
    margin-top: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-32 {
    margin-top: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-40 {
    margin-top: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-48 {
    margin-top: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-56 {
    margin-top: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mt-pl-64 {
    margin-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-0 {
    margin-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-8 {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-16 {
    margin-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-24 {
    margin-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-32 {
    margin-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-40 {
    margin-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-48 {
    margin-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-56 {
    margin-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mt-t-64 {
    margin-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-0 {
    margin-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-8 {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-16 {
    margin-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-24 {
    margin-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-32 {
    margin-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-40 {
    margin-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-48 {
    margin-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-56 {
    margin-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mt-tp-64 {
    margin-top: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-0 {
    margin-top: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-8 {
    margin-top: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-16 {
    margin-top: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-24 {
    margin-top: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-32 {
    margin-top: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-40 {
    margin-top: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-48 {
    margin-top: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-56 {
    margin-top: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mt-tl-64 {
    margin-top: 64rem;
  }
}

.mr-0 {
  margin-right: 0rem;
}

.mr-8 {
  margin-right: 8rem;
}

.mr-16 {
  margin-right: 16rem;
}

.mr-24 {
  margin-right: 24rem;
}

.mr-32 {
  margin-right: 32rem;
}

.mr-40 {
  margin-right: 40rem;
}

.mr-48 {
  margin-right: 48rem;
}

.mr-56 {
  margin-right: 56rem;
}

.mr-64 {
  margin-right: 64rem;
}

@media screen and (max-width: 767px) {
  .mr-p-0 {
    margin-right: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-8 {
    margin-right: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-16 {
    margin-right: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-24 {
    margin-right: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-32 {
    margin-right: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-40 {
    margin-right: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-48 {
    margin-right: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-56 {
    margin-right: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .mr-p-64 {
    margin-right: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-0 {
    margin-right: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-8 {
    margin-right: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-16 {
    margin-right: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-24 {
    margin-right: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-32 {
    margin-right: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-40 {
    margin-right: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-48 {
    margin-right: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-56 {
    margin-right: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mr-pp-64 {
    margin-right: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-0 {
    margin-right: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-8 {
    margin-right: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-16 {
    margin-right: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-24 {
    margin-right: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-32 {
    margin-right: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-40 {
    margin-right: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-48 {
    margin-right: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-56 {
    margin-right: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mr-pl-64 {
    margin-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-0 {
    margin-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-8 {
    margin-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-16 {
    margin-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-24 {
    margin-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-32 {
    margin-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-40 {
    margin-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-48 {
    margin-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-56 {
    margin-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mr-t-64 {
    margin-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-0 {
    margin-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-8 {
    margin-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-16 {
    margin-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-24 {
    margin-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-32 {
    margin-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-40 {
    margin-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-48 {
    margin-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-56 {
    margin-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mr-tp-64 {
    margin-right: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-0 {
    margin-right: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-8 {
    margin-right: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-16 {
    margin-right: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-24 {
    margin-right: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-32 {
    margin-right: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-40 {
    margin-right: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-48 {
    margin-right: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-56 {
    margin-right: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mr-tl-64 {
    margin-right: 64rem;
  }
}

.mb-0 {
  margin-bottom: 0rem;
}

.mb-8 {
  margin-bottom: 8rem;
}

.mb-16 {
  margin-bottom: 16rem;
}

.mb-24 {
  margin-bottom: 24rem;
}

.mb-32 {
  margin-bottom: 32rem;
}

.mb-40 {
  margin-bottom: 40rem;
}

.mb-48 {
  margin-bottom: 48rem;
}

.mb-56 {
  margin-bottom: 56rem;
}

.mb-64 {
  margin-bottom: 64rem;
}

@media screen and (max-width: 767px) {
  .mb-p-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .mb-p-64 {
    margin-bottom: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .mb-pp-64 {
    margin-bottom: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .mb-pl-64 {
    margin-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mb-t-64 {
    margin-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .mb-tp-64 {
    margin-bottom: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-0 {
    margin-bottom: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-48 {
    margin-bottom: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-56 {
    margin-bottom: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .mb-tl-64 {
    margin-bottom: 64rem;
  }
}

.ml-0 {
  margin-left: 0rem;
}

.ml-8 {
  margin-left: 8rem;
}

.ml-16 {
  margin-left: 16rem;
}

.ml-24 {
  margin-left: 24rem;
}

.ml-32 {
  margin-left: 32rem;
}

.ml-40 {
  margin-left: 40rem;
}

.ml-48 {
  margin-left: 48rem;
}

.ml-56 {
  margin-left: 56rem;
}

.ml-64 {
  margin-left: 64rem;
}

@media screen and (max-width: 767px) {
  .ml-p-0 {
    margin-left: 0rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-8 {
    margin-left: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-16 {
    margin-left: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-24 {
    margin-left: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-32 {
    margin-left: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-40 {
    margin-left: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-48 {
    margin-left: 48rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-56 {
    margin-left: 56rem;
  }
}

@media screen and (max-width: 767px) {
  .ml-p-64 {
    margin-left: 64rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-0 {
    margin-left: 0rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-8 {
    margin-left: 8rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-16 {
    margin-left: 16rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-24 {
    margin-left: 24rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-32 {
    margin-left: 32rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-40 {
    margin-left: 40rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-48 {
    margin-left: 48rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-56 {
    margin-left: 56rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .ml-pp-64 {
    margin-left: 64rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-0 {
    margin-left: 0rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-8 {
    margin-left: 8rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-16 {
    margin-left: 16rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-24 {
    margin-left: 24rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-32 {
    margin-left: 32rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-40 {
    margin-left: 40rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-48 {
    margin-left: 48rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-56 {
    margin-left: 56rem;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .ml-pl-64 {
    margin-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-0 {
    margin-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-8 {
    margin-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-16 {
    margin-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-24 {
    margin-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-32 {
    margin-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-40 {
    margin-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-48 {
    margin-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-56 {
    margin-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .ml-t-64 {
    margin-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-0 {
    margin-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-8 {
    margin-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-16 {
    margin-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-24 {
    margin-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-32 {
    margin-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-40 {
    margin-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-48 {
    margin-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-56 {
    margin-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .ml-tp-64 {
    margin-left: 64rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-0 {
    margin-left: 0rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-8 {
    margin-left: 8rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-16 {
    margin-left: 16rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-24 {
    margin-left: 24rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-32 {
    margin-left: 32rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-40 {
    margin-left: 40rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-48 {
    margin-left: 48rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-56 {
    margin-left: 56rem;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .ml-tl-64 {
    margin-left: 64rem;
  }
}

.spacing {
  padding: 80rem 200rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .spacing {
    padding: 80rem 32rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .spacing {
    padding: 40rem 32rem;
  }
}
@media screen and (max-width: 767px) {
  .spacing {
    padding: 40rem 8rem;
  }
}
.spacing-small {
  padding: 8rem 200rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .spacing-small {
    padding: 8rem 32rem;
  }
}
@media screen and (max-width: 767px) {
  .spacing-small {
    padding: 8rem;
  }
}
.spacing-middle {
  padding: 32rem 200rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .spacing-middle {
    padding: 32rem;
  }
}
@media screen and (max-width: 767px) {
  .spacing-middle {
    padding: 32rem 8rem;
  }
}
.spacing-big {
  padding: 120rem 200rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .spacing-big {
    padding: 120rem 32rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .spacing-big {
    padding: 60rem 32rem;
  }
}
@media screen and (max-width: 767px) {
  .spacing-big {
    padding: 60rem 8rem;
  }
}
.spacing-cover {
  padding: 160rem 200rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .spacing-cover {
    padding: 160rem 32rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .spacing-cover {
    padding: 60rem 32rem;
  }
}
@media screen and (max-width: 1023px) and (orientation: landscape) {
  .spacing-cover {
    padding: 60rem 8rem;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .spacing-cover {
    padding: 120rem 8rem;
  }
}

.wrapper-dl {
  padding: 0;
  max-width: 1535rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-dl {
    padding: 0 8rem;
  }
}
.wrapper-dm {
  padding: 0;
  max-width: 1375rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-dm {
    padding: 0 8rem;
  }
}
.wrapper {
  padding: 0;
  max-width: 1215rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper {
    padding: 0 8rem;
  }
}
.wrapper-tl {
  padding: 0;
  max-width: 1024rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-tl {
    padding: 0 8rem;
  }
}
.wrapper-tp {
  padding: 0;
  max-width: 768rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-tp {
    padding: 0 8rem;
  }
}
.wrapper-pl {
  padding: 0;
  max-width: 480rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-pl {
    padding: 0 8rem;
  }
}
.wrapper-pp {
  padding: 0;
  max-width: 320rem;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .wrapper-pp {
    padding: 0 8rem;
  }
}

body {
  font-size: 16rem;
  font-family: "Rubik", sans-serif;
  font-weight: 500;
  font-style: normal;
}

/*
 * Классы текстовых элементов
 */
/* Титульные заголовки */
.h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1, .h2, .vk-widget__heading, .catalogue__h2, .conditions__h2, .fleet__h2, .night-tours__h2, .prices__h2, .berths__h2, .routes__h2, .docs-block .docs__title, .article h2, .h3, .catalogue__h3, .fleet__card h3, .berths__h3, .routes__h3, .docs-block .docs__list-title, .article h3 {
  font-family: "Rubik", sans-serif;
  font-weight: bold;
  font-style: normal;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1, .h2, .vk-widget__heading, .catalogue__h2, .conditions__h2, .fleet__h2, .night-tours__h2, .prices__h2, .berths__h2, .routes__h2, .docs-block .docs__title, .article h2, .h3, .catalogue__h3, .fleet__card h3, .berths__h3, .routes__h3, .docs-block .docs__list-title, .article h3 {
    hyphens: auto;
  }
}

.h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1 {
  font-size: 56rem;
  line-height: 72rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1 {
    font-size: 48rem;
    line-height: 64rem;
  }
}
@media screen and (max-width: 767px) {
  .h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1 {
    font-size: 32rem;
    line-height: 40rem;
  }
}

.h2, .vk-widget__heading, .catalogue__h2, .conditions__h2, .fleet__h2, .night-tours__h2, .prices__h2, .berths__h2, .routes__h2, .docs-block .docs__title, .article h2 {
  font-size: 40rem;
  line-height: 48rem;
}
@media screen and (max-width: 767px) {
  .h2, .vk-widget__heading, .catalogue__h2, .conditions__h2, .fleet__h2, .night-tours__h2, .prices__h2, .berths__h2, .routes__h2, .docs-block .docs__title, .article h2 {
    font-size: 24rem;
    line-height: 32rem;
  }
}

.h3, .catalogue__h3, .fleet__card h3, .berths__h3, .routes__h3, .docs-block .docs__list-title, .article h3 {
  font-size: 24rem;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .h3, .catalogue__h3, .fleet__card h3, .berths__h3, .routes__h3, .docs-block .docs__list-title, .article h3 {
    font-size: 16rem;
    line-height: 24rem;
  }
}

/* Контентные заголовки */
.h4, .article h4, .h5, .catalogue__price-value, .prices__card-value, .routes__price-value, .article h5, .h6, .berths__h6, .article h6 {
  font-family: "Rubik", sans-serif;
  font-weight: 600;
  font-style: normal;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .h4, .article h4, .h5, .catalogue__price-value, .prices__card-value, .routes__price-value, .article h5, .h6, .berths__h6, .article h6 {
    hyphens: auto;
  }
}

.h4, .article h4 {
  font-size: 32rem;
  line-height: 40rem;
}

.h5, .catalogue__price-value, .prices__card-value, .routes__price-value, .article h5 {
  font-size: 24rem;
  line-height: 32rem;
}

.h6, .berths__h6, .article h6 {
  font-size: 16rem;
  line-height: 24rem;
}

/* Параграфы */
.lead, .article .lead {
  font-size: 24rem;
  line-height: 32rem;
}

.p, .vk-widget__description, .catalogue__additional-info, .catalogue__conditions-list li, .catalogue__table td, .catalogue__price-description, .conditions__list-item, .fleet__card p, .night-tours__form__label, .night-tours__description, .prices__card-description, .berths__additional-info, .berths__route, .berths__description, .routes__price-description, .routes__details p, .routes__description p, .cover p, .nearby-trips__description-text, .nearby-trip__description-text, .footer__grid__developers, .footer p, .article p, .article ol, .article ul, .table th, .article table th, .table td, .article table td {
  font-size: 16rem;
  line-height: 24rem;
  hyphens: auto;
}

.list {
  padding-left: 16rem;
  font-size: 16rem;
  line-height: 24rem;
}
.list li {
  list-style-type: disc;
  color: #4f5967;
}

/* Инлайновые элементы */
.bold, .article strong, .article b {
  font-weight: bold;
}

.italic, .article em, .article i {
  font-style: italic;
}

sup,
.sup,
.article sup {
  vertical-align: super;
  font-size: 0.5em;
}

sub,
.sub,
.article sub {
  font-size: 0.5em;
}

.code, .article code {
  font-family: monospace;
  padding-left: 0.25em;
  padding-right: 0.25em;
  border-radius: 2rem;
}

/* Таблицы */
.table, .article table {
  width: 100%;
}
.table th, .article table th, .table td, .article table td {
  padding: 4rem;
}
.table th, .article table th {
  font-weight: bold;
  border-bottom: 2rem solid;
}
.table td, .article table td {
  border-top: 1rem solid;
  border-bottom: 1rem solid;
}
.table tr:last-child td, .article table tr:last-child td {
  border-bottom: none;
}
.table tfoot td, .article table tfoot td {
  border-top: 2rem solid;
}

.table-wrapper {
  display: block;
  width: 100%;
  overflow-x: auto;
}

/* Вспомогательные классы */
.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-nowrap {
  white-space: nowrap;
}

.manual-hyphens {
  hyphens: manual;
}

.max-width_100 {
  max-width: 100%;
}

.hint, .routes__sights-card-title, .article .routes__sights-card-title, .article .hint {
  font-size: 12rem;
  line-height: 16rem;
}

.uppercase {
  text-transform: uppercase;
}

a {
  transition: color 0.1s ease-in;
  color: #0f76ef;
}
a:hover {
  color: #569ff4;
}

.link {
  background: transparent;
  color: #0f76ef;
}
.link:hover {
  color: #569ff4;
}
.link_large {
  font-size: 24rem;
  line-height: 32rem;
}

.article {
  padding-top: 176rem;
  /* Титульные заголовки */
  /* Контентные заголовки */
  /* Параграфы */
  /* Инлайновые элементы */
  /* Таблицы */
}
.article :first-child {
  margin-top: 0;
}
.article :last-child {
  margin-bottom: 0;
}
.article h1, .article h2, .article h3, .article h4, .article h5, .article h6, .article p, .article ul, .article ol, .article .gallery, .article .docs {
  max-width: 800rem;
  margin-left: auto;
  margin-right: auto;
}
.article table, .article .table-wrapper {
  max-width: 1000rem;
  margin-left: auto;
  margin-right: auto;
}
.article img {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.article .slick-dots {
  max-width: none;
}
.article .breadcrumbs, .article .sub-menu {
  padding-left: 0;
}
.article .breadcrumbs {
  margin-bottom: 0;
}
.article .sub-menu {
  margin-bottom: 56rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .article .sub-menu {
    padding-left: 32rem;
    padding-right: 32rem;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 864rem;
  }
}
@media screen and (max-width: 767px) {
  .article .sub-menu {
    padding-left: 8rem;
    padding-right: 8rem;
  }
}
.article h1 {
  margin-bottom: 56rem;
}
.article h2 {
  margin-top: 80rem;
  margin-bottom: 40rem;
}
.article h3 {
  margin-top: 64rem;
  margin-bottom: 32rem;
}
.article h4 {
  margin-top: 80rem;
  margin-bottom: 40rem;
}
.article h5 {
  margin-top: 64rem;
  margin-bottom: 32rem;
}
.article h6 {
  margin-top: 48rem;
  margin-bottom: 24rem;
}
.article .lead {
  margin-bottom: 32rem;
}
.article p, .article ol, .article ul {
  margin-bottom: 24rem;
}
.article ul {
  padding-left: 16rem;
  list-style: disc;
}
.article ol {
  padding-left: 16rem;
  list-style: decimal;
}
.article table, .article .table-wrapper {
  margin-bottom: 24rem;
}

.button, .slick-prev, .slick-next, .nearby-trips__button, .nearby-trip__button {
  position: relative;
  padding: 16rem 24rem;
  text-decoration: none;
  font-size: 16rem;
  line-height: 24rem;
  font-family: "Rubik", sans-serif;
  font-weight: bold;
  background: #0f76ef;
  border-radius: 12rem;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  color: white;
  transition: background-color 0.1s ease-in, box-shadow 0.3s;
}
.button:hover, .slick-prev:hover, .slick-next:hover, .nearby-trips__button:hover, .nearby-trip__button:hover {
  background: #0c5ebf;
}
.button:active, .slick-prev:active, .slick-next:active, .nearby-trips__button:active, .nearby-trip__button:active {
  top: 1rem;
}
.button:focus, .slick-prev:focus, .slick-next:focus, .nearby-trips__button:focus, .nearby-trip__button:focus {
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}
.button:disabled, .slick-prev:disabled, .slick-next:disabled, .nearby-trips__button:disabled, .nearby-trip__button:disabled {
  opacity: 0.25;
}
.button i, .slick-prev i, .slick-next i, .nearby-trips__button i, .nearby-trip__button i {
  position: relative;
  top: 2rem;
  display: inline-block;
  vertical-align: top;
}
.button span, .slick-prev span, .slick-next span, .nearby-trips__button span, .nearby-trip__button span {
  display: inline-block;
  vertical-align: top;
}

.control-group {
  position: relative;
  display: inline-flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .control-group {
    display: flex;
    flex-direction: column;
  }
}
.control-group .ghost {
  border-radius: 0;
}
.control-group * {
  border-radius: 0;
}
.control-group *:focus {
  z-index: 10;
}
.control-group *.button, .control-group .slick-prev, .control-group .slick-next, .control-group .nearby-trips__button, .control-group .nearby-trip__button {
  box-shadow: rgba(255, 255, 255, 0.2) 1rem 1rem 0 inset;
}
.control-group *:first-child {
  border-radius: 2rem 0 0 2rem;
}
.control-group *:last-child {
  border-radius: 0 2rem 2rem 0;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .control-group *:first-child {
    border-radius: 2rem 2rem 0 0;
  }
  .control-group *:last-child {
    border-radius: 0 0 2rem 2rem;
  }
}
.control-group_vertical {
  display: flex;
  flex-direction: column;
}
.control-group_vertical * {
  border-radius: 0;
}
.control-group_vertical *:focus {
  z-index: 10;
}
.control-group_vertical *:first-child {
  border-radius: 2rem 2rem 0 0;
}
.control-group_vertical *:last-child {
  border-radius: 0 0 2rem 2rem;
}
@media screen and (max-width: 767px) {
  .control-group_vertical * {
    width: 100%;
  }
  .control-group_vertical *:first-child {
    border-radius: 2rem 2rem 0 0;
  }
  .control-group_vertical *:last-child {
    border-radius: 0 0 2rem 2rem;
  }
}

fieldset,
.fieldset {
  border: 1rem solid;
  padding: 16rem 8rem;
}

.legend,
legend {
  font-style: italic;
  font-weight: bold;
}

.flag {
  margin-right: 16rem;
  position: relative;
}
.flag__label, .flag__check {
  cursor: pointer;
}
.flag input[type=radio],
.flag input[type=checkbox] {
  position: relative;
  opacity: 0;
  z-index: 10;
}
.flag input[type=radio]:checked ~ .flag__check:before,
.flag input[type=checkbox]:checked ~ .flag__check:before {
  opacity: 1;
}
.flag input[type=radio]:disabled,
.flag input[type=checkbox]:disabled {
  opacity: 0;
}
.flag input[type=radio]:disabled,
.flag input[type=radio]:disabled ~ .flag__label,
.flag input[type=radio]:disabled ~ .flag__check,
.flag input[type=checkbox]:disabled,
.flag input[type=checkbox]:disabled ~ .flag__label,
.flag input[type=checkbox]:disabled ~ .flag__check {
  cursor: not-allowed;
}
.flag input[type=radio]:disabled ~ .flag__label,
.flag input[type=radio]:disabled ~ .flag__check,
.flag input[type=checkbox]:disabled ~ .flag__label,
.flag input[type=checkbox]:disabled ~ .flag__check {
  opacity: 0.5;
}
.flag input[type=radio] ~ .flag__check,
.flag input[type=radio] ~ .flag__check:before {
  border-radius: 50%;
}
.flag input[type=checkbox] ~ .flag__check,
.flag input[type=checkbox] ~ .flag__check:before {
  border-radius: 2rem;
}
.flag__check {
  position: absolute;
  top: 0;
  left: 0;
  width: 16rem;
  height: 16rem;
  border: 1rem solid;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: border 0.3s, box-shadow 0.3s;
}
.flag__check:before {
  content: "";
  width: 9rem;
  height: 9rem;
  opacity: 0;
  transition: opacity 0.3s;
}
.flag__label {
  margin-left: 8rem;
}
.flag.big {
  font-size: 24rem;
  line-height: 32rem;
}
.flag.big .flag__check {
  width: 24rem;
  height: 24rem;
}
.flag.big .flag__check:before {
  width: 16rem;
  height: 16rem;
}
.flag.big .flag__label {
  margin-left: 16rem;
}
.flag.small {
  font-size: 12rem;
  line-height: 16rem;
}
.flag.small .flag__check {
  width: 10rem;
  height: 10rem;
}
.flag.small .flag__check:before {
  width: 10rem;
  height: 10rem;
}
.flag.small .flag__label {
  margin-left: 4rem;
}

.flag:hover .flag__check {
  border-color: #7f7f7f;
}
.flag__check {
  border-color: rgba(127, 127, 127, 0.5);
}
.flag__check:before {
  background-color: #0f76ef;
}
.flag input[type=radio]:focus ~ .flag__check,
.flag input[type=checkbox]:focus ~ .flag__check {
  border-color: #0f76ef;
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}
.flag input[type=radio]:checked ~ .flag__check,
.flag input[type=checkbox]:checked ~ .flag__check {
  border-color: #0f76ef;
}
.flag.small input[type=radio]:checked ~ .flag__check,
.flag.small input[type=checkbox]:checked ~ .flag__check {
  background-color: #0f76ef;
}
.flag.small input[type=radio]:checked ~ .flag__check:before,
.flag.small input[type=checkbox]:checked ~ .flag__check:before {
  opacity: 0;
}
.flag input[type=radio]:disabled ~ .flag__check,
.flag input[type=checkbox]:disabled ~ .flag__check {
  border-color: #7f7f7f;
}
.flag input[type=radio]:disabled ~ .flag__check:before,
.flag input[type=checkbox]:disabled ~ .flag__check:before {
  background-color: #7f7f7f;
}

.ghost {
  position: relative;
  padding: 7rem 15rem;
  font-size: 16rem;
  line-height: 24rem;
  font-family: "Rubik", sans-serif;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
  text-align: center;
  border: 1rem solid #0f76ef;
  color: #0f76ef;
  border-radius: 2rem;
  cursor: pointer;
  background-color: transparent;
  transition: color 0.1s ease-in, border-color 0.1s ease-in, box-shadow 0.3s;
}
.ghost:hover {
  border-color: #0c5ebf;
  color: #0c5ebf;
}
.ghost:active {
  top: 1rem;
}
.ghost:focus {
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}
.ghost.big {
  padding: 15rem 16rem;
}
.ghost.small {
  padding: 7rem 16rem;
  font-size: 12rem;
  line-height: 16rem;
}

.input {
  position: relative;
  padding: 15rem;
  font-size: 16rem;
  line-height: 24rem;
  font-family: "Rubik", sans-serif;
  font-weight: normal;
  color: #4f5967;
  text-transform: none;
  border: 1rem solid #d8e3ed;
  border-radius: 12rem;
  cursor: text;
  background-color: white;
  transition: color 0.2s ease-in, border-color 0.2s ease-in;
}
.input:hover {
  border-color: #d8e2ff;
}
.input:focus {
  border-color: #419ef3;
}
.input:disabled {
  opacity: 0.25;
}
.input::-moz-placeholder {
  color: #d8e3ed;
}
.input::placeholder {
  color: #d8e3ed;
}
.input.big {
  padding: 15rem 16rem;
}
.input.small {
  padding: 7rem 16rem;
  font-size: 12rem;
  line-height: 16rem;
}
.input.error {
  border-color: #f21f0c;
}
.input.error:hover, .input.error:active {
  border-color: #f21f0c;
}
.input.error:focus {
  border-color: rgba(242, 31, 12, 0.5);
  box-shadow: rgba(242, 31, 12, 0.25) 0 0 0 2rem;
}

.textarea {
  position: relative;
  padding: 7rem 16rem;
  font-size: 16rem;
  line-height: 24rem;
  font-family: "Rubik", sans-serif;
  font-weight: normal;
  min-height: 80rem;
  color: black;
  text-transform: none;
  border: 1rem solid #b3b3b3;
  border-radius: 2rem;
  cursor: text;
  background-color: transparent;
  transition: color 0.1s ease-in, border-color 0.1s ease-in, box-shadow 0.3s;
}
.textarea:hover {
  border-color: #0f76ef;
}
.textarea:focus {
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}
.textarea.big {
  padding: 7rem 16rem;
}
.textarea.small {
  padding: 7rem 16rem;
  font-size: 12rem;
  line-height: 16rem;
}
.textarea.error {
  border-color: #f21f0c;
}
.textarea.error:hover, .textarea.error:active {
  border-color: #f21f0c;
}
.textarea.error:focus {
  border-color: rgba(242, 31, 12, 0.5);
  box-shadow: rgba(242, 31, 12, 0.25) 0 0 0 2rem;
}

.label {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.label_landscape {
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.label_landscape .label__span {
  padding-bottom: 0;
  margin-right: 16rem;
  display: inline-block;
}
.label_landscape * {
  flex-grow: 1;
}
.label__span {
  order: 0;
  display: inline-block;
  font-size: 16rem;
  line-height: 24rem;
  padding-bottom: 4rem;
}
.label *:nth-child(1):not([class=label__span]) {
  order: 2;
}
.label input[type=text],
.label input[type=number],
.label input[type=email],
.label select,
.label .flag {
  display: block;
}
.label :required ~ .label__span {
  position: relative;
}
.label :required ~ .label__span:before {
  position: absolute;
  content: "*";
  top: -4rem;
  right: -8rem;
}

.select {
  position: relative;
  padding: 7rem 16rem;
  font-size: 16rem;
  line-height: 24rem;
  font-family: "Rubik", sans-serif;
  font-weight: normal;
  text-transform: none;
  border: 1rem solid #b3b3b3;
  border-radius: 2rem;
  cursor: pointer;
  background-color: transparent;
  transition: color 0.1s ease-in, border-color 0.1s ease-in, box-shadow 0.3s;
}
.select:hover {
  border-color: #0f76ef;
}
.select:focus {
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}
.select.big {
  padding: 15rem 16rem;
}
.select.small {
  padding: 7rem 16rem;
  font-size: 12rem;
  line-height: 16rem;
}

.taxi-link {
  display: inline-flex;
  font-size: 16rem;
  line-height: 1.5;
  font-weight: bold;
  text-decoration: none;
  color: #0e2d6c;
}
.taxi-link:before {
  content: url("/img/layout/icons/ya-taxi.svg");
  display: inline-block;
  height: 24rem;
  width: 24rem;
  margin-right: 8rem;
}

.navi-link {
  display: inline-flex;
  font-size: 16rem;
  line-height: 1.5;
  font-weight: bold;
  text-decoration: none;
  color: #0e2d6c;
}
.navi-link:before {
  content: url("/img/layout/icons/ya-navi.svg");
  display: inline-block;
  height: 24rem;
  width: 24rem;
  margin-right: 8rem;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0e2d6c;
  opacity: 0.9;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #CCC;
}
.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: white;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    transform-origin: 0;
  }
  .mfp-arrow-right {
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
.color-h {
  color: #0e2d6c;
}

.mb-4 {
  margin-bottom: 4rem;
}

.w100 {
  width: 100%;
}

h1, h2, h3, h4, h5, h6, .h1, .cover h1, .breadcrumbs__title, .breadcrumbs__span, .article h1, .h2, .vk-widget__heading, .catalogue__h2, .conditions__h2, .fleet__h2, .night-tours__h2, .prices__h2, .berths__h2, .routes__h2, .docs-block .docs__title, .article h2, .h3, .catalogue__h3, .fleet__card h3, .berths__h3, .routes__h3, .docs-block .docs__list-title, .article h3, .h4, .article h4, .h5, .catalogue__price-value, .prices__card-value, .routes__price-value, .article h5, .h6, .berths__h6, .article h6, .lead, .article .lead {
  color: #0e2d6c;
}

p, .article ul, .article ol, .p, .vk-widget__description, .catalogue__additional-info, .catalogue__conditions-list li, .catalogue__table td, .catalogue__price-description, .conditions__list-item, .fleet__card p, .night-tours__form__label, .night-tours__description, .prices__card-description, .berths__additional-info, .berths__route, .berths__description, .routes__price-description, .routes__details p, .routes__description p, .cover p, .nearby-trips__description-text, .nearby-trip__description-text, .footer__grid__developers, .footer p, .table th, .table td, .article p, .article table th, .article table td {
  color: #4f5967;
}

.breadcrumbs {
  padding: 0 1rem 0 0;
  margin-top: 0;
  margin-bottom: 0;
}
.breadcrumbs__item {
  position: relative;
  display: inline-block;
  list-style: none;
  margin-right: 16rem;
}
.breadcrumbs__item:before {
  position: absolute;
  right: -15rem;
  top: 0;
  color: #4f5967;
}
@media screen and (max-width: 767px) {
  .breadcrumbs__item {
    padding-left: 16rem;
  }
}
.breadcrumbs__link {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  color: #6E7C90;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  text-decoration: none;
}
.breadcrumbs__link:hover {
  color: #0F76EF;
}
.breadcrumbs__icon {
  flex-shrink: 0;
  width: 24rem;
  height: 24rem;
}
.breadcrumbs__span {
  margin-top: 8rem;
}
.breadcrumbs__title {
  margin: 0 0 56rem;
}

.docs-block .docs {
  max-width: 800rem;
  margin: 0 auto;
}
.docs-block .docs__title {
  margin-bottom: 40rem;
}
@media screen and (max-width: 767px) {
  .docs-block .docs__title {
    margin-bottom: 32rem;
  }
}
.docs-block .docs__lists {
  display: grid;
  grid-row-gap: 40rem;
}
@media screen and (max-width: 767px) {
  .docs-block .docs__lists {
    grid-row-gap: 32rem;
  }
}
.docs-block .docs__list-title {
  margin-bottom: 32rem;
  color: #4f5967;
}
@media screen and (max-width: 767px) {
  .docs-block .docs__list-title {
    margin-bottom: 24rem;
  }
}
.docs-block .docs__list-items {
  grid-gap: 24rem 32rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .docs-block .docs__list-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1025px) {
  .docs-block .docs__list-items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .docs-block .docs__list-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .docs-block .docs__list-items {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.docs-block .docs__list-items .doc {
  display: flex;
  text-decoration: none;
}
.docs-block .docs__list-items .doc__block {
  display: flex;
  flex-direction: column;
}
.docs-block .docs__list-items .doc__icon {
  margin-top: 4rem;
  margin-right: 8rem;
}
.docs-block .docs__list-items .doc__icon:before {
  font-size: 24rem;
  color: #0e2d6c;
  transition: 0.3s;
}
.docs-block .docs__list-items .doc__head {
  color: #0e2d6c;
  font-size: 16rem;
  line-height: 20rem;
  transition: 0.3s;
}
.docs-block .docs__list-items .doc__hint {
  margin-top: 4rem;
  font-size: 12rem;
  line-height: 16rem;
  color: #828c9a;
}
.docs-block .docs__list-items .doc:hover .doc__icon::before,
.docs-block .docs__list-items .doc:hover .doc__head {
  color: #0f76ef;
}

.footer {
  padding: 16rem 40rem;
  color: white;
  background-color: #0a2354;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .footer {
    padding: 16rem 80rem;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    padding: 16rem;
  }
}
.footer p, .footer .article ul, .article .footer ul, .footer .article ol, .article .footer ol {
  color: inherit;
}
.footer__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .footer__grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .footer__grid {
    grid-row-gap: 8rem;
  }
}
.footer__grid__developers {
  color: inherit;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .footer__grid__developers {
    justify-content: flex-start;
  }
}
.footer__logo {
  margin-right: 8rem;
}
.footer__link {
  text-decoration: none;
  color: #419ef3;
}
.footer__link:hover {
  color: #0f76ef;
}

.gallery {
  margin-bottom: 24rem;
}
.gallery__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-gap: 8rem 16rem;
}
.gallery__link {
  text-decoration: none;
  grid-column: auto/span 2;
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .gallery__link {
    grid-column: auto/span 3;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .gallery__link {
    grid-column: auto/span 4;
  }
}
@media screen and (max-width: 767px) {
  .gallery__link {
    grid-column: auto/span 12;
  }
}
.gallery__link:hover img {
  transform: scale(0.98);
}
.gallery__img {
  transition: all 0.3s;
  max-width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .header {
    padding: 16rem 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .header {
    padding: 8rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 8rem 16rem;
  }
}
.header__logo {
  display: inline-flex;
  align-items: center;
}
.header__logo__img {
  margin-right: 32rem;
  max-height: 96rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .header__logo__img {
    max-height: 88rem;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .header__logo__img {
    max-height: 64rem;
  }
}
.header #menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-grow: 1;
}
.header #menu .nav {
  flex-grow: 1;
}
@media screen and (max-width: 1024px) {
  .header #menu {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .header #menu [data-mfp-src="#contacts"] {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .header #menu > div {
    width: 100%;
  }
}
.header .menu {
  max-width: 720rem;
  margin: 0;
  padding: 0;
  text-align: left;
}
.header .menu__item {
  display: inline-block;
  margin: 4rem 24rem 4rem 0;
}
.header .menu__item:last-child {
  margin-right: 0;
}
.header .menu__span {
  color: white;
  opacity: 0.5;
}
.header .menu__link {
  text-decoration: none;
  color: white;
}
.header .menu__link:hover {
  color: #419ef3;
}
.header .menu__link:active {
  color: #0f76ef;
}
.header .link {
  color: white;
}
.header .link i {
  position: relative;
  top: 2rem;
  margin-right: 4rem;
  font-size: 24rem;
  line-height: 32rem;
}
.header .link span {
  font-family: "Rubik", sans-serif;
  font-size: 24rem;
  line-height: 32rem;
  font-weight: bold;
}
.header__dark {
  background-color: rgba(10, 35, 84, 0.89);
}

@font-face {
  font-family: "icomoon";
  src: url("/fonts/icomoon/icomoon.eot");
  src: url("/fonts/icomoon/icomoon.eot") format("embedded-opentype"), url("/fonts/icomoon/icomoon.ttf") format("truetype"), url("/fonts/icomoon/icomoon.woff") format("woff"), url("/fonts/icomoon/icomoon.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}
[class^=icon-], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-info-circle:before {
  content: "\f05a";
}

.icon-arrow-left:before {
  content: "\f060";
}

.icon-arrow-right:before {
  content: "\f061";
}

.icon-mobile1:before {
  content: "\f10b";
}

.icon-mobile-phone:before {
  content: "\f10b";
}

.icon-anchor:before {
  content: "\f13d";
}

.icon-hand-pointer-o:before {
  content: "\f25a";
}

.icon-search:before {
  content: "\f002";
}

.icon-text:before {
  content: "\f016";
}

.icon-common:before {
  content: "\f016";
}

.icon-pdf:before {
  content: "\f1c1";
}

.icon-word:before {
  content: "\f1c2";
}

.icon-excel:before {
  content: "\f1c3";
}

.icon-powerpoint:before {
  content: "\f1c4";
}

.icon-image:before {
  content: "\f1c5";
}

.icon-archive:before {
  content: "\f1c6";
}

.icon-mobile:before {
  content: "\e90c";
}

.icon-map:before {
  content: "\e90e";
}

.icon-navigation:before {
  content: "\e910";
}

.icon-taxi:before {
  content: "\e901";
}

.icon-clock:before {
  content: "\e903";
}

.icon-ok:before {
  content: "\e90b";
}

.icon-menu:before {
  content: "\e90a";
}

.icon-location:before {
  content: "\e904";
}

.icon-mail:before {
  content: "\e905";
}

.icon-phone:before {
  content: "\e906";
}

.icon-info:before {
  content: "\e914";
}

.icon-basket:before {
  content: "\e922";
}

.icon-left:before {
  content: "\e90d";
}

.icon-right:before {
  content: "\e913";
}

.icon-down:before {
  content: "\e90f";
}

.icon-up:before {
  content: "\e900";
}

.icon-share:before {
  content: "\e915";
}

.icon-dot-active:before {
  content: "\e902";
}

.icon-dot:before {
  content: "\e912";
}

.icon-close:before {
  content: "\e911";
}

.icon-plus:before {
  content: "\ea0a";
}

.icon-minus:before {
  content: "\ea0b";
}

.layout {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  height: 100%;
  background-color: #edf4ff;
  padding-top: 96rem;
}
@media screen and (max-width: 1024px) {
  .layout {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .layout__main {
    min-height: calc(100% - 41rem);
  }
  .layout > * {
    width: 100%;
  }
}
.layout__main {
  flex-grow: 1;
}

/**
 * Fade-zoom animation for first dialog
 */
/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-in-out;
  transform: scale(0.8);
}

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  transform: scale(1);
}

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
  transform: scale(0.8);
  opacity: 0;
}

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

/**
 * Fade-move animation for second dialog
 */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
  opacity: 0;
  transition: all 0.2s ease-out;
  transform: translateY(-20px) perspective(600px) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
  opacity: 1;
  transform: translateY(0) perspective(600px) rotateX(0);
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
  opacity: 0;
  transform: translateY(-10px) perspective(600px) rotateX(10deg);
}

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
  opacity: 0;
}

.mfp-content #menu {
  position: relative;
  padding-top: 48rem;
  max-width: 240rem;
  margin: auto;
}
.mfp-content #menu .nav {
  width: 100%;
}
.mfp-content #menu .nav .menu {
  margin: 0;
  padding-left: 0;
}
.mfp-content #menu .nav .menu__item {
  list-style-type: none;
  padding: 0;
  margin-bottom: 16rem;
}
.mfp-content #menu .nav .menu__span {
  font-weight: bold;
  text-transform: uppercase;
  color: #0f76ef;
}
.mfp-content #menu .nav .menu__link {
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  color: white;
}
.mfp-content #menu .nav .menu__link:hover {
  color: #0f76ef;
}
.mfp-content #menu .ghost {
  border-color: white;
  color: white;
}
.mfp-content #menu .ghost:hover {
  border-color: white;
  color: white;
}
.mfp-content #menu .ghost:focus {
  box-shadow: rgba(255, 255, 255, 0.25) 0 0 0 2rem;
}
@media screen and (max-width: 1024px) {
  .mfp-content #menu .ghost {
    width: 100%;
  }
}

.mfp-close {
  font-size: 16rem;
  height: 32rem;
  width: 32rem;
  opacity: 1;
}
.mfp-close:hover {
  opacity: 0.65;
}

.modal {
  padding-top: 32rem;
  padding-bottom: 32rem;
  position: relative;
  max-width: 480rem;
  margin: auto;
}
.modal h2, .modal h3 {
  margin-top: 0;
}
.modal__content {
  padding: 48rem;
  background-color: white;
  border-radius: 8rem;
}
@media screen and (max-width: 767px) {
  .modal__content {
    padding: 24rem 16rem;
  }
}
.modal_contacts__grid {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .modal_contacts__grid {
    grid-column-gap: 64rem;
  }
}
@media screen and (min-width: 1025px) {
  .modal_contacts__grid {
    grid-column-gap: 64rem;
  }
}
@media screen and (max-width: 767px) {
  .modal_contacts__grid {
    grid-row-gap: 32rem;
  }
}

#mobile-call {
  width: 50rem;
  height: 50rem;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  position: fixed;
  bottom: 16rem;
  right: 16rem;
  font-size: 24rem;
  z-index: 10000;
  border-radius: 50%;
  background-color: #0f76ef;
  color: white;
  box-shadow: rgba(15, 118, 239, 0.25) 0 5rem 9rem;
  animation: pulse 1s ease-in-out infinite;
  -webkit-animation: pulse 3s ease-in-out infinite;
  display: none;
}
@media screen and (max-width: 767px) {
  #mobile-call {
    display: inline-flex;
  }
}

@keyframes pulse {
  0% {
    transform: scale(0.9);
    box-shadow: rgba(15, 118, 239, 0.3) 0 5rem 9rem;
  }
  50% {
    transform: scale(1);
    box-shadow: rgba(15, 118, 239, 0.3) 0 3rem 10rem 2rem;
  }
  100% {
    transform: scale(0.9);
    box-shadow: rgba(15, 118, 239, 0.3) 0 5rem 9rem;
  }
}
.nearby-trip {
  display: flex;
  flex-direction: column;
  gap: 40rem;
  padding: 80rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .nearby-trip {
    padding: 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trip {
    padding: 80rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trip {
    padding: 48rem 16rem;
    gap: 32rem;
  }
}
.nearby-trip__content {
  display: flex;
  gap: 32rem;
}
@media screen and (max-width: 1024px) {
  .nearby-trip__content {
    flex-direction: column;
    gap: 16rem;
  }
}
.nearby-trip__breadcrumbs-link {
  text-decoration: none;
}
.nearby-trip__header {
  font-size: 48rem;
  line-height: 64rem;
  font-weight: 700;
  color: #0e2d6c;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .nearby-trip__header {
    font-size: 32rem;
    line-height: 40rem;
  }
}
.nearby-trip__description-text {
  font-weight: 400;
  color: #4f5967;
  margin-top: 16rem;
}
@media screen and (max-width: 1024px) {
  .nearby-trip__description-text {
    margin-top: 0;
  }
}
.nearby-trip__button-wrapper {
  margin-top: 24rem;
}
@media screen and (max-width: 767px) {
  .nearby-trip__button {
    width: 100%;
  }
}
.nearby-trip__button:hover {
  background: #419ef3;
  color: #fff;
}
.nearby-trip__button:active {
  background: #0e60d3;
  color: #fff;
}
.nearby-trip__schedule {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trip__schedule {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .nearby-trip__schedule {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8rem;
  }
}
.nearby-trip__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 8rem;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .nearby-trip__item {
    border-radius: 4rem;
  }
}
.nearby-trip__berth-name {
  background-color: #0e2d6c;
  color: #fff;
  padding: 16rem;
  width: 100%;
  font-size: 16rem;
  line-height: 24rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .nearby-trip__berth-name {
    font-size: 12rem;
    line-height: 16rem;
    padding: 8rem;
  }
}

.nearby-trips {
  display: flex;
  flex-direction: column;
  gap: 26rem;
  padding: 80rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .nearby-trips {
    padding: 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips {
    padding: 80rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips {
    padding: 48rem 0;
    gap: 28rem;
  }
}
.nearby-trips__header {
  display: flex;
  flex-direction: column;
  gap: 10rem;
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .nearby-trips__header {
    gap: 24rem;
  }
}
.nearby-trips__header-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 32rem;
  align-items: flex-start;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__header-row {
    gap: 70rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__header-row {
    flex-direction: column;
    gap: 16rem;
    padding-left: 16rem;
  }
}
.nearby-trips__header .breadcrumbs {
  padding: 0;
  margin: 0;
}
.nearby-trips__header-title {
  flex: 0 1 40%;
  min-width: 0;
  margin: 0;
  color: #0e2d6c;
  font-family: Rubik, sans-serif;
  font-size: 48rem;
  font-style: normal;
  font-weight: 700;
  line-height: 64rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__header-title {
    font-size: 42rem;
    line-height: 50rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__header-title {
    font-size: 32rem;
    line-height: 40rem;
  }
}
.nearby-trips__header-notice {
  flex: 0 1 60%;
  min-width: 0;
  align-self: center;
  margin: 0;
  color: #4f5967;
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
}
.nearby-trips__header-notice a {
  color: #0f76ef;
  font-style: bold;
  font-weight: 600;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .nearby-trips__header-notice {
    font-size: 14rem;
    line-height: 22rem;
  }
}
.nearby-trips__max-bot {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  width: 125rem;
  height: 136rem;
  align-items: center;
  gap: 4rem;
  padding: 12rem 8rem 8rem;
  color: #0066FF;
  background: #FFFFFF;
  border-radius: 12rem;
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .nearby-trips__max-bot {
    align-self: stretch;
    width: auto;
    height: auto;
    margin-right: 16rem;
    padding: 8rem 24rem;
  }
}
.nearby-trips__max-bot-qr {
  display: block;
  width: 88rem;
  height: 88rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__max-bot-qr {
    display: none;
  }
}
.nearby-trips__max-bot-label {
  display: flex;
  align-items: center;
  gap: 4rem;
  color: inherit;
}
.nearby-trips__max-bot-icon {
  flex: 0 0 auto;
  width: 16rem;
  height: 16rem;
}
.nearby-trips__max-bot-text_mobile {
  display: none;
}
@media screen and (max-width: 767px) {
  .nearby-trips__max-bot-text_desktop {
    display: none;
  }
  .nearby-trips__max-bot-text_mobile {
    display: inline;
  }
}
.nearby-trips__board-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-wrapper {
    gap: 16rem;
  }
}
.nearby-trips__date-switcher {
  display: flex;
  align-items: center;
  gap: 24rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__date-switcher {
    padding-left: 16rem;
    gap: 16rem;
  }
}
.nearby-trips__date-switch {
  border: 0;
  padding: 0 0 6rem;
  font-family: Rubik, sans-serif;
  font-size: 18rem;
  font-weight: 600;
  color: #6E7C90;
  background-color: #EDF4FF;
  cursor: pointer;
  position: relative;
  border-bottom: 3rem solid transparent;
  transition: color 0.2s, font-weight 0.2s, border-color 0.2s;
}
.nearby-trips__date-switch:hover {
  color: #4296f5;
}
.nearby-trips__date-switch_active {
  color: #0F76EF;
  border-bottom-color: #0F76EF;
}
@media screen and (max-width: 767px) {
  .nearby-trips__date-switch {
    font-size: 16rem;
    padding-bottom: 4rem;
  }
}
.nearby-trips__content {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 32rem;
}
@media screen and (max-width: 1024px) {
  .nearby-trips__content {
    grid-template-columns: none;
    grid-template-rows: repeat(2, auto);
    gap: 16rem;
  }
}
.nearby-trips__title {
  width: 499rem;
  font-size: 48rem;
  line-height: 64rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .nearby-trips__title {
    width: auto;
    font-size: 32rem;
    line-height: 40rem;
  }
}
.nearby-trips__description-text {
  font-weight: 400;
  margin-top: 16rem;
}
.nearby-trips__button {
  margin-top: 24rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__button {
    margin-top: 16rem;
    width: 100%;
  }
}
.nearby-trips__button:hover {
  background: #419ef3;
  color: #fff;
}
.nearby-trips__button:active {
  background: #0e60d3;
  color: #fff;
}
.nearby-trips__board {
  display: flex;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: space-between;
  gap: 24rem;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board {
    gap: 24rem;
  }
}
.nearby-trips__item {
  display: flex;
  flex: 0 0 calc(50% - 20rem);
  flex-direction: column;
  align-items: flex-start;
  border-radius: 8rem;
  overflow: hidden;
  background-color: #fff;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__item {
    flex: 0 0 100%;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__item {
    border-radius: 4rem;
    flex: 0 0 100%;
  }
}
.nearby-trips_single-berth .nearby-trips__board {
  width: 100%;
}
.nearby-trips_single-berth .nearby-trips__item {
  flex: 1 1 100%;
  max-width: 100%;
}
.nearby-trips__berth-name {
  background-color: #0E2D6C;
  color: #fff;
  padding: 20rem 24rem;
  width: 100%;
  text-decoration: underline;
  text-transform: uppercase;
  font-size: 18rem;
  line-height: 24rem;
  font-weight: 700;
  border-radius: 8rem 8rem 0 0;
}
@media screen and (max-width: 767px) {
  .nearby-trips__berth-name {
    font-size: 13rem;
    line-height: 18rem;
    padding: 14rem 16rem;
    border-radius: 0;
    text-align: center;
  }
}
.nearby-trips__board-body {
  flex: 1;
  min-height: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 24rem 24rem 20rem;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-body {
    padding: 16rem 16rem 12rem;
  }
}
.nearby-trips__board-hour:not(:first-child) {
  margin-top: 28rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-hour:not(:first-child) {
    margin-top: 20rem;
  }
}
.nearby-trips__board-empty {
  padding: 24rem 24rem;
  width: 100%;
  font-size: 16rem;
  line-height: 24rem;
  color: #666;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-empty {
    padding: 16rem 16rem;
    font-size: 14rem;
    line-height: 20rem;
  }
}
.nearby-trips__board-trip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16rem;
  padding: 10rem 0;
  min-height: 44rem;
  background-color: #fff;
  width: 100%;
}
.nearby-trips__board-trip_has-line {
  border-bottom: 1rem solid #f0f4f8;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-trip {
    flex-direction: row;
    justify-content: space-between;
    gap: 8rem;
    padding: 12rem 0;
    min-height: auto;
  }
}
.nearby-trips__board-trip-info {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 16rem;
  min-width: 0;
  flex: 1;
  margin: 0;
  padding: 0;
  background: transparent;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-trip-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 4rem;
    min-width: 0;
  }
}
.nearby-trips__board-trip-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 24rem;
  flex-shrink: 0;
  margin-left: auto;
  padding: 0;
  background: transparent;
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-trip-actions {
    flex-direction: column;
    align-items: flex-end;
    margin-left: 0;
    gap: 4rem;
    flex-shrink: 0;
  }
}
.nearby-trips__board-time {
  color: #4F5967;
  font-feature-settings: "ss01" on, "liga" off;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__board-time {
    font-size: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-time {
    font-size: 14rem;
    line-height: 20rem;
    width: auto;
    order: 2;
  }
}
.nearby-trips__board-route {
  color: #2C4F94;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24rem;
  word-wrap: break-word;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__board-route {
    font-size: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-route {
    font-size: 14rem;
    line-height: 20rem;
    font-weight: 600;
    order: 1;
  }
}
.nearby-trips__board-seats {
  display: inline-flex;
  align-items: center;
  padding: 2rem 6rem;
  border-radius: 6rem;
  border: 1rem solid #C0D0FF;
  color: #419EF3;
  font-family: Rubik;
  font-size: 14rem;
  line-height: 20rem;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__board-seats {
    font-size: 18rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-seats {
    font-size: 12rem;
    padding: 1rem 6rem;
    order: 2;
  }
}
.nearby-trips__board-seats_empty {
  border: 1rem solid #EF0F0F;
  color: #EF0F0F;
}
.nearby-trips__board-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 194rem;
  padding: 8rem 12rem;
  border-radius: 12rem;
  background-color: #0F76EF;
  color: #FFF;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 600;
  line-height: 24rem; /* 150% */
  white-space: nowrap;
  cursor: default;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .nearby-trips__board-btn {
    min-width: 240rem;
    font-size: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .nearby-trips__board-btn {
    min-width: 150rem;
    padding: 6rem;
    font-size: 13rem;
    border-radius: 8rem;
    order: 1;
  }
}
.nearby-trips__board-btn:not([href]) {
  background: #93ABC7;
  cursor: default;
  pointer-events: none;
}
.nearby-trips__board-btn[href] {
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.nearby-trips__board-btn[href]:hover {
  background-color: #3F9CFF;
  color: #FFF;
}
.nearby-trips__board-btn_cash {
  background-color: #5b6678;
  cursor: default;
  pointer-events: none;
}
.nearby-trips__board-btn_hidden {
  visibility: hidden;
  pointer-events: none;
}
.nearby-trips__loading {
  margin-top: 40rem;
  padding: 24rem 16rem;
  text-align: center;
  color: #666;
  font-size: 16rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__loading {
    margin-top: 32rem;
  }
}
.nearby-trips__error {
  margin-top: 40rem;
  padding: 16rem 24rem;
  text-align: center;
  background: rgba(220, 53, 69, 0.1);
  border: 1rem solid rgba(220, 53, 69, 0.3);
  border-radius: 12rem;
  color: #0E2D6C;
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__error {
    margin-top: 32rem;
    padding: 12rem 16rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}
.nearby-trips__error_flash {
  margin-top: 0;
  text-align: left;
}
.nearby-trips__pending-orders {
  display: flex;
  flex-direction: column;
  gap: 12rem;
}
@media screen and (max-width: 767px) {
  .nearby-trips__pending-orders {
    gap: 10rem;
  }
}
.nearby-trips__pending-order {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12rem 24rem;
  padding: 20rem 24rem;
  border-radius: 12rem;
  background-color: #fff4e5;
  border: 1rem solid #f5c26b;
  color: #0e2d6c;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .nearby-trips__pending-order {
    margin: 0 16rem;
    padding: 16rem;
  }
}
.nearby-trips__pending-order:hover {
  background-color: #ffecd1;
  border-color: #e8a83a;
  color: #0e2d6c;
  text-decoration: none;
}
.nearby-trips__pending-order_paid {
  background-color: #eaf8ef;
  border-color: #8fd4a8;
}
.nearby-trips__pending-order_paid:hover {
  background-color: #dcf3e4;
  border-color: #5fc286;
}
.nearby-trips__pending-order-label {
  font-family: Rubik, sans-serif;
  font-size: 18rem;
  font-weight: 600;
  line-height: 1.35;
}
@media screen and (max-width: 767px) {
  .nearby-trips__pending-order-label {
    font-size: 16rem;
  }
}
.nearby-trips__pending-order-action {
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.35;
  color: #1a6fd4;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .nearby-trips__pending-order-action {
    font-size: 15rem;
  }
}

.slick-prev, .slick-next {
  width: 56rem;
  height: 56rem;
  padding: 18rem 16rem 14rem;
  border-radius: 28rem;
}

.sub-menu {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 48rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sub-menu {
    margin-left: -32rem !important;
    margin-right: -32rem !important;
    width: calc(100% + 64rem);
  }
}
@media screen and (max-width: 767px) {
  .sub-menu {
    margin-left: -8rem !important;
    margin-right: -8rem !important;
    width: calc(100% + 16rem);
  }
}
@media screen and (max-width: 1024px) {
  .sub-menu {
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}
.sub-menu__item {
  list-style-type: none;
  margin-right: 24rem;
}
@media screen and (max-width: 1024px) {
  .sub-menu__item {
    margin-bottom: 0;
  }
  .sub-menu__item:last-child {
    padding-right: 8rem;
  }
}
.sub-menu__item:last-child {
  margin-right: 0;
}
.sub-menu__span, .sub-menu__link {
  position: relative;
}
@media screen and (max-width: 1024px) {
  .sub-menu__span, .sub-menu__link {
    white-space: nowrap;
  }
}
.sub-menu__span {
  color: #0e2d6c;
}
.sub-menu__link {
  transition: all 0.3s;
  color: #0f76ef;
  text-decoration: none;
}
.sub-menu__link:hover {
  color: #569ff4;
}

.helpful-info__plug {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}

.video__wrapper {
  display: inline-block;
  position: relative;
}
.video__wrapper:hover .video__button-shape {
  fill: #ff0000;
  fill-opacity: 1;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .video__preview {
    max-width: none;
    width: 100%;
  }
}
.video__button {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  padding: 0;
  width: 68rem;
  height: 48rem;
  border: none;
  background-color: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.video__button-shape {
  fill: #212121;
  fill-opacity: 0.8;
}
.video__button-icon {
  fill: #ffffff;
}
.video__button:focus {
  outline: none;
}
.video__button:hover .video__button-shape, .video__button:focus .video__button-shape {
  fill: #ff0000;
  fill-opacity: 1;
}

.embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.embed-responsive::before {
  display: block;
  content: "";
}

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.embed-responsive-21by9::before {
  padding-top: 42.85714%;
}

.embed-responsive-16by9::before {
  padding-top: 56.25%;
}

.embed-responsive-4by3::before {
  padding-top: 75%;
}

.embed-responsive-1by1::before {
  padding-top: 100%;
}

.layout__main .cover:first-child {
  margin-top: -96rem;
}

.cover {
  position: relative;
  padding: 176rem 256rem 160rem;
  color: white;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover {
    padding: 168rem 80rem 160rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover {
    padding: 120rem 0 80rem;
  }
}
@media screen and (max-width: 767px) {
  .cover {
    padding: 96rem 0 56rem;
  }
}
.cover__background {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 1427rem;
  height: 100%;
  border-bottom-right-radius: 40rem;
  background-color: #0a2354;
  overflow: hidden;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__background {
    width: 1080rem;
  }
}
@media screen and (max-width: 1024px) {
  .cover__background {
    width: 100%;
    border-bottom-left-radius: 20rem;
    border-bottom-right-radius: 20rem;
  }
}
.cover__decor-line-1 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 478rem;
  height: 244rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__decor-line-1 {
    width: 318rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__decor-line-1 {
    transform: scaleX(-1);
    width: 476rem;
    height: 242rem;
    left: initial;
    right: -162rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__decor-line-1 {
    display: none;
  }
}
.cover__decor-line-2 {
  position: absolute;
  top: 0;
  right: 8rem;
  width: 280rem;
  height: 52rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__decor-line-2 {
    right: initial;
    left: 160rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__decor-line-2 {
    display: none;
  }
}
.cover__decor-wave-1 {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 685rem;
  height: 192rem;
  opacity: 0.05;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__decor-wave-1 {
    width: 565rem;
    height: 200rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__decor-wave-1 {
    width: 685rem;
    left: initial;
    right: -136rem;
    transform: scaleX(-1);
  }
}
@media screen and (max-width: 767px) {
  .cover__decor-wave-1 {
    width: 486rem;
    height: 136rem;
    left: -143rem;
  }
}
.cover__decor-wave-2 {
  position: absolute;
  top: 0;
  right: 0;
  width: 453rem;
  height: 82rem;
  opacity: 0.05;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__decor-wave-2 {
    right: initial;
    left: 140rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__decor-wave-2 {
    display: none;
  }
}
.cover__decor-wave-3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 442rem;
  height: 194rem;
  opacity: 0.05;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__decor-wave-3 {
    width: 282rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__decor-wave-3 {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .cover__decor-wave-3 {
    width: 302rem;
    height: 169rem;
    left: -82rem;
  }
}
.cover__content {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-column-gap: 32rem;
}
.cover__text {
  position: relative;
  grid-column: auto/span 5;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__text {
    grid-column: auto/span 6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__text {
    grid-column: auto/span 12;
    padding: 0 40rem 0;
  }
}
@media screen and (max-width: 767px) {
  .cover__text {
    grid-column: auto/span 12;
    padding: 0 16rem 0;
  }
}
.cover__slider-wrapper {
  grid-column: auto/span 7;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__slider-wrapper {
    grid-column: auto/span 6;
  }
}
@media screen and (max-width: 1024px) {
  .cover__slider-wrapper {
    grid-column: auto/span 12;
  }
}
.cover__slider {
  position: relative;
}
.cover__slider img {
  max-width: 100%;
  border-radius: 20rem;
}
@media screen and (max-width: 1024px) {
  .cover__slider img {
    border-radius: 0;
  }
}
.cover__slider .slick-prev,
.cover__slider .slick-next {
  position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -28rem;
}
@media screen and (max-width: 767px) {
  .cover__slider .slick-prev,
.cover__slider .slick-next {
    bottom: -48rem !important;
  }
}
.cover__slider .slick-prev {
  left: -28rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__slider .slick-prev {
    left: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__slider .slick-prev {
    left: 8rem;
  }
}
.cover__slider .slick-next {
  right: -28rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__slider .slick-next {
    right: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__slider .slick-next {
    right: 8rem;
  }
}
.cover__video-wrapper {
  grid-column: auto/span 7;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__video-wrapper {
    grid-column: auto/span 6;
  }
}
@media screen and (max-width: 1024px) {
  .cover__video-wrapper {
    grid-column: auto/span 12;
  }
}
.cover__video {
  width: 100%;
  height: 520rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .cover__video {
    height: 440rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__video {
    height: 320rem;
  }
}
.cover h1 {
  margin-bottom: 24rem;
  color: inherit;
}
.cover p, .cover .article ul, .article .cover ul, .cover .article ol, .article .cover ol {
  color: inherit;
  margin-bottom: 24rem;
}
.cover p:last-of-type, .cover .article ul:last-of-type, .article .cover ul:last-of-type, .cover .article ol:last-of-type, .article .cover ol:last-of-type {
  margin-bottom: 0;
}
.cover__button-wrapper {
  margin-top: 40rem;
}
@media screen and (max-width: 767px) {
  .cover__button-wrapper .button, .cover__button-wrapper .nearby-trip__button, .cover__button-wrapper .nearby-trips__button, .cover__button-wrapper .slick-prev, .cover__button-wrapper .slick-next {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .cover__slider-wrapper, .cover__video-wrapper {
    margin-left: -40rem;
    margin-right: -40rem;
    margin-bottom: 24rem;
  }
}
@media screen and (max-width: 767px) {
  .cover__slider-wrapper, .cover__video-wrapper {
    margin-left: -16rem;
    margin-right: -16rem;
    margin-bottom: 24rem;
  }
}

.routes {
  margin: 80rem 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes {
    margin: 64rem 0;
  }
}
@media screen and (max-width: 767px) {
  .routes {
    margin: 40rem 0;
  }
}
.routes__h2 {
  text-align: center;
  margin-bottom: 24rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes__h2 {
    text-align: left;
    padding: 0 40rem;
  }
}
@media screen and (max-width: 767px) {
  .routes__h2 {
    text-align: left;
    padding: 0 16rem;
  }
}
.routes__h3 {
  margin-bottom: 24rem;
  margin-right: 124rem;
  padding: 0 48rem;
  color: #2c4f94;
}
@media screen and (max-width: 767px) {
  .routes__h3 {
    margin-right: 88rem;
    padding: 0 16rem;
  }
}
.routes__tabs-titles {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 32rem;
}
@media screen and (max-width: 1024px) {
  .routes__tabs-titles {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes__tabs-titles {
    padding-left: 40rem;
    padding-right: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .routes__tabs-titles {
    padding-left: 16rem;
    padding-right: 16rem;
    margin-bottom: 8rem;
  }
}
.routes__tab {
  position: relative;
}
.routes__phone-icons {
  display: flex;
  justify-content: center;
  margin-bottom: 24rem;
}
@media screen and (min-width: 1025px) {
  .routes__phone-icons {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes__phone-icons {
    display: none;
  }
}
.routes__phone-icon {
  font-size: 24rem;
  line-height: 24rem;
  margin-right: 24rem;
  color: #2c4f94;
}
.routes__phone-icon-slide-left {
  animation: slide-left 1s ease-in-out infinite alternate both;
}
.routes__phone-icon-blink {
  animation: blink 1s ease-in-out infinite alternate both;
}
.routes__phone-icon-slide-right {
  animation: slide-right 1s ease-in-out infinite alternate both;
}
.routes__phone-icon:last-child {
  margin-right: 0;
}
.routes__data {
  position: relative;
  z-index: 2;
  width: 704rem;
  padding: 40rem 0;
  border-radius: 0 20rem 20rem 0;
  background: white;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .routes__data {
    width: 667rem;
  }
}
@media screen and (max-width: 1024px) {
  .routes__data {
    width: auto;
    border-radius: 20rem;
  }
}
.routes__description {
  padding: 0 48rem;
}
@media screen and (max-width: 767px) {
  .routes__description {
    padding: 0 16rem;
  }
}
.routes__description p, .routes__description .article ul, .article .routes__description ul, .routes__description .article ol, .article .routes__description ol {
  margin-bottom: 24rem;
}
.routes__description p:last-child, .routes__description .article ul:last-child, .article .routes__description ul:last-child, .routes__description .article ol:last-child, .article .routes__description ol:last-child {
  margin-bottom: 0;
}
.routes__sights {
  padding-top: 40rem;
}
.routes__sights-card {
  position: relative;
  text-align: center;
}
.routes__sights-card:before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  width: 1px;
  height: 100%;
  background-color: white;
}
.routes__sights-card-image {
  max-width: 100%;
}
.routes__sights-card-title {
  padding: 8rem;
}
.routes__cards {
  padding: 40rem 48rem 0;
}
@media screen and (max-width: 767px) {
  .routes__cards {
    padding: 32rem 16rem 0;
  }
}
.routes__details {
  padding: 16rem;
  border-radius: 12rem;
  background-color: #edf4ff;
}
.routes__details-marked {
  font-weight: bold;
  color: #2c4f94;
}
.routes__prices {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-gap: 16rem;
  margin-top: 24rem;
}
@media screen and (max-width: 767px) {
  .routes__prices {
    grid-gap: 8rem;
    margin-top: 16rem;
  }
}
.routes__price {
  grid-column: auto/span 4;
  padding: 16rem;
  border-radius: 12rem;
  background-color: #edf4ff;
}
@media screen and (max-width: 767px) {
  .routes__price {
    grid-column: auto/span 6;
  }
}
.routes__price-value {
  color: #0f76ef;
}
.routes__price-description {
  color: #4f5967;
}
.routes__button-wrapper {
  padding: 40rem 48rem 0;
}
@media screen and (max-width: 767px) {
  .routes__button-wrapper {
    padding: 40rem 16rem 0;
  }
  .routes__button-wrapper .button, .routes__button-wrapper .nearby-trip__button, .routes__button-wrapper .nearby-trips__button, .routes__button-wrapper .slick-prev, .routes__button-wrapper .slick-next {
    display: block;
  }
}
.routes__map {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 1236rem;
  height: 100%;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .routes__map {
    width: 719rem;
  }
}
@media screen and (max-width: 1024px) {
  .routes__map {
    position: relative;
    width: auto;
    height: 400rem;
  }
}
.routes__map iframe {
  width: 100%;
  height: 100%;
}
.routes .slick-prev, .routes .slick-next {
  position: absolute;
  top: -84rem !important;
}
@media screen and (max-width: 767px) {
  .routes .slick-prev, .routes .slick-next {
    top: -68rem !important;
    width: 40rem;
    height: 40rem;
    padding: 12rem;
    font-size: 12rem;
    line-height: 16rem;
  }
}
.routes .slick-prev {
  right: 100rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes .slick-prev {
    right: 100rem;
  }
}
@media screen and (max-width: 767px) {
  .routes .slick-prev {
    right: 60rem;
  }
}
.routes .slick-next {
  right: 40rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .routes .slick-next {
    right: 40rem;
  }
}
@media screen and (max-width: 767px) {
  .routes .slick-next {
    right: 16rem;
  }
}

@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-16rem);
  }
}
@keyframes slide-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(16rem);
  }
}
@keyframes blink {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.5;
  }
}
.berths {
  margin: 80rem 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .berths {
    margin: 64rem 0;
  }
}
@media screen and (max-width: 767px) {
  .berths {
    margin: 48rem 0;
  }
}
.berths__h2 {
  text-align: center;
  margin-bottom: 40rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .berths__h2 {
    padding: 0 40rem;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .berths__h2 {
    margin-bottom: 32rem;
    padding: 0 16rem;
    text-align: left;
  }
}
.berths__h3 {
  margin-bottom: 8rem;
  color: #2c4f94;
}
.berths__h6 {
  margin-top: 24rem;
  margin-bottom: 8rem;
  color: #0e2d6c;
}
.berths__berth {
  padding-top: 40rem;
  margin-bottom: 40rem;
  border-top: 1rem solid #d8e3ed;
}
.berths__berth:first-child {
  padding-top: 0;
  border-top: none;
}
.berths__description {
  margin-bottom: 24rem;
}
.berths__content {
  position: relative;
}
.berths__data {
  position: relative;
  z-index: 2;
  width: 704rem;
  padding: 40rem 48rem;
  border-radius: 0 20rem 20rem 0;
  background: white;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .berths__data {
    width: 667rem;
  }
}
@media screen and (max-width: 1024px) {
  .berths__data {
    width: auto;
    border-radius: 20rem;
  }
}
@media screen and (max-width: 767px) {
  .berths__data {
    padding: 40rem 16rem;
  }
}
.berths__routes {
  display: flex;
  flex-wrap: wrap;
}
.berths__route {
  margin-top: 8rem;
  margin-right: 20rem;
  text-wrap: none;
}
.berths__route-icon {
  display: inline-block;
  position: relative;
  top: 1rem;
  margin-right: 4rem;
  color: #2c4f94;
}
.berths__route-link {
  text-decoration: none;
  font-weight: bold;
}
.berths__ya-services-links-wrapper {
  display: flex;
  margin-top: 32rem;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .berths__ya-services-links-wrapper {
    flex-direction: column;
  }
}
.berths__ya-services-links-wrapper .navi-link {
  margin-left: 24rem;
}
@media screen and (min-width: 1025px) {
  .berths__ya-services-links-wrapper .navi-link {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .berths__ya-services-links-wrapper .navi-link {
    margin-left: 0;
    margin-top: 16rem;
  }
}
.berths__additional-info {
  margin-top: 48rem;
  padding: 16rem;
  border-radius: 12rem;
  color: #0e2d6c;
  background-color: #d8e2ff;
}
.berths__additional-info .icon-info-circle {
  margin-right: 8rem;
  vertical-align: middle;
  font-size: 20rem;
  color: #0f76ef;
}
.berths__button-wrapper {
  margin-top: 48rem;
}
@media screen and (max-width: 767px) {
  .berths__button-wrapper .button, .berths__button-wrapper .nearby-trip__button, .berths__button-wrapper .nearby-trips__button, .berths__button-wrapper .slick-prev, .berths__button-wrapper .slick-next {
    display: block;
  }
}
.berths__map {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 1236rem;
  height: 100%;
  background-image: url("https://via.placeholder.com/1236x880?text=Карта");
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .berths__map {
    width: 719rem;
  }
}
@media screen and (max-width: 1024px) {
  .berths__map {
    position: relative;
    width: auto;
    height: 400rem;
  }
}
.berths__map iframe {
  width: 100%;
  height: 100%;
}

.schedule-countdown-timer {
  display: inline-block;
  min-width: 5ch;
  font-variant-numeric: tabular-nums;
  text-align: center;
  vertical-align: baseline;
}

.schedule-max-bot {
  display: flex;
  align-items: center;
  gap: 24rem;
  align-self: stretch;
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .schedule-max-bot {
    gap: 12rem;
  }
}

.schedule-max-bot__qr {
  display: block;
  flex: 0 0 auto;
  width: 88rem;
  height: 88rem;
}
@media screen and (max-width: 767px) {
  .schedule-max-bot__qr {
    width: 64rem;
    height: 64rem;
  }
}

.schedule-max-bot__link {
  display: block;
  min-width: 0;
  color: #0066FF;
  font-family: Rubik, sans-serif;
  font-size: 18rem;
  font-weight: 500;
  line-height: 24rem;
  text-decoration: none;
}
.schedule-max-bot__link:hover {
  color: #0052CC;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .schedule-max-bot__link {
    font-size: 14rem;
    line-height: 20rem;
  }
}

.schedule-booking {
  background-color: #e8f4f8;
  align-items: center;
}
.schedule-booking .nearby-trips__header {
  width: 512rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .schedule-booking .nearby-trips__header {
    width: 100%;
  }
}

.schedule-booking__header-title {
  width: 100%;
  color: #0E2D6C;
  font-family: "Rubik", sans-serif;
  font-size: 48rem;
  font-weight: 700;
  line-height: 64rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__header-title {
    font-size: 28rem;
    line-height: 36rem;
    color: #1a1a1a;
  }
}

.schedule-booking__success {
  margin-bottom: 24rem;
  padding: 16rem 24rem;
  background: rgba(15, 118, 239, 0.12);
  border-radius: 12rem;
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__success {
    padding: 20rem;
    border-radius: 14rem;
    margin-bottom: 24rem;
  }
}

.schedule-booking__errors {
  margin-bottom: 16rem;
  padding: 16rem 24rem;
  background: rgba(220, 53, 69, 0.1);
  border: 1rem solid rgba(220, 53, 69, 0.3);
  border-radius: 12rem;
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}
.schedule-booking__errors_hidden {
  display: none;
}
@media screen and (max-width: 767px) {
  .schedule-booking__errors {
    padding: 20rem;
    border-radius: 14rem;
    margin-bottom: 20rem;
  }
}

.schedule-booking__errors-list {
  margin: 0;
  padding-left: 20rem;
  list-style: disc;
}

.schedule-booking__notice {
  margin-bottom: 16rem;
  padding: 16rem 24rem;
  background: rgba(15, 118, 239, 0.08);
  border: 1rem solid rgba(15, 118, 239, 0.2);
  border-radius: 12rem;
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}
.schedule-booking__notice_pending {
  margin-bottom: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.schedule-booking__notice_hidden {
  display: none;
}

.schedule-booking__notice-line {
  margin: 0;
}

.schedule-booking__notice-line_secondary {
  color: #4F5967;
  font-size: 14rem;
  line-height: 20rem;
}

.schedule-booking__content {
  display: flex;
  width: 512rem;
  flex-direction: column;
  align-items: stretch;
  gap: 16rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__content {
    width: 100%;
    gap: 24rem;
  }
}

.schedule-booking__card {
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 16rem;
  background: #fff;
  border-radius: 16rem;
  padding: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__card {
    padding: 24rem 16rem;
  }
}

.schedule-booking__trip-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8rem;
}

.schedule-booking__trip-name {
  align-self: stretch;
  color: #0E2D6C;
  font-family: Rubik;
  font-size: 24rem;
  font-weight: 500;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__trip-name {
    font-size: 20rem;
    line-height: 28rem;
    font-weight: 600;
    color: #1a1a1a;
  }
}

.schedule-booking__seats {
  display: inline-flex;
  align-items: center;
  padding: 2rem 6rem;
  border-radius: 6rem;
  border: 1rem solid #C0D0FF;
  color: #419EF3;
  font-family: Rubik, sans-serif;
  font-size: 14rem;
  line-height: 20rem;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .schedule-booking__seats {
    font-size: 14rem;
    padding: 6rem 12rem;
  }
}
.schedule-booking__seats_empty {
  border: 1rem solid #EF0F0F;
  color: #EF0F0F;
}

.schedule-booking__trip-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24rem;
  align-self: stretch;
}

.schedule-booking__trip-meta-item {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.schedule-booking__label {
  align-self: stretch;
  color: #6E7C90;
  font-family: Rubik;
  font-size: 12rem;
  font-style: normal;
  font-weight: 400;
  line-height: 16rem;
}

.schedule-booking__value {
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24rem;
}

.schedule-booking__trip-about {
  display: flex;
  padding: 12rem 16rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  align-self: stretch;
  border-radius: 12rem;
  border: 1rem solid #FFD8D8;
  background: #FFEDED;
  color: #774037;
  font-family: Rubik;
  font-size: 14rem;
  font-style: normal;
  font-weight: 400;
  line-height: 20rem;
}

.schedule-booking__trip-about-value {
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
}

.schedule-booking__return-deadlines {
  display: flex;
  padding: 12rem 16rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 4rem;
  align-self: stretch;
  border-radius: 12rem;
  border: 1rem solid #E2E2E2;
  background: #F6F6F6;
}
.schedule-booking__return-deadlines > p:first-child, .article .schedule-booking__return-deadlines > ul:first-child, .article .schedule-booking__return-deadlines > ol:first-child {
  color: #25272A;
  font-feature-settings: "ss01" on, "liga" off;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24rem;
}
.schedule-booking__return-deadlines > p, .article .schedule-booking__return-deadlines > ul, .article .schedule-booking__return-deadlines > ol {
  color: #4F5967;
  font-family: Rubik;
  font-size: 14rem;
  font-style: normal;
  font-weight: 400;
  line-height: 20rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__return-deadlines > p, .article .schedule-booking__return-deadlines > ul, .article .schedule-booking__return-deadlines > ol {
    font-size: 14rem;
  }
}

.schedule-booking__return-deadline-title {
  color: #25272A;
  font-feature-settings: "ss01" on, "liga" off;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24rem;
}

.schedule-booking__return-deadline-line {
  color: #4F5967;
  font-family: Rubik;
  font-size: 14rem;
  font-style: normal;
  font-weight: 400;
  line-height: 20rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__return-deadline-line {
    font-size: 14rem;
    line-height: 20rem;
  }
}

.schedule-booking__attention-label {
  color: #EF0F0F;
  font-feature-settings: "ss01" on, "liga" off;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24rem;
}

@media screen and (max-width: 767px) {
  .schedule-booking__attention-label {
    font-size: 18rem;
    line-height: 24rem;
  }
}

.schedule-booking__field {
  display: flex;
  flex-direction: column;
  gap: 8rem;
}

.schedule-booking__field-label {
  color: #6E7C90;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
  align-self: stretch;
}

.schedule-booking__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.schedule-booking__input-icon {
  position: absolute;
  left: 14rem;
  width: 24rem;
  height: 24rem;
  color: #419ef3;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-icon {
    color: #a6d3f9;
    left: 16rem;
  }
}

.schedule-booking__input {
  width: 100%;
  padding: 14rem 14rem 14rem 48rem;
  font-size: 16rem;
  line-height: 24rem;
  font-family: Rubik;
  color: #4F5967;
  border: 1rem solid #D8E3ED;
  border-radius: 12rem;
  background: white;
  transition: border-color 0.2s ease;
}
.schedule-booking__input::-moz-placeholder {
  color: #D8E3ED;
}
.schedule-booking__input::placeholder {
  color: #D8E3ED;
}
.schedule-booking__input:focus {
  outline: none;
  border-color: #419EF3;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input {
    padding: 16rem 16rem 16rem 52rem;
    border-radius: 14rem;
    min-height: 52rem;
  }
}

.schedule-booking__input-wrap {
  --iti-path-flags-1x: url("/img/intl-tel-input/flags.webp");
  --iti-path-flags-2x: url("/img/intl-tel-input/flags@2x.webp");
}
.schedule-booking__input-wrap .iti {
  width: 100%;
  display: block;
  border-radius: 12rem;
  overflow: visible;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-wrap .iti {
    border-radius: 14rem;
  }
}
.schedule-booking__input-wrap .iti input.iti__tel-input {
  border-radius: 12rem;
  padding-left: 40rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-wrap .iti input.iti__tel-input {
    border-radius: 14rem;
    padding-left: 44rem;
  }
}
.schedule-booking__input-wrap .iti__country-container {
  border-radius: 12rem 0 0 12rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-wrap .iti__country-container {
    border-radius: 14rem 0 0 14rem;
  }
}
.schedule-booking__input-wrap .iti__selected-country,
.schedule-booking__input-wrap .iti__selected-country-primary {
  border-radius: 12rem 0 0 12rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-wrap .iti__selected-country,
.schedule-booking__input-wrap .iti__selected-country-primary {
    border-radius: 14rem 0 0 14rem;
  }
}
.schedule-booking__input-wrap .iti__dropdown-content {
  border-radius: 12rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .schedule-booking__input-wrap .iti__dropdown-content {
    border-radius: 14rem;
  }
}
.schedule-booking__input-wrap:has(.iti) .schedule-booking__input-icon {
  display: none;
}

.schedule-booking__tickets {
  display: flex;
  flex-direction: column;
}

.schedule-booking__card-title {
  color: #0E2D6C;
  font-family: Rubik;
  font-style: normal;
  font-size: 24rem;
  font-weight: 600;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__card-title {
    font-size: 20rem;
    line-height: 28rem;
    color: #1a1a1a;
  }
}

.schedule-booking__ticket-row {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  padding: 16rem 0;
}
.schedule-booking__ticket-row + .schedule-booking__ticket-row {
  border-top: 1rem solid #d8e3ed;
}
@media screen and (max-width: 767px) {
  .schedule-booking__ticket-row {
    padding: 20rem 0;
  }
}

.schedule-booking__ticket-top {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 12rem;
}

.schedule-booking__ticket-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.schedule-booking__ticket-name {
  color: #4F5967;
  font-family: Rubik;
  font-style: normal;
  font-size: 16rem;
  font-weight: 400;
  line-height: 24rem;
}

.schedule-booking__ticket-price {
  color: #2C4F94;
  font-size: 14rem;
  font-weight: 400;
  line-height: 24rem;
}

.schedule-booking__ticket-desc {
  align-self: stretch;
  font-family: Rubik;
  font-style: normal;
  color: #6E7C90;
  font-size: 12rem;
  font-weight: 400;
  line-height: 16rem;
}

.schedule-booking__ticket-controls {
  display: flex;
  align-items: center;
  gap: 2rem;
  background: #fff;
  border: 1rem solid #D8E3ED;
  border-radius: 12rem;
}

.schedule-booking__qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36rem;
  height: 36rem;
  padding: 8rem;
  background: transparent;
  cursor: pointer;
}
.schedule-booking__qty-btn:hover:not(:disabled) {
  opacity: 1;
}
.schedule-booking__qty-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@media screen and (max-width: 767px) {
  .schedule-booking__qty-btn {
    min-width: 44rem;
    min-height: 44rem;
    width: 44rem;
    height: 44rem;
    padding: 10rem;
  }
}

.schedule-booking__qty-btn_minus:disabled .schedule-booking__qty-icon {
  filter: brightness(1.6) saturate(0.4);
}

.schedule-booking__qty-btn_minus:disabled {
  opacity: 0.4;
}

@media screen and (max-width: 767px) {
  .schedule-booking__qty-btn_minus:not(:disabled) .schedule-booking__qty-icon {
    filter: brightness(1.15) saturate(0.85);
    opacity: 0.9;
  }
}
.schedule-booking__qty-btn_plus .schedule-booking__qty-icon {
  display: block;
}

.schedule-booking__qty-icon {
  display: block;
  width: 24rem;
  height: 24rem;
  pointer-events: none;
}

.schedule-booking__qty-value {
  min-width: 20rem;
  text-align: center;
  font-family: Rubik;
  color: #4F5967;
  font-size: 16rem;
  font-weight: 400;
  line-height: 20rem;
}

.schedule-booking__ticket-subtotal {
  flex-shrink: 0;
  min-width: 68rem;
  color: #2C4F94;
  font-size: 16rem;
  font-weight: 400;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .schedule-booking__ticket-subtotal {
    min-width: 50rem;
  }
}

@media screen and (max-width: 767px) {
  .schedule-booking__ticket-top {
    gap: 16rem;
    flex-wrap: nowrap;
  }
  .schedule-booking__ticket-info {
    flex: 1 1 auto;
    min-width: 0;
  }
}
.schedule-booking__summary-wrap {
  display: flex;
  flex-direction: column;
  gap: 12rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__summary-wrap {
    gap: 16rem;
  }
}

.schedule-booking__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16rem;
  background: #EDF4FF;
  border-radius: 12rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__summary {
    padding: 20rem;
    border-radius: 14rem;
  }
}

.schedule-booking__summary-count {
  font-size: 16rem;
  font-family: Rubik;
  font-style: normal;
  color: #4F5967;
  line-height: 24rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .schedule-booking__summary-count {
    font-size: 18rem;
    color: #1a1a1a;
  }
}

.schedule-booking__summary-total {
  font-size: 20rem;
  font-family: Rubik;
  font-style: normal;
  font-weight: 600;
  color: #2C4F94;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-booking__summary-total {
    font-size: 22rem;
    font-weight: 700;
    color: #0f76ef;
  }
}

.schedule-booking__consent {
  display: flex;
  align-items: flex-start;
  gap: 8rem;
  cursor: pointer;
}

.schedule-booking__consent-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.schedule-booking__consent-check {
  flex-shrink: 0;
  width: 16rem;
  height: 16rem;
  margin-top: 4rem;
  border: 2rem solid #0f76ef;
  border-radius: 2rem;
  background: #fff;
  position: relative;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.schedule-booking__consent-check:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8rem;
  height: 8rem;
  border-radius: 1rem;
  background: #0f76ef;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 0.2s ease;
}

.schedule-booking__consent-input:checked ~ .schedule-booking__consent-check:before {
  opacity: 1;
}

.schedule-booking__consent-input:focus-visible ~ .schedule-booking__consent-check {
  box-shadow: rgba(15, 118, 239, 0.25) 0 0 0 2rem;
}

.schedule-booking__consent-label {
  font-size: 16rem;
  font-family: Rubik;
  font-weight: 400;
  line-height: 24rem;
  color: #666;
}

.schedule-booking__consent-hint {
  display: block;
  margin-top: 2rem;
  font-size: 14rem;
  line-height: 20rem;
  color: #999;
}

.schedule-booking__consent-link {
  color: #0f76ef;
  text-decoration: none;
}
.schedule-booking__consent-link:hover {
  color: #569ff4;
}

.schedule-booking__payment-time-hint {
  margin: 0;
  padding: 12rem 16rem;
  border-radius: 12rem;
  border: 1rem solid #FFB4B4;
  background: #FFD6D6;
  color: #5C2A24;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 600;
  line-height: 24rem;
}

.schedule-booking__submit {
  width: 100%;
  padding: 16rem 32rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 24rem;
  font-family: Rubik;
  font-style: normal;
  color: #fff;
  background: #0F76EF;
  border: none;
  border-radius: 12rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-booking__submit:hover:not(:disabled) {
  background: #3F9CFF;
}
.schedule-booking__submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
  background: #0F76EF;
}
@media screen and (max-width: 767px) {
  .schedule-booking__submit {
    padding: 18rem 24rem;
    min-height: 56rem;
    font-size: 18rem;
    border-radius: 14rem;
  }
}

.schedule-order {
  background-color: #e8f4f8;
  align-items: center;
}

.schedule-order__back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8rem;
  align-self: center;
  width: auto;
  padding: 16rem 32rem;
  font-family: Rubik;
  font-size: 18rem;
  font-style: normal;
  font-weight: 700;
  line-height: 24rem;
  color: #fff;
  background: #0F76EF;
  border: none;
  border-radius: 12rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-order__back-link:hover {
  color: #fff;
  background: #3F9CFF;
}
@media screen and (max-width: 767px) {
  .schedule-order__back-link {
    padding: 18rem 24rem;
    min-height: 56rem;
    font-size: 18rem;
    border-radius: 14rem;
  }
}

.schedule-order__back-icon {
  flex-shrink: 0;
}

.schedule-order__success {
  padding: 16rem 24rem;
  background: rgba(15, 118, 239, 0.12);
  border-radius: 12rem;
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__success {
    padding: 12rem 16rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__errors {
  padding: 16rem 24rem;
  background: rgba(220, 53, 69, 0.1);
  border: 1px solid rgba(220, 53, 69, 0.3);
  border-radius: 12rem;
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__errors {
    padding: 12rem 16rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 24rem;
  width: 100%;
  max-width: 512rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__content {
    gap: 16rem;
  }
}

.schedule-order__card {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16rem;
  background: #fff;
  border-radius: 16rem;
  padding: 32rem;
  text-align: center;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .schedule-order__card {
    padding: 20rem 16rem;
    gap: 12rem;
    border-radius: 12rem;
  }
}

.schedule-order__trip-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6rem;
}

.schedule-order__order-number {
  color: #6E7C90;
  font-family: Rubik;
  font-style: normal;
  font-size: 16rem;
  text-align: center;
  font-weight: 400;
  line-height: 20rem;
}

.schedule-order__trip-name {
  color: #0E2D6C;
  text-align: center;
  font-family: Rubik;
  font-size: 24rem;
  font-weight: 600;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__trip-name {
    font-size: 20rem;
    line-height: 28rem;
  }
}

.schedule-order__datetime {
  color: #0F76EF;
  text-align: center;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 500;
  line-height: 24rem;
}

.schedule-order__park-disembark {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
  margin: 0;
  text-align: center;
}

.schedule-order__park-disembark-title {
  color: #0E2D6C;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
}

.schedule-order__park-disembark-hint {
  color: #6E7C90;
  font-family: Rubik;
  font-size: 14rem;
  font-weight: 400;
  line-height: 20rem;
}

.schedule-order__boat,
.schedule-order__berth {
  color: #0F76EF;
  text-align: center;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 500;
  line-height: 24rem;
}

.schedule-order__payment {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 8rem;
  margin-top: 8rem;
  padding: 12rem 16rem;
  border-radius: 12rem;
  background: #EDF4FF;
  color: #0E2D6C;
  font-family: Rubik;
  font-size: 16rem;
  line-height: 24rem;
}

.schedule-order__payment_pending,
.schedule-order__payment_authorized {
  background: #FFF6D8;
}

.schedule-order__payment_confirmed {
  background: #EAF8EF;
}

.schedule-order__payment_failed,
.schedule-order__payment_cancelled,
.schedule-order__payment_expired {
  background: #FFEDED;
}

.schedule-order__payment-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 4rem;
}

.schedule-order__payment-label {
  color: #6E7C90;
}

.schedule-order__payment-status {
  color: #0E2D6C;
  font-size: 16rem;
  line-height: 24rem;
}

.schedule-order__payment-hint {
  color: #4F5967;
}

.schedule-order__payment-actions {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  width: 100%;
  gap: 8rem;
}

.schedule-order__payment-link,
.schedule-order__payment-edit-link {
  display: flex;
  align-self: stretch;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 8rem 16rem;
  border-radius: 10rem;
  background: #0F76EF;
  color: #fff;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-order__payment-link:hover,
.schedule-order__payment-edit-link:hover {
  color: #fff;
  background: #0E62C5;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .schedule-order__payment-link,
.schedule-order__payment-edit-link {
    padding: 10rem 12rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__payment-cancel-form {
  align-self: stretch;
  width: 100%;
}

.schedule-order__payment-cancel-btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 8rem 16rem;
  border-radius: 10rem;
  border: none;
  background: #EF0F0F;
  color: #fff;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-order__payment-cancel-btn:hover {
  background: #D40D0D;
}
@media screen and (max-width: 767px) {
  .schedule-order__payment-cancel-btn {
    padding: 10rem 12rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__qr-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.schedule-order__qr-placeholder {
  width: 200rem;
  height: 200rem;
  background: #f0f0f0;
  border: 2rem dashed #D8E3ED;
  border-radius: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .schedule-order__qr-placeholder {
    width: 160rem;
    height: 160rem;
    border-radius: 10rem;
  }
}

.schedule-order__qr-placeholder-text {
  color: #6E7C90;
  font-family: Rubik;
  font-size: 32rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .schedule-order__qr-placeholder-text {
    font-size: 24rem;
  }
}

.schedule-order__hints {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}

.schedule-order__qr-hint {
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
}

.schedule-order__boarding-hint {
  color: #419EF3;
  font-family: Rubik;
  font-size: 16rem;
  font-style: normal;
  font-weight: 400;
  line-height: 24rem;
}

.schedule-order__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8rem;
  align-self: stretch;
  width: 100%;
}
.schedule-order__actions[hidden] {
  display: none !important;
}

.schedule-order__download-wrap {
  align-self: stretch;
  width: 100%;
}

.schedule-order__download-btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  padding: 8rem 16rem;
  background: #dae7fc;
  color: #0F76EF;
  border-radius: 12rem;
  border: none;
  box-sizing: border-box;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-order__download-btn:hover {
  background: #7bb8fd;
  color: #0F76EF;
}
.schedule-order__download-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
@media screen and (max-width: 767px) {
  .schedule-order__download-btn {
    padding: 10rem 12rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__download-icon {
  flex-shrink: 0;
}

.schedule-order__max-link-wrap,
.schedule-order__telegram-link-wrap {
  display: none;
  align-self: stretch;
  width: 100%;
}

.schedule-order__max-link-btn,
.schedule-order__telegram-link-btn {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: 4rem;
  padding: 8rem 16rem;
  background: #dae7fc;
  color: #0F76EF;
  border-radius: 12rem;
  border: none;
  box-sizing: border-box;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.schedule-order__max-link-btn:hover,
.schedule-order__telegram-link-btn:hover {
  background: #7bb8fd;
  color: #0F76EF;
}
@media screen and (max-width: 767px) {
  .schedule-order__max-link-btn,
.schedule-order__telegram-link-btn {
    padding: 10rem 12rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__max-link-icon,
.schedule-order__telegram-link-icon {
  flex-shrink: 0;
}

.schedule-order__card_composition {
  align-items: stretch;
  text-align: left;
}
.schedule-order__card_composition .schedule-booking__return-deadlines {
  align-self: stretch;
  text-align: left;
}

.schedule-order__card-title {
  align-self: stretch;
  color: #0E2D6C;
  font-family: Rubik;
  font-size: 24rem;
  font-weight: 600;
  line-height: 32rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__card-title {
    font-size: 20rem;
  }
}

.schedule-order__table-wrap {
  align-self: stretch;
  overflow-x: auto;
}

.schedule-order__table {
  width: 100%;
  display: block;
  text-align: left;
}

.schedule-order__table tbody {
  display: block;
}

.schedule-order__table-row {
  display: flex;
  align-items: center;
  gap: 16rem;
  padding: 12rem 0;
  border-bottom: 1px solid #f0f4f8;
}
.schedule-order__table-row_total {
  padding: 8rem 0;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-row {
    gap: 8rem;
    padding: 10rem 0;
  }
  .schedule-order__table-row_total {
    padding: 10rem 0;
  }
}

.schedule-order__table-name {
  flex: 1 1 0%;
  min-width: 0;
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 400;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-name {
    font-size: 14rem;
    line-height: 20rem;
  }
}

.schedule-order__table-qty {
  flex: 0 0 64rem;
  text-align: right;
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 400;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-qty {
    flex: 0 0 48rem;
    font-size: 14rem;
    line-height: 20rem;
  }
}

.schedule-order__table-cell {
  flex: 0 0 100rem;
  min-width: 100rem;
  text-align: right;
  white-space: nowrap;
}
.schedule-order__table-cell_right {
  text-align: right;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-cell {
    flex: 0 0 80rem;
    min-width: 80rem;
  }
}

.schedule-order__table-sum {
  display: block;
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 400;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-sum {
    font-size: 14rem;
    line-height: 20rem;
  }
}

.schedule-order__table-unit {
  display: block;
  color: #6E7C90;
  font-family: Rubik;
  font-size: 12rem;
  line-height: 16rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-unit {
    font-size: 11rem;
    line-height: 14rem;
  }
}

.schedule-order__table-row_total .schedule-order__table-name,
.schedule-order__table-row_total .schedule-order__table-qty,
.schedule-order__table-row_total .schedule-order__table-sum {
  color: #0E2D6C;
  font-size: 16rem;
  font-style: normal;
  font-weight: 600;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__table-row_total .schedule-order__table-name,
.schedule-order__table-row_total .schedule-order__table-qty,
.schedule-order__table-row_total .schedule-order__table-sum {
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__table-row_total .schedule-order__table-unit {
  display: none;
}

.schedule-order__cancel-paid-wrap {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8rem;
}

.schedule-order__cancel-form {
  align-self: stretch;
  display: flex;
  justify-content: center;
}

.schedule-order__cancel-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8rem 12rem;
  background: #FFEDED;
  color: #EF0F0F;
  border: none;
  border-radius: 12rem;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  cursor: pointer;
  width: 100%;
  text-decoration: none;
  box-sizing: border-box;
}
.schedule-order__cancel-btn:hover {
  color: #EF0F0F;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .schedule-order__cancel-btn {
    padding: 12rem 16rem;
    border-radius: 10rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__card_cancel-confirm {
  gap: 24rem;
}

.schedule-order__cancel-confirm-text {
  margin: 0;
  color: #4F5967;
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  font-weight: 400;
  line-height: 24rem;
}
@media screen and (max-width: 767px) {
  .schedule-order__cancel-confirm-text {
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__cancel-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12rem;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .schedule-order__cancel-confirm-actions {
    flex-direction: column;
  }
}

.schedule-order__cancel-confirm-back,
.schedule-order__cancel-confirm-submit {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 8rem 16rem;
  border-radius: 10rem;
  font-family: Rubik, sans-serif;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
  border: none;
  transition: background-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .schedule-order__cancel-confirm-back,
.schedule-order__cancel-confirm-submit {
    flex: 1 1 auto;
    width: 100%;
    padding: 10rem 12rem;
    font-size: 15rem;
    line-height: 22rem;
  }
}

.schedule-order__cancel-confirm-back {
  background: #0F76EF;
  color: #fff;
}
.schedule-order__cancel-confirm-back:hover {
  background: #0E62C5;
  color: #fff;
  text-decoration: none;
}

.schedule-order__cancel-confirm-form {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .schedule-order__cancel-confirm-form {
    flex: 1 1 auto;
    width: 100%;
  }
}

.schedule-order__cancel-confirm-submit {
  width: 100%;
  background: #EF0F0F;
  color: #fff;
}
.schedule-order__cancel-confirm-submit:hover {
  background: #D40D0D;
}

.schedule-order__cancel-deadline {
  margin: 0;
  color: #EF0F0F;
  text-align: center;
  font-family: Rubik;
  font-size: 14rem;
  font-weight: 400;
  line-height: 20rem;
}

.schedule-order__cancelled {
  color: #6E7C90;
  font-family: Rubik;
  font-size: 16rem;
  line-height: 24rem;
}

.schedule-payment-result {
  background-color: #e8f4f8;
  align-items: center;
}
.schedule-payment-result .nearby-trips__header {
  width: 512rem;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .schedule-payment-result .nearby-trips__header {
    width: 100%;
  }
}

.schedule-payment-result__title {
  width: 100%;
  color: #0E2D6C;
  font-family: "Rubik", sans-serif;
  font-size: 48rem;
  font-weight: 700;
  line-height: 64rem;
}
@media screen and (max-width: 767px) {
  .schedule-payment-result__title {
    font-size: 28rem;
    line-height: 36rem;
    color: #1a1a1a;
  }
}

.schedule-payment-result__card {
  display: flex;
  width: 512rem;
  flex-direction: column;
  align-items: flex-start;
  gap: 16rem;
  padding: 32rem;
  border-radius: 16rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .schedule-payment-result__card {
    width: 100%;
    padding: 32rem;
  }
}

.schedule-payment-result__message {
  color: #4F5967;
  font-family: Rubik;
  font-size: 16rem;
  line-height: 24rem;
}

.schedule-payment-result__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10rem 16rem;
  border-radius: 12rem;
  background: #0F76EF;
  color: #fff;
  font-family: Rubik;
  font-size: 16rem;
  font-weight: 600;
  line-height: 24rem;
}
.schedule-payment-result__link:hover {
  color: #fff;
  background: #0E62C5;
}

.prices {
  position: relative;
  padding: 80rem 376rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .prices {
    padding: 72rem 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .prices {
    padding: 80rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .prices {
    padding: 56rem 16rem;
  }
}
.prices__background {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-image: url("/img/prices-background.jpg");
  background-position: center;
  background-size: cover;
  overflow: hidden;
}
.prices__decor-line-1 {
  position: absolute;
  right: 0;
  top: 0;
  width: 515rem;
  height: 186rem;
  opacity: 0.6;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .prices__decor-line-1 {
    right: -220rem;
  }
}
@media screen and (max-width: 767px) {
  .prices__decor-line-1 {
    width: 189rem;
    height: 71rem;
    right: -45rem;
  }
}
.prices__decor-line-2 {
  position: absolute;
  bottom: 0;
  left: 8rem;
  width: 346rem;
  height: 431rem;
  opacity: 0.6;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .prices__decor-line-2 {
    left: -113rem;
    bottom: -7rem;
  }
}
@media screen and (max-width: 767px) {
  .prices__decor-line-2 {
    left: -57rem;
    width: 201rem;
    height: 250rem;
  }
}
.prices__decor-wave-1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 741rem;
  height: 98rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .prices__decor-wave-1 {
    width: 676rem;
    right: -275rem;
  }
}
@media screen and (max-width: 767px) {
  .prices__decor-wave-1 {
    width: 418rem;
    height: 61rem;
    right: -117rem;
  }
}
.prices__h2 {
  color: white;
  margin-bottom: 40rem;
}
.prices__cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: 24rem;
  margin-bottom: 40rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .prices__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .prices__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.prices__card {
  grid-column: auto/span 1;
  padding: 16rem;
  background-color: white;
  border-radius: 12rem;
}
.prices__card-value {
  color: #0f76ef;
}
.prices__button-wrapper {
  margin-top: 32rem;
}

.night-tours {
  position: relative;
  padding: 120rem 375rem 480rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .night-tours {
    padding: 160rem 80rem 480rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .night-tours {
    padding: 160rem 40rem 400rem;
  }
}
@media screen and (max-width: 767px) {
  .night-tours {
    padding: 96rem 16rem 448rem;
  }
}
.night-tours__background {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.night-tours__decor-line-1 {
  position: absolute;
  right: 0;
  top: 0;
  width: 515rem;
  height: 186rem;
  opacity: 0.6;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .night-tours__decor-line-1 {
    right: -220rem;
  }
}
@media screen and (max-width: 767px) {
  .night-tours__decor-line-1 {
    width: 189rem;
    height: 71rem;
    right: -45rem;
  }
}
.night-tours__decor-line-2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 346rem;
  height: 431rem;
  opacity: 0.6;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .night-tours__decor-line-2 {
    left: -113rem;
    bottom: -7rem;
  }
}
@media screen and (max-width: 767px) {
  .night-tours__decor-line-2 {
    left: -57rem;
    width: 201rem;
    height: 250rem;
  }
}
.night-tours__decor-wave-1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 676rem;
  height: 98rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .night-tours__decor-wave-1 {
    width: 676rem;
    right: -275rem;
  }
}
@media screen and (max-width: 767px) {
  .night-tours__decor-wave-1 {
    width: 418rem;
    height: 61rem;
    right: -117rem;
  }
}
.night-tours__h2 {
  color: white;
  margin-bottom: 40rem;
}
@media screen and (max-width: 767px) {
  .night-tours__h2 {
    margin-bottom: 8rem;
  }
}
.night-tours__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-column-gap: 80rem;
}
@media screen and (max-width: 1024px) {
  .night-tours__content {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .night-tours__content {
    grid-row-gap: 32rem;
  }
}
.night-tours__description {
  color: white;
}
.night-tours__form__label {
  display: block;
  color: white;
}
.night-tours__form__input {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .night-tours__form__button {
    display: block;
    width: 100%;
  }
}

.fleet {
  padding: 80rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .fleet {
    padding: 72rem 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fleet {
    padding: 64rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .fleet {
    padding: 64rem 16rem;
  }
}
.fleet__slide {
  position: relative;
  min-height: 640rem;
}
.fleet__h2 {
  margin-bottom: 40rem;
}
.fleet__card {
  position: relative;
  z-index: 1;
  max-width: 560rem;
  padding: 40rem 88rem 40rem 40rem;
  border-radius: 20rem;
  background: white;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .fleet__card {
    max-width: 460rem;
  }
}
@media screen and (max-width: 1024px) {
  .fleet__card {
    max-width: none;
  }
}
.fleet__card h3 {
  margin-bottom: 16rem;
  color: #2c4f94;
}
.fleet__card p, .fleet__card .article ul, .article .fleet__card ul, .fleet__card .article ol, .article .fleet__card ol {
  margin-bottom: 24rem;
}
.fleet__card p:last-child, .fleet__card .article ul:last-child, .article .fleet__card ul:last-child, .fleet__card .article ol:last-child, .article .fleet__card ol:last-child {
  margin-bottom: 0;
}
.fleet__slider-wrapper {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: 880rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .fleet__slider-wrapper {
    width: 793rem;
  }
}
@media screen and (max-width: 1024px) {
  .fleet__slider-wrapper {
    position: relative;
    width: auto;
    max-width: 100%;
    margin-top: -16rem;
  }
}
.fleet__slider img {
  max-width: 100%;
  border-radius: 20rem;
}
.fleet__slider .slick-prev, .fleet__slider .slick-next {
  position: absolute;
  z-index: 2;
  top: 50% !important;
  margin-top: -28rem;
}
.fleet__slider .slick-prev {
  left: -28rem;
}
@media screen and (max-width: 767px) {
  .fleet__slider .slick-prev {
    left: 8rem;
  }
}
.fleet__slider .slick-next {
  right: -28rem;
}
@media screen and (max-width: 767px) {
  .fleet__slider .slick-next {
    right: 8rem;
  }
}

.conditions {
  position: relative;
  padding: 80rem 376rem;
  color: white;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .conditions {
    padding: 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .conditions {
    padding: 80rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .conditions {
    padding: 64rem 16rem;
  }
}
.conditions__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-color: #0a2354;
  overflow: hidden;
}
.conditions__decor-line-1 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 518rem;
  height: 223rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .conditions__decor-line-1 {
    right: -221rem;
  }
}
@media screen and (max-width: 767px) {
  .conditions__decor-line-1 {
    width: 240rem;
    height: 104rem;
    right: -96rem;
  }
}
.conditions__decor-line-2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 350rem;
  height: 293rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .conditions__decor-line-2 {
    left: -119rem;
  }
}
@media screen and (max-width: 767px) {
  .conditions__decor-line-2 {
    width: 246rem;
    height: 206rem;
    left: -102rem;
  }
}
.conditions__decor-wave-1 {
  position: absolute;
  left: 1417rem;
  top: 61rem;
  width: 166rem;
  height: 113rem;
  opacity: 0.05;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .conditions__decor-wave-1 {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  .conditions__decor-wave-1 {
    display: none;
  }
}
.conditions__decor-wave-2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 675rem;
  height: 239rem;
  opacity: 0.05;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .conditions__decor-wave-2 {
    right: -218rem;
  }
}
@media screen and (max-width: 767px) {
  .conditions__decor-wave-2 {
    width: 371rem;
    height: 131rem;
    right: -72rem;
  }
}
.conditions__decor-wave-3 {
  position: absolute;
  top: 0;
  left: 0;
  width: 635rem;
  height: 224rem;
  opacity: 0.05;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .conditions__decor-wave-3 {
    left: -188rem;
  }
}
@media screen and (max-width: 767px) {
  .conditions__decor-wave-3 {
    width: 324rem;
    height: 114rem;
    left: -36rem;
  }
}
.conditions__h2 {
  max-width: 800rem;
  margin: 0 auto 32rem;
  color: inherit;
}
@media screen and (max-width: 1024px) {
  .conditions__h2 {
    max-width: none;
  }
}
.conditions__list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  grid-row-gap: 16rem;
  max-width: 800rem;
  margin: auto;
}
@media screen and (max-width: 1024px) {
  .conditions__list {
    max-width: none;
  }
}
.conditions__list-item {
  grid-column: auto/span 1;
  position: relative;
  color: inherit;
  padding-left: 26rem;
}
.conditions__list-item:before {
  content: url("/img/layout/bullet.svg");
  position: absolute;
  top: 0;
  left: 0;
  width: 14rem;
  height: 14rem;
}

.catalogue {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 80rem;
  padding: 80rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .catalogue {
    padding: 72rem 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .catalogue {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding: 64rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .catalogue {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding: 48rem 16rem;
  }
}
.catalogue__item {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .catalogue__item:not(:last-child):nth-child(2n+1)::before {
    content: "";
    position: absolute;
    top: 0;
    right: -40rem;
    width: 1rem;
    height: 100%;
    background-color: #d8e2ff;
  }
}
.catalogue__h2 {
  margin-bottom: 40rem;
  color: #0e2d6c;
}
.catalogue__h3 {
  margin-bottom: 16rem;
  color: #2c4f94;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .catalogue__slider-wrapper {
    margin-left: -40rem;
    margin-right: -40rem;
  }
}
@media screen and (max-width: 767px) {
  .catalogue__slider-wrapper {
    margin-left: -16rem;
    margin-right: -16rem;
  }
}
.catalogue__slider {
  position: relative;
}
.catalogue__slider img {
  max-width: 100%;
  border-radius: 20rem;
}
@media screen and (max-width: 1024px) {
  .catalogue__slider img {
    border-radius: 0;
  }
}
.catalogue__slider .slick-prev,
.catalogue__slider .slick-next {
  position: absolute;
  z-index: 2;
  top: 50%;
  margin-top: -28rem;
}
@media screen and (max-width: 767px) {
  .catalogue__slider .slick-prev,
.catalogue__slider .slick-next {
    bottom: -48rem !important;
  }
}
.catalogue__slider .slick-prev {
  left: -28rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .catalogue__slider .slick-prev {
    left: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .catalogue__slider .slick-prev {
    left: 8rem;
  }
}
.catalogue__slider .slick-next {
  right: -28rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .catalogue__slider .slick-next {
    right: 16rem;
  }
}
@media screen and (max-width: 767px) {
  .catalogue__slider .slick-next {
    right: 8rem;
  }
}
.catalogue__prices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: 16rem;
  margin-top: 40rem;
}
@media screen and (max-width: 767px) {
  .catalogue__prices {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}
.catalogue__price {
  grid-column: auto/span 1;
  padding: 16rem;
  border-radius: 12rem;
  background-color: white;
}
.catalogue__price-value {
  color: #0f76ef;
}
.catalogue__params {
  margin-top: 40rem;
}
.catalogue__table td {
  padding: 8rem 0 7rem;
  border-bottom: 1rem solid #d8e3ed;
  hyphens: none;
}
.catalogue__table tr td:first-child {
  width: 200rem;
  color: #828c9a;
}
.catalogue__table tr td:last-child {
  color: #0e2d6c;
}
.catalogue__table tr:last-child td {
  border: none;
}
.catalogue__conditions {
  margin-top: 32rem;
}
.catalogue__conditions-list li {
  position: relative;
  padding-left: 26rem;
}
.catalogue__conditions-list li:before {
  content: url("/img/layout/bullet.svg");
  position: absolute;
  top: 0;
  left: 0;
  width: 14rem;
  height: 14rem;
}
.catalogue__additional-info {
  margin-top: 48rem;
  padding: 16rem;
  border-radius: 12rem;
  color: #0e2d6c;
  background-color: #d8e2ff;
}
.catalogue__additional-info .icon-info-circle {
  margin-right: 8rem;
  vertical-align: middle;
  font-size: 20rem;
  color: #0f76ef;
}

.ui-tabs-nav {
  font-family: "Rubik", sans-serif;
  font-weight: bold;
  font-size: 16rem;
  line-height: 24rem;
}
.ui-tabs-nav .ui-tab {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .ui-tabs-nav .ui-tab:first-child a {
    border-top-left-radius: 12rem;
    border-bottom-left-radius: 12rem;
  }
  .ui-tabs-nav .ui-tab:last-child a {
    border-top-right-radius: 12rem;
    border-bottom-right-radius: 12rem;
  }
}
.ui-tabs-nav .ui-tab a {
  display: inline-block;
  padding: 16rem 24rem;
  text-decoration: none;
  color: #6e7c90;
  white-space: nowrap;
}
.ui-tabs-nav .ui-tab a:hover {
  color: #419ef3;
}
@media screen and (max-width: 767px) {
  .ui-tabs-nav .ui-tab a {
    padding: 16rem;
    background: white;
  }
}
.ui-tabs-nav .ui-tabs-active a {
  padding: 16rem 24rem 14rem;
  border-bottom: 2rem solid #0f76ef;
  color: #0f76ef;
}
@media screen and (max-width: 767px) {
  .ui-tabs-nav .ui-tabs-active a {
    padding: 16rem;
    border-bottom: none;
  }
}

.vk-widget {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-column-gap: 32rem;
  padding: 80rem 256rem;
}
@media screen and (min-width: 1025px) and (max-width: 1599px) {
  .vk-widget {
    padding: 80rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .vk-widget {
    padding: 56rem 40rem;
  }
}
@media screen and (max-width: 767px) {
  .vk-widget {
    grid-row-gap: 32rem;
    grid-column-gap: 0rem;
    padding: 32rem 16rem;
  }
}
.vk-widget__text {
  grid-column: auto/span 4;
}
@media screen and (max-width: 767px) {
  .vk-widget__text {
    grid-column: auto/span 12;
  }
}
.vk-widget__text a {
  text-decoration: none;
}
.vk-widget__heading {
  margin-bottom: 16rem;
}
.vk-widget__wrapper {
  grid-column: auto/span 8;
}
@media screen and (max-width: 767px) {
  .vk-widget__wrapper {
    grid-column: auto/span 12;
  }
}

/*
 * Классы для изменения свойства display
 * Здесь генерируются классы:
 * none,
 * inline,
 * inline-block,
 * block,
 * flex,
 * inline-flex
 *
 * С префиксами: m, mm, p, pp, pl, t, tp, tl, d, ds, dm, dl, dxl, np, utl, ftl, db — абракадабра медиа-запросов.
 */
.none {
  display: none;
}

@media screen and (max-width: 1024px) {
  .none-m {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .none-p {
    display: none;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .none-pp {
    display: none;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .none-pl {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .none-t {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .none-tp {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .none-tl {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .none-d {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .none-np {
    display: none;
  }
}

.inline {
  display: inline;
}

@media screen and (max-width: 1024px) {
  .inline-m {
    display: inline;
  }
}

@media screen and (max-width: 767px) {
  .inline-p {
    display: inline;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .inline-pp {
    display: inline;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .inline-pl {
    display: inline;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .inline-t {
    display: inline;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .inline-tp {
    display: inline;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .inline-tl {
    display: inline;
  }
}

@media screen and (min-width: 1025px) {
  .inline-d {
    display: inline;
  }
}

@media screen and (max-width: 1024px) {
  .inline-np {
    display: inline;
  }
}

.inline-block {
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .inline-block-m {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) {
  .inline-block-p {
    display: inline-block;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .inline-block-pp {
    display: inline-block;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .inline-block-pl {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .inline-block-t {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .inline-block-tp {
    display: inline-block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .inline-block-tl {
    display: inline-block;
  }
}

@media screen and (min-width: 1025px) {
  .inline-block-d {
    display: inline-block;
  }
}

@media screen and (max-width: 1024px) {
  .inline-block-np {
    display: inline-block;
  }
}

.block {
  display: block;
}

@media screen and (max-width: 1024px) {
  .block-m {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .block-p {
    display: block;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .block-pp {
    display: block;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .block-pl {
    display: block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .block-t {
    display: block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .block-tp {
    display: block;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .block-tl {
    display: block;
  }
}

@media screen and (min-width: 1025px) {
  .block-d {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .block-np {
    display: block;
  }
}

.flex {
  display: flex;
}

@media screen and (max-width: 1024px) {
  .flex-m {
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .flex-p {
    display: flex;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .flex-pp {
    display: flex;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .flex-pl {
    display: flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .flex-t {
    display: flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .flex-tp {
    display: flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .flex-tl {
    display: flex;
  }
}

@media screen and (min-width: 1025px) {
  .flex-d {
    display: flex;
  }
}

@media screen and (max-width: 1024px) {
  .flex-np {
    display: flex;
  }
}

.inline-flex {
  display: inline-flex;
}

@media screen and (max-width: 1024px) {
  .inline-flex-m {
    display: inline-flex;
  }
}

@media screen and (max-width: 767px) {
  .inline-flex-p {
    display: inline-flex;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .inline-flex-pp {
    display: inline-flex;
  }
}

@media screen and (max-width: 1023px) and (orientation: landscape) {
  .inline-flex-pl {
    display: inline-flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .inline-flex-t {
    display: inline-flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
  .inline-flex-tp {
    display: inline-flex;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  .inline-flex-tl {
    display: inline-flex;
  }
}

@media screen and (min-width: 1025px) {
  .inline-flex-d {
    display: inline-flex;
  }
}

@media screen and (max-width: 1024px) {
  .inline-flex-np {
    display: inline-flex;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}
