html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden], .hidden {
  display: none;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

button {
  border: none;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-decoration: none;
}

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

html {
  -webkit-tap-highlight-color: transparent;
}

@font-face {
  font-family: "OverusedGrotesk";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/OverusedGrotesk-Roman.woff") format("woff");
}
@font-face {
  font-family: "OverusedGrotesk";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/OverusedGrotesk-Medium.woff") format("woff");
}
@font-face {
  font-family: "OverusedGrotesk";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/OverusedGrotesk-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "OverusedGrotesk";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/OverusedGrotesk-Bold.woff") format("woff");
}

/*new fonts*/
@font-face {
  font-family: "NTSomic";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/TTF/NTSomic-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "NTSomic";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/TTF/NTSomic-Medium.ttf") format("truetype");
}
@font-face {
  font-family: "NTSomic";
  font-weight: 600;
  font-style: normal;
  src: url("../fonts/TTF/NTSomic-Semibold.ttf") format("truetype");
}
@font-face {
  font-family: "NTSomic";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/TTF/NTSomic-Bold.ttf") format("truetype");
}
@font-face {
  font-family: "Ramillas";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/TT-Ramillas-Trial-Bold.ttf") format("truetype");
}

html {
  font-size: clamp(16px, 18px + 2 * (100vw - 1024px) / 896, 18px);
  line-height: 1.25;
  font-weight: 400;
  font-family: "NTSomic", sans-serif;
  color: var(--c-text-primary);
  -moz-text-size-adjust: none;
       text-size-adjust: none;
  -webkit-text-size-adjust: none;
  border: 1px solid var(--border-base-color, none);
}

.fs-h1,
.f-h1 {
  font-size: clamp(24px, 24px + 24 * (100vw - 1024px) / 896, 48px);
  line-height: 1.16;

}
h1, h2{
  font-family: "Ramillas", sans-serif;
}
.fs-h2,
.f-h2 {
  font-size: clamp(22px, 22px + 18 * (100vw - 1024px) / 896, 40px);
  line-height: 1.1;
}

.fs-h3,
.f-h3 {
  font-size: clamp(20px, 20px + 12 * (100vw - 1024px) / 896, 32px);
  line-height: 1.125;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;

}

@font-face {
  font-family: "icomoon";
  src: url("../fonts/icomoon.woff") format("woff");
  src: url("../fonts/icomoon.woff") format("woff"), url("../fonts/icomoon.ttf") format("truetype"), url("../img/icomoon.svg") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-], [class*=" icon-"] {
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.icon-clear-sky:before {
  content: "\e923";
}

.icon-few-clouds:before {
  content: "\e924";
}

.icon-mist:before {
  content: "\e925";
}

.icon-rain:before {
  content: "\e926";
}

.icon-scatter-clouds:before {
  content: "\e927";
}

.icon-shower-rain:before {
  content: "\e928";
}

.icon-snow:before {
  content: "\e929";
}

.icon-thunderstorm:before {
  content: "\e92a";
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.icon-placemark:before {
  content: "\e917";
}

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

.icon-rooms:before {
  content: "\e919";
}

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

.icon-star:before {
  content: "\e91b";
}

.icon-telegram:before {
  content: "\e91c";
}

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

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

.icon-town:before {
  content: "\e91f";
}

.icon-vk:before {
  content: "\e920";
}

.icon-youtube:before {
  content: "\e921";
}

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

html {
  --container: 1440px;
  --container-padding: calc((100vw - 1440px)/2);
  --column: calc((var(--container) - (11 * 16px)) / 12);
  --g-vertical-m: clamp(24px, calc(24px + (64 - 24) * ((100vw - 540px) / (1920 - 540))), 64px);
  --g-vertical-l: clamp(40px, calc(40px + (96 - 40) * ((100vw - 540px) / (1920 - 540))), 96px);
  --g-vertical-xl: clamp(40px, calc(40px + (120 - 40) * ((100vw - 540px) / (1920 - 540))), 120px);
  --g-content-l: clamp(16px, calc(16px + (40 - 16) * ((100vw - 540px) / (1920 - 540))), 40px);
  --p-card-l: clamp(16px, calc(16px + (32 - 16) * ((100vw - 540px) / (1920 - 540))), 32px);
  --p-card-m: 24px;
  --p-card-sm: 16px;
  --fs-display-l: clamp(40px, calc(40px + (72 - 40) * ((100vw - 540px) / (1920 - 540))), 72px);
  --fs-display-m: clamp(28px, calc(28px + (56 - 28) * ((100vw - 540px) / (1920 - 540))), 56px);
  --fs-display-s: clamp(24px, calc(24px + (48 - 24) * ((100vw - 540px) / (1920 - 540))), 48px);
  --fs-h1: clamp(24px, calc(24px + (48 - 24) * ((100vw - 540px) / (1920 - 540))), 48px);
  --fs-h2: clamp(22px, calc(22px + (40 - 22) * ((100vw - 540px) / (1920 - 540))), 40px);
  --fs-h3: clamp(20px, calc(20px + (32 - 20) * ((100vw - 540px) / (1920 - 540))), 32px);
  --fs-h4: clamp(18px, calc(18px + (28 - 18) * ((100vw - 540px) / (1920 - 540))), 28px);
  --fs-h5: clamp(16px, calc(16px + (22 - 16) * ((100vw - 540px) / (1920 - 540))), 22px);
  --fs-h6: clamp(16px, calc(16px + (18 - 16) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-subhead: clamp(12px, calc(12px + (16 - 12) * ((100vw - 540px) / (1920 - 540))), 16px) //letter-spacing 0.15em;
  --fs-subtitle-xl: clamp(19px, calc(19px + (32 - 19) * ((100vw - 540px) / (1920 - 540))), 32px);
  --fs-subtitle-l: clamp(17px, calc(17px + (28 - 17) * ((100vw - 540px) / (1920 - 540))), 28px);
  --fs-subtitle-m: clamp(16px, calc(16px + (24 - 16) * ((100vw - 540px) / (1920 - 540))), 24px);
  --fs-subtitle-s: clamp(14px, calc(14px + (20 - 14) * ((100vw - 540px) / (1920 - 540))), 20px);
  --fs-body-l: clamp(16px, calc(16px + (20 - 16) * ((100vw - 540px) / (1920 - 540))), 20px);
  --fs-body-m: clamp(14px, calc(14px + (18 - 14) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-body-s: clamp(13px, calc(13px + (16 - 13) * ((100vw - 540px) / (1920 - 540))), 16px);
  --fs-caption-xl: clamp(18px, calc(18px + (24 - 18) * ((100vw - 540px) / (1920 - 540))), 24px);
  --fs-caption-l: clamp(16px, calc(16px + (20 - 16) * ((100vw - 540px) / (1920 - 540))), 20px);
  --fs-caption-m: clamp(14px, calc(14px + (18 - 14) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-caption-s: clamp(12px, calc(12px + (16 - 12) * ((100vw - 540px) / (1920 - 540))), 16px);
  --fs-caption-xs: clamp(11px, calc(11px + (14 - 11) * ((100vw - 540px) / (1920 - 540))), 14px);
  --fs-button-l: clamp(16px, calc(16px + (18 - 16) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-button-m: clamp(14px, calc(14px + (16 - 14) * ((100vw - 540px) / (1920 - 540))), 16px);
  --fs-button-s: clamp(12px, calc(12px + (14 - 12) * ((100vw - 540px) / (1920 - 540))), 14px);
  --fs-tab: clamp(16px, calc(16px + (18 - 16) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-nav: clamp(14px, calc(14px + (16 - 14) * ((100vw - 540px) / (1920 - 540))), 16px);
  --fs-tag-xl: clamp(16px, calc(16px + (24 - 16) * ((100vw - 540px) / (1920 - 540))), 24px);
  --fs-tag-l: clamp(14px, calc(14px + (18 - 14) * ((100vw - 540px) / (1920 - 540))), 18px);
  --fs-tag-m: clamp(12px, calc(12px + (16 - 12) * ((100vw - 540px) / (1920 - 540))), 16px);
  --fs-tag-s: clamp(12px, calc(12px + (14 - 12) * ((100vw - 540px) / (1920 - 540))), 14px);
  --border-radius-sm: 12px;
  --transition: 0.25s ease-out;
}
@media (min-width: 1024px) {
  html {
    --border-radius-sm: 16px;
  }
}
@media (max-width: 1472px) {
  html {
    --container: calc(100vw - 80px);
    --container-padding: clamp(12px, calc(12px + (64 - 12) * ((100vw - 540px) / (1920 - 540))), 64px);
  }
}
@media (max-width: 992px) {
  html {
    --container: calc(100vw - 32px);
  }
}

html,
.-mode-base {
  --accent-default: #189DAA;
  --accent-disabled: #8DCDDA;
  --accent-focus: #27A2AF;
  --accent-hover: #158B96;
  --accent-subdued: #189DAA;
  --primary-default: #191A1A;
  --primary-disabled: #B9BABC;
  --primary-focus: #121212;
  --primary-hover: #242526;
  --primary-subdued: #464849;
  --secondary-default: #464849;
  --secondary-disabled: #B9BABC;
  --secondary-focus: #3B3C3D;
  --secondary-hover: #303131;
  --secondary-subdued: #8A8C8F;
  --white: #fff;
  --surface-accent-1-default: #FAF3EF;
  --surface-accent-1-disabled: #FEFCFB;
  --surface-accent-1-focus: #FAE2D2;
  --surface-accent-1-hover: #FFF2E9;
  --surface-accent-1-subdued: #FDF9F7;
  --surface-accent-2-default: #E2F9FF;
  --surface-accent-2-disabled: #DCDCDD;
  --surface-accent-2-focus: #E2F9FF;
  --surface-accent-2-hover: #DCF4FA;
  --surface-accent-2-subdued: #AFDDEA;
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #FFFFFF;
  --surface-primary-disabled: #DCDCDD;
  --surface-primary-focus: #E8E8E9;
  --surface-primary-hover: #E8E8E9;
  --surface-primary-subdued: #F3F3F4;
  --surface-secondary-default: #F3F3F4;
  --surface-secondary-disabled: #B9BABC;
  --surface-secondary-focus: #D0D1D2;
  --surface-secondary-hover: #DCDCDD;
  --surface-secondary-subdued: #E8E8E9;
  --border-accent-1-1: #C6EBF5;
  --border-accent-1-2: #AFDDEA;
  --border-accent-1-3: #8DCDDA;
  --border-accent-1-4: #68BDCA;
  --border-accent-1-5: #3DACB7;
  --border-accent-2-1: #FAE2D2;
  --border-accent-2-2: #EFC1A2;
  --border-accent-2-3: #E9B08B;
  --border-accent-2-4: #E19F73;
  --border-accent-2-5: #CB8E65;
  --border-accent-3-1: #189DAA;
  --border-accent-3-2: #158B96;
  --border-accent-3-3: #14818D;
  --border-accent-3-4: #0A2C33;
  --border-accent-3-5: #0A191B;
  --border-primary-1: #DCDCDD;
  --border-primary-2: #D0D1D2;
  --border-primary-3: #B9BABC;
  --border-primary-4: #A1A3A5;
  --border-primary-5: #8A8C8F;
  --border-secondary-1: #DCDCDD;
  --border-secondary-2: #D0D1D2;
  --border-secondary-3: #B9BABC;
  --border-secondary-4: #A1A3A5;
  --border-secondary-5: #8A8C8F;
  --critical: #C42725;
}

.-mode-dark,
.block_banner .block--actions .button,
.content_advantages,
.content_404,
.content_loyalty,
.loyalty_banner.-mode-dark,
.footer,
.content_accommodation_wide .card,
.content_media .card {
  --accent-default: #33A8B3;
  --accent-disabled: #0D545F;
  --accent-focus: #68BDCA;
  --accent-hover: #3DACB7;
  --accent-subdued: #33A8B3;
  --primary-default: #FFFFFF;
  --primary-disabled: rgba(255,255,255, 0.4);
  --primary-focus: #FFFFFF;
  --primary-hover: rgba(255,255,255, 0.9);
  --primary-subdued: rgba(255,255,255, 0.8);
  --secondary-default: rgba(255,255,255, 0.7);
  --secondary-disabled: rgba(255,255,255, 0.4);
  --secondary-focus: rgba(255,255,255, 0.75);
  --secondary-hover: rgba(255,255,255, 0.8);
  --secondary-subdued: rgba(255,255,255, 0.6);
  --surface-accent-1-default: #DCF4FA;
  --surface-accent-1-disabled: #07333B;
  --surface-accent-1-focus: #27A2AF;
  --surface-accent-1-hover: #AFDDEA;
  --surface-accent-1-subdued: #8DCDDA;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #189DAA;
  --surface-accent-3-disabled: #189DAA;
  --surface-accent-3-focus: #27A2AF;
  --surface-accent-3-hover: #27A2AF;
  --surface-accent-3-subdued: #27A2AF;
  --surface-primary-default: #07333B;
  --surface-primary-disabled: #0A191B;
  --surface-primary-focus: #0A2C33;
  --surface-primary-hover: #14818D;
  --surface-primary-subdued: #0D545F;
  --surface-secondary-default: rgba(255,255,255,0.05);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.01);
  --surface-secondary-hover: rgba(255,255,255,0.2);
  --surface-secondary-subdued: rgba(255,255,255,0.03);
  --border-accent-1-1: #189DAA;
  --border-accent-1-2: #27A2AF;
  --border-accent-1-3: #33A8B3;
  --border-accent-1-4: #3DACB7;
  --border-accent-1-5: #68BDCA;
  --border-accent-2-1: #E2F9FF;
  --border-accent-2-2: #DCF4FA;
  --border-accent-2-3: #C6EBF5;
  --border-accent-2-4: #AFDDEA;
  --border-accent-2-5: #8DCDDA;
  --border-accent-3-1: #AFDDEA;
  --border-accent-3-2: #8DCDDA;
  --border-accent-3-3: #68BDCA;
  --border-accent-3-4: #3DACB7;
  --border-accent-3-5: #33A8B3;
  --border-primary-1: #0D545F;
  --border-primary-2: #14818D;
  --border-primary-3: #189DAA;
  --border-primary-4: #27A2AF;
  --border-primary-5: #33A8B3;
  --border-secondary-1: rgba(127,127,127,0.2);
  --border-secondary-2: rgba(127,127,127,0.25);
  --border-secondary-3: rgba(127,127,127,0.3);
  --border-secondary-4: rgba(127,127,127,0.35);
  --border-secondary-5: rgba(127,127,127,0.4);
}

.-mode-light_beige,
.-light_beige,
.loyalty_banner,
.content_advantages_extended-light {
  --accent-default: #27A2AF;
  --accent-disabled: #3DACB7;
  --accent-focus: #3DACB7;
  --accent-hover: #33A8B3;
  --accent-subdued: #33A8B3;
  --primary-default: rgba(25,26,26, 0.8);
  --primary-disabled: rgba(25,26,26, 0.4);
  --primary-focus: rgba(25,26,26, 0.85);
  --primary-hover: rgba(25,26,26, 0.9);
  --primary-subdued: rgba(25,26,26, 0.75);
  --secondary-default: rgba(70,72,73, 0.8);
  --secondary-disabled: rgba(70,72,73, 0.4);
  --secondary-focus: rgba(70,72,73, 0.85);
  --secondary-hover: rgba(70,72,73, 0.9);
  --secondary-subdued: rgba(70,72,73, 0.6);
  --surface-accent-1-default: #EFC1A2;
  --surface-accent-1-disabled: #FEFCFB;
  --surface-accent-1-focus: #E19F73;
  --surface-accent-1-hover: #E9B08B;
  --surface-accent-1-subdued: #FDF9F7;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #FFF2E9;
  --surface-primary-disabled: #FDF9F7;
  --surface-primary-focus: #E9B08B;
  --surface-primary-hover: #EFC1A2;
  --surface-primary-subdued: #FAF3EF;
  --surface-secondary-default: rgba(255,255,255,1);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.8);
  --surface-secondary-hover: rgba(255,255,255,0.85);
  --surface-secondary-subdued: rgba(255,255,255,0.4);
  --border-accent-1-1: #E9B08B;
  --border-accent-1-2: #E19F73;
  --border-accent-1-3: #CB8E65;
  --border-accent-1-4: #B47D57;
  --border-accent-1-5: #9E6B49;
  --border-accent-2-1: #9E6B49;
  --border-accent-2-2: #885B3C;
  --border-accent-2-3: #734B2F;
  --border-accent-2-4: #5F3B22;
  --border-accent-2-5: #4B2C16;
  --border-accent-3-1: #68BDCA;
  --border-accent-3-2: #3DACB7;
  --border-accent-3-3: #33A8B3;
  --border-accent-3-4: #27A2AF;
  --border-accent-3-5: #189DAA;
  --border-primary-1: #E9B08B;
  --border-primary-2: #E19F73;
  --border-primary-3: #CB8E65;
  --border-primary-4: #B47D57;
  --border-primary-5: #9E6B49;
  --border-secondary-1: rgba(127,127,127,0.25);
  --border-secondary-2: rgba(127,127,127,0.3);
  --border-secondary-3: rgba(127,127,127,0.35);
  --border-secondary-4: rgba(127,127,127,0.4);
  --border-secondary-5: rgba(127,127,127,0.45);
}

.-mode-light_teal,
.-light_teal,
.content_accommodation .card {
  --accent-default: #27A2AF;
  --accent-disabled: #3DACB7;
  --accent-focus: #3DACB7;
  --accent-hover: #33A8B3;
  --accent-subdued: #33A8B3;
  --primary-default: rgba(25,26,26, 0.8);
  --primary-disabled: rgba(25,26,26, 0.4);
  --primary-focus: rgba(25,26,26, 0.85);
  --primary-hover: rgba(25,26,26, 0.9);
  --primary-subdued: rgba(25,26,26, 0.75);
  --secondary-default: rgba(70,72,73, 0.8);
  --secondary-disabled: rgba(70,72,73, 0.4);
  --secondary-focus: rgba(70,72,73, 0.85);
  --secondary-hover: rgba(70,72,73, 0.9);
  --secondary-subdued: rgba(70,72,73, 0.6);
  --surface-accent-1-default: #C6EBF5;
  --surface-accent-1-disabled: #8DCDDA;
  --surface-accent-1-focus: #E2F9FF;
  --surface-accent-1-hover: #AFDDEA;
  --surface-accent-1-subdued: #AFDDEA;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #E2F9FF;
  --surface-primary-disabled: #DCDCDD;
  --surface-primary-focus: #E2F9FF;
  --surface-primary-hover: #C6EBF5;
  --surface-primary-subdued: #DCF4FA;
  --surface-secondary-default: rgba(255,255,255,1);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.8);
  --surface-secondary-hover: rgba(255,255,255,0.85);
  --surface-secondary-subdued: rgba(255,255,255,0.4);
  --border-accent-1-1: #3DACB7;
  --border-accent-1-2: #33A8B3;
  --border-accent-1-3: #27A2AF;
  --border-accent-1-4: #189DAA;
  --border-accent-1-5: #189DAA;
  --border-accent-2-1: #33A8B3;
  --border-accent-2-2: #27A2AF;
  --border-accent-2-3: #189DAA;
  --border-accent-2-4: #14818D;
  --border-accent-2-5: #0D545F;
  --border-accent-3-1: #189DAA;
  --border-accent-3-2: #33A8B3;
  --border-accent-3-3: #3DACB7;
  --border-accent-3-4: #68BDCA;
  --border-accent-3-5: #8DCDDA;
  --border-primary-1: #C6EBF5;
  --border-primary-2: #AFDDEA;
  --border-primary-3: #8DCDDA;
  --border-primary-4: #68BDCA;
  --border-primary-5: #3DACB7;
  --border-secondary-1: rgba(127,127,127,0.2);
  --border-secondary-2: rgba(127,127,127,0.25);
  --border-secondary-3: rgba(127,127,127,0.3);
  --border-secondary-4: rgba(127,127,127,0.35);
  --border-secondary-5: rgba(127,127,127,0.4);
}

body {
  min-height: 100vh;
  max-width: 100vw;
  overflow-x: hidden;
}

*::-moz-selection {
  background: transparent;
}

*::selection {
  background: transparent;
}

p::-moz-selection, strong::-moz-selection, span::-moz-selection, h1::-moz-selection, h2::-moz-selection, h3::-moz-selection, h4::-moz-selection, h5::-moz-selection, h6::-moz-selection, li::-moz-selection, input::-moz-selection, textarea::-moz-selection {
  background-color: var(--surface-accent-2-hover);
}

p::selection, strong::selection, span::selection, h1::selection, h2::selection, h3::selection, h4::selection, h5::selection, h6::selection, li::selection, input::selection, textarea::selection {
  background-color: var(--surface-accent-2-hover);
}

section.-mode-dark {
  background-color: var(--surface-primary-default);
}

body {
  position: relative;
}

.header {
  position: sticky;
  top: 0;
  padding: 12px var(--container-padding);
  z-index: 20;
  width: 100%;
  color: var(--primary-default);
  --logo-color: var(--surface-accent-3-default);
  --dropdown-button-bg-color: #F3F3F4;
  --dropdown-button-bg-color-hover: #F3F3F4;
  --dropdown-list-bg-color: #F3F3F4;
  --dropdown-list-item-bgcolor-active: #FFFFFF;
}
@media (min-width: 1024px) {
  .header {
    padding: 20px var(--container-padding) 0;
  }
}
.header.header-transparent {
  position: fixed;
  top: 0;
}
.header.header-transparent:not(.is_scrolled) {
  color: #fff;
  --logo-color: #fff;
  --dropdown-button-bg-color: rgba(255,255,255,0.05);
  --dropdown-button-bg-color-hover: #FFFFFF;
  --dropdown-list-bg-color: #FFFFFF;
  --dropdown-list-item-bgcolor-active: #F2F9FA;
}
@media (max-width: 1024px) {
  .header.header-transparent.is_scrolled, .header.is_scrolled {
    background-color: #fff;
  }
}
@media (min-width: 1024px) {
  .header.header-transparent.is_scrolled .header--main:after, .header.is_scrolled .header--main:after {
    opacity: 1;
  }
}

.header--main {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: var(--transition);
}
@media (min-width: 1024px) {
  .header--main {
    justify-content: flex-start;
    padding: 4px 0;
  }
  .header--main:after {
    content: "";
    position: absolute;
    display: block;
    width: calc(100% + 16px + 4px);
    left: -16px;
    right: -4px;
    height: 100%;
    z-index: -1;
    border-radius: 16px;
    background-color: #fff;
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.25);
    opacity: 0;
  }
}

.header--logo {
  color: var(--logo-color);
  display: flex;
  align-items: center;
  flex-shrink: 0;
  height: 36px;
}
@media (min-width: 768px) {
  .header--logo {
    height: 40px;
  }
}
.header--logo svg, .header--logo img {
  aspect-ratio: 164/40;
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.header .header--actions {
  display: flex;
  gap: 4px;
  margin-left: auto;
}
@media (max-width: 1024px) {
  .header .header--actions {
    display: none;
  }
}
.header .header--actions .button {
  font-size: var(--fs-button-m);
  padding: 9px 11px;
  line-height: 1;
}

.header--contacts .dropdown--wrapper {
  left: unset;
  right: 0;
  min-width: 300px;
}

.header--main {
  width: var(--container);
}

.header .header--nav {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-right: 24px;
}
@media (max-width: 1024px) {
  .header .header--nav {
    display: none;
  }
}
.header .header--nav .nav > .nav--item > a > span {
  white-space: nowrap;
}
.header .header--nav .nav {
  position: absolute;
  top: 0;
  max-width: 100%;
  height: 100%;
  align-items: center;
}

#header_nav_more.is_hidden {
  display: none;
}

.header_mobile {
  position: fixed;
  bottom: 20px;
  left: 12px;
  right: 12px;
  background-color: #fff;
  box-shadow: 0px -2px 32px 0px rgba(51, 51, 51, 0.2), 0px -1px 24px 0px rgba(51, 51, 51, 0.5);
  border-radius: 12px;
  padding: 4px;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2px;
}
@media (min-width: 1024px) {
  .header_mobile {
    display: none;
  }
}
.header_mobile--button .button {
  padding: 10px;
}
.header_mobile--button .button > span:not([class]) {
  font-size: 14px;
  line-height: 1.42;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.header_mobile--button .button > span[class^=icon-], .header_mobile--button .button > span[class*=" icon-"], .header_mobile--button .button > svg[class^=icon], .header_mobile--button .button > svg {
  font-size: 20px;
}
.header_mobile .dropdown--button {
  gap: 0;
}
.header_mobile .dropdown--button:not(:only-child) span:last-child::after {
  display: none;
}

.header_mobile .dropdown--wrapper {
  padding-top: 0;
  padding-bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  right: unset;
  top: unset;
  bottom: 100%;
  min-width: 240px;
}
.header_mobile .dropdown--wrapper .dropdown--list {
  box-shadow: 0px -2px 32px 0px rgba(51, 51, 51, 0.2), 0px -1px 24px 0px rgba(51, 51, 51, 0.5);
}

.header--contacts.dropdown.is_active .dropdown--button {
  background-color: rgb(223, 242, 245);
  color: var(--accent-default);
}

.header:not(.header-transparent) .button-neutral.button-filled-secondary,
.header:not(.header-transparent) .button-neutral.button-filled-primary {
  --surface-secondary-default: #fff;
}

.header--hotel_select span {
  white-space: nowrap;
}

.header--hotel_select .dropdown--list a {
  line-height: 1.25;
}
.header--hotel_select .dropdown--list a[href="/"] {
  margin-top: 8px;
  position: relative;
  padding-left: 0;
}
.header--hotel_select .dropdown--list a[href="/"]:before {
  content: "";
  position: absolute;
  top: -4px;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--border-primary-1);
  left: 0;
}
.header--hotel_select .dropdown--list a .icon-chevron-left {
  font-size: 1.25em;
}

html,
.-mode-base {
  --accent-default: #189DAA;
  --accent-disabled: #8DCDDA;
  --accent-focus: #27A2AF;
  --accent-hover: #158B96;
  --accent-subdued: #189DAA;
  --primary-default: #191A1A;
  --primary-disabled: #B9BABC;
  --primary-focus: #121212;
  --primary-hover: #242526;
  --primary-subdued: #464849;
  --secondary-default: #464849;
  --secondary-disabled: #B9BABC;
  --secondary-focus: #3B3C3D;
  --secondary-hover: #303131;
  --secondary-subdued: #8A8C8F;
  --white: #fff;
  --surface-accent-1-default: #FAF3EF;
  --surface-accent-1-disabled: #FEFCFB;
  --surface-accent-1-focus: #FAE2D2;
  --surface-accent-1-hover: #FFF2E9;
  --surface-accent-1-subdued: #FDF9F7;
  --surface-accent-2-default: #E2F9FF;
  --surface-accent-2-disabled: #DCDCDD;
  --surface-accent-2-focus: #E2F9FF;
  --surface-accent-2-hover: #DCF4FA;
  --surface-accent-2-subdued: #AFDDEA;
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #FFFFFF;
  --surface-primary-disabled: #DCDCDD;
  --surface-primary-focus: #E8E8E9;
  --surface-primary-hover: #E8E8E9;
  --surface-primary-subdued: #F3F3F4;
  --surface-secondary-default: #F3F3F4;
  --surface-secondary-disabled: #B9BABC;
  --surface-secondary-focus: #D0D1D2;
  --surface-secondary-hover: #DCDCDD;
  --surface-secondary-subdued: #E8E8E9;
  --border-accent-1-1: #C6EBF5;
  --border-accent-1-2: #AFDDEA;
  --border-accent-1-3: #8DCDDA;
  --border-accent-1-4: #68BDCA;
  --border-accent-1-5: #3DACB7;
  --border-accent-2-1: #FAE2D2;
  --border-accent-2-2: #EFC1A2;
  --border-accent-2-3: #E9B08B;
  --border-accent-2-4: #E19F73;
  --border-accent-2-5: #CB8E65;
  --border-accent-3-1: #189DAA;
  --border-accent-3-2: #158B96;
  --border-accent-3-3: #14818D;
  --border-accent-3-4: #0A2C33;
  --border-accent-3-5: #0A191B;
  --border-primary-1: #DCDCDD;
  --border-primary-2: #D0D1D2;
  --border-primary-3: #B9BABC;
  --border-primary-4: #A1A3A5;
  --border-primary-5: #8A8C8F;
  --border-secondary-1: #DCDCDD;
  --border-secondary-2: #D0D1D2;
  --border-secondary-3: #B9BABC;
  --border-secondary-4: #A1A3A5;
  --border-secondary-5: #8A8C8F;
  --critical: #C42725;
}

.-mode-dark, .header-transparent ~ .breadcrumbs,
.block_banner .block--actions .button,
.content_advantages,
.content_404,
.content_loyalty,
.loyalty_banner.-mode-dark,
.footer,
.content_accommodation_wide .card,
.content_media .card {
  --accent-default: #33A8B3;
  --accent-disabled: #0D545F;
  --accent-focus: #68BDCA;
  --accent-hover: #3DACB7;
  --accent-subdued: #33A8B3;
  --primary-default: #FFFFFF;
  --primary-disabled: rgba(255,255,255, 0.4);
  --primary-focus: #FFFFFF;
  --primary-hover: rgba(255,255,255, 0.9);
  --primary-subdued: rgba(255,255,255, 0.8);
  --secondary-default: rgba(255,255,255, 0.7);
  --secondary-disabled: rgba(255,255,255, 0.4);
  --secondary-focus: rgba(255,255,255, 0.75);
  --secondary-hover: rgba(255,255,255, 0.8);
  --secondary-subdued: rgba(255,255,255, 0.6);
  --surface-accent-1-default: #DCF4FA;
  --surface-accent-1-disabled: #07333B;
  --surface-accent-1-focus: #27A2AF;
  --surface-accent-1-hover: #AFDDEA;
  --surface-accent-1-subdued: #8DCDDA;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #189DAA;
  --surface-accent-3-disabled: #189DAA;
  --surface-accent-3-focus: #27A2AF;
  --surface-accent-3-hover: #27A2AF;
  --surface-accent-3-subdued: #27A2AF;
  --surface-primary-default: #07333B;
  --surface-primary-disabled: #0A191B;
  --surface-primary-focus: #0A2C33;
  --surface-primary-hover: #14818D;
  --surface-primary-subdued: #0D545F;
  --surface-secondary-default: rgba(255,255,255,0.05);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.01);
  --surface-secondary-hover: rgba(255,255,255,0.2);
  --surface-secondary-subdued: rgba(255,255,255,0.03);
  --border-accent-1-1: #189DAA;
  --border-accent-1-2: #27A2AF;
  --border-accent-1-3: #33A8B3;
  --border-accent-1-4: #3DACB7;
  --border-accent-1-5: #68BDCA;
  --border-accent-2-1: #E2F9FF;
  --border-accent-2-2: #DCF4FA;
  --border-accent-2-3: #C6EBF5;
  --border-accent-2-4: #AFDDEA;
  --border-accent-2-5: #8DCDDA;
  --border-accent-3-1: #AFDDEA;
  --border-accent-3-2: #8DCDDA;
  --border-accent-3-3: #68BDCA;
  --border-accent-3-4: #3DACB7;
  --border-accent-3-5: #33A8B3;
  --border-primary-1: #0D545F;
  --border-primary-2: #14818D;
  --border-primary-3: #189DAA;
  --border-primary-4: #27A2AF;
  --border-primary-5: #33A8B3;
  --border-secondary-1: rgba(127,127,127,0.2);
  --border-secondary-2: rgba(127,127,127,0.25);
  --border-secondary-3: rgba(127,127,127,0.3);
  --border-secondary-4: rgba(127,127,127,0.35);
  --border-secondary-5: rgba(127,127,127,0.4);
}

.-mode-light_beige,
.-light_beige,
.loyalty_banner,
.content_advantages_extended-light {
  --accent-default: #27A2AF;
  --accent-disabled: #3DACB7;
  --accent-focus: #3DACB7;
  --accent-hover: #33A8B3;
  --accent-subdued: #33A8B3;
  --primary-default: rgba(25,26,26, 0.8);
  --primary-disabled: rgba(25,26,26, 0.4);
  --primary-focus: rgba(25,26,26, 0.85);
  --primary-hover: rgba(25,26,26, 0.9);
  --primary-subdued: rgba(25,26,26, 0.75);
  --secondary-default: rgba(70,72,73, 0.8);
  --secondary-disabled: rgba(70,72,73, 0.4);
  --secondary-focus: rgba(70,72,73, 0.85);
  --secondary-hover: rgba(70,72,73, 0.9);
  --secondary-subdued: rgba(70,72,73, 0.6);
  --surface-accent-1-default: #EFC1A2;
  --surface-accent-1-disabled: #FEFCFB;
  --surface-accent-1-focus: #E19F73;
  --surface-accent-1-hover: #E9B08B;
  --surface-accent-1-subdued: #FDF9F7;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #FFF2E9;
  --surface-primary-disabled: #FDF9F7;
  --surface-primary-focus: #E9B08B;
  --surface-primary-hover: #EFC1A2;
  --surface-primary-subdued: #FAF3EF;
  --surface-secondary-default: rgba(255,255,255,1);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.8);
  --surface-secondary-hover: rgba(255,255,255,0.85);
  --surface-secondary-subdued: rgba(255,255,255,0.4);
  --border-accent-1-1: #E9B08B;
  --border-accent-1-2: #E19F73;
  --border-accent-1-3: #CB8E65;
  --border-accent-1-4: #B47D57;
  --border-accent-1-5: #9E6B49;
  --border-accent-2-1: #9E6B49;
  --border-accent-2-2: #885B3C;
  --border-accent-2-3: #734B2F;
  --border-accent-2-4: #5F3B22;
  --border-accent-2-5: #4B2C16;
  --border-accent-3-1: #68BDCA;
  --border-accent-3-2: #3DACB7;
  --border-accent-3-3: #33A8B3;
  --border-accent-3-4: #27A2AF;
  --border-accent-3-5: #189DAA;
  --border-primary-1: #E9B08B;
  --border-primary-2: #E19F73;
  --border-primary-3: #CB8E65;
  --border-primary-4: #B47D57;
  --border-primary-5: #9E6B49;
  --border-secondary-1: rgba(127,127,127,0.25);
  --border-secondary-2: rgba(127,127,127,0.3);
  --border-secondary-3: rgba(127,127,127,0.35);
  --border-secondary-4: rgba(127,127,127,0.4);
  --border-secondary-5: rgba(127,127,127,0.45);
}

.-mode-light_teal,
.-light_teal,
.content_accommodation .card {
  --accent-default: #27A2AF;
  --accent-disabled: #3DACB7;
  --accent-focus: #3DACB7;
  --accent-hover: #33A8B3;
  --accent-subdued: #33A8B3;
  --primary-default: rgba(25,26,26, 0.8);
  --primary-disabled: rgba(25,26,26, 0.4);
  --primary-focus: rgba(25,26,26, 0.85);
  --primary-hover: rgba(25,26,26, 0.9);
  --primary-subdued: rgba(25,26,26, 0.75);
  --secondary-default: rgba(70,72,73, 0.8);
  --secondary-disabled: rgba(70,72,73, 0.4);
  --secondary-focus: rgba(70,72,73, 0.85);
  --secondary-hover: rgba(70,72,73, 0.9);
  --secondary-subdued: rgba(70,72,73, 0.6);
  --surface-accent-1-default: #C6EBF5;
  --surface-accent-1-disabled: #8DCDDA;
  --surface-accent-1-focus: #E2F9FF;
  --surface-accent-1-hover: #AFDDEA;
  --surface-accent-1-subdued: #AFDDEA;
  --surface-accent-2-default: rgba(255,255,255, 0.85);
  --surface-accent-2-disabled: rgba(255,255,255, 0.45);
  --surface-accent-2-focus: rgba(255,255,255, 1);
  --surface-accent-2-hover: rgba(255,255,255, 0.75);
  --surface-accent-2-subdued: rgba(255,255,255, 0.6);
  --surface-accent-3-default: #27A2AF;
  --surface-accent-3-disabled: #3DACB7;
  --surface-accent-3-focus: #189DAA;
  --surface-accent-3-hover: #14818D;
  --surface-accent-3-subdued: #33A8B3;
  --surface-primary-default: #E2F9FF;
  --surface-primary-disabled: #DCDCDD;
  --surface-primary-focus: #E2F9FF;
  --surface-primary-hover: #C6EBF5;
  --surface-primary-subdued: #DCF4FA;
  --surface-secondary-default: rgba(255,255,255,1);
  --surface-secondary-disabled: rgba(255,255,255,0.01);
  --surface-secondary-focus: rgba(255,255,255,0.8);
  --surface-secondary-hover: rgba(255,255,255,0.85);
  --surface-secondary-subdued: rgba(255,255,255,0.4);
  --border-accent-1-1: #3DACB7;
  --border-accent-1-2: #33A8B3;
  --border-accent-1-3: #27A2AF;
  --border-accent-1-4: #189DAA;
  --border-accent-1-5: #189DAA;
  --border-accent-2-1: #33A8B3;
  --border-accent-2-2: #27A2AF;
  --border-accent-2-3: #189DAA;
  --border-accent-2-4: #14818D;
  --border-accent-2-5: #0D545F;
  --border-accent-3-1: #189DAA;
  --border-accent-3-2: #33A8B3;
  --border-accent-3-3: #3DACB7;
  --border-accent-3-4: #68BDCA;
  --border-accent-3-5: #8DCDDA;
  --border-primary-1: #C6EBF5;
  --border-primary-2: #AFDDEA;
  --border-primary-3: #8DCDDA;
  --border-primary-4: #68BDCA;
  --border-primary-5: #3DACB7;
  --border-secondary-1: rgba(127,127,127,0.2);
  --border-secondary-2: rgba(127,127,127,0.25);
  --border-secondary-3: rgba(127,127,127,0.3);
  --border-secondary-4: rgba(127,127,127,0.35);
  --border-secondary-5: rgba(127,127,127,0.4);
}

.breadcrumb {
  display: flex;
  align-items: center;
  overflow-x: auto;
  max-width: 100vw;
  overflow-y: visible;
  padding: 16px var(--container-padding);
}
.breadcrumb.is_visible {
  opacity: 1;
}
.breadcrumb a {
  transition: var(--transition);
  display: flex;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  flex-grow: 0;
  color: var(--primary-subdued);
}
.breadcrumb a span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  max-width: 240px;
  font-weight: 500;
  font-size: clamp(12px, 12px + 2 * (100vw - 540px) / 1380, 14px);
  line-height: 1.15;
}
.breadcrumb a:not(:last-child) {
  padding-right: 8px;
}
.breadcrumb a:not(:last-child):hover, .breadcrumb a:not(:last-child):focus, .breadcrumb a:not(:last-child):active {
  color: var(--accent-subdued);
}
.breadcrumb a:not(:last-child):after {
  content: "";
  margin-left: 8px;
  width: 4px;
  height: 4px;
  display: block;
  border-radius: 50%;
  background-color: currentColor;
}
.breadcrumb a:last-child {
  cursor: initial;
  color: var(--primary-disabled);
}

.header-transparent ~ .breadcrumb {
  position: absolute;
  z-index: 10;
  top: var(--headerHeight, 76px);
  left: 0;
  right: 0;
}

main:has(.block_banner-hero.block-centered) .breadcrumb {
  justify-content: center;
}

.nav {
  display: flex;
}
.nav--item {
  display: flex;
  align-items: center;
}
.nav--item a {
  border-radius: 12px;
  padding: 10px;
  font-weight: 500;
  font-size: var(--fs-button-m);
  display: flex;
  align-items: center;
  transition: var(--transition);
}
.nav--item a span {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.nav--item a span:not([class^=icon-], [class*=" icon-"]) {
  width: 100%;
}
.nav--item > a:not(:only-child):after {
  font-family: "icomoon" !important;
  content: "\e90c";
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: center;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  margin-left: 4px;
}
.nav--item:hover a:not(:only-child), .nav--item:focus a:not(:only-child) {
  background-color: var(--dropdown-button-bg-color-hover);
  color: var(--primary-hover);
}
.nav--item:hover a:only-child, .nav--item:focus a:only-child {
  background-color: var(--dropdown-button-bg-color);
}
.nav--item.is_active > a:not(:only-child):after {
  transform: scaleY(-1);
}
@media (min-width: 1024px) {
  .nav--item:hover > a:not(:only-child):after, .nav--item:focus > a:not(:only-child):after {
    transform: scaleY(-1);
  }
}

@media (min-width: 1024px) {
  .dropdown--list .nav--item > a:not(:only-child):after {
    content: "\e907";
  }
}
#header_nav_more .dropdown--button:not(:only-child) span::after {
  display: none;
}

@media (max-width: 1024px) {
  .popup-menu .nav--item {
    flex-direction: column;
  }
  .popup-menu .nav--item .dropdown--wrapper {
    position: static;
    opacity: 0;
    display: grid;
    grid-template-rows: 0fr;
    pointer-events: none;
    overflow: hidden;
    transition: grid-template-rows 0.21s ease-out;
    max-width: unset;
    width: 100%;
    padding: 0;
    height: 0;
  }
  .popup-menu .nav--item .dropdown--wrapper .dropdown--list {
    width: 100%;
    grid-row: 1/span 2;
    overflow: hidden;
    background: transparent;
    border-radius: 0;
    color: #fff;
    padding: 12px 0 12px 24px;
  }
  .popup-menu .nav--item .dropdown--wrapper .nav--item a span {
    font-size: 18px;
  }
  .popup-menu .nav--item.is_active > .dropdown--wrapper {
    pointer-events: auto;
    grid-template-rows: 1fr;
    opacity: 1;
    height: auto;
  }
  .popup-menu .nav {
    flex-direction: column;
    flex-grow: 1;
  }
  .popup-menu .nav--item a {
    font-size: 20px;
    padding: 10px 12px;
    width: 100%;
  }
}
.booking {
  display: flex;
  gap: 4px;
  padding: 4px;
  background-color: #fff;
  border-radius: 16px;
  color: rgb(25, 26, 26);
  margin: 24px auto;
  text-align: left;
  max-width: 720px;
}
@media (max-width: 768px) {
  .booking {
    flex-direction: column;
  }
}
.booking--calendar, .booking--guests {
  background-color: rgb(243, 243, 244);
  min-height: 44px;
  border-radius: 12px;
  padding: 0 12px;
  font-size: var(--fs-button-l);
  display: flex;
  align-items: center;
  gap: 8px;
  transition: var(--transition);
}
@media (max-width: 768px) {
  .booking--calendar, .booking--guests {
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .booking--calendar, .booking--guests {
    flex-grow: 1;
    flex-basis: 25%;
  }
}
.booking--calendar:focus-within, .booking--calendar:focus, .booking--calendar:hover, .booking--calendar:active, .booking--guests:focus-within, .booking--guests:focus, .booking--guests:hover, .booking--guests:active {
  background-color: rgb(232, 232, 233);
}
.booking--calendar input[data-booking-dates], .booking--guests input[data-booking-dates] {
  background-color: transparent;
  height: 100%;
}
@media (min-width: 768px) {
  .booking--calendar input[data-booking-dates], .booking--guests input[data-booking-dates] {
    padding-left: 32px;
  }
}
@media (max-width: 768px) {
  .booking--calendar input[data-booking-dates], .booking--guests input[data-booking-dates] {
    text-align: center;
  }
}
.booking--calendar {
  position: relative;
}
.booking .icon-calendar,
.booking .icon-guests {
  color: rgb(185, 186, 188);
  font-size: 1.2em;
}
@media (max-width: 768px) {
  .booking .icon-calendar,
  .booking .icon-guests {
    display: none;
  }
}
.booking .icon-calendar {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.booking .form--input > span {
  color: rgb(70, 72, 73);
}
.booking .numbers--output {
  color: rgb(25, 26, 26);
}

.booking--guests {
  position: relative;
}
.booking--guests_title {
  font-size: var(--fs-h4);
  font-weight: 600;
}
.booking--guests_wrapper {
  padding: 8px;
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  text-align: left;
}
.booking--guests_close {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
}
.booking--guests.is_active .booking--guests_wrapper {
  opacity: 1;
  pointer-events: all;
}
.booking--guests_output {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
}
@media (max-width: 768px) {
  .booking--guests_output {
    text-align: center;
    width: 100%;
    justify-content: center;
  }
}
.booking--guests_items {
  padding: 24px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
  background-color: #fff;
  border: 1px solid rgb(243, 243, 244);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  max-height: 50vh;
  overflow-y: auto;
}
.booking--guests_items .booking--guests_title {
  order: 1;
}
.booking--guests_items .booking--room {
  order: 2;
}
.booking--guests_items .booking--room_add {
  order: 3;
}

.booking--room {
  padding: 20px 0;
  border-bottom: 1px solid rgb(220, 220, 221);
}
.booking--room_title {
  font-weight: 600;
  font-size: var(--fs-h5);
}
.booking--room_title span {
  margin: 0 0.5em;
}

.booking--room_add {
  padding-top: 20px;
}

.booking--children-selects {
  display: flex;
  flex-direction: column;
}

.booking--children-select {
  display: flex;
  align-items: center;
}
.booking--children-select .form--input {
  flex-direction: row;
  gap: 24px;
  align-items: center;
  width: 100%;
}
.booking--children-select .form--input span {
  white-space: nowrap;
}
.booking--children-select .form--input .form--input_select {
  flex-grow: 1;
}

.booking--title {
  font-size: var(--fs-h4);
  margin-bottom: 16px;
}

.booking--price {
  display: flex;
  flex-direction: column;
  color: var(--accent-default);
  font-weight: 600;
}
.booking--price_hint {
  font-size: 16px;
}
.booking--price_number {
  font-size: var(--fs-h4);
}

@media (max-width: 768px) {
  .block_banner .booking--button .button {
    width: 100%;
  }
}
.booking-network.booking {
  max-width: var(--container);
}

.booking--hotels {
  background-color: rgb(243, 243, 244);
  font-size: var(--fs-button-l);
  color: rgb(25, 26, 26);
  border-radius: 12px;
  min-width: 180px;
}
@media (min-width: 768px) {
  .booking--hotels {
    flex-grow: 1;
    flex-basis: 25%;
  }
}
@media (max-width: 768px) {
  .booking--hotels {
    z-index: 2;
    position: relative;
    width: calc(100% - 42px);
  }
  .booking--hotels:has(.is_opened) {
    z-index: 3;
  }
}
.booking--hotels:focus-within .select--button {
  background-color: rgb(232, 232, 233);
}
.booking--hotels .select {
  width: 100%;
}
.booking--hotels .select--button {
  min-height: 44px;
  border: none;
  font-size: inherit;
  color: inherit;
  background-color: transparent;
}
@media (max-width: 768px) {
  .booking--hotels .select--button {
    text-align: center;
    justify-content: center;
  }
}

.footer {
  border: 1px solid var(--border-primary-1);
  background-color: var(--surface-primary-focus);
  color: var(--primary-default);
  background-image: url("../img/pattern-1.svg");
  padding: 64px var(--container-padding);
  background-size: cover;
  background-position: top left;
}
.footer--wrapper {
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 20px;
  border: 1px solid var(--border-primary-1);
  border-radius: 16px;
  background-color: var(--surface-primary-focus);
}
@media (min-width: 1024px) {
  .footer--wrapper {
    border-radius: 36px;
  }
}
.footer--top {
  display: grid;
  gap: 40px;
}
@media (min-width: 1024px) {
  .footer--top {
    padding: 32px;
    grid-template-columns: 1fr 1fr;
  }
}
.footer--info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}
.footer .footer-text {
  max-width: 594px;
}
.footer .contact {
  padding: 0;
}

@media (min-width: 1024px) {
  .footer--nav {
    margin-left: 14px;
  }
}
.footer--nav .nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (min-width: 1024px) {
  .footer--nav .nav {
    display: flex;
    gap: 48px;
  }
}
.footer--nav .nav--col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex-grow: 1;
}
.footer--nav .nav--col h3 {
  margin-bottom: 4px;
  text-transform: uppercase;
  font-weight: 600;
  font-size: var(--fs-h5);
}
.footer--nav .nav--col ul {
  display: flex;
  flex-direction: column;
  list-style: none;
  gap: 20px;
}

.footer--main .block,
.footer--main .content_hotels {
  margin: 0;
  padding: 0;
}
.footer--main .block .block--wrapper,
.footer--main .content_hotels .block--wrapper {
  padding: 0;
}

.footer--contacts {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-phone {
  font-weight: 500;
  font-size: var(--fs-subtitle-xl);
  margin-top: 12px;
}

.footer--address {
  font-size: var(--fs-caption-m);
  letter-spacing: 0.01em;
  margin-top: 8px;
  margin-bottom: 20px;
}

.footer-socials {
  margin-top: 16px;
}

.footer--logo {
  height: clamp(32px, 32px + 32 * (100vw - 540px) / 1380, 64px);
}
.footer--logo svg {
  height: 100%;
}

.footer .content_hotel .block--elements {
  display: flex;
}
@media (max-width: 768px) {
  .footer .content_hotel .block--elements {
    flex-direction: column;
  }
}
.footer .content_hotel .block--elements .card {
  height: 480px;
  aspect-ratio: auto;
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
}
@media (max-width: 768px) {
  .footer .content_hotel .block--elements .card {
    height: 180px;
  }
}

/* Buttons */
.button {
  --border-corner-button: 8px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  gap: 0;
  flex-shrink: 0;
  cursor: pointer;
  z-index: 1;
  overflow: hidden;
  transition: var(--transition);
  font-size: clamp(16px, 18px + 2 * (100vw - 1024px) / 896, 18px);
  background-color: var(--button-bg-color, transparent);
  border: 1px solid var(--button-border-color, transparent);
  color: var(--button-color);
}
@media (min-width: 1024px) {
  .button {
    gap: 4px;
    --border-corner-button: 12px;
  }
}
.button span {
  transition: var(--transition);
  color: inherit;
}
.button span:not([class]) {
  line-height: 1.33;
  padding: 0 4px;
  font-weight: 500;
  letter-spacing: -0.01em;
}
.button span[class^=icon-],
.button span[class*=" icon-"],
.button svg[class^=icon],
.button svg {
  color: inherit;
  width: 1em;
  height: 1em;
  font-size: 1.33em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.button-filled-primary,
.button-filled-secondary,
.button-outlined-primary {
  padding: 11px;
  border-radius: var(--border-corner-button);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
.button-filled-primary span,
.button-filled-secondary span,
.button-outlined-primary span {
  white-space: nowrap;
  text-align: center;
}

.button.button-link-primary {
  justify-content: flex-start;
}
.button.button-link-primary:visited {
  opacity: 0.8;
}

/* Button  colors  */
.button-accent.button-filled-primary {
  --button-bg-color: var(--surface-accent-3-default);
  --button-border-color: transparent;
  --button-color: #fff;
}
.button-accent.button-filled-primary:hover, .button-accent.button-filled-primary:focus, .button-accent.button-filled-primary:active {
  --button-bg-color: var(--surface-accent-3-hover);
  --button-border-color: transparent;
  --button-color: #fff;
}
.button-accent.button-filled-secondary {
  --button-bg-color: var(--surface-accent-2-default);
  --button-border-color: transparent;
  --button-color: #242526;
}
.button-accent.button-filled-secondary:hover, .button-accent.button-filled-secondary:focus, .button-accent.button-filled-secondary:active {
  --button-bg-color: var(--surface-accent-2-hover);
  --button-border-color: transparent;
  --button-color: var(--accent-default);
}
.button-accent.button-outlined-primary {
  --button-bg-color: transparent;
  --button-border-color: var(--border-accent-3-2);
  --button-color: var(--accent-default);
}
.button-accent.button-outlined-primary:hover, .button-accent.button-outlined-primary:focus, .button-accent.button-outlined-primary:active {
  --button-bg-color: var(--surface-accent-3-default);
  --button-border-color: transparent;
  --button-color: #fff;
}
.button-accent.button-link-primary {
  --button-color: var(--accent-default);
}
.button-accent.button-link-primary:hover, .button-accent.button-link-primary:focus, .button-accent.button-link-primary:active {
  --button-color: var(--accent-hover);
}

.button-neutral.button-filled-secondary, .button-neutral.button-filled-primary {
  --button-bg-color: var(--surface-secondary-default);
  --button-border-color: transparent;
  --button-color: var(--primary-subdued);
}
.button-neutral.button-filled-secondary:hover, .button-neutral.button-filled-secondary:focus, .button-neutral.button-filled-secondary:active, .button-neutral.button-filled-primary:hover, .button-neutral.button-filled-primary:focus, .button-neutral.button-filled-primary:active {
  --button-bg-color: var(--surface-secondary-hover);
  --button-border-color: transparent;
  --button-color: var(--primary-hover);
}
.button-neutral.button-outlined-primary {
  --button-bg-color: transparent;
  --button-border-color: var(--border-accent-1-3);
  --button-color: var(--primary-subdued);
}
.button-neutral.button-outlined-primary:hover, .button-neutral.button-outlined-primary:focus, .button-neutral.button-outlined-primary:active {
  --button-bg-color: var(--surface-secondary-hover);
  --button-border-color: transparent;
  --button-color: var(--primary-default);
}
.button-neutral.button-link-primary {
  --button-color: var(--secondary-default);
}
.button-neutral.button-link-primary:hover, .button-neutral.button-link-primary:focus, .button-neutral.button-link-primary:active {
  --button-color: var(--secondary-hover);
}

.accordion {
  position: relative;
  overflow: hidden;
  background-color: var(--surface-secondary-default);
  padding: 8px;
  border-radius: 16px;
  margin-bottom: 8px;
}
.accordion:hover .accordion, .accordion:focus .accordion {
  background-color: var(--surface-secondary-hover);
}
.accordion.is_open .accordion--content {
  pointer-events: auto;
  grid-template-rows: 1fr;
  opacity: 1;
  height: auto;
}
.accordion.is_open .icon {
  transform: scaleY(-1);
  transform-origin: center;
}
.accordion--button {
  transition: var(--transition);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  padding: clamp(12px, 12px + 8 * (100vw - 768px) / 1152, 20px);
  gap: 8px;
  font-size: var(--fs-h5);
}
.accordion--button .accordion--button_text {
  transition: var(--transition);
  font-weight: 600;
}
.accordion--button .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  flex-grow: 0;
  height: 1.33em;
  width: 1.33em;
  transform: scaleY(1);
  transition: var(--transition);
}
.accordion--button .icon:before {
  font-family: "icomoon" !important;
  content: "\e905";
}
.accordion--content {
  opacity: 0;
  display: grid;
  grid-template-rows: 0fr;
  pointer-events: none;
  overflow: hidden;
  height: 0;
  transition: grid-template-rows 0.21s ease-out;
}
.accordion--content .is_cascade {
  width: 100%;
  grid-row: 1/span 2;
  padding: 12px;
  background-color: #fff;
  overflow: hidden;
  border-radius: 8px;
}
@media (min-width: 1024px) {
  .accordion--content .is_cascade {
    padding: 24px;
  }
}
.accordion--content .is_cascade > *:first-child {
  margin-top: 0;
}

.dropdown {
  position: relative;
}
.dropdown--button {
  display: flex;
  gap: 8px;
  padding: 10px 16px;
  background-color: var(--dropdown-button-bg-color);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  color: currentColor;
  border-radius: 12px;
  transition: var(--transition);
  cursor: pointer;
  line-height: 1.25;
  font-size: var(--fs-button-m);
}
.dropdown--button:not(:only-child) span:last-child:after {
  font-family: "icomoon" !important;
  content: "\e90c";
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: center;
  font-size: 1em;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  margin-left: 4px;
}
.dropdown--button span {
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.dropdown--wrapper {
  padding-top: 8px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transition: var(--transition);
  max-width: 80vw;
  min-width: 120px;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 1024px) {
  .dropdown--wrapper {
    max-width: 420px;
    min-width: 240px;
  }
}
.dropdown--wrapper .dropdown--wrapper {
  top: 0;
  left: 100%;
  padding-top: 0;
  padding-left: 8px;
}
.dropdown--list {
  background-color: var(--dropdown-list-bg-color, #fff);
  color: #191A1A;
  border-radius: 12px;
  padding: 4px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .dropdown:hover > .dropdown--wrapper, .dropdown:focus > .dropdown--wrapper {
    opacity: 1;
    pointer-events: auto;
  }
  .dropdown:hover .dropdown--button, .dropdown:focus .dropdown--button {
    color: var(--primary-hover);
    background-color: var(--dropdown-button-bg-color-hover);
  }
  .dropdown:hover .dropdown--button:not(:only-child) span:after, .dropdown:focus .dropdown--button:not(:only-child) span:after {
    transform: scaleY(-1);
  }
}
.dropdown.is_active > .dropdown--wrapper {
  opacity: 1;
  pointer-events: auto;
}
.dropdown.is_active .dropdown--button {
  color: var(--primary-hover);
  background-color: var(--dropdown-button-bg-color-hover);
}
.dropdown.is_active .dropdown--button:not(:only-child) span:after {
  transform: scaleY(-1);
}

.prices--showMore .dropdown--list a,
.header--hotel_select .dropdown--list a,
.nav--item .dropdown--list a {
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 4px;
  border-radius: 8px;
  transition: var(--transition);
  width: 100%;
  background-color: transparent;
}
.prices--showMore .dropdown--list a span,
.header--hotel_select .dropdown--list a span,
.nav--item .dropdown--list a span {
  font-size: var(--fs-button-m);
  font-weight: 500;
}
.prices--showMore .dropdown--list a:hover, .prices--showMore .dropdown--list a:focus, .prices--showMore .dropdown--list a:active,
.header--hotel_select .dropdown--list a:hover,
.header--hotel_select .dropdown--list a:focus,
.header--hotel_select .dropdown--list a:active,
.nav--item .dropdown--list a:hover,
.nav--item .dropdown--list a:focus,
.nav--item .dropdown--list a:active {
  background-color: transparent;
  color: var(--accent-default);
}
.prices--showMore .dropdown--list a.is_active,
.header--hotel_select .dropdown--list a.is_active,
.nav--item .dropdown--list a.is_active {
  background-color: var(--dropdown-list-item-bgcolor-active);
  color: var(--accent-default);
}

@media (max-width: 1024px) {
  .header--hotel_select .dropdown--wrapper {
    left: unset;
    right: 0;
  }
}
.dropdown--closer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.4);
}

.block {
  padding: var(--g-vertical-m) 0;
}
.block--wrapper {
  padding: 0 var(--container-padding);
}

.card {
  flex-shrink: 0;
  flex-grow: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  transition: none !important;
  overflow: hidden;
  width: 100%;
  height: 100%;
  gap: 8px;
}
.card--content {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  z-index: 3;
}

.card--title {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  transition: var(--transition);
  font-weight: 600;
  font-size: var(--fs-h5);
  line-height: 1.2;
}

.card--text {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-size: var(--fs-body-m);
  line-height: 1.2;
}

.card--image {
  display: flex;
  align-items: flex-start;
  position: relative;
  z-index: 1;
  background-image: url("../img/base_card.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  width: 100%;
  border-radius: var(--border-radius-sm);
  aspect-ratio: 1/1;
}
.card--image img, .card--image video {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.card--image:before, .card--image:after {
  transition: var(--transition);
}

.card--buttons {
  display: flex;
  gap: 8px;
  padding-top: 24px;
}

.card--labels {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.card--label {
  display: flex;
  align-items: center;
  gap: 2px;
  max-width: 100%;
  font-size: var(--fs-tag-s);
  --label-bg: var(--neutral-container-soft);
  --label-color: var(--neutral-default);
  background-color: var(--label-bg);
  color: var(--label-color);
  line-height: 1;
  border-radius: 1000px;
  padding: 6px 8px;
}
@media (min-width: 1024px) {
  .card--label {
    padding: 6px 12px;
  }
}
.card--label [class^=icon],
.card--label [class*=icon] {
  font-size: 1.2em;
}
.card--label span:not([class*=icon]) {
  line-height: 1.25;
  font-weight: 500;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.card--label.-accent {
  --label-bg: var(--surface-accent-3-subdued);
  --label-color: #fff;
}
.card--label.-basic {
  --label-bg: rgba(255, 255, 255, 0.05);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  --label-color: #fff;
}

.card--action {
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 6px;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  background-color: rgba(255, 255, 255, 0.05);
  z-index: 4;
  display: none;
  color: #fff;
}
@media (min-width: 992px) {
  .card--action {
    width: 48px;
    height: 48px;
    border-radius: 12px;
  }
}
.card--action .icon:after {
  font-family: "icomoon" !important;
  font-size: 24px;
  line-height: 1;
}

.card[href],
.card[data-popup_cascade],
.card[data-openpopup] {
  cursor: pointer;
}
.card[href] .card--action,
.card[data-popup_cascade] .card--action,
.card[data-openpopup] .card--action {
  opacity: 1;
  display: flex;
}

.card[href] .card--action .icon:after {
  content: "\e901";
}
.card[data-popup_cascade] .card--action .icon:after, .card[data-openpopup] .card--action .icon:after {
  content: "\e90d";
}

.swiper-slide,
.card,
.gallery--item,
.video_banner_item,
.block--head_title_slide,
.block_banner-group .banner {
  -webkit-transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  flex-shrink: 0;
  flex-grow: 0;
}

.swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  align-items: flex-start;
}

.swiper-button-next,
.swiper-button-prev {
  margin: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  position: relative;
  pointer-events: auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex: 0 0 44px;
  border-radius: 12px;
}
@media (min-width: 1280px) {
  .swiper-button-next,
  .swiper-button-prev {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
  }
}
.swiper-button-next:after,
.swiper-button-prev:after {
  font-family: "icomoon" !important;
  font-size: 20px;
  z-index: 2;
  position: relative;
  transition: var(--transition);
}

.swiper-button-next,
.swiper-button-prev {
  border: 1px solid transparent;
  color: var(--primary-default);
  background: var(--surface-secondary-default);
  transition: var(--transition);
}
.swiper-button-next:hover,
.swiper-button-prev:hover {
  color: var(--accent-default);
  background: var(--surface-secondary-default);
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
  opacity: 0.65;
}

.swiper-button-next:after {
  content: "\e907";
}

.swiper-button-prev:after {
  content: "\e906";
}

.slider_controls {
  display: flex;
  position: absolute;
  align-items: center;
  z-index: 5;
  gap: 4px;
  pointer-events: none;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-disabled {
  color: var(--surface-accent-2-disabled);
  border-color: transparent;
  cursor: auto;
  pointer-events: none;
}

.video_banner .slider_controls,
.block_banner-group .slider_controls {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 0 var(--container-padding, 0);
  justify-content: space-between;
  width: 100%;
}
.video_banner .swiper-button-next,
.video_banner .swiper-button-prev,
.block_banner-group .swiper-button-next,
.block_banner-group .swiper-button-prev {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}

@media (max-width: 768px) {
  .block_banner-group.block_banner-index .slider_controls {
    top: 420px;
  }
}

.swiper-pagination {
  --swiper-pagination-color: var(--image-default);
  --swiper-pagination-bullet-inactive-color: var(--image-soft);
  --swiper-pagination-bullet-inactive-opacity: 0.6;
  --swiper-pagination-bullet-size: 6px;
  --swiper-pagination-bullet-horizontal-gap: 2px;
  --swiper-pagination-bottom: 0;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 16px;
}

.swiper-fade .card:not(.swiper-slide-active) {
  opacity: 0 !important;
  pointer-events: none;
}

.card--image_slide {
  flex-shrink: 0;
}

.swiper-lazy-preloader {
  z-index: 0;
}

.room_images_hover {
  z-index: 3;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
}
.room_images_hover--item {
  display: flex;
  height: 100%;
  flex-shrink: 1;
  flex-grow: 1;
  cursor: pointer;
}

.is_cascade h1, .is_cascade h2, .is_cascade h3, .is_cascade h4, .is_cascade h5, .is_cascade h6 {
  color: var(--primary-default);
  margin: 24px 0;
}
.is_cascade h1 {
  font-size: var(--fs-h1);
}
.is_cascade h2 {
  font-size: var(--fs-h2);
}
.is_cascade h3 {
  font-size: var(--fs-h3);
}
.is_cascade h4 {
  font-size: var(--fs-h4);
}
.is_cascade h5 {
  font-size: var(--fs-h5);
}
.is_cascade h6 {
  font-size: var(--fs-h6);
}
.is_cascade p, .is_cascade li {
  font-size: var(--fs-body-l);
  color: var(--primary-subdued);
  line-height: 1.55;
  margin-bottom: 12px;
}
.is_cascade p > a:not([class]) {
  color: var(--accent-default);
}
.is_cascade p > a:not([class]):hover, .is_cascade p > a:not([class]):focus {
  color: var(--accent-hover);
}
.is_cascade img, .is_cascade video {
  width: 100%;
  height: auto;
  margin: 16px 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 12px;
}
.is_cascade strong {
  font-size: var(--fs-subtitle-l);
  font-weight: 500;
  line-height: 1.28;
  color: var(--primary-subdued);
  margin-bottom: 20px;
}
.is_cascade ul, .is_cascade ol {
  margin: 16px 0;
  padding-left: 20px;
}
.is_cascade ul li, .is_cascade ol li {
  line-height: 1.5;
}
.is_cascade--blockquote {
  margin: 24px 0 28px;
  padding: 20px 16px;
  border-radius: 12px;
  background-color: var(--surface-accent-2-default);
}
@media (min-width: 1024px) {
  .is_cascade--blockquote {
    border-radius: 16px;
    padding: 32px 40px;
  }
}
.is_cascade--blockquote .blockquote--author {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 0;
  line-height: 1.1;
  place-items: center start;
}
.is_cascade--blockquote .blockquote--author img {
  place-self: center;
  grid-column: 1;
  grid-row: span 2;
  width: 40px;
  height: 40px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 50% !important;
  overflow: hidden;
  margin-right: 12px;
}
@media (min-width: 768px) {
  .is_cascade--blockquote .blockquote--author img {
    margin-right: 16px;
    width: 48px;
    height: 48px;
  }
}
.is_cascade--blockquote .blockquote--author p {
  margin: 0;
  grid-column: 2;
  font-size: var(--fs-h6);
  font-weight: 600;
  align-self: end;
  color: var(--primary-default);
}
.is_cascade--blockquote .blockquote--author span {
  grid-column: 2;
  font-size: var(--fs-caption-s);
  color: var(--primary-disabled);
  align-self: start;
}
.is_cascade .button_wrapper, .is_cascade .block--actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 8px 0 12px;
}
.is_cascade .is_cascade--slider {
  margin: 24px 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
  position: relative;
}
.is_cascade .is_cascade--slider img {
  display: inherit;
  max-width: 100% !important;
}
.is_cascade .is_cascade--accordion strong {
  font-size: var(--fs-subtitle-m);
}
.is_cascade .is_cascade--accordion p, .is_cascade .is_cascade--accordion li {
  font-size: var(--fs-body-m);
}
.is_cascade .is_cascade--table {
  width: 100%;
  overflow: hidden;
  border-radius: 16px;
  outline: 1px solid var(--border-primary-1);
  margin: 24px 0;
}
@media (max-width: 768px) {
  .is_cascade .is_cascade--table {
    overflow-x: auto;
  }
}
.is_cascade .is_cascade--table table {
  width: 100%;
  border-collapse: collapse;
}
.is_cascade .is_cascade--table thead {
  background-color: var(--accent-default);
  color: #fff;
  font-weight: 600;
}
.is_cascade .is_cascade--table thead th {
  outline-color: var(--border-primary-1);
}
.is_cascade .is_cascade--table td,
.is_cascade .is_cascade--table th {
  text-align: center;
  padding: 16px 24px;
  outline: 1px solid var(--border-primary-1);
}
.is_cascade .is_cascade--table .table-subhead {
  background-color: var(--surface-accent-2-default);
  text-align: center;
}
.is_cascade .is_cascade--table tbody td:first-child:not(.table-subhead) {
  text-align: left;
}

.is_cascade--video {
  border-radius: 16px;
  overflow: hidden;
  margin: 24px 0;
}

.video {
  width: 100%;
  height: auto;
  position: relative;
}
.video video {
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
}
.video.is_playing .video--play,
.video.is_playing .video--timer {
  opacity: 0;
}

.video--timer {
  position: absolute;
  top: 16px;
  left: auto;
  right: 16px;
  background-color: #ffffff;
  border-radius: var(--border-radius-xs);
  font-size: var(--fs-xs);
  line-height: 1;
  padding: 7px 8px;
  min-width: 52px;
  display: flex;
  text-align: center;
  justify-content: center;
  transition: var(--transition);
}

.video--play {
  cursor: pointer;
  transition: var(--transition);
  position: absolute;
  translate: -50% -50%;
  top: 50%;
  left: 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='45' height='48' viewBox='0 0 45 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.954 17.8233C45.9051 20.5157 45.9051 27.4855 40.954 30.1779L11.0594 46.4345C6.24748 49.0512 0.333984 45.6453 0.333984 40.2572L0.333986 7.74399C0.333986 2.35583 6.24747 -1.05004 11.0594 1.56668L40.954 17.8233Z' fill='white'/%3E%3C/svg%3E");
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: rgba(0, 0, 0, 0.3);
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.is_cascade--schedule {
  margin: 20px 0 28px;
  background-color: var(--surface-accent-2-hover);
  border-radius: 16px;
  padding: 16px 24px;
}
@media (max-width: 1024px) {
  .is_cascade--schedule {
    border-radius: 16px;
    padding: 24px 40px;
  }
}
.is_cascade--schedule_item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
  padding: 12px 0;
}
.is_cascade--schedule_item:not(:last-child) {
  border-bottom: 1px solid var(--border-primary-1);
}
.is_cascade--schedule_item_col:first-child {
  opacity: 0.8;
  font-weight: 600;
}

.js-showMore [data-text-open] {
  display: inline-flex;
}
.js-showMore [data-text-close] {
  display: none;
}
.js-showMore.is_open [data-text-open] {
  display: none;
}
.js-showMore.is_open [data-text-close] {
  display: inline-flex;
}

.block--head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0 0 16px;
}
.block--head_subtitle {
  color: var(--accent-hover);
  font-weight: 500;
  letter-spacing: 0.15em;
  font-size: var(--fs-subhead);
  line-height: 1;
  text-transform: uppercase;
}
.block--head_title {
  font-weight: 600;
  color: var(--primary-default);
}
.block--head_title h1 {
  font-size: var(--fs-h1);
}
.block--head_title h2 {
  font-size: var(--fs-h2);
}
.block--head_title:has(h1) + .block--head_caption, .block--head_title:has(h2) + .block--head_caption {
  font-size: var(--fs-subtitle-l);
  line-height: 1.28;
}
.block--head_caption {
  color: var(--primary-subdued);
  font-weight: 500;
}

.button_wrapper,
.block--actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.button_wrapper:empty,
.block--actions:empty {
  display: none;
}

.block--sections {
  display: flex;
  flex-wrap: wrap;
}
.block--sections:empty {
  display: none;
}
.block--sections a {
  padding: 10px 12px;
  font-weight: 500;
  font-size: 18px;
  color: var(--primary-subdued);
  background-color: transparent;
  display: flex;
  align-items: center;
  transition: var(--transition);
  line-height: 1;
  border-radius: 10px;
}
@media (min-width: 1024px) {
  .block--sections a {
    padding: 10px 16px;
    line-height: 1.33;
  }
}
.block--sections a:hover, .block--sections a:focus {
  color: var(--accent-default);
}
.block--sections a.is_active {
  background-color: var(--surface-primary-subdued);
}

.filter {
  align-self: flex-start;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  padding: 32px;
  background-color: rgb(243, 243, 244);
  border-radius: 16px;
  gap: 32px;
}
.filter--title {
  font-size: var(--fs-h4);
  font-weight: 600;
  line-height: 1.125;
  display: flex;
  align-items: center;
  color: rgb(25, 26, 26);
}
.filter--items {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  gap: var(--p-card-l);
}
.filter--item {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 12px;
}
.filter--item > span {
  font-weight: 600;
  font-size: var(--fs-h5);
  color: #000;
  margin-bottom: 4px;
}
.filter--buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.filter.error .filter--input_error {
  opacity: 1;
  max-height: -moz-fit-content;
  max-height: fit-content;
  height: auto;
  color: var(--critical-soft);
  padding-top: 12px;
}
.filter--input_error {
  color: var(--critical-soft);
  opacity: 0;
  font-size: var(--fs-sm);
  line-height: 20px;
  max-height: 0;
  height: 0;
  overflow: hidden;
  transition: opacity 0.03s 0.15s ease-out, max-height 0.18s linear;
}

.block--filter .filter {
  display: none;
}

@media (max-width: 1024px) {
  .block_list-filter_sidebar .filter--button {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.0784313725);
    background-color: var(--bg-surface-1);
    --button-padding: 10px 12px;
    --button-fs: 16px;
    --line-height: 20px;
    --only-icon: -2px;
  }
}
@media (min-width: 1024px) {
  .block_list-filter_sidebar .filter {
    display: flex;
    flex-direction: column;
    margin-top: var(--g-content-l);
  }
  .block_list-filter_sidebar .filter--button {
    display: none;
  }
}

.filter--input {
  display: flex;
  gap: 12px;
}
.filter--input-checkbox {
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}
.filter--input-checkbox > span {
  width: 100%;
}
.filter--input-checkbox input[type=checkbox] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.filter--input-checkbox input[type=checkbox]:checked ~ span {
  background-color: var(--surface-accent-3-default);
  color: #fff;
}
.filter--input-checkbox label {
  cursor: pointer;
}
.filter--input-checkbox label span {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  border-radius: 36px;
  background-color: var(--surface-primary-default);
  transition: var(--transition);
  color: var(--primary-default);
  font-weight: 500;
  font-size: var(--fs-tag-l);
}
.filter--input-checkbox label span:hover, .filter--input-checkbox label span:active {
  color: var(--accent-default);
}

.prices--pagination,
.block--pagination {
  display: flex;
  justify-content: center;
  grid-column: span 3;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 32px;
  font-size: var(--fs-button-l);
}
@media (max-width: 768px) {
  .prices--pagination,
  .block--pagination {
    grid-column: span 1;
  }
}
.prices--pagination_gap,
.block--pagination_gap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.prices--pagination_gap,
.prices--pagination .button,
.block--pagination_gap,
.block--pagination .button {
  background-color: var(--surface-secondary-default);
  color: var(--primary-subdued);
  padding: 10px;
  border-radius: 12px;
}
.prices--pagination_gap:only-child,
.prices--pagination .button:only-child,
.block--pagination_gap:only-child,
.block--pagination .button:only-child {
  padding: 12px 16px;
}
.prices--pagination_gap:not(:only-child),
.prices--pagination .button:not(:only-child),
.block--pagination_gap:not(:only-child),
.block--pagination .button:not(:only-child) {
  width: 48px;
  height: 48px;
}
.prices--pagination_gap:not(:only-child):hover, .prices--pagination_gap:not(:only-child):focus, .prices--pagination_gap:not(:only-child):active,
.prices--pagination .button:not(:only-child):hover,
.prices--pagination .button:not(:only-child):focus,
.prices--pagination .button:not(:only-child):active,
.block--pagination_gap:not(:only-child):hover,
.block--pagination_gap:not(:only-child):focus,
.block--pagination_gap:not(:only-child):active,
.block--pagination .button:not(:only-child):hover,
.block--pagination .button:not(:only-child):focus,
.block--pagination .button:not(:only-child):active {
  background-color: var(--surface-secondary-hover);
  color: var(--primary-hover);
}
.prices--pagination_gap:not(:only-child).is_current,
.prices--pagination .button:not(:only-child).is_current,
.block--pagination_gap:not(:only-child).is_current,
.block--pagination .button:not(:only-child).is_current {
  background-color: var(--surface-secondary-hover);
  color: var(--primary-hover);
}

.block--sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
}

.sidebar h5 {
  color: rgba(25, 26, 26, 0.8);
  font-size: var(--fs-h5);
}

.content_media .sidebar,
.content_vacancies .sidebar {
  padding: 16px;
  background-color: var(--surface-accent-2-default);
  border-radius: 16px;
}
@media (min-width: 1024px) {
  .content_media .sidebar,
  .content_vacancies .sidebar {
    padding: 32px 36px;
  }
}

.block--sidebar > div:last-child {
  position: sticky;
  top: calc(var(--headerHeight, 76px) + 40px);
}
.sidebar--banner .content_cards .card {
  display: flex;
}
@media (max-width: 768px) {
  .sidebar--banner .content_cards .card {
    aspect-ratio: unset;
    height: 140px;
  }
}
.sidebar--banner .content_cards .card[href] .card--action, .sidebar--banner .content_cards .card[data-popup_cascade] .card--action, .sidebar--banner .content_cards .card[data-openpopup] .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.sidebar--banner .content_cards .card:hover .card--image img, .sidebar--banner .content_cards .card:focus .card--image img {
  transform: scale(1.1);
}
.sidebar--banner .content_cards .card--title {
  font-size: var(--fs-h3) !important;
}
.sidebar--banner .content_cards .card--text {
  font-size: var(--fs-subtitle-s);
  color: #fff;
  opacity: 0.7;
}
.sidebar--banner .content_cards .card--actions {
  margin-top: 8px;
  width: 100%;
}
.sidebar--banner .content_cards .card--actions .button {
  width: 100%;
}
.sidebar--banner .content_cards .card--labels {
  flex-direction: column;
  align-items: flex-start;
}
.sidebar--banner .content_cards .card--image img {
  transition: var(--transition);
  transform-origin: center;
  transform: scale(1);
}

.contents {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 20px 0;
}
.contents a {
  display: flex;
  align-items: center;
  padding: 12px;
  font-weight: 500;
  font-size: var(--fs-button-m);
  border-radius: 12px;
}
.contents a.is_active, .contents a:hover, .contents a:active {
  color: var(--accent-default);
}

.block_image_text {
  padding: var(--g-vertical-m) var(--container-padding);
}
.block_image_text .block--wrapper {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "image" "content";
  padding: 0;
  gap: 16px;
}
@media (min-width: 992px) {
  .block_image_text .block--wrapper {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "content image";
  }
}
.block_image_text .block--image ~ .block--content {
  grid-area: content;
}
.block_image_text .block--image {
  grid-area: image;
  height: 100%;
}
.block_image_text .block--image figure {
  aspect-ratio: 1/1;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
}
@media (min-width: 992px) {
  .block_image_text .block--image figure {
    border-radius: 16px;
  }
}
.block_image_text .block--image img, .block_image_text .block--image video {
  overflow: hidden;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  aspect-ratio: 1/1;
}
@media (min-width: 992px) {
  .block_image_text .block--image img:only-child, .block_image_text .block--image video:only-child {
    position: sticky;
    top: calc(var(--headerHeight, 76px) + 44px);
  }
}
.block_image_text .block--content {
  padding: clamp(0px, 0px + 64 * (100vw - 540px) / 1380, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.block_image_text .block--content:only-child {
  padding: 0 clamp(0px, 0px + 64 * (100vw - 540px) / 1380, 64px);
  display: grid;
  gap: 0 clamp(0px, 0px + 64 * (100vw - 540px) / 1380, 64px);
}
@media (min-width: 992px) {
  .block_image_text .block--content:only-child {
    grid-column: span 2;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
  }
  .block_image_text .block--content:only-child > .block--head {
    grid-column: 1;
  }
  .block_image_text .block--content:only-child > .is_cascade {
    grid-column: 2;
    grid-row: span 2;
  }
  .block_image_text .block--content:only-child > .block--actions {
    grid-column: 1;
  }
}
.block_image_text .block--actions:has(.button) {
  margin-top: 12px;
}
@media (min-width: 992px) {
  .block_image_text.block_image_text-reversed .block--wrapper {
    grid-template-areas: "image content";
  }
}
.block_image_text.block_image_text-bg {
  margin: 0;
  padding: var(--g-vertical-xl) var(--container-padding);
  background-color: var(--surface-primary-default);
}
.block_image_text.block_image_text-bg .block--wrapper {
  background-color: #fff;
  padding: clamp(4px, 4px + 16 * (100vw - 540px) / 1380, 20px);
  border-radius: 12px;
}
@media (min-width: 992px) {
  .block_image_text.block_image_text-bg .block--wrapper {
    border-radius: 36px;
  }
}
.block_image_text.block_image_text-bg .block--content {
  padding: clamp(8px, 8px + 56 * (100vw - 540px) / 1380, 64px);
}
.block_image_text.block_image_text-wrapper-bg {
  margin: 0;
  padding: var(--g-vertical-m) var(--container-padding);
}
.block_image_text.block_image_text-wrapper-bg .block--wrapper {
  padding: clamp(4px, 4px + 16 * (100vw - 540px) / 1380, 20px);
  border-radius: 12px;
  background-color: var(--surface-primary-subdued);
}
@media (min-width: 992px) {
  .block_image_text.block_image_text-wrapper-bg .block--wrapper {
    border-radius: 36px;
  }
}
.block_image_text.block_image_text-wrapper-bg .block--content {
  padding: clamp(8px, 8px + 56 * (100vw - 540px) / 1380, 64px);
}
.block_image_text.block_image_text-wrapper-bg.-light_teal .block--wrapper {
  background-color: var(--surface-primary-default);
}
.block_image_text.block_image_text-wrapper-bg.-light_beige .block--wrapper {
  background-color: var(--surface-primary-default);
}
.block_image_text.block_image_text-pattern {
  margin: 0;
  padding: var(--g-vertical-xl) var(--container-padding);
  background-image: url("../img/pattern-1.svg");
  background-repeat: repeat;
  background-size: cover;
  background-position: top left;
}
.block_image_text.block_image_text-pattern .block--content {
  padding: clamp(8px, 8px + 56 * (100vw - 540px) / 1380, 64px);
}
.block_image_text.block_image_text-pattern .block--wrapper {
  padding: clamp(4px, 4px + 16 * (100vw - 540px) / 1380, 20px);
  background-color: #fff;
  border-radius: 20px;
}
@media (min-width: 992px) {
  .block_image_text.block_image_text-pattern .block--wrapper {
    border-radius: 36px;
  }
}
.block_image_text.block_image_text-pattern.-pattern-1 {
  background-image: url("../img/pattern-1.svg");
  border: 1px solid #0D545F;
  background-color: #07333B;
}
.block_image_text.block_image_text-pattern.-pattern-1 .block--wrapper {
  outline: 1px solid #0D545F;
  border: 12px solid #07333B;
}
.block_image_text.block_image_text-pattern.-pattern-2 {
  background-image: url("../img/pattern-2.svg");
  border: 1px solid #E9B08B;
  background-color: #FFF2E9;
}
.block_image_text.block_image_text-pattern.-pattern-2 .block--wrapper {
  outline: 1px solid #E9B08B;
  border: 12px solid #FFF2E9;
}
.block_image_text .block--image {
  display: block;
  aspect-ratio: 1/1;
  max-width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.block_image_text .block--image img:not(:only-child) {
  display: inherit;
  max-width: 100% !important;
}
.block_image_text .block--image .is_slider_image {
  width: 100%;
  flex-shrink: 0;
}
.block_image_text .block--image .slider_controls {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 24px;
}
.block_image_text .block--image .slider_controls .swiper-button-prev,
.block_image_text .block--image .slider_controls .swiper-button-next,
.block_image_text .block--image .slider_controls .swiper_pagination {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
.block_image_text .block--image .slider_controls .swiper_pagination {
  height: 44px;
  padding: 16px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 68px;
}
@media (min-width: 1280px) {
  .block_image_text .block--image .slider_controls .swiper_pagination {
    height: 48px;
  }
}

.block_banner {
  overflow: hidden;
  position: relative;
  padding: 0;
  margin: 0;
}
.block_banner .block--wrapper {
  height: 100%;
  position: relative;
  padding: 0;
}
@media (max-width: 992px) {
  .block_banner .block--wrapper {
    height: auto;
  }
}

.banner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  padding: var(--headerHeight, 86px) var(--container-padding, 0);
}
@media (min-width: 992px) {
  .banner {
    width: 100vw;
    height: 100vh;
  }
}
.banner .block--head,
.banner .block--actions {
  z-index: 3;
  position: relative;
  max-width: 920px;
}
.banner .block--content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}
.banner .block--content img, .banner .block--content video {
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.banner .block--content:after, .banner .block--content:before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 2;
}
.banner .block--content:after {
  height: 40%;
  top: 0;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.6;
  display: none;
}
.banner .block--content:before {
  height: 50%;
  bottom: 0;
  background: linear-gradient(to top, #000000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.5;
}
.banner .f-h1 {
  text-transform: uppercase;
  font-size: var(--fs-display-l);
}
.banner .f-h2 {
  text-transform: uppercase;
  font-size: var(--fs-display-m);
}
.banner .f-h3 {
  text-transform: uppercase;
  font-size: var(--fs-display-s);
}

.block_banner-group .banner:not(.swiper-slide-active) {
  pointer-events: none;
}

.block_banner.block_banner-hero {
  background-color: #0D545F;
}
.block_banner.block_banner-hero .banner {
  justify-content: flex-start;
  padding-top: calc(var(--headerHeight, 86px) + 32px + 16px + 48px);
}
@media (max-width: 992px) {
  .block_banner.block_banner-hero .banner {
    padding: 0;
  }
  .block_banner.block_banner-hero .banner .block--head,
  .block_banner.block_banner-hero .banner .block--actions {
    padding: 0 12px;
    width: 100%;
  }
  .block_banner.block_banner-hero .banner .block--head {
    padding-top: 24px;
  }
}
@media (max-width: 992px) {
  .block_banner.block_banner-hero .block--content {
    position: relative;
    height: 480px;
  }
}
.block_banner.block_banner-hero .block--content:before {
  height: 22%;
}
.block_banner.block_banner-hero .block--content:after {
  display: block;
}

.block_banner:not(.block_banner-no_media) .block--head_title,
.block_banner:not(.block_banner-no_media) .block--head_subtitle,
.block_banner:not(.block_banner-no_media) .block--head_caption {
  color: #fff;
}

.block_banner.block_banner-no_media {
  background: transparent;
}
.block_banner.block_banner-no_media .banner {
  padding: var(--g-vertical-m) var(--container-padding, 0);
  border-radius: 0;
  color: var(--fg-default);
  height: auto;
  aspect-ratio: unset;
}
.block_banner.block_banner-no_media .block--head {
  box-shadow: unset;
}
.block_banner.block_banner-no_media .block--head p,
.block_banner.block_banner-no_media .block--head h1,
.block_banner.block_banner-no_media .block--head h2 {
  text-shadow: unset;
}
.block_banner.block_banner-no_media .block--content {
  display: none;
}

@media (min-width: 992px) {
  .block_banner-short {
    height: 55vh;
  }
}
@media (min-width: 992px) {
  .block_banner-short .banner {
    height: 55vh;
  }
}
.block_banner-short .block--content:after {
  height: 70%;
}

.block_banner-centered .banner {
  text-align: center;
  align-items: center;
}
.block_banner-centered .block--actions {
  justify-content: center;
}
.block_banner-centered .block--head {
  align-items: center;
}

@media (max-width: 992px) {
  .block_banner-index .block_banner .block--wrapper {
    height: auto;
  }
  .block_banner-index .booking {
    border: 8px solid rgb(12, 36, 40);
    outline: 1px solid rgb(31, 65, 65);
  }
  .block_banner-index .banner:not(:first-child) {
    display: none;
  }
}

.banner--thumbs {
  padding: 16px 0;
  color: #fff;
  z-index: 5;
}
@media (max-width: 992px) {
  .banner--thumbs {
    padding: 12px var(--container-padding);
  }
}
@media (min-width: 992px) {
  .banner--thumbs {
    position: absolute;
    width: var(--container);
    bottom: 0;
    left: var(--container-padding);
  }
}
.banner--thumbs_item {
  will-change: transform;
  -webkit-transform: translate3d(0, 0, 0);
  flex-shrink: 0;
  flex-grow: 0;
  padding: 16px 64px 16px 16px;
  transition: var(--transition);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  margin-top: auto;
  position: relative;
}
@media (min-width: 992px) {
  .banner--thumbs_item {
    padding: 24px 88px 24px 32px;
  }
  .banner--thumbs_item:not(:only-child):after {
    content: "";
    position: absolute;
    right: -16px;
    bottom: 0;
    display: block;
    opacity: 1;
    background-color: rgba(127, 127, 127, 0.3);
    pointer-events: none;
    width: 1px;
    height: 100px;
    z-index: 3;
  }
}
.banner--thumbs_item > * {
  z-index: 2;
}
.banner--thumbs_item_bg {
  transition: opacity 0.25s ease-out;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.38);
  border-radius: 16px;
  z-index: 0;
  opacity: 1;
}
@media (max-width: 992px) {
  .banner--thumbs_item_bg {
    -webkit-backdrop-filter: blur(24px);
            backdrop-filter: blur(24px);
  }
}
@media (min-width: 992px) {
  .banner--thumbs_item_bg {
    opacity: 0;
  }
}
.banner--thumbs_item_title {
  font-size: var(--fs-h5);
  font-weight: 600;
  margin-bottom: 8px;
}
.banner--thumbs_item_text {
  display: none;
  font-size: var(--fs-caption-l);
}
.banner--thumbs_item_action {
  position: absolute;
  right: 16px;
  top: 16px;
  width: 36px;
  height: 36px;
  display: none;
  justify-content: center;
  align-items: center;
  background-color: rgba(127, 127, 127, 0.3);
  color: #fff;
  border-radius: 12px;
  aspect-ratio: 1/1;
}
@media (min-width: 992px) {
  .banner--thumbs_item_action {
    right: 24px;
    top: 24px;
    width: 48px;
    height: 48px;
  }
}
.banner--thumbs_item_action:after {
  content: "";
  font-family: "icomoon" !important;
  font-size: 24px;
}
.banner--thumbs_item[href] .banner--thumbs_item_action:after {
  content: "\e901";
}
.banner--thumbs_item[data-openpopup] .banner--thumbs_item_action:after {
  content: "\e90d";
}
.banner--thumbs_item:not(.is_active):hover, .banner--thumbs_item:not(.is_active):active {
  transform: translateY(-16px);
}
.banner--thumbs_item:not(.is_active) .banner--thumbs_item_action {
  display: none;
}
.banner--thumbs_item.is_active .banner--thumbs_item_bg {
  transition-delay: 0s;
  opacity: 1;
}
.banner--thumbs_item.is_active .banner--thumbs_item_text {
  display: block;
}
.banner--thumbs_item.is_active[href] .banner--thumbs_item_action, .banner--thumbs_item.is_active[data-openpopup] .banner--thumbs_item_action {
  display: flex;
}
.banner--thumbs_item.is_active:hover .banner--thumbs_item_bg, .banner--thumbs_item.is_active:active .banner--thumbs_item_bg {
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 1;
}

@media (min-width: 1024px) {
  .block_banner-hero.block_banner-centered + .booking {
    left: 50%;
    transform: translate(-50%, -100%);
  }
}
.block_banner-hero + .booking {
  position: relative;
  z-index: 10;
}
@media (min-width: 1024px) {
  .block_banner-hero + .booking {
    position: absolute;
    top: calc(100vh - 32px);
    left: var(--container-padding);
    transform: translate(0, -100%);
    z-index: 10;
    margin: 0 auto;
  }
}
@media (max-width: 768px) {
  .block_banner-hero + .booking {
    max-width: 100vw;
    background: #0D545F;
    padding: 32px var(--container-padding);
    border-radius: 0;
    justify-content: center;
    align-items: center;
    margin: 0;
  }
  .block_banner-hero + .booking:after {
    content: "";
    background: #FFFFFF;
    position: absolute;
    left: var(--container-padding);
    top: 16px;
    width: calc(100% - 32px);
    height: calc(100% - 32px);
    border-radius: 10px;
    outline: 1px solid #1F4141;
    border: 4px solid #0D545F;
    z-index: 1;
  }
  .block_banner-hero + .booking .booking--button .button {
    width: 100%;
  }
  .block_banner-hero + .booking .booking--calendar,
  .block_banner-hero + .booking .booking--guests,
  .block_banner-hero + .booking .booking--button {
    z-index: 2;
    position: relative;
    width: calc(100% - 42px);
  }
}

.block_list {
  overflow: hidden;
}
.block_list .block--elements {
  display: grid;
  grid-template-columns: repeat(var(--col, 2), 1fr);
  gap: 12px;
}
.block_list .block--elements .block--pagination {
  grid-column: span var(--col, 2);
}
@media (min-width: 640px) {
  .block_list .block--elements {
    grid-template-columns: repeat(var(--col, 3), 1fr);
    gap: 12px;
  }
  .block_list .block--elements .block--pagination {
    grid-column: span var(--col, 3);
  }
}
@media (min-width: 1024px) {
  .block_list .block--elements {
    grid-template-columns: repeat(var(--col, 4), 1fr);
    gap: 16px;
  }
  .block_list .block--elements .block--pagination {
    grid-column: span var(--col, 4);
  }
}
.block_list .block--wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "heading heading" "actions actions" "showAll slider-controls" "selection selection" "elements elements";
}
@media (min-width: 1024px) {
  .block_list .block--wrapper {
    grid-template-columns: calc(var(--column) * 9 + 128px) 1fr auto;
    grid-template-areas: "heading showAll slider-controls" " actions showAll slider-controls" "selection showAll slider-controls" "elements elements elements";
  }
}
.block_list.block-centered .block--wrapper {
  grid-template-areas: "heading heading" "actions actions" "showAll showAll" "selection selection" "elements elements";
}
@media (min-width: 1024px) {
  .block_list.block-centered .block--wrapper {
    grid-template-columns: calc(var(--column) * 9 + 128px) 1fr auto;
    grid-template-areas: "heading showAll slider-controls" " actions showAll slider-controls" "selection showAll slider-controls" "elements elements elements";
  }
}
.block_list.block_list-filter_sidebar .block--wrapper {
  grid-template-areas: "heading heading" "actions actions" "showAll showAll" "filter filter" "selection selection" "elements elements";
}
@media (min-width: 1024px) {
  .block_list.block_list-filter_sidebar .block--wrapper {
    gap: 0 16px;
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "heading heading showAll" " actions actions showAll" "selection selection showAll" "filter elements elements ";
  }
}
.block_list.block_list-filter_sidebar .block--filter {
  grid-area: filter;
}
@media (max-width: 1024px) {
  .block_list.block_list-filter_sidebar .block--filter {
    position: sticky;
    bottom: 64px;
    z-index: 15;
    max-width: 100%;
    width: calc(100vw - var(--container-padding) * 2);
    margin-top: 16px;
    overflow: inherit;
  }
}
.block_list .block--elements {
  grid-area: elements;
}
.block_list .block--head {
  grid-area: heading;
}
.block_list .block--actions {
  grid-area: actions;
}
.block_list .block--selection {
  grid-area: selection;
}
@media (min-width: 992px) {
  .block_list .block--selection {
    padding-inline-end: 16px;
  }
}
.block_list .block_list-slider--controls {
  grid-area: slider-controls;
}
.block_list .block--link {
  grid-area: showAll;
}
.block_list.block_list-filter_sidebar .block--elements {
  place-content: start;
  --col: 1;
}
@media (min-width: 640px) {
  .block_list.block_list-filter_sidebar .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .block_list.block_list-filter_sidebar .block--elements {
    --col: 3;
  }
}
.block_list .block--selection {
  display: flex;
  gap: 8px;
  margin-top: 24px;
  overflow-x: auto;
}
@media (max-width: 992px) {
  .block_list .block--selection {
    flex-direction: column;
  }
}
.block_list .block--actions:has(.button) {
  margin-top: 12px;
}
.block_list .block--elements:not(:first-child) {
  margin-top: var(--g-content-l);
}
.block_list .block_list-slider--controls {
  display: flex;
  align-items: flex-end;
  padding-inline-start: 4px;
  gap: 4px;
}
@media (min-width: 1024px) {
  .block_list .block_list-slider--controls {
    padding-inline-start: 16px;
    gap: 8px;
  }
}
.block_list .block_list-slider--controls:has(.swiper-button-lock), .block_list .block_list-slider--controls:empty {
  display: none;
  padding-left: 0;
}
.block_list .block--head {
  max-width: 720px;
}
.block_list .block--link {
  display: flex;
}
@media (max-width: 1024px) {
  .block_list .block--link {
    flex-grow: 1;
  }
  .block_list .block--link .button {
    flex-grow: 1;
  }
}
@media (min-width: 1024px) {
  .block_list .block--link {
    align-items: flex-end;
    justify-content: flex-end;
  }
}
.block_list .block--link .button {
  border-radius: 12px;
}
.block_list.block_list-slider {
  position: relative;
}
.block_list.block_list-slider .block--elements {
  display: flex;
  position: relative;
}
.block_list.block_list-slider--controls {
  display: flex;
  gap: 8px;
  position: static;
  width: auto;
}

.block_list .empty {
  font-size: var(--fs-xl);
  font-weight: 500;
  line-height: 1.14;
  grid-column: 1/-1;
  text-align: center;
}

.block_list .block--head_title {
  text-transform: uppercase;
}

.block_list .block--head_title h2 {
  font-size: var(--fs-display-s);
}

.block_element .block--wrapper,
.content_vacancies.block_element .block--wrapper,
.content_accommodation.block_element .block--wrapper,
.content_media.block_element .block--wrapper {
  gap: 16px;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .block_element .block--wrapper,
  .content_vacancies.block_element .block--wrapper,
  .content_accommodation.block_element .block--wrapper,
  .content_media.block_element .block--wrapper {
    display: grid;
    grid-template-columns: 66% calc(34% - 16px);
  }
}
@media (min-width: 1024px) {
  .block_element .block--sidebar,
  .content_vacancies.block_element .block--sidebar,
  .content_accommodation.block_element .block--sidebar,
  .content_media.block_element .block--sidebar {
    grid-column: 2;
    grid-row: 1;
  }
  .block_element .block--content,
  .content_vacancies.block_element .block--content,
  .content_accommodation.block_element .block--content,
  .content_media.block_element .block--content {
    grid-column: 1;
    grid-row: 1;
    padding-right: var(--column);
  }
}
.block_element .block--sidebar,
.content_vacancies.block_element .block--sidebar,
.content_accommodation.block_element .block--sidebar,
.content_media.block_element .block--sidebar {
  order: 1;
}

@media (min-width: 1024px) {
  .block_element.content_contacts .block--wrapper {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
  }
  .block_element.content_contacts .block--wrapper .contacts--map {
    grid-row: span 2;
  }
  .block_element.content_contacts .block--wrapper .block--content {
    grid-row: 2;
  }
}

/* PopupManager Styles v 0.1 */
.noscroll {
  overflow: hidden;
  margin-right: var(--scrollbarWidth, 17px);
}

.popup {
  position: fixed;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  width: 100vw;
  max-width: 100vw;
  height: calc(100 * var(--vh, 1vh));
  transition: opacity 100ms linear, z-index 98ms linear;
  -webkit-transform: translateZ(0);
  pointer-events: none;
  opacity: 0;
  place-items: center;
  overscroll-behavior: contain;
}

.popup.is_active {
  pointer-events: all;
  opacity: 1;
  z-index: 50;
}

.popup--content {
  position: relative;
  z-index: 51;
  height: -moz-fit-content;
  height: fit-content;
  height: auto;
}

.popup {
  place-items: center;
  background-color: rgba(0, 0, 0, 0.3);
  padding: 44px 12px;
}
@media (max-width: 768px) {
  .popup {
    height: -webkit-fill-available;
    height: calc(100 * var(--vh, 1vh));
  }
}
@media (min-width: 1024px) {
  .popup {
    place-items: start center;
    padding: var(--g-vertical-l) var(--container-padding);
  }
}
.popup--content {
  width: 100%;
  max-width: 926px;
  background-color: #fff;
  border-radius: 16px;
  padding: var(--p-card-l);
  max-height: 100%;
  overflow-y: auto;
}
@media (max-width: 768px) {
  .popup--content {
    max-width: calc(100vw - var(--container-padding) * 2);
  }
}
.popup--title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--fs-h3);
  color: var(--primary-default);
  font-weight: 600;
}
.popup--close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  z-index: 2;
  cursor: pointer;
  transition: var(--transition);
  margin-left: auto;
  position: absolute;
  right: var(--g-content-l);
  top: var(--g-content-l);
  background: var(--surface-primary-subdued);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  font-size: 24px;
  line-height: 1;
}
@media (min-width: 768px) {
  .popup--close {
    right: 24px;
    top: 24px;
  }
}
.popup--close:before {
  content: "\e909";
  font-family: "icomoon";
}

.popup-filters .popup--content {
  max-width: 424px;
}
.popup-filters .filter {
  background-color: #fff;
  padding: 0;
}
.popup-filters .filter--title {
  height: 64px;
  align-items: center;
  padding: var(--p-card-sm);
  margin-bottom: 0;
}
.popup-filters .filter--items {
  overflow-y: auto;
  max-height: 70vh;
  padding: 0 var(--p-card-sm);
}
.popup-filters .filter--buttons {
  padding: 16px var(--p-card-sm);
}
.popup-filters .filter--buttons .button {
  flex-grow: 1;
  flex-shrink: 1;
}
.popup-filters .filter--title button {
  display: none;
}
.popup-filters .filter--input-checkbox label span {
  background-color: rgb(243, 243, 244);
}

.popup-notification {
  background-color: transparent;
  place-items: end center;
}
.popup-notification.success .popup--title {
  color: var(--success-default);
}
.popup-notification.success .popup--title .icon:before {
  content: "\e91b";
}
.popup-notification.info .popup--title {
  color: var(--info-default);
}
.popup-notification.info .popup--title .icon:before {
  content: "\e91b";
}
.popup-notification.error .popup--title {
  color: var(--critical-default);
}
.popup-notification.error .popup--title .icon:before {
  content: "\e91b";
}
.popup-notification.warning .popup--title {
  color: var(--warning-default);
}
.popup-notification.warning .popup--title .icon:before {
  content: "\e91b";
}
.popup-notification.is_active {
  z-index: 99214748364;
}
.popup-notification .popup--content {
  max-width: 400px;
  background-color: #fff;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.06), 0 0 4px 0 rgba(0, 0, 0, 0.04);
  padding: 24px 64px 24px 24px;
}
.popup-notification .popup--content_wrapper {
  min-height: 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  width: 100%;
  flex-grow: 1;
  grid-area: content;
}
.popup-notification .popup--close {
  top: 12px;
  right: 12px;
}
.popup-notification .popup--close.is_hidden {
  display: none;
}
.popup-notification .popup--title {
  margin-bottom: var(--p-card-sm);
}
.popup-notification .popup--title.is_hidden {
  display: none;
}
.popup-notification .popup--title:empty {
  display: none;
}
.popup-notification .popup--title .icon {
  font-size: 26px;
}
.popup-notification .popup--content_title {
  font-size: var(--fs-h4);
  margin-bottom: 12px;
}
.popup-notification .popup--content_title:empty {
  display: none;
}
.popup-notification .popup--content_text {
  font-size: var(--fs-body-m);
  color: var(--primary-subdued);
}
.popup-notification .popup--content_text:empty {
  display: none;
}




.popup-form .popup--content {
  margin: auto;
  width: 424px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.06), 0 0 4px 0 rgba(0, 0, 0, 0.04);
}
.popup-form .form--title {
  font-size: var(--fs-h4);
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.popup-form .form--text {
  background-color: #F7F7F9;
  padding: var(--p-card-l);
}
.popup-form fieldset {
  padding: var(--p-card-l);
}

.popup-cascade .popup--content {
  padding: var(--g-content-l);
  width: 100%;
  max-width: 640px;
}

@media (min-width: 1024px) {
  .popup-review {
    place-items: center;
  }
}
.popup-review .popup--title {
  padding: 12px 0;
}
.popup-review .popup--content {
  max-width: 400px;
}
.popup-review .review {
  padding: 0;
  border: none;
  margin-top: var(--p-card-sm);
  background: transparent;
}
.popup-review .review--text {
  -webkit-line-clamp: unset;
}
.popup-review .review--action {
  display: none;
}

.popup-menu {
  padding: 0;
}
.popup-menu .popup--content {
  background-color: #0B2125;
  padding: 16px 0;
  width: 100%;
  max-width: unset;
  border-radius: 0;
  color: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.popup-menu .popup--close {
  top: 12px;
  right: 12px;
  background-color: rgba(255, 255, 255, 0.05);
}
.popup-menu .header--hotel_select {
  margin: 12px 0;
  position: relative;
  z-index: 2;
}
.popup-menu .header--hotel_select .dropdown {
  width: -moz-fit-content;
  width: fit-content;
}
.popup-menu .header--hotel_select .dropdown--button {
  background-color: rgb(11, 70, 80);
}
@media (max-width: 1024px) {
  .popup-menu .header--hotel_select .dropdown--wrapper {
    left: 0;
    right: unset;
  }
}
.popup-menu .menu {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 0 12px;
}
.popup-menu .contacts {
  padding: 20px 12px;
  border-top: 1px solid rgb(11, 70, 80);
}
.popup-menu .contact--title {
  color: rgb(58, 142, 157);
}
.popup-menu .contact--value a:not(.button) {
  color: rgb(255, 255, 255);
  font-size: 18px;
}
.popup-menu .contact--value > span {
  color: rgba(255, 255, 255, 0.8);
}
.popup-menu .contact-social .button.button-secondary {
  --filled-bgc-base: rgba(243, 243, 244, 0.15);
}

.popup.popup--balloon {
  width: 100%;
  height: 100%;
  place-items: start;
  background-color: transparent;
  position: absolute;
  pointer-events: none;
  padding: 12px;
}
@media (min-width: 1024px) {
  .popup.popup--balloon {
    padding: calc(var(--g-vertical-m) + 16px + 48px) var(--g-vertical-m) var(--g-vertical-m);
  }
}
.popup.popup--balloon.is_active {
  pointer-events: none;
  z-index: 10;
}
.popup.popup--balloon.is_active[data-popup=popup_for_scheme_balloon] {
  pointer-events: all;
}
.popup.popup--balloon.is_active .popup--content {
  pointer-events: all;
}
.popup.popup--balloon .popup--content {
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px;
  border-radius: 16px;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
}
@media (min-width: 768px) {
  .popup.popup--balloon .popup--content {
    max-width: 360px;
  }
}
.popup.popup--balloon .popup--close {
  top: 20px;
  right: 20px;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  background-color: rgba(128, 128, 128, 0.2);
  border-color: rgba(255, 255, 255, 0.05);
  color: #fff;
}

.balloon {
  display: flex;
  flex-direction: column;
  width: 456px;
  max-width: 100%;
  background-color: var(--c-surface-default);
}
.balloon--image {
  width: 100%;
  aspect-ratio: 440/280;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background-image: url("../img/base_card.jpg");
  background-size: cover;
  background-position: center;
}
.balloon--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.balloon--title {
  font-weight: 600;
  font-size: var(--fs-h4);
  color: rgb(40, 46, 45);
  line-height: 1.2;
}
.balloon--text {
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
.balloon--content {
  padding: 20px 12px 12px;
  font-size: var(--fs-caption-m);
  color: rgb(85, 93, 109);
  line-height: 1.5;
}
.balloon--button {
  margin-top: 20px;
}
.balloon--buttons {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
select option {
  display: none;
}

.form--input_select {
  max-width: 100%;
  display: flex;
}
.form--input_select + .form--input_select {
  margin-top: 12px;
}

.select {
  position: relative;
  width: 100%;
}
.select:hover .select--button {
  border-color: var(--neutral-container-default);
}
.select:has(.is_selected) .select--button {
  color: var(--fg-default);
  border-color: var(--border-accent-1-3);
}
.select:hover .select--button, .select:focus-within .select--button {
  border-color: var(--surface-primary-subdued);
}
.select--button {
  border-radius: 12px;
  padding: 14px 12px;
  position: relative;
  font-size: 16px;
  cursor: pointer;
  transition: var(--transition);
  color: var(--primary-disabled);
  background-color: #fff;
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  border: 1px solid var(--border-primary-2);
}
.select--button p {
  margin: 0;
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}
.select--button:hover, .select--button:focus {
  border-color: var(--border-accent-1-3);
  background-color: var(--surface-primary-subdued);
}
.select--button:after {
  font-family: "icomoon" !important;
  content: "\e90c";
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: center;
  font-size: 1em;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
}
.select--option_wrapper {
  opacity: 0;
  pointer-events: none;
  padding-top: 4px;
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 320px;
  z-index: 3;
}
.select--option_wrapper.is_opened {
  opacity: 1;
  pointer-events: all;
}
.select--option_wrapper.is_opened .select--option_list {
  transform: translateY(0);
}
.select--option_list {
  width: 100%;
  background-color: var(--surface-primary-subdued);
  transition: var(--transition);
  transform: translateY(-8px);
  padding: 4px;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  overflow: hidden;
  max-height: 320px;
  overflow-y: auto;
}
.select--option_list_title {
  padding: 20px 20px 8px;
  font-weight: 500;
  font-size: var(--fs-md);
}
.select--option {
  padding: 10px 12px;
  transition: var(--transition);
  cursor: pointer;
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  background-color: var(--surface-primary-subdued);
  border-radius: 8px;
}
.select--option:hover, .select--option:active, .select--option:focus {
  color: var(--accent-default);
}
.select--option.is_selected {
  background-color: #fff;
  color: var(--accent-default);
}
.select--option[data-disabled=true] {
  pointer-events: none;
  opacity: 0.4;
}

.form--input_date,
.form--input_date-range {
  font-size: var(--fs-md);
  border-radius: var(--border-radius-md);
  border: 1px solid transparent;
  background-color: var(--neutral-container-soft);
  transition: var(--transition);
  width: 100%;
  position: relative;
}
.form--input_date:after,
.form--input_date-range:after {
  content: "\e904";
  font-family: "icomoon";
  margin-left: auto;
  font-size: var(--fs-md);
  position: absolute;
  top: 12px;
  right: 16px;
  color: var(--fg-muted);
}
.form--input_date input,
.form--input_date-range input {
  line-height: 1.2;
  font-size: var(--fs-md);
  border-radius: 12px;
  border: 1px solid var(--border-primary-2);
  background-color: #fff;
  transition: var(--transition);
  width: 100%;
  padding: 14px 12px;
}
@media (min-width: 768px) {
  .form--input_date input,
  .form--input_date-range input {
    padding: 12px 16px;
  }
}
.form--input_date input::-moz-placeholder, .form--input_date-range input::-moz-placeholder {
  color: var(--fg-muted);
}
.form--input_date input:-moz-placeholder-shown, .form--input_date-range input:-moz-placeholder-shown {
  color: var(--fg-muted);
}
.form--input_date input::placeholder, .form--input_date input:placeholder-shown,
.form--input_date-range input::placeholder,
.form--input_date-range input:placeholder-shown {
  color: var(--fg-muted);
}
.form--input_date input:not(:-moz-placeholder-shown), .form--input_date-range input:not(:-moz-placeholder-shown) {
  color: var(--fg-default);
}
.form--input_date input:not(:placeholder-shown),
.form--input_date-range input:not(:placeholder-shown) {
  color: var(--fg-default);
}
.form--input_date input:hover, .form--input_date input:focus, .form--input_date input:focus-within,
.form--input_date-range input:hover,
.form--input_date-range input:focus,
.form--input_date-range input:focus-within {
  border-color: var(--neutral-container-default);
}

.air-datepicker {
  color: var(--fg-default);
  --adp-font-family: inherit;
  --adp-font-size: var(--fs-button-l);
  --adp-width: 320px;
  --adp-z-index: 60;
  --adp-padding: 12px;
  --adp-grid-areas: "nav" "body" "timepicker" "buttons";
  --adp-transition-duration: .3s;
  --adp-transition-ease: ease-out;
  --adp-transition-offset: 8px;
  --adp-background-color: #fff;
  --adp-background-color-hover: transparent;
  --adp-background-color-active: transparent;
  --adp-background-color-in-range: var(--accent-default);
  --adp-background-color-in-range-focused: #194850;
  --adp-background-color-selected-other-month-focused: var(--neutral-default);
  --adp-background-color-selected-other-month: var(--neutral-default);
  --adp-color: #464849;
  --adp-color-secondary: #9c9c9c;
  --adp-accent-color: #194850;
  --adp-color-current-date: var(--accent-default);
  --adp-color-other-month: #464849;
  --adp-color-disabled: #B9BABC;
  --adp-color-disabled-in-range: rgba(185, 186, 188, 1);
  --adp-color-other-month-hover: #c5c5c5;
  --adp-border-color: transparent;
  --adp-border-color-inner: transparent;
  --adp-border-radius: 4px;
  --adp-border-color-inline: var(--neutral-container-default);
  --adp-nav-height: 32px;
  --adp-nav-arrow-color: var(--primary-default);
  --adp-nav-action-size: 32px;
  --adp-nav-color-secondary: var(--primary-default);
  --adp-day-name-color: var(--primary-subdued);
  --adp-day-name-color-hover: var(--primary-hover);
  --adp-day-cell-width: 1fr;
  --adp-day-cell-height: 42px;
  --adp-month-cell-height: 42px;
  --adp-year-cell-height: 42px;
  --adp-pointer-size: 10px;
  --adp-poiner-border-radius: 2px;
  --adp-pointer-offset: 14px;
  --adp-cell-border-radius: 4px;
  --adp-cell-background-color-hover: var(--adp-background-color-hover);
  --adp-cell-background-color-selected: var(--neutral-default);
  --adp-cell-background-color-selected-hover: var(--neutral-default);
  --adp-cell-background-color-in-range: var(--neutral-container-soft);
  --adp-cell-background-color-in-range-hover: var(--neutral-container-soft);
  --adp-cell-border-color-in-range: var(--neutral-default);
  --adp-btn-height: 40px;
  --adp-btn-color: var(--accent-on-accent);
  --adp-btn-color-hover: var(--accent-on-accent);
  --adp-btn-border-radius: var(--adp-border-radius);
  --adp-btn-background-color-hover: var(--accent-default);
  --adp-btn-background-color-active: var(--accent-default);
  --adp-time-track-height: 1px;
  --adp-time-track-color: #dedede;
  --adp-time-track-color-hover: #b1b1b1;
  --adp-time-thumb-size: 12px;
  --adp-time-padding-inner: 10px;
  --adp-time-day-period-color: var(--adp-color-secondary);
  --adp-mobile-font-size: 16px;
  --adp-mobile-nav-height: 40px;
  --adp-mobile-width: 320px;
  --adp-mobile-day-cell-height: 42px;
  --adp-mobile-month-cell-height: 40px;
  --adp-mobile-year-cell-height: 64px;
  --adp-border-color-inline: rgba(255, 252, 250, 0.15);
}

.air-datepicker.-is-mobile- {
  z-index: 100;
}

.air-datepicker {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid #F3F3F4;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
}

.air-datepicker-body--day-name {
  height: 40px;
}

.air-datepicker-body--day-names {
  margin-top: 20px;
  padding: 0;
}

.air-datepicker-nav {
  padding: 8px 12px 0;
}

.air-datepicker--content {
  padding: 0;
}

.air-datepicker-cell.-selected- {
  color: #FFFFFF;
  background-color: var(--accent-subdued);
}

.air-datepicker-cell.-day-.-focus-,
.air-datepicker-cell.-selected-.-focus- {
  color: #FFFFFF;
  background-color: var(--accent-subdued);
}

.air-datepicker-cell.-selected-.-current- {
  color: #FFFFFF;
  background-color: var(--accent-subdued);
}

.air-datepicker-button.airpicker_button_apply {
  min-width: 100%;
  border-radius: 12px;
  background: var(--accent-default);
  color: var(--accent-on-accent);
}
.air-datepicker-button.airpicker_button_apply:hover {
  background: var(--accent-hover);
  color: var(--accent-on-accent);
}

.air-datepicker--buttons {
  padding-top: 16px;
}

.air-datepicker-body--day-name {
  font-size: var(--fs-button-m);
  color: var(--accent-subdued);
  font-weight: 500;
}

.air-datepicker-nav--title {
  font-weight: 600;
  font-size: var(--fs-h5);
}

.-disabled-.-focus-.air-datepicker-cell.-day-.-other-month-,
.-disabled-.-focus-.air-datepicker-cell.-year-.-other-decade-,
.air-datepicker-cell.-day-.-other-month-.-disabled-,
.air-datepicker-cell.-year-.-other-decade-.-disabled- {
  color: var(--primary-disabled);
}

.air-datepicker-nav--action {
  font-size: 20px;
}

.air-datepicker-cell.-current-.-in-range- {
  color: #fff;
}

.-in-range-.air-datepicker-cell.-year-.-other-decade-, .-in-range-.air-datepicker-cell.-day-.-other-month- {
  color: rgba(255, 255, 255, 0.6);
}

.air-datepicker-cell.-range-from-,
.air-datepicker-cell.-range-to- {
  color: #FFFFFF !important;
  background-color: var(--accent-subdued) !important;
}

.air-datepicker-cell.-in-range- {
  background-color: var(--accent-subdued);
  color: #fff;
}

.form--input_file {
  border: 2px dashed var(--border-primary-2);
  background-color: transparent;
  border-radius: 12px;
  cursor: pointer;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 32px;
  position: relative;
  justify-content: center;
  transition: var(--transition);
}
.form--input_file::-moz-selection {
  border-color: var(--border-accent-1-3);
  background-color: var(--surface-primary-subdued);
}
.form--input_file:active, .form--input_file:focus, .form--input_file:hover, .form--input_file::selection {
  border-color: var(--border-accent-1-3);
  background-color: var(--surface-primary-subdued);
}
.form--input_file p {
  text-align: center;
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  margin: 0;
}
.form--input_file p span {
  color: var(--accent-default);
}
.form--input_file input {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.form--input_file_hint {
  width: 100%;
  text-align: center;
  color: var(--primary-disabled);
  font-size: 16px;
  margin-top: 4px;
}

.form--input_file--items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 12px 0;
}
.form--input_file--items:empty {
  display: none;
}

.form--input_file--items_loaded {
  background-color: var(--surface-primary-subdued);
  padding: 12px 54px;
  border-radius: 12px;
  position: relative;
  font-size: 16px;
  min-height: 42px;
}
.form--input_file--items_loaded:before {
  content: "";
  position: absolute;
  left: 20px;
  top: 33%;
  display: block;
  width: 24px;
  height: 24px;
  font-size: 20px;
}
.form--input_file--items_loaded > p, .form--input_file--items_loaded span {
  margin: 0;
}
.form--input_file--items_loaded > p:not([class]) {
  overflow: hidden;
  max-width: 300px;
  text-overflow: ellipsis;
  margin: 12px 0 4px;
  font-weight: 600;
  font-size: var(--fs-button-m);
}
.form--input_file--items_loaded:not(.loaded):before {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='11' stroke='%234E5157' stroke-opacity='0.15' stroke-width='2'/%3E%3Ccircle cx='12' cy='12' r='11' stroke='url(%23paint0_angular_8107_11473)' stroke-width='2'/%3E%3Cg clip-path='url(%23clip0_8107_11473)'%3E%3Cpath d='M10.2078 12.2642C10.4447 12.7516 10.8009 13.1634 11.2727 13.3971C10.8101 13.5036 10.2751 13.5256 9.72805 13.4481C8.09994 13.2174 6.60419 12.1658 6.60419 10.25C6.60419 10.0084 6.40831 9.8125 6.16669 9.8125C5.92506 9.8125 5.72919 10.0084 5.72919 10.25C5.72919 12.7676 7.73343 14.0492 9.60532 14.3144C10.5459 14.4477 11.5126 14.3393 12.2642 13.9739C12.7707 13.7278 13.1955 13.3529 13.4237 12.8532C13.5068 13.2857 13.5187 13.7739 13.4481 14.272C13.2174 15.9001 12.1658 17.3958 10.25 17.3958C10.0084 17.3958 9.81252 17.5917 9.81252 17.8333C9.81252 18.075 10.0084 18.2708 10.25 18.2708C12.7676 18.2708 14.0493 16.2666 14.3144 14.3947C14.4477 13.4542 14.3393 12.4874 13.974 11.7358C13.772 11.3204 13.4836 10.96 13.1106 10.7179C13.4753 10.6735 13.8704 10.6768 14.272 10.7336C15.9001 10.9643 17.3959 12.016 17.3959 13.9317C17.3959 14.1733 17.5917 14.3692 17.8334 14.3692C18.075 14.3692 18.2709 14.1733 18.2709 13.9317C18.2709 11.4141 16.2666 10.1325 14.3947 9.8673C13.4542 9.73405 12.4874 9.84244 11.7358 10.2078C11.3324 10.4039 10.9808 10.6817 10.7391 11.0391C10.6736 10.634 10.6689 10.1852 10.7337 9.72803C10.9643 8.09992 12.016 6.60417 13.9317 6.60417C14.1734 6.60417 14.3692 6.40829 14.3692 6.16667C14.3692 5.92504 14.1734 5.72917 13.9317 5.72917C11.4142 5.72917 10.1325 7.73341 9.86732 9.6053C9.73407 10.5458 9.84246 11.5126 10.2078 12.2642Z' fill='%23613CC3'/%3E%3C/g%3E%3Cdefs%3E%3CradialGradient id='paint0_angular_8107_11473' cx='0' cy='0' r='1' gradientUnits='userSpaceOnUse' gradientTransform='translate(12 12) rotate(90) scale(12)'%3E%3Cstop stop-color='%23613CC3'/%3E%3Cstop offset='0.18' stop-color='%23613CC3'/%3E%3Cstop offset='0.1801' stop-color='white' stop-opacity='0'/%3E%3Cstop offset='1' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3CclipPath id='clip0_8107_11473'%3E%3Crect width='14' height='14' fill='white' transform='translate(5 5)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  animation: loading 1.6s infinite linear;
  transform-origin: center;
}
.form--input_file--items_loaded:not(.loaded) .form--input_file--items_delete {
  display: none;
}
.form--input_file--items_loaded.loaded:before {
  content: "\e90e";
  font-family: "icomoon" !important;
}
.form--input_file--items_loaded.error .form--input_file--items_hint {
  color: var(--critical);
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.form--input_file--items_delete {
  width: 24px;
  height: 24px;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: var(--transition);
}
.form--input_file--items_delete:hover {
  color: var(--c-text-default);
}
.form--input_file--items_delete:before {
  content: "\e909";
  font-family: "icomoon" !important;
  font-size: 20px;
  width: 24px;
  height: 24px;
  line-height: 1;
  color: var(--fg-default);
}

.form--input_file--items_hint {
  font-size: 14px;
  color: var(--primary-disabled);
}

.form--input.form--input_numbers {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  gap: 0 16px;
}
.form--input.form--input_numbers .numbers {
  grid-column: 2;
  grid-row: span 1/-1;
}
.form--input.form--input_numbers .hint {
  font-weight: 400;
  letter-spacing: 0.01em;
  font-size: var(--fs-caption-xs);
  color: var(--primary-disabled);
}

.numbers {
  display: flex;
  align-items: center;
  gap: 4px;
}
.numbers--button {
  border-radius: 50%;
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgb(243, 243, 244);
  font-size: 14px;
}
.numbers--button:hover, .numbers--button:active {
  background-color: rgb(220, 220, 221);
}
@media (min-width: 1024px) {
  .numbers--button {
    font-size: 18px;
    width: 48px;
    height: 48px;
  }
}
.numbers--output {
  color: var(--primary-default);
  font-weight: 500;
  max-width: 52px;
  text-align: center;
}

/* clears the 'X' from Chrome */
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

/* clears the 'X' from Internet Explorer */
input[type=search]::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input[type=search]::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

input, textarea, select {
  border: none;
  outline: none;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

textarea {
  resize: vertical;
}

input[type=date] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.form fieldset {
  padding: 0;
  border-color: transparent;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.form--title {
  font-size: var(--fs-h1);
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: 20px;
}

.form--text {
  color: var(--fg-soft);
  font-size: var(--fs-md);
  margin-bottom: 24px;
}

.form--input {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
  gap: 8px;
}
.form--input > span {
  order: -1;
  font-size: var(--fs-h6);
  font-weight: 600;
  transition: var(--transition);
  color: var(--primary-subdued);
}
.form--input > input, .form--input textarea {
  line-height: 1.2;
  font-size: 16px;
  border-radius: 12px;
  border: 1px solid var(--border-primary-2);
  background-color: #fff;
  transition: var(--transition);
  width: 100%;
  padding: 14px 12px;
}
@media (min-width: 768px) {
  .form--input > input, .form--input textarea {
    padding: 12px 16px;
  }
}
.form--input > input::-moz-placeholder, .form--input textarea::-moz-placeholder {
  color: var(--primary-disabled);
}
.form--input > input:-moz-placeholder-shown, .form--input textarea:-moz-placeholder-shown {
  color: var(--primary-disabled);
}
.form--input > input::placeholder, .form--input > input:placeholder-shown, .form--input textarea::placeholder, .form--input textarea:placeholder-shown {
  color: var(--primary-disabled);
}
.form--input > input:not(:-moz-placeholder-shown), .form--input textarea:not(:-moz-placeholder-shown) {
  color: var(--primary-subdued);
}
.form--input > input:not(:placeholder-shown), .form--input textarea:not(:placeholder-shown) {
  color: var(--primary-subdued);
}
.form--input > input:hover, .form--input > input:focus, .form--input > input:focus-within, .form--input textarea:hover, .form--input textarea:focus, .form--input textarea:focus-within {
  border-color: var(--border-accent-1-3);
  background-color: var(--surface-primary-subdued);
}
.form--input > input:valid:not(:-moz-placeholder-shown), .form--input > input:user-valid:not(:-moz-placeholder-shown), .form--input textarea:valid:not(:-moz-placeholder-shown), .form--input textarea:user-valid:not(:-moz-placeholder-shown) {
  border-color: var(--border-accent-1-1);
  background-color: #fff;
}
.form--input > input:valid:not(:placeholder-shown), .form--input > input:user-valid:not(:placeholder-shown), .form--input textarea:valid:not(:placeholder-shown), .form--input textarea:user-valid:not(:placeholder-shown) {
  border-color: var(--border-accent-1-1);
  background-color: #fff;
}
.form--input > input:invalid:not(:-moz-placeholder-shown), .form--input > input:user-invalid:not(:-moz-placeholder-shown), .form--input textarea:invalid:not(:-moz-placeholder-shown), .form--input textarea:user-invalid:not(:-moz-placeholder-shown) {
  border-color: var(--primary-disabled);
  background-color: #fff;
}
.form--input > input:invalid:not(:placeholder-shown), .form--input > input:user-invalid:not(:placeholder-shown), .form--input textarea:invalid:not(:placeholder-shown), .form--input textarea:user-invalid:not(:placeholder-shown) {
  border-color: var(--primary-disabled);
  background-color: #fff;
}
.form--input.error .form--input_error {
  opacity: 1;
  max-height: -moz-fit-content;
  max-height: fit-content;
  height: auto;
  color: var(--critical);
  font-size: 14px;
  letter-spacing: 0.01em;
}
.form--input_error {
  color: var(--critical-soft);
  opacity: 0;
  font-size: var(--fs-sm);
  line-height: 20px;
  max-height: 0;
  height: 0;
  overflow: hidden;
  transition: opacity 0.03s 0.15s ease-out, max-height 0.18s linear;
}
.form--input > label {
  display: flex;
  align-items: flex-start;
}

.form--input {
  position: relative;
}
.form--input input[type=radio],
.form--input input[type=checkbox] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  order: -1;
}
.form--input input[type=radio] ~ span,
.form--input input[type=checkbox] ~ span {
  order: 1;
  font-size: var(--fs-md);
  line-height: 24px;
  margin-left: 16px;
  color: var(--neutral-default);
}
.form--input input[type=radio] ~ .radio, .form--input input[type=radio] ~ .checkbox, .form--input input[type=radio] ~ .slider,
.form--input input[type=checkbox] ~ .radio,
.form--input input[type=checkbox] ~ .checkbox,
.form--input input[type=checkbox] ~ .slider {
  flex-shrink: 0;
  flex-grow: 0;
  cursor: pointer;
}
.form--input input[type=checkbox] ~ .checkbox {
  transition: var(--transition);
  width: 24px;
  height: 24px;
  border-radius: 4px;
  border: 1.5px solid var(--border-primary-4);
  background-color: transparent;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form--input input[type=checkbox] ~ .checkbox:after {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 12.3333L10.1579 17L19 9' stroke='white' stroke-width='2' stroke-linecap='square'/%3E%3C/svg%3E");
  background-size: contain;
  transition: var(--transition);
  opacity: 0;
  font-size: 16px;
}
.form--input input[type=checkbox] ~ .checkbox:hover, .form--input input[type=checkbox] ~ .checkbox:focus {
  border-color: var(--border-accent-1-1);
  background-color: var(--surface-accent-2-default);
}
.form--input input[type=checkbox] ~ .toggle {
  width: 52px;
  height: 28px;
  border: 1px solid var(--border-secondary-3);
  border-radius: 1200px;
  position: relative;
  transition: var(--transition);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.form--input input[type=checkbox] ~ .toggle:after {
  content: "";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 4px;
  top: 3px;
  border-radius: 50%;
  background-color: var(--surface-primary-disabled);
  transition: var(--transition);
  z-index: 2;
  flex-shrink: 0;
  flex-grow: 0;
}
.form--input input[type=checkbox] ~ .toggle:hover, .form--input input[type=checkbox] ~ .toggle:focus {
  border-color: var(--accent-default);
}
.form--input input[type=checkbox] ~ .toggle:hover:after, .form--input input[type=checkbox] ~ .toggle:focus:after {
  background-color: var(--accent-default);
}
.form--input input[type=checkbox]:checked ~ .checkbox {
  background-color: var(--accent-default);
  border-color: var(--accent-default);
}
.form--input input[type=checkbox]:checked ~ .checkbox:after {
  opacity: 1;
}
.form--input input[type=checkbox]:checked ~ .toggle {
  border-color: var(--border-accent-1-4);
  background-color: var(--accent-default);
}
.form--input input[type=checkbox]:checked ~ .toggle:after {
  transform: translateX(22px);
  background-color: rgb(255, 255, 255);
}
.form--input input[type=radio] ~ .radio {
  transition: var(--transition);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1.5px solid var(--border-primary-4);
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.form--input input[type=radio] ~ .radio:after {
  content: "";
  background-color: #fff;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  flex-shrink: 0;
  flex-grow: 0;
  border-radius: 50%;
  opacity: 0;
  transition: var(--transition);
}
.form--input input[type=radio] ~ .radio:hover, .form--input input[type=radio] ~ .radio:focus {
  border-color: var(--border-accent-1-1);
  background-color: var(--surface-accent-2-default);
}
.form--input input[type=radio]:checked ~ .radio {
  background-color: var(--surface-accent-3-default);
  border-color: var(--surface-accent-3-default);
}
.form--input input[type=radio]:checked ~ .radio:after {
  opacity: 1;
}

.form--policy {
  font-size: var(--fs-caption-m);
  color: var(--primary-default);
  margin: 20px 0;
}
@media (min-width: 992px) {
  .form--policy {
    margin: 20px 0;
  }
}
.form--policy a:not(.button) {
  color: var(--accent-default);
  text-decoration: underline;
}

.is_sending button[type=submit] {
  background: var(--surface-accent-3-disabled) !important;
  pointer-events: none;
  cursor: wait;
}

.block_image_text .form {
  background-color: var(--surface-primary-subdued);
  padding: clamp(20px, 20px + 20 * (100vw - 540px) / 1380, 40px) clamp(16px, 16px + 48 * (100vw - 540px) / 1380, 64px);
  border-radius: 16px;
}

.contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 0;
}
.contact-social {
  flex-direction: row;
  flex-wrap: wrap;
}
.contact--title {
  color: var(--primary-subdued);
  font-weight: 600;
  font-size: var(--fs-nav);
}
.contact--title:empty {
  display: none;
}
.contact--value a:not(.button) {
  color: var(--accent-default);
  font-weight: 500;
  font-size: var(--fs-button-m);
}
.contact--value a:not(.button):hover, .contact--value a:not(.button):focus {
  color: var(--accent-hover);
}
.contact--value > span {
  font-size: var(--fs-caption-s);
  display: block;
  line-height: 1.33;
}

.header--contacts .contact {
  padding: 12px;
}
.header--contacts .contact:not(:last-child) {
  border-bottom: 1px solid var(--border-primary-1);
}

.contacts .contacts--title {
  font-weight: 600;
  font-size: var(--fs-h5);
}

.content_contacts .block--head,
.content_contacts .block--content {
  padding: 0 clamp(0px, 0px + 64 * (100vw - 540px) / 1380, 64px);
}
.content_contacts .contacts--map {
  aspect-ratio: 1/1;
}
.content_contacts .contact:not(.contact-social) {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.content_contacts .contact:not(.contact-social) .contact--title {
  grid-column: 1;
  grid-row: 1/-1;
}
.content_contacts .contact:not(.contact-social) .contact--value {
  grid-column: 2;
}
.content_contacts .contact--title {
  color: var(--primary-subdued);
}

.contacts--map .map {
  width: 100%;
  height: 100%;
}
.contacts--map .map--placemark {
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.16)) drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.04));
  display: flex;
  flex-direction: column;
}
.contacts--map svg {
  transform: translate(-50%, -50%);
  justify-self: center;
}

.block_element.content_contacts .contact--title,
.block_element.content_contacts .contact--value a:not(.button),
.block_element.content_contacts .contact--value > span {
  font-size: 18px;
}
.block_element.content_contacts .contacts--title {
  padding: 8px 0;
}

.content_cards .block--elements {
  --col: 2;
}
@media (min-width: 640px) {
  .content_cards .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_cards .block--elements {
    --col: 4;
  }
}

.content_cards .card {
  position: relative;
  aspect-ratio: 338/450;
  color: #fff;
  height: auto;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
.content_cards .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.content_cards .card[href] .card--image:before, .content_cards .card[data-popup_cascade] .card--image:before, .content_cards .card[data-openpopup] .card--image:before {
  opacity: 0.5;
}
.content_cards .card[href]:hover .card--image img, .content_cards .card[href]:focus .card--image img, .content_cards .card[data-popup_cascade]:hover .card--image img, .content_cards .card[data-popup_cascade]:focus .card--image img, .content_cards .card[data-openpopup]:hover .card--image img, .content_cards .card[data-openpopup]:focus .card--image img {
  transform: scale(1.1);
}
.content_cards .card[href]:hover .card--image:after, .content_cards .card[href]:focus .card--image:after, .content_cards .card[data-popup_cascade]:hover .card--image:after, .content_cards .card[data-popup_cascade]:focus .card--image:after, .content_cards .card[data-openpopup]:hover .card--image:after, .content_cards .card[data-openpopup]:focus .card--image:after {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.424897) 30.17%, rgba(0, 0, 0, 0.7) 100%);
}
.content_cards .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.content_cards .card--image img {
  transition: var(--transition);
  transform: scale(1);
}
.content_cards .card--image:before, .content_cards .card--image:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
}
.content_cards .card--image:before {
  height: 20%;
  top: 0;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0.265754) 71.15%, rgba(0, 0, 0, 0) 100%);
  opacity: 0;
}
.content_cards .card--image:after {
  transition: var(--transition);
  height: 50%;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.224897) 30.17%, rgba(0, 0, 0, 0.5) 100%);
}
.content_cards .card--content {
  padding: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  justify-content: flex-end;
  height: 100%;
}
@media (max-width: 1024px) {
  .content_cards.block_list-slider .card--content {
    padding: 24px 16px;
  }
  .content_cards.block_list-slider .card--action {
    top: 24px;
    right: 16px;
  }
}
@media (max-width: 992px) {
  .content_cards:not(.block_list-slider) .card--text {
    display: none;
  }
  .content_cards:not(.block_list-slider) .card--title {
    font-size: 16px;
  }
  .content_cards:not(.block_list-slider) .card--action {
    width: 28px;
    height: 28px;
  }
  .content_cards:not(.block_list-slider) .card--action .icon:after {
    font-size: 14px;
  }
}

.content_news .block--elements,
.content_media .block--elements {
  --col: 2;
}
@media (min-width: 640px) {
  .content_news .block--elements,
  .content_media .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_news .block--elements,
  .content_media .block--elements {
    --col: 3;
  }
}

.content_news .card,
.content_media .card {
  position: relative;
  aspect-ratio: 456/608;
  color: #fff;
  height: auto;
  border-radius: 12px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .content_news .card,
  .content_media .card {
    border-radius: 16px;
  }
}
.content_news .card[href] .card--action, .content_news .card[data-popup_cascade] .card--action, .content_news .card[data-openpopup] .card--action,
.content_media .card[href] .card--action,
.content_media .card[data-popup_cascade] .card--action,
.content_media .card[data-openpopup] .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.content_news .card[href]:hover .card--image, .content_news .card[href]:focus .card--image, .content_news .card[data-popup_cascade]:hover .card--image, .content_news .card[data-popup_cascade]:focus .card--image, .content_news .card[data-openpopup]:hover .card--image, .content_news .card[data-openpopup]:focus .card--image,
.content_media .card[href]:hover .card--image,
.content_media .card[href]:focus .card--image,
.content_media .card[data-popup_cascade]:hover .card--image,
.content_media .card[data-popup_cascade]:focus .card--image,
.content_media .card[data-openpopup]:hover .card--image,
.content_media .card[data-openpopup]:focus .card--image {
  transform: scale(1.1);
}
.content_news .card--image,
.content_media .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: var(--transition);
}
.content_news .card--image:before, .content_news .card--image:after,
.content_media .card--image:before,
.content_media .card--image:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
}
.content_news .card--image:before,
.content_media .card--image:before {
  height: 30%;
  top: 0;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0.265754) 71.15%, rgba(0, 0, 0, 0) 100%);
}
.content_news .card--image:after,
.content_media .card--image:after {
  height: 50%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.224897) 30.17%, rgba(0, 0, 0, 0.5) 100%);
}
.content_news .card--content,
.content_media .card--content {
  padding: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  justify-content: flex-end;
  height: 100%;
}
.content_news.block_list-slider .card--content,
.content_media.block_list-slider .card--content {
  padding: 24px 16px;
}
.content_news .card--title,
.content_media .card--title {
  font-size: var(--fs-h3);
}
@media (max-width: 992px) {
  .content_news:not(.block_list-slider) .card--text,
  .content_media:not(.block_list-slider) .card--text {
    display: none;
  }
  .content_news:not(.block_list-slider) .card--title,
  .content_media:not(.block_list-slider) .card--title {
    font-size: 16px;
  }
  .content_news:not(.block_list-slider) .card--action,
  .content_media:not(.block_list-slider) .card--action {
    width: 28px;
    height: 28px;
  }
  .content_news:not(.block_list-slider) .card--action .icon:after,
  .content_media:not(.block_list-slider) .card--action .icon:after {
    font-size: 14px;
  }
}
.content_news .card--labels,
.content_media .card--labels {
  margin-bottom: auto;
  padding-right: 64px;
}

@media (min-width: 1024px) {
  .content_media.block_element .block--sidebar {
    grid-row: 2;
  }
  .content_media.block_element .block--content {
    grid-row: 2;
  }
  .content_media.block_element .head {
    grid-row: 1;
    grid-column: 1/span 2;
  }
}
.content_media.block_element .head {
  height: 400px;
  position: relative;
  margin-bottom: var(--g-content-l);
  padding: var(--p-card-l);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
@media (min-width: 1024px) {
  .content_media.block_element .head {
    padding-right: 30%;
  }
}
.content_media.block_element .head--image {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  height: 100%;
}
.content_media.block_element .head--image:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 2;
}
.content_media.block_element .head--image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.content_media.block_element .head--title, .content_media.block_element .head--labels, .content_media.block_element .head--caption, .content_media.block_element .head--info {
  position: relative;
  z-index: 3;
}
.content_media.block_element .head--labels {
  display: flex;
  gap: 8px;
  font-size: var(--fs-tag-m);
  margin-bottom: 12px;
}
.content_media.block_element .head--label {
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  padding: 6px 12px;
  border-radius: 1000px;
  background-color: rgba(255, 255, 255, 0.05);
}
.content_media.block_element .head--label.-accent {
  background-color: var(--surface-accent-3-subdued);
}
.content_media.block_element .head--title {
  font-size: var(--fs-h1);
  font-weight: 600;
  margin-bottom: 4px;
}
.content_media.block_element .head--caption {
  font-size: var(--fs-subtitle-m);
  font-weight: 500;
}
.content_media.block_element .head--title, .content_media.block_element .head--labels, .content_media.block_element .head--caption {
  grid-column: 1;
}
.content_media.block_element .head--info {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
@media (min-width: 1024px) {
  .content_media.block_element .head--info {
    position: absolute;
    padding: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
    bottom: 0;
    right: 0;
  }
}
.content_media.block_element .head--info_item {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-tag-l);
  font-weight: 500;
}

.content_offers .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_offers .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .content_offers .block--elements {
    --col: 2;
  }
}

.content_offers .card {
  position: relative;
  aspect-ratio: 320/240;
  color: #fff;
  height: auto;
  border-radius: 16px;
  overflow: hidden;
}
@media (min-width: 640px) {
  .content_offers .card {
    aspect-ratio: 692/389;
  }
}
.content_offers .card .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.content_offers .card[href]:hover .card--image, .content_offers .card[href]:focus .card--image, .content_offers .card[data-popup_cascade]:hover .card--image, .content_offers .card[data-popup_cascade]:focus .card--image, .content_offers .card[data-openpopup]:hover .card--image, .content_offers .card[data-openpopup]:focus .card--image {
  transform: scale(1.1);
}
.content_offers .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: var(--transition);
}
.content_offers .card--image:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
  height: 100%;
  top: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 43.68%, rgba(0, 0, 0, 0.323945) 60%, rgba(0, 0, 0, 0.5) 100%);
}
.content_offers .card--content {
  padding: clamp(20px, 20px + 12 * (100vw - 1024px) / 896, 32px) clamp(16px, 16px + 16 * (100vw - 1024px) / 896, 32px);
  justify-content: flex-end;
  height: 100%;
}
.content_offers .card--title {
  font-size: var(--fs-h3);
  max-width: 320px;
}
.content_offers .card--labels {
  margin-bottom: auto;
  padding-right: 64px;
}

.content_accommodation:not(.content_accommodation_wide) .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_accommodation:not(.content_accommodation_wide) .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .content_accommodation:not(.content_accommodation_wide) .block--elements {
    --col: 2;
  }
}

.block_list.content_accommodation:not(.content_accommodation_wide) .card {
  position: relative;
  height: auto;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
  display: grid;
  padding: 8px;
  background-color: var(--surface-primary-default);
  gap: 8px;
}
@media (min-width: 1180px) {
  .block_list.content_accommodation:not(.content_accommodation_wide) .card {
    grid-template-columns: 1fr 1fr;
  }
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--image {
  transform: scale(1);
  transition: var(--transition);
  border-radius: 8px;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--image img, .block_list.content_accommodation:not(.content_accommodation_wide) .card--image video, .block_list.content_accommodation:not(.content_accommodation_wide) .card--image figure {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--image:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
  height: 100%;
  top: 0;
  background: linear-gradient(180deg, rgba(22, 22, 22, 0) 45.82%, rgba(22, 22, 22, 0.151312) 53.18%, rgba(22, 22, 22, 0.401047) 61.63%, rgba(22, 22, 22, 0.67987) 72.66%, #161616 89.44%);
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--image_slide {
  z-index: 1;
  opacity: 1;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--image_slide.swiper-slide-active {
  z-index: 2;
  opacity: 1;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--content {
  height: 100%;
  padding: 12px;
}
@media (min-width: 1024px) {
  .block_list.content_accommodation:not(.content_accommodation_wide) .card--content {
    padding: 12px 16px;
  }
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--title {
  font-size: var(--fs-h4);
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--text {
  margin-top: 4px;
  color: var(--primary-subdued);
  font-size: var(--fs-subtitle-s);
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--labels {
  margin-bottom: auto;
  padding-right: 64px;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--advantages {
  margin-top: 20px;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--advantages ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  color: var(--primary-default);
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--advantages li {
  display: flex;
  align-items: flex-start;
  gap: 4px;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--advantages li span {
  line-height: 18px;
}
.block_list.content_accommodation:not(.content_accommodation_wide) .card--buttons {
  margin-top: auto;
  flex-wrap: wrap;
}

.content_accommodation.block_element .booking {
  padding: 32px 36px;
  background-color: var(--surface-accent-2-default);
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 1024px) {
  .content_accommodation.block_element .booking {
    width: 100%;
    padding: 20px;
  }
}
.content_accommodation.block_element .booking--calendar, .content_accommodation.block_element .booking--guests {
  background-color: #fff;
  width: 100%;
  padding: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.content_accommodation.block_element .booking--calendar input[data-booking-dates], .content_accommodation.block_element .booking--guests input[data-booking-dates] {
  text-align: center;
  font-size: var(--fs-body-l);
  width: 100%;
  padding: 0 0 16px;
}
.content_accommodation.block_element .booking--calendar {
  padding: 16px 0 0;
}
.content_accommodation.block_element .booking--guests_output {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.content_accommodation.block_element .booking--hint {
  font-weight: 500;
  color: #B9BABC;
  font-size: 16px;
}
.content_accommodation.block_element .booking--button {
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 32px;
  padding: 8px 0 0 8px;
}

.accommodation--equipment {
  margin: 24px 0;
}
@media (min-width: 1024px) {
  .accommodation--equipment {
    margin: 48px 0;
  }
}
.accommodation--equipment h3, .accommodation--equipment h4 {
  margin: 0 0 var(--fs-tag-xl);
}
.accommodation--equipment ul {
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  margin: 16px 0;
  color: var(--primary-default);
  gap: 16px 20px;
}
@media (min-width: 1024px) {
  .accommodation--equipment ul {
    margin: 24px 0;
    gap: 24px 32px;
  }
}
.accommodation--equipment ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-tag-xl);
  margin: 0;
}

.accommodation--description {
  background-color: #F3F3F4;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  padding: 16px;
  margin: 24px 0;
}
@media (min-width: 1024px) {
  .accommodation--description {
    margin: 48px 0;
    padding: 24px 48px 48px;
  }
}
.accommodation--description h3, .accommodation--description h4 {
  margin: 0 0 var(--fs-tag-xl);
}
.accommodation--description ul {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  list-style: none;
  gap: 0 28px;
}
.accommodation--description ul li {
  font-size: var(--fs-tag-xl);
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
}
.accommodation--description ul li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: currentColor;
  border-radius: 50%;
  margin-right: 8px;
  display: block;
}
.accommodation--description_wrapper {
  max-height: 316px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.accommodation--description:after {
  content: "";
  display: block;
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 1;
  z-index: 2;
  background: linear-gradient(to top, #F3F3F4 72px, rgba(243, 243, 244, 0) 100%);
  transition: var(--transition);
}
.accommodation--description.is_open .accommodation--description_wrapper {
  max-height: unset;
}
.accommodation--description.is_open:after {
  opacity: 0;
}
.accommodation--description.is_open .icon-chevron-down {
  transform: scaleY(-1);
}
.accommodation--description_button {
  padding-top: 24px;
  position: relative;
  z-index: 3;
}
.accommodation--description_button .icon-chevron-down {
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: center;
}

.content_accommodation figure {
  width: 100% !important;
  height: 100%;
}
.content_accommodation figure img, .content_accommodation figure video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.content_accommodation .swiper_pagination {
  padding: 10px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 68px;
}
@media (max-width: 992px) {
  .content_accommodation .swiper_pagination {
    display: none;
  }
}
.content_accommodation .slider_controls {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 16px;
}
.content_accommodation .slider_controls .swiper_pagination {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
.content_accommodation .slider_controls .swiper-button-next,
.content_accommodation .slider_controls .swiper-button-prev {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}

@media (min-width: 992px) {
  .content_accommodation:not(.content_accommodation_wide) .card .swiper-button-next,
  .content_accommodation:not(.content_accommodation_wide) .card .swiper-button-prev {
    display: none;
  }
}

.block_element.content_accommodation .is_cascade p {
  font-size: var(--fs-caption-xl);
}

.content_accommodation.content_accommodation_wide .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_accommodation.content_accommodation_wide .block--elements {
    --col: 1;
  }
}
@media (min-width: 1024px) {
  .content_accommodation.content_accommodation_wide .block--elements {
    --col: 1;
  }
}

.content_accommodation.content_accommodation_wide .card {
  position: relative;
  height: auto;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
  padding: 12px;
  background-color: #F2F9FA;
}
@media (min-width: 1024px) {
  .content_accommodation.content_accommodation_wide .card {
    aspect-ratio: 1400/600;
    justify-content: flex-end;
    padding: 24px;
  }
}
.content_accommodation.content_accommodation_wide .card--image {
  width: 100%;
  height: auto;
  transform: scale(1);
  transition: var(--transition);
}
@media (max-width: 992px) {
  .content_accommodation.content_accommodation_wide .card--image {
    aspect-ratio: 1/1;
  }
}
@media (min-width: 992px) {
  .content_accommodation.content_accommodation_wide .card--image {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
.content_accommodation.content_accommodation_wide .card--image:before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 2;
  height: 100%;
  top: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0) 43.68%, rgba(0, 0, 0, 0.323945) 60%, rgba(0, 0, 0, 0.5) 100%);
}
.content_accommodation.content_accommodation_wide .card--content {
  justify-content: flex-end;
}
@media (min-width: 992px) {
  .content_accommodation.content_accommodation_wide .card--content {
    z-index: 4;
    color: #fff;
    padding: 32px;
    background-color: rgba(255, 255, 255, 0.05);
    -webkit-backdrop-filter: blur(32px);
            backdrop-filter: blur(32px);
    max-width: 456px;
    width: 100%;
    border-radius: 12px;
  }
}
.content_accommodation.content_accommodation_wide.block_list-slider .card--content {
  padding: 12px;
}
@media (min-width: 992px) {
  .content_accommodation.content_accommodation_wide.block_list-slider .card--content {
    padding: 24px 16px;
  }
}
.content_accommodation.content_accommodation_wide .card--title {
  font-size: var(--fs-h2);
  max-width: 320px;
}
.content_accommodation.content_accommodation_wide .card--text {
  font-size: var(--fs-subtitle-l);
}
.content_accommodation.content_accommodation_wide .card--advantages {
  margin: 16px 0;
}
@media (min-width: 992px) {
  .content_accommodation.content_accommodation_wide .card--advantages {
    margin: 24px 0;
  }
}
.content_accommodation.content_accommodation_wide .card--advantages ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.content_accommodation.content_accommodation_wide .card--advantages li {
  display: flex;
  align-items: center;
  gap: 4px;
}
.content_accommodation.content_accommodation_wide .card--buttons {
  display: flex;
  gap: 8px;
}

.content_doctors .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_doctors .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_doctors .block--elements {
    --col: 4;
  }
}

.content_doctors .card {
  background-color: var(--surface-accent-2-default);
  padding: 8px;
  border-radius: var(--border-radius-sm);
  position: relative;
}
.content_doctors .card--image {
  aspect-ratio: 1/1;
  border-radius: 8px;
  flex-shrink: 0;
  overflow: hidden;
}
.content_doctors .card--image img {
  transition: var(--transition);
  transform-origin: center;
  transform: scale(1);
}
.content_doctors .card--content {
  padding: 12px 16px 16px;
  flex-grow: 1;
  position: static;
}
.content_doctors .card--title {
  color: rgba(25, 26, 26, 0.8);
  margin-bottom: 4px;
}
.content_doctors .card--text {
  color: rgba(25, 26, 26, 0.75);
  margin-bottom: 16px;
}
.content_doctors .card--labels {
  margin-top: auto;
}
.content_doctors .card .card--label.-accent {
  --label-bg: var(--surface-accent-3-subdued);
  --label-color: #fff;
}
.content_doctors .card .card--label.-basic {
  --label-color: rgba(25, 26, 26, 0.8);
  --label-bg: #fff;
}
.content_doctors .card[href] .card--action, .content_doctors .card[data-popup_cascade] .card--action, .content_doctors .card[data-openpopup] .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.content_doctors .card[href]:hover .card--image img, .content_doctors .card[href]:focus .card--image img, .content_doctors .card[data-popup_cascade]:hover .card--image img, .content_doctors .card[data-popup_cascade]:focus .card--image img, .content_doctors .card[data-openpopup]:hover .card--image img, .content_doctors .card[data-openpopup]:focus .card--image img {
  transform: scale(1.1);
}

.content_vacancies .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_vacancies .block--elements {
    --col: 1;
  }
}
@media (min-width: 1024px) {
  .content_vacancies .block--elements {
    --col: 1;
  }
}
.content_vacancies.block_list-filter_sidebar .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_vacancies.block_list-filter_sidebar .block--elements {
    --col: 1;
  }
}
@media (min-width: 1024px) {
  .content_vacancies.block_list-filter_sidebar .block--elements {
    --col: 1;
  }
}

.content_vacancies .card {
  border-radius: 12px;
  background-color: var(--surface-accent-2-default);
}
@media (min-width: 992px) {
  .content_vacancies .card {
    border-radius: 16px;
  }
}
.content_vacancies .card[href]:hover .card--title, .content_vacancies .card[href]:focus .card--title {
  color: var(--accent-default);
}
.content_vacancies .card--content {
  padding: clamp(20px, 20px + 16 * (100vw - 540px) / 1380, 36px) clamp(20px, 20px + 28 * (100vw - 540px) / 1380, 48px);
}
.content_vacancies .card--title {
  font-size: var(--fs-h4);
  color: rgba(25, 26, 26, 0.8);
  margin-bottom: 12px;
  line-height: 1.14;
}
.content_vacancies .card--title:after {
  content: "\e901";
  font-family: "icomoon";
  font-size: 0.85em;
  line-height: 1.14;
  margin-left: 8px;
  color: currentColor;
}
.content_vacancies .card--text {
  color: rgba(25, 26, 26, 0.75);
  margin-bottom: 24px;
}
.content_vacancies .card--labels {
  margin-bottom: 16px;
}
.content_vacancies .card .card--label.-accent {
  --label-bg: var(--c-accent-subdued);
  --label-color: rgba(25, 26, 26, 0.8);
}
.content_vacancies .card .card--label.-basic {
  --label-color: rgba(25, 26, 26, 0.8);
  --label-bg: rgba(255, 255, 255, 1);
}
.content_vacancies .card .card--advantages {
  display: flex;
  gap: 8px 12px;
  flex-wrap: wrap;
}
.content_vacancies .card .card--advantages_item {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}
.content_vacancies .card .card--advantages_item span {
  padding-right: 12px;
  font-size: var(--fs-tag-l);
}
.content_vacancies .card .card--advantages_item:not(:last-child):after {
  content: "";
  width: 4px;
  height: 4px;
  display: block;
  border-radius: 50%;
  background-color: rgb(18, 116, 134);
}

@media (min-width: 1024px) {
  .content_vacancies .sidebar {
    position: sticky;
    top: calc(var(--headerHeight, 76px) + 40px);
  }
}

.sidebar-vacancy--salary, .sidebar-vacancy--city {
  font-size: var(--fs-h4);
  font-weight: 600;
  color: var(--accent-default);
}
.sidebar-vacancy--salary {
  margin-bottom: 24px;
}
.sidebar-vacancy--details {
  margin-top: 24px;
  color: var(--primary-subdued);
}
.sidebar-vacancy--details ul {
  padding-left: 28px;
}
.sidebar-vacancy--details li {
  margin: 20px 0;
}
.sidebar-vacancy--details li::marker {
  color: var(--accent-default);
}

.content_reviews .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_reviews .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .content_reviews .block--elements {
    --col: 3;
  }
}

.review {
  height: 100%;
  border-radius: var(--border-radius-sm);
  background-color: var(--surface-accent-2-default);
  padding: clamp(16px, 16px + 8 * (100vw - 1024px) / 896, 24px);
  width: 100%;
}
.review--source {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 16px;
}
.review--source_city, .review--source_origin {
  font-weight: 500;
  font-size: var(--fs-tag-s);
  line-height: 1;
  padding: 6px 8px;
  border-radius: 36px;
}
.review--source_city {
  background-color: var(--surface-accent-3-subdued);
  color: rgb(255, 255, 255);
}
.review--source_origin {
  background-color: rgb(255, 255, 255);
  color: rgba(25, 26, 26, 0.8);
}
.review--author {
  font-size: var(--fs-h5);
  color: rgba(25, 26, 26, 0.8);
  margin-bottom: 4px;
  font-weight: 600;
}
.review--date {
  color: var(--surface-accent-3-disable);
  font-weight: 500;
  font-size: var(--fs-subtitle-s);
}
.review--head {
  display: flex;
  gap: 6px;
  align-items: center;
}
.review--content {
  margin-top: 12px;
}
.review--content_clamper {
  overflow: hidden;
  font-size: 16px;
  line-height: 1.3;
}
.review--content_wrapper {
  display: flex;
  flex-direction: column;
  font-size: 16px;
}
.review--content_wrapper .is_cascade {
  font-size: 16px;
  line-height: 1.3;
}
.review--content_wrapper .is_cascade p, .review--content_wrapper .is_cascade li {
  color: rgba(25, 26, 26, 0.75);
  line-height: 1.3;
  margin: 0 0 1.3em;
  font-size: 16px;
}
.review--action {
  margin-top: 16px;
}
.review--action.is_hidden {
  display: none;
}
.review--image {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  position: relative;
  cursor: pointer;
}
.review--image:has(img) {
  margin: 12px 0;
}
.review--image img {
  border-radius: 4px;
  width: 64px;
  height: 48px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.review .is_cascade strong {
  display: block;
  font-size: 16px;
  margin-bottom: 1.3em;
  line-height: 1.3;
}

.review--stars {
  --inactive_stars: var(--primary-disabled);
  --star-color: var(--accent-default);
  display: flex;
  align-items: center;
}

.star-rate {
  height: 20px;
}

.content_reviews .review--content_clamper {
  overflow: hidden;
  max-height: 124.8px;
}
.content_reviews .review--image:before {
  content: attr(data-all);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 48px;
  position: absolute;
  top: 0;
  left: 140px;
  background-color: rgba(0, 0, 0, 0.3);
  pointer-events: none;
  border-radius: 4px;
  opacity: 0;
}
.content_reviews .review--image:has(img:nth-child(1n+4)):before {
  opacity: 1;
}
.content_reviews .review--image img:nth-child(1n+4) {
  display: none;
}

.review--description_title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 500;
  gap: 6px;
  margin-bottom: 1.3em;
}

.content_documents .block--elements {
  --col: 2;
}
@media (min-width: 640px) {
  .content_documents .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_documents .block--elements {
    --col: 4;
  }
}

.content_documents .card {
  border-radius: var(--border-radius-sm);
  background-color: rgb(243, 243, 244);
  padding: clamp(12px, 12px + 12 * (100vw - 1024px) / 896, 24px);
  max-height: 338px;
  gap: 20px;
}
.content_documents .card--image {
  width: auto;
  height: clamp(32px, 32px + 32 * (100vw - 1024px) / 896, 64px);
  background: none;
  aspect-ratio: unset;
  border-radius: 0;
}
.content_documents .card--image img, .content_documents .card--image svg {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  height: 100%;
  width: 100%;
}
.content_documents .card--image .icon-file {
  font-size: clamp(32px, 32px + 32 * (100vw - 1024px) / 896, 64px);
  color: var(--primary-disabled);
}
.content_documents .card--content {
  flex-grow: 1;
}
.content_documents .card--title {
  font-size: clamp(14px, 14px + 4 * (100vw - 1024px) / 896, 18px);
  margin-bottom: 8px;
  margin-top: auto;
}
.content_documents .card--text {
  font-size: clamp(11px, 11px + 5 * (100vw - 1024px) / 896, 16px);
}
.content_documents .card--text:empty {
  display: none;
}
.content_documents .card--buttons {
  margin-top: auto;
  padding-top: clamp(12px, 12px + 8 * (100vw - 1024px) / 896, 20px);
}

.content_hotel .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_hotel .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_hotel .block--elements {
    --col: 3;
  }
}

.content_hotel .card {
  position: relative;
  aspect-ratio: 312/180;
  color: #fff;
  height: auto;
  border-radius: var(--border-radius-sm);
  overflow: hidden;
}
@media (min-width: 1024px) {
  .content_hotel .card {
    aspect-ratio: 456/480;
  }
}
.content_hotel .card[href] .card--action, .content_hotel .card[data-openpopup] .card--action {
  position: absolute;
  top: clamp(16px, 16px + 16 * (100vw - 1024px) / 896, 32px);
  right: clamp(16px, 16px + 16 * (100vw - 1024px) / 896, 32px);
}
.content_hotel .card[href]:hover .card--image, .content_hotel .card[href]:focus .card--image, .content_hotel .card[data-openpopup]:hover .card--image, .content_hotel .card[data-openpopup]:focus .card--image {
  transform: scale(1.1);
}
.content_hotel .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: var(--transition);
}
.content_hotel .card--image:before, .content_hotel .card--image:after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
}
.content_hotel .card--image:before {
  height: 30%;
  top: 0;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0.265754) 71.15%, rgba(0, 0, 0, 0) 100%);
}
.content_hotel .card--image:after {
  height: 50%;
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 30.17%, rgb(0, 0, 0) 100%);
}
.content_hotel .card--content {
  padding: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  justify-content: flex-end;
  height: 100%;
}
.content_hotel .card--title {
  text-transform: uppercase;
  font-size: clamp(20px, 20px + 12 * (100vw - 1024px) / 896, 32px);
}
@media (max-width: 992px) {
  .content_hotel:not(.block_list-slider) .card--text {
    display: none;
  }
}
.content_hotel .card--labels {
  margin-bottom: auto;
  padding-right: 64px;
}

.content_advantages {
  --padding-text: clamp(0px, calc(0px + (44 - 0) * ((100vw - 768px) / (1920 - 768))), 44px);
  padding: var(--g-vertical-xl) var(--container-padding);
  background-repeat: repeat;
  background-size: cover;
  background-position: top left;
  background-image: url("../img/pattern-1.svg");
  border: 1px solid var(--border-primary-1);
  background-color: var(--surface-primary-default);
  margin: 0;
  overflow: hidden;
}
.content_advantages .block--wrapper {
  display: flex;
  flex-direction: column;
  gap: 0 16px;
  padding: 20px;
  border-radius: 20px;
  outline: 1px solid var(--border-primary-1);
  background-color: var(--surface-primary-default);
}
@media (min-width: 768px) {
  .content_advantages .block--wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "head image" "content image";
    grid-template-rows: auto 1fr;
    border-radius: 36px;
  }
}
.content_advantages .block--head {
  grid-area: head;
  padding: var(--padding-text) var(--padding-text) 0;
}
.content_advantages .block--elements {
  grid-area: content;
  padding: 0 var(--padding-text) var(--padding-text);
}
.content_advantages .block--image {
  grid-area: image;
}
.content_advantages .block--elements {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.content_advantages .block--image {
  grid-area: image;
  height: 100%;
  position: relative;
}
@media (min-width: 768px) {
  .content_advantages .block--image-sticky {
    aspect-ratio: 1/1;
    width: 100%;
    position: sticky;
    top: calc(var(--headerHeight, 76px) + 44px);
  }
}
.content_advantages .block--image .advantages--item_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.content_advantages .block--image .advantages--item_image img, .content_advantages .block--image .advantages--item_image video {
  opacity: 0;
  transition: opacity 0.41s ease-in-out;
  border-radius: 12px;
}
.content_advantages .block--image .advantages--item_image.is_active {
  display: flex;
}
.content_advantages .block--image .advantages--item_image.is_active img, .content_advantages .block--image .advantages--item_image.is_active video {
  opacity: 1;
}
.content_advantages .advantages--item {
  transition: var(--transition);
  opacity: 0.7;
  padding: 16px 0;
}
@media (min-width: 768px) {
  .content_advantages .advantages--item .advantages--item_image {
    display: none !important;
  }
}
.content_advantages .advantages--item .advantages--item_image {
  display: none;
}
.content_advantages .advantages--item:hover, .content_advantages .advantages--item:focus {
  opacity: 1;
}
.content_advantages .advantages--item:hover .advantages--item_button_text, .content_advantages .advantages--item:focus .advantages--item_button_text {
  color: var(--accent-default);
}
.content_advantages .advantages--item.is_active {
  opacity: 1;
}
.content_advantages .advantages--item.is_active .advantages--item_image {
  display: block;
  opacity: 1;
}
.content_advantages .advantages--item.is_active .advantages--item_content {
  pointer-events: auto;
  opacity: 1;
  grid-template-rows: 1fr;
}
.content_advantages .advantages--item.is_active .icon {
  opacity: 0;
}
.content_advantages .advantages--item_wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
}
.content_advantages .advantages--item_wrapper .advantages--item_icon {
  grid-column: 1;
}
.content_advantages .advantages--item_wrapper .advantages--item_button,
.content_advantages .advantages--item_wrapper .advantages--item_content {
  grid-column: 2;
}
.content_advantages .advantages--item_icon {
  margin-right: 12px;
  align-self: start;
}
@media (min-width: 1024px) {
  .content_advantages .advantages--item_icon {
    margin-right: 24px;
  }
}
.content_advantages .advantages--item_icon img {
  width: 48px;
  height: 48px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
@media (min-width: 768px) {
  .content_advantages .advantages--item_icon img {
    width: 80px;
    height: 80px;
  }
}
.content_advantages .advantages--item_image {
  opacity: 0;
}
@media (max-width: 768px) {
  .content_advantages .advantages--item_image {
    margin-bottom: 12px;
  }
}
@media (min-width: 768px) {
  .content_advantages .advantages--item_image {
    padding: 0;
  }
}
.content_advantages .advantages--item_image img, .content_advantages .advantages--item_image video {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
  transition: var(--transition);
  transition-delay: 0.21s;
}
@media (min-width: 768px) {
  .content_advantages .advantages--item_image img, .content_advantages .advantages--item_image video {
    aspect-ratio: 296/200;
  }
}
.content_advantages .advantages--item_image.is_active {
  opacity: 1;
  display: flex;
}
.content_advantages .advantages--item_image.is_active .advantages--item_button_text {
  color: var(--primary-default);
}
.content_advantages .advantages--item_button {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.content_advantages .advantages--item_button_text {
  margin: 0;
  transition: var(--transition);
  font-weight: 600;
  font-size: var(--fs-h4);
  line-height: 1.2;
  color: var(--primary-default);
}
.content_advantages .advantages--item_content {
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  padding: 0;
  color: var(--fg-soft);
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.21s ease-out;
}
.content_advantages .advantages--item_content .is_cascade {
  grid-row: 1/span 2;
  overflow: hidden;
  padding-top: 8px;
}
.content_advantages .advantages--item_content .is_cascade > *:first-child {
  margin-top: 0;
}
.content_advantages .advantages--item_content .is_cascade > *:last-child {
  padding-bottom: var(--p-card-md);
  margin-bottom: 0;
}

.content_advantages_extended {
  --padding-text: clamp(0px, calc(0px + (44 - 0) * ((100vw - 768px) / (1920 - 768))), 44px);
  padding: var(--g-vertical-xl) var(--container-padding);
  color: var(--fg-default);
  background-repeat: repeat;
  background-size: cover;
  background-position: top left;
}
.content_advantages_extended .block_list-slider--controls {
  display: none;
}
.content_advantages_extended-dark {
  background-image: url("../img/pattern-1.svg");
  border-top: 1px solid var(--border-primary-1);
  border-bottom: 1px solid var(--border-primary-1);
  background-color: #07333B;
}
.content_advantages_extended-dark .block--wrapper {
  outline: 1px solid var(--border-primary-1);
  border: 12px solid #07333B;
  background-color: #fff;
}
.content_advantages_extended-light {
  background-image: url("../img/pattern-2.svg");
  border-top: 1px solid var(--border-primary-1);
  border-bottom: 1px solid var(--border-primary-1);
  background-color: var(--surface-primary-default);
}
.content_advantages_extended-light .block--wrapper {
  outline: 1px solid var(--border-primary-1);
  border: 12px solid var(--surface-primary-default);
  background-color: #fff;
}
.content_advantages_extended .block--wrapper {
  overflow: hidden;
  padding: clamp(32px, 32px + 32 * (100vw - 768px) / 1152, 64px) clamp(16px, 16px + 48 * (100vw - 768px) / 1152, 64px);
  grid-template-areas: "heading showAll slider-controls" "actions showAll slider-controls" "filter-sections showAll slider-controls" "tabs tabs tabs" "elements elements elements       ";
  border-radius: 20px;
}
@media (min-width: 768px) {
  .content_advantages_extended .block--wrapper {
    border-radius: 36px;
  }
}
.content_advantages_extended .block--elements {
  grid-template-columns: 1fr;
}
.content_advantages_extended.block_list-slider {
  display: flex;
}
@media (min-width: 768px) {
  .content_advantages_extended.content_advantages_extended-reversed .card {
    flex-direction: row-reverse;
  }
}
.content_advantages_extended .card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  overflow: hidden;
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .content_advantages_extended .card {
    align-items: center;
    flex-direction: row;
  }
}
.content_advantages_extended .card--image {
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .content_advantages_extended .card--image {
    flex: 0 0 45%;
  }
}
.content_advantages_extended .card--image img, .content_advantages_extended .card--image video {
  border-radius: var(--border-radius-xl);
}
.content_advantages_extended .card--content {
  padding: 0 var(--padding-text);
}
@media (min-width: 768px) {
  .content_advantages_extended .card--content {
    flex: 0 0 calc(55% - 16px);
  }
}
.content_advantages_extended .is_cascade > *:first-child {
  margin-top: 0;
}
.content_advantages_extended .is_cascade > *:last-child {
  margin-bottom: 0;
}
.content_advantages_extended .content_advantages_extended--tabs {
  grid-area: tabs;
  gap: 0;
  margin-top: var(--p-card-md);
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
.content_advantages_extended .content_advantages_extended--tab {
  padding: 10px 16px;
  color: var(--primary-subdued);
  background-color: transparent;
  border-radius: 12px;
  font-size: var(--fs-button-m);
  font-weight: 500;
  cursor: pointer;
  flex-shrink: 0;
  flex-grow: 0;
  transition: var(--transition);
  text-overflow: ellipsis;
  overflow: hidden;
}
.content_advantages_extended .content_advantages_extended--tab.is_active {
  color: var(--primary-subdued);
  background-color: var(--surface-primary-subdued);
}

.content_advantages_short .block--elements {
  grid-template-columns: repeat(var(--col, 4), 1fr);
  --col: 1;
}
@media (min-width: 640px) {
  .content_advantages_short .block--elements {
    --col: 3;
  }
}
@media (min-width: 1024px) {
  .content_advantages_short .block--elements {
    --col: 4;
  }
}

.content_advantages_short .card {
  background-color: var(--surface-accent-2-default);
  border-radius: 12px;
  padding: 16px;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 8px;
}
@media (min-width: 640px) {
  .content_advantages_short .card {
    border-radius: 16px;
    gap: 40px;
    padding: 24px;
  }
}
.content_advantages_short .card--image {
  aspect-ratio: 1/1;
  width: 48px;
  background: none;
}
@media (min-width: 768px) {
  .content_advantages_short .card--image {
    width: 80px;
  }
}
.content_advantages_short .card--image img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.content_advantages_short .card--content {
  padding: 0;
  gap: 8px;
}
.content_advantages_short .card--title {
  font-size: var(--fs-h5);
  color: var(--primary-default);
}
.content_advantages_short .card--text {
  font-size: var(--fs-caption-m);
  font-weight: 400;
  color: var(--primary-subdued);
  -webkit-line-clamp: unset;
}

.content_infrastructure .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_infrastructure .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .content_infrastructure .block--elements {
    --col: 2;
  }
}

.content_infrastructure .card {
  position: relative;
  color: #fff;
  height: auto;
  border-radius: 16px;
  overflow: hidden;
}
.content_infrastructure .card[href] .card--action, .content_infrastructure .card[data-popup_cascade] .card--action {
  position: absolute;
  top: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  right: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
}
.content_infrastructure .card[href]:hover .card--image, .content_infrastructure .card[href]:focus .card--image, .content_infrastructure .card[data-popup_cascade]:hover .card--image, .content_infrastructure .card[data-popup_cascade]:focus .card--image {
  transform: scale(1.1);
}
.content_infrastructure .card--text {
  -webkit-line-clamp: 5;
  font-size: var(--fs-subtitle-m);
  margin-top: auto;
}
.content_infrastructure .card--title {
  font-size: var(--fs-h2);
}
.content_infrastructure .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: var(--transition);
}
.content_infrastructure .card--image:before, .content_infrastructure .card--image:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
}
.content_infrastructure .card--image:before {
  height: 100%;
  top: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0) 65.08%, rgba(0, 0, 0, 0.6) 80.01%, #000000 100%);
}
.content_infrastructure .card--image:after {
  height: 100%;
  bottom: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 59.89%, rgba(0, 0, 0, 0.4) 74.51%, #000000 100%);
}
.content_infrastructure .card--content {
  padding: clamp(12px, 12px + 36 * (100vw - 1024px) / 896, 48px);
  justify-content: space-between;
  height: 100%;
}
.content_infrastructure:not(.block_list-slider) .card {
  aspect-ratio: 552/414;
}
@media (min-width: 1024px) {
  .content_infrastructure.block_list-slider .block--elements {
    height: 500px;
    width: 50%;
  }
}
.content_infrastructure.block_list-slider .card {
  transform-origin: top center;
  height: 320px;
  transition: 0.3s ease-in-out;
}
@media (min-width: 1024px) {
  .content_infrastructure.block_list-slider .card {
    height: 414px;
  }
}
@media (min-width: 992px) {
  .content_infrastructure.block_list-slider .card .card--text {
    display: none;
  }
  .content_infrastructure.block_list-slider .card.swiper-slide-active .card--text {
    display: block;
  }
}

.content_404 {
  background-image: url("../img/pattern-1.svg");
  border: 1px solid var(--border-primary-1);
  background-color: var(--surface-primary-default);
  padding: clamp(100px, 100px + 87 * (100vw - 540px) / 1380, 187px) var(--container-padding);
}
.content_404 .block--wrapper {
  outline: 1px solid var(--border-primary-1);
  border: 12px solid var(--surface-primary-default);
  padding: clamp(8px, 8px + 56 * (100vw - 540px) / 1380, 64px);
  background-color: #14818D;
  display: grid;
  place-items: center;
  border-radius: 20px;
}
@media (min-width: 768px) {
  .content_404 .block--wrapper {
    border-radius: 36px;
  }
}
.content_404 .block--head {
  text-align: center;
}
.content_404 .block--head_caption p {
  color: #CCE2E6;
}
.content_404 .block--head_title h1 {
  color: #CCE2E6;
  font-size: clamp(120px, 120px + 240 * (100vw - 540px) / 1380, 360px);
  line-height: 1;
}
.content_404 .block--actions {
  margin-top: 28px;
}

.block_element.content_prices .block--wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "heading heading" "actions actions" "showAll slider-controls" "selection selection" "elements elements";
  gap: 0;
}
@media (min-width: 1024px) {
  .block_element.content_prices .block--wrapper {
    grid-template-columns: 1fr auto;
    grid-template-areas: "heading showAll" " actions showAll" "selection showAll" "elements elements";
  }
}
.block_element.content_prices .block--head {
  grid-area: heading;
}
.block_element.content_prices .block--selection {
  grid-area: selection;
  margin-bottom: 16px;
}
.block_element.content_prices .block--content {
  grid-area: elements;
  padding: 0;
  margin-top: var(--g-content-l);
}
.block_element.content_prices .block--link {
  grid-area: showAll;
  display: flex;
  align-items: flex-end;
  margin-bottom: 16px;
}

.prices {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas: "sidebar" "list" "showMore" "pagination";
  gap: 16px;
}
@media (min-width: 1024px) {
  .prices {
    grid-template-rows: masonry;
    grid-template-columns: repeat(3, 4fr);
    gap: 24px;
    grid-template-areas: "sidebar list list" "sidebar showMore pagination";
  }
}
.prices .prices--sidebar {
  grid-area: sidebar;
}
.prices .prices--list_scroller {
  grid-area: list;
}
.prices .prices--pagination {
  grid-area: pagination;
}
.prices .prices--showMore {
  grid-area: showMore;
}

.prices--pagination {
  font-size: var(--fs-button-m);
  line-height: 1;
  padding-top: 0;
}
@media (min-width: 1024px) {
  .prices--pagination {
    justify-content: flex-end;
  }
}
.prices--pagination_gap:not(:only-child),
.prices--pagination .button:not(:only-child) {
  width: 40px;
  height: 40px;
}

.prices--showMore {
  font-size: var(--fs-button-m);
  --dropdown-button-bg-color: #F3F3F4;
  --dropdown-button-bg-color-hover: #F3F3F4;
  --dropdown-list-bg-color: #F3F3F4;
  --dropdown-list-item-bgcolor-active: #FFFFFF;
  z-index: 2;
}
.prices--showMore_button {
  display: flex;
  align-items: center;
  gap: 10px;
}
.prices--showMore .dropdown--wrapper {
  min-width: 100%;
}

.prices--sidebar {
  align-self: flex-start;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  padding: 16px;
  background-color: rgb(243, 243, 244);
  border-radius: 16px;
  gap: 16px;
}
@media (min-width: 1024px) {
  .prices--sidebar {
    padding: 32px;
    gap: 32px;
  }
}
.prices--sidebar_title {
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: 1.125;
  display: flex;
  align-items: center;
  color: var(--primary-default);
}

.prices--search_title {
  font-size: var(--fs-subtitle-s);
  font-weight: 600;
  margin-bottom: 12px;
  color: #282E2D;
}

.search .form--input-search {
  background-color: #fff;
  border: 2px solid #E6E6E6;
  padding: 11px 16px;
  border-radius: 12px;
  transition: var(--transition);
  flex-direction: row;
}
.search .form--input-search .icon-search {
  font-size: 24px;
}
.search .form--input-search > input {
  padding: 0;
  line-height: 1.2;
  font-size: 16px;
  border-radius: 0;
  border: none;
  background-color: transparent;
  width: 100%;
}
.search .form--input-search > input:-moz-placeholder-shown + button {
  opacity: 0;
}
.search .form--input-search > input:placeholder-shown + button {
  opacity: 0;
}
.search .form--input-search > input:not(:-moz-placeholder-shown) + button {
  opacity: 1;
}
.search .form--input-search > input:not(:placeholder-shown) + button {
  opacity: 1;
}
.search .form--input-search > input + button {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.prices--categories_title {
  font-size: var(--fs-subtitle-s);
  font-weight: 600;
  margin-bottom: 12px;
  color: #282E2D;
}
.prices--categories_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.prices--categories_list_item {
  display: flex;
  padding: 8px 16px;
  background-color: #FFFFFF;
  border: 1px solid rgba(234, 208, 183, 0);
  border-radius: 24px;
}
.prices--categories_list_item span {
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: center;
}
.prices--categories_list_item.is_active {
  background-color: var(--accent-default);
  color: rgb(255, 255, 255);
}
.prices--categories_list_item.is_active span:after {
  font-family: "icomoon" !important;
  content: "\e909";
  font-size: 18px;
  margin-left: 4px;
}

.prices--list_scroller {
  overflow-x: auto;
}

.prices--list {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.prices--list_wrapper {
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--border-primary-1);
  border: 1px solid var(--border-primary-1);
  align-self: start;
  width: 100%;
}
.prices--list_head {
  color: #fff;
  font-weight: 600;
  border-bottom: 1px solid var(--border-primary-1);
}
.prices--list_head_name, .prices--list_head_category, .prices--list_head_price {
  background-color: var(--accent-default);
}
.prices--list_head, .prices--list_item {
  font-size: 16px;
  display: grid;
  grid-template-columns: 50% 35% 15%;
  gap: 1px;
}
.prices--list_head_name, .prices--list_head_category, .prices--list_head_price, .prices--list_item_name, .prices--list_item_category, .prices--list_item_price {
  padding: 16px 24px;
}
.prices--list_head_price, .prices--list_item_price {
  white-space: nowrap;
}
.prices--list_item:first-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.prices--list_item_name, .prices--list_item_category, .prices--list_item_price {
  background-color: #fff;
  border-radius: 2px;
}
.prices--list .search--empty {
  height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #fff;
  border-radius: 2px;
}
.prices--list .search--empty h3 {
  font-size: var(--fs-h5);
  margin-bottom: 8px;
}
.prices--list .search--empty p {
  color: var(--primary-disabled);
}

.content_loyalty {
  border: 1px solid var(--border-primary-2);
  background-color: var(--surface-primary-focus);
  color: var(--primary-default);
  background-image: url("../img/pattern-1.svg");
  padding: var(--g-vertical-l) var(--container-padding);
  background-size: cover;
  background-position: top left;
}
.content_loyalty .block--wrapper {
  padding: clamp(40px, 40px + 16 * (100vw - 540px) / 1380, 56px) clamp(16px, 16px + 60 * (100vw - 540px) / 1380, 76px);
  border: 1px solid var(--border-primary-1);
  border-radius: 16px;
  background-color: var(--surface-primary-focus);
  display: grid;
}
@media (min-width: 1024px) {
  .content_loyalty .block--wrapper {
    grid-template-columns: 1fr auto;
  }
}
.content_loyalty .block--content {
  display: grid;
  margin-top: var(--g-content-l);
  gap: 16px;
}
@media (min-width: 1024px) {
  .content_loyalty .block--content {
    grid-column: span 2;
    grid-template-columns: repeat(3, 1fr);
  }
}
.content_loyalty .block--actions {
  align-items: flex-end;
}

.loyalty--item {
  border: 1px solid var(--border-primary-2);
  background-color: var(--surface-primary-default);
  border-radius: 16px;
  padding: 20px 32px 32px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
}
.loyalty--item_image img {
  width: 207px;
  height: 137px;
  -o-object-fit: contain;
     object-fit: contain;
}
.loyalty--item_title {
  color: var(--accent-focus);
  font-size: var(--fs-h3);
  font-weight: 600;
  margin-top: 24px;
}
.loyalty--item_subtitle {
  color: var(--primary-disabled);
  font-size: var(--fs-h5);
  font-weight: 600;
}
.loyalty--item_list {
  margin-top: 16px;
}
.loyalty--item_list ul {
  list-style: none;
}
.loyalty--item_list ul li:not(:first-of-type) {
  padding-top: 28px;
  position: relative;
}
.loyalty--item_list ul li:not(:first-of-type):after {
  content: "";
  position: absolute;
  left: 50%;
  top: 10px;
  transform: translateX(-50%);
  height: 8px;
  width: 8px;
  border-radius: 50%;
  display: block;
  background-color: var(--accent-focus);
}

.loyalty_banner {
  padding: 0;
  overflow: hidden;
}
.loyalty_banner .block--wrapper {
  padding: 0;
}
.loyalty_banner--banner {
  height: 80vh;
  padding: 0 var(--container-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
}
.loyalty_banner .block--actions {
  justify-content: center;
}
.loyalty_banner .block--content {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: var(--surface-primary-default);
  z-index: 1;
}
.loyalty_banner .block--content img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.loyalty_banner .block--head {
  padding: var(--g-vertical-l) 0;
  z-index: 2;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.loyalty_banner .block--head .f-h2 {
  text-transform: uppercase;
  font-size: var(--fs-display-m);
}
.loyalty_banner .block--head_caption {
  font-size: var(--fs-subtitle-l);
  max-width: 500px;
  color: var(--primary-default);
}
.loyalty_banner .block--head_image {
  max-height: 60%;
  position: relative;
}
.loyalty_banner .block--head_image_shadow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 143%;
  height: 143%;
  display: flex;
  align-items: flex-start;
  z-index: 1;
}
.loyalty_banner .block--head_image_shadow img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.loyalty_banner .block--head_image_main {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-start;
}
.loyalty_banner .block--head_image_main img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.loyalty_banner.-mode-dark .block--content {
  background-color: #0D545F;
}
.loyalty_banner.-mode-dark .block--head_caption {
  max-width: 700px;
}
.loyalty_banner.-mode-dark .block--head_image_shadow {
  width: 150%;
  height: 150%;
}

.content_actual .block--wrapper {
  display: grid;
  gap: 16px;
}
@media (min-width: 1024px) {
  .content_actual .block--wrapper {
    grid-template-columns: 1fr 1fr;
  }
}
.content_actual .content_cards {
  display: grid;
  gap: 16px;
}
@media (min-width: 1024px) {
  .content_actual .content_cards {
    grid-template-columns: 1fr 1fr;
  }
}
.content_actual .content_cards .card {
  aspect-ratio: unset;
  height: 180px;
}
@media (min-width: 1024px) {
  .content_actual .content_cards .card {
    height: 320px;
  }
}
@media (min-width: 1024px) {
  .content_actual .content_cards .card:first-child {
    grid-column: span 2;
  }
}
.content_actual .content_cards .card--title {
  font-size: var(--fs-h3);
}

.content_media_short {
  background-color: var(--surface-accent-2-default);
  border-radius: var(--border-radius-sm);
  padding: clamp(16px, 16px + 16 * (100vw - 540px) / 1380, 32px);
}
.content_media_short .block--wrapper {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.content_media_short .block--elements {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.content_media_short .card {
  display: grid;
  padding: 4px;
  height: auto;
  grid-template-columns: 72px 1fr;
  gap: 8px;
}
@media (min-width: 1024px) {
  .content_media_short .card {
    gap: 12px;
    grid-template-columns: 128px 1fr;
  }
}
.content_media_short .card--image {
  border-radius: 8px;
}
@media (min-width: 1024px) {
  .content_media_short .card--image {
    border-radius: 12px;
  }
}
.content_media_short .card--label {
  font-size: var(--fs-tag-s);
  line-height: 1;
  padding: 6px 8px;
  letter-spacing: -0.01em;
}
.content_media_short .card--label.-basic {
  background-color: #fff;
  color: #191A1A;
}
.content_media_short .card--title {
  font-size: var(--fs-h6);
  line-height: 1.2;
}
.content_media_short .card--text {
  -webkit-line-clamp: 2;
  color: #464849;
  font-size: var(--fs-caption-xs);
}
@media (max-width: 1024px) {
  .content_media_short .card--text {
    display: none;
  }
}
.content_media_short .block--link {
  margin-top: auto;
}

.block_element.content_program .block--wrapper {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "heading heading" "actions actions" "showAll slider-controls" "selection selection" "elements elements";
  gap: 0;
}
@media (min-width: 1024px) {
  .block_element.content_program .block--wrapper {
    grid-template-columns: 1fr auto;
    grid-template-areas: "heading showAll" " actions showAll" "selection showAll" "elements elements";
  }
}
.block_element.content_program .block--head {
  grid-area: heading;
}
.block_element.content_program .block--selection {
  grid-area: selection;
}
.block_element.content_program .block--content {
  grid-area: elements;
  padding: 0;
  margin-top: var(--g-content-l);
}
.block_element.content_program .block--link {
  grid-area: showAll;
  display: flex;
  align-items: flex-end;
}

.program--table {
  width: 100%;
  overflow: hidden;
  border-radius: 36px;
  outline: 1px solid var(--border-primary-1);
}
@media (max-width: 992px) {
  .program--table {
    overflow-x: auto;
    border-radius: 12px;
  }
}
.program table {
  border-collapse: collapse;
}
.program thead {
  background-color: var(--accent-default);
  color: #fff;
  font-weight: 600;
}
.program thead th {
  outline-color: var(--border-primary-1);
}
.program td,
.program th {
  text-align: center;
  padding: 16px 24px;
  outline: 1px solid var(--border-primary-1);
}
.program .table-subhead {
  background-color: var(--surface-accent-2-default);
  text-align: center;
}
.program tbody td:first-child:not(.table-subhead) {
  text-align: left;
}

.program--button {
  margin-top: var(--g-content-l);
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 3;
  position: relative;
}

.program.js-showMore {
  position: relative;
}
.program.js-showMore .program--table {
  max-height: 624px;
  position: relative;
  z-index: 1;
}
.program.js-showMore:after {
  content: "";
  display: block;
  width: 100%;
  height: 60%;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 1;
  z-index: 2;
  background: linear-gradient(to top, #fff 72px, rgba(255, 255, 255, 0) 100%);
  transition: var(--transition);
}
.program.js-showMore.is_open .program--table {
  max-height: unset;
}
.program.js-showMore.is_open:after {
  opacity: 0;
}

.content_gallery {
  overflow: hidden;
}
.content_gallery .gallery,
.content_gallery .block--elements {
  --col: 1;
}
@media (min-width: 640px) {
  .content_gallery .gallery,
  .content_gallery .block--elements {
    --col: 2;
  }
}
@media (min-width: 1024px) {
  .content_gallery .gallery,
  .content_gallery .block--elements {
    --col: 2;
  }
}
.content_gallery.block_element .block--wrapper {
  display: flex;
  flex-direction: column;
}

.content_gallery .card {
  position: relative;
  aspect-ratio: 692/462;
  height: auto;
  border-radius: 16px;
  overflow: hidden;
}
.content_gallery .card[href]:hover .card--image img, .content_gallery .card[href]:focus .card--image img, .content_gallery .card[data-popup_cascade]:hover .card--image img, .content_gallery .card[data-popup_cascade]:focus .card--image img, .content_gallery .card[data-openpopup]:hover .card--image img, .content_gallery .card[data-openpopup]:focus .card--image img {
  transform: scale(1.1);
}
.content_gallery .card[href] .card--image img, .content_gallery .card[data-popup_cascade] .card--image img, .content_gallery .card[data-openpopup] .card--image img {
  transition: var(--transition);
  transform: scale(1);
}
.content_gallery .card[href] .card--image:before, .content_gallery .card[data-popup_cascade] .card--image:before, .content_gallery .card[data-openpopup] .card--image:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  opacity: 50%;
  z-index: 3;
  height: 50%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.224897) 30.17%, rgba(0, 0, 0, 0.5) 100%);
}
.content_gallery .card--image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transition: var(--transition);
}
.content_gallery .card--title {
  font-size: var(--fs-h3);
  color: #fff;
}
.content_gallery .card--content {
  padding: clamp(12px, 12px + 20 * (100vw - 1024px) / 896, 32px);
  justify-content: flex-end;
  height: 100%;
}
.content_gallery.block_list-slider .card {
  aspect-ratio: 338/507;
}
.content_gallery.block_list-slider.content_gallery-column-1 .card {
  aspect-ratio: 1400/600;
}
.content_gallery.block_list-slider.content_gallery-column-2 .card {
  aspect-ratio: 692/462;
}

.gallery {
  width: 100%;
}
.gallery:not(.js-gallerySwiper) {
  gap: 16px;
  display: grid;
}
@media (min-width: 992px) {
  .gallery:not(.js-gallerySwiper) {
    grid-template-columns: repeat(4, 1fr);
  }
  .gallery:not(.js-gallerySwiper).content_gallery-column-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .gallery:not(.js-gallerySwiper).content_gallery-column-1 {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 992px) {
  .gallery.content_gallery-column-2 .gallery--item {
    aspect-ratio: 692/462;
  }
  .gallery.content_gallery-column-1 .gallery--item {
    aspect-ratio: 1400/600;
  }
}

.is_cascade .gallery .slider_controls {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 24px;
  z-index: 5;
}
.is_cascade .gallery .slider_controls .swiper-button-prev,
.is_cascade .gallery .slider_controls .swiper-button-next,
.is_cascade .gallery .slider_controls .swiper_pagination {
  background-color: rgba(255, 255, 255, 0.05);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
.is_cascade .gallery .slider_controls .swiper_pagination {
  height: 48px;
  padding: 16px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 68px;
}

.gallery--item {
  height: auto;
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  flex-shrink: 0;
  aspect-ratio: 320/213;
}
@media (min-width: 992px) {
  .gallery--item {
    aspect-ratio: 338/507;
  }
}
.gallery--item img {
  display: inherit;
  max-width: 100% !important;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.block_element.content_gallery .block--wrapper {
  gap: 0;
}
.block_element.content_gallery .gallery .slider_controls {
  position: absolute;
  bottom: 100%;
  right: 0;
}
.block_element.content_gallery .block--content {
  padding-top: var(--g-content-l);
  position: relative;
  padding-right: 0;
}
.block_element.content_gallery .swiper_pagination {
  display: none;
}
.block_element.content_gallery .block--head_title {
  text-transform: uppercase;
}

.surroundings .block--content {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 336/640;
  margin-top: 40px;
  position: relative;
}
@media (min-width: 1024px) {
  .surroundings .block--content {
    border-radius: 36px;
    aspect-ratio: 1400/720;
  }
}
.surroundings #map_surroundings {
  width: 100%;
  height: 100%;
}

.surrounding--placemark {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.16)) drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.04));
  cursor: pointer;
  transition: var(--transition);
  scale: 1;
  transform-origin: center bottom;
  transform-box: fill-box;
}
.surrounding--placemark .text {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 600;
  color: var(--primary-subdued);
  font-size: var(--fs-h3);
  z-index: 2;
  width: 100%;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
}
.surrounding--placemark:hover, .surrounding--placemark:focus {
  scale: 1.3;
}

.surroundings.surroundings-network {
  width: 100%;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 1/1;
  max-width: 100vw;
}
@media (min-width: 1024px) {
  .surroundings.surroundings-network {
    aspect-ratio: 1920/920;
  }
}
.surroundings.surroundings-network .block--content {
  margin: 0;
  aspect-ratio: 1/1;
}
@media (min-width: 1024px) {
  .surroundings.surroundings-network .block--content {
    aspect-ratio: 1920/920;
  }
}
.surroundings.surroundings-network .block--wrapper {
  padding: 0;
  position: relative;
}
.surroundings.surroundings-network .surroundings--selection {
  position: absolute;
  z-index: 3;
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
}
@media (min-width: 1024px) {
  .surroundings.surroundings-network .surroundings--selection {
    aspect-ratio: 1920/920;
  }
}
.surroundings.surroundings-network .surroundings--selection .block--head {
  margin: 0 auto;
  text-align: center;
  color: #fff;
  position: absolute;
  top: var(--g-vertical-l);
  z-index: 2;
}
.surroundings.surroundings-network .surroundings--selection .block--head .block--head_caption {
  color: rgba(255, 255, 255, 0.7);
}
.surroundings.surroundings-network .surroundings--selection .block--head .block--head_title {
  color: #fff;
  text-transform: uppercase;
}
.surroundings.surroundings-network .surroundings--selection_scheme {
  width: 100%;
  height: 100%;
}
@media (max-width: 1024px) {
  .surroundings.surroundings-network .surroundings--selection_scheme {
    overflow-x: auto;
  }
}
.surroundings.surroundings-network .surroundings--selection_scheme svg {
  height: 100%;
}

.surroundings--selection_scheme-text {
  font-family: "OverusedGrotesk";
  font-size: 20px;
  font-weight: 500;
  fill: #FFFFFF;
}

.surroundings--selection_scheme-pin {
  cursor: pointer;
  transition: var(--transition);
  scale: 1;
  transform-origin: center bottom;
  transform-box: fill-box;
}
.surroundings--selection_scheme-pin:hover, .surroundings--selection_scheme-pin:focus {
  scale: 1.3;
}

.surroundings--selection.is_hidden,
.block--content.is_hidden {
  pointer-events: none;
  opacity: 0;
  z-index: -1;
}

.js-resetMap {
  position: absolute;
  top: var(--g-content-l);
  left: var(--g-content-l);
  background-color: rgb(243, 243, 244);
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.12);
  padding: 12px 16px;
  border-radius: 12px;
}

.parallax {
  width: 100vw;
  max-width: 100vw;
  position: relative;
  overflow: hidden;
  height: calc(70vh - var(--headerHeight));
}
@media (max-width: 1024px) {
  .parallax {
    padding-top: var(--headerHeight);
  }
}
@media (min-width: 1024px) {
  .parallax {
    height: 100vh;
    padding: 10vh var(--g-content-l);
  }
}
.parallax--title {
  width: 100%;
  text-align: center;
  transition: var(--transition);
  z-index: 2;
  position: relative;
}
.parallax--title h2 {
  display: inline-block;
  white-space: nowrap;
  background: linear-gradient(180deg, #C8DFE8 43.89%, rgba(200, 223, 232, 0) 100.06%), linear-gradient(0deg, rgba(255, 255, 255, 0.31), rgba(255, 255, 255, 0.31));
  font-weight: 600;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
  text-align: center;
  font-size: var(--titleSize, 10vw);
  line-height: 1;
}
.parallax--image-front {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: grid;
  place-items: center;
  transform-origin: center;
}
.parallax--image-front img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform-origin: center;
}
.parallax--image-back {
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: deepskyblue;
  transform-origin: center;
}
.parallax--image-back img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.parallax--button {
  z-index: 4;
  position: relative;
}

.parallax-2 {
  overflow: hidden;
  width: 100vw;
  position: relative;
  padding: 0;
  height: 60vh;
  min-height: 500px;
}
@media (min-width: 1024px) {
  .parallax-2 {
    height: 100vh;
  }
}
.parallax-2--item {
  position: relative;
  padding: calc(var(--g-vertical-l) + var(--headerHeight)) var(--container-padding);
  flex-shrink: 0;
  flex-grow: 0;
  width: 100%;
  overflow: hidden;
  height: 60vh;
  min-height: 500px;
}
@media (min-width: 1024px) {
  .parallax-2--item {
    height: 100vh;
  }
}
.parallax-2--item:not(.swiper-slide-active) {
  opacity: 0;
  pointer-events: none;
}
.parallax-2--item.swiper-slide-active .parallax-2--item_front {
  transform: translateY(0) scale(1.1);
}
.parallax-2--item:after {
  content: "";
  position: absolute;
  background: linear-gradient(180deg, #000000 0%, rgba(0, 0, 0, 0.639608) 65.03%, rgba(0, 0, 0, 0) 100%);
  height: 60%;
  top: 0;
  width: 100%;
  left: 0;
  display: block;
  z-index: 3;
  opacity: 0.2;
}
.parallax-2--item_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
.parallax-2--item_front {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 3;
  transform: translateY(80px) scale(1);
  transition: var(--transition);
}
.parallax-2--item_bg img, .parallax-2--item_front img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.parallax-2--item .block--head {
  position: relative;
  z-index: 4;
}
@media (min-width: 1024px) {
  .parallax-2--item .block--head {
    width: 45%;
  }
}
.parallax-2--item .block--head:after {
  content: "";
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  border-radius: 100%;
  opacity: 0.4;
  position: absolute;
}
.parallax-2--item .block--head .button_wrapper {
  margin-top: 24px;
}
.parallax-2--item .block--head_title {
  font-size: var(--fs-display-l);
  color: #fff;
  text-transform: uppercase;
  display: flex;
  gap: 1em;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
}
.parallax-2--item .block--head_title:before {
  content: attr(data-prev);
  position: absolute;
  top: 0;
  right: 100%;
  margin: 0 1em;
  -webkit-mask-image: linear-gradient(to left, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 65%);
          mask-image: linear-gradient(to left, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 65%);
  opacity: 0.6;
}
.parallax-2--item .block--head_title:after {
  content: attr(data-next);
  position: absolute;
  top: 0;
  left: 100%;
  margin: 0 1em;
  -webkit-mask-image: linear-gradient(to right, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 65%);
          mask-image: linear-gradient(to right, rgb(0, 0, 0) 5%, rgba(0, 0, 0, 0) 65%);
  opacity: 0.6;
}
.parallax-2--item .block--head_caption {
  font-weight: 500;
  font-size: var(--fs-subtitle-l);
  color: #fff;
}
.parallax-2--item .block--head_subtitle {
  font-weight: 600;
  font-size: var(--fs-h3);
  color: #fff;
  letter-spacing: 0;
}
.parallax-2 .swiper-button-next,
.parallax-2 .swiper-button-prev {
  background: var(--surface-accent-3-default);
  color: #fff;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
}
.parallax-2 .slider_controls {
  z-index: 6;
  position: absolute;
  width: -moz-fit-content;
  width: fit-content;
  right: var(--container-padding);
}
@media (max-width: 1023px) {
  .parallax-2 .slider_controls {
    bottom: var(--g-vertical-l);
  }
}
@media (min-width: 1024px) {
  .parallax-2 .slider_controls {
    top: calc(var(--g-vertical-l) + var(--headerHeight));
  }
}

.video_banner {
  width: 100vw;
  padding: 0;
  overflow: hidden;
  background-color: rgb(7, 46, 54);
  height: 70vh;
  min-height: 540px;
}
@media (min-width: 1024px) {
  .video_banner {
    height: 100vh;
  }
}
.video_banner .block--wrapper {
  position: relative;
  padding: 0;
}
.video_banner .block--head {
  height: 100%;
  width: 100%;
  overflow: hidden;
  z-index: 4;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: calc(var(--headerHeight, 86px) + 32px + 16px + 48px) 0 48px;
  justify-content: center;
  align-items: center;
}
.video_banner .block--head_subtitle {
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: var(--fs-display-m);
}
.video_banner .block--head_title {
  height: -moz-fit-content;
  height: fit-content;
  -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 5%, rgb(0, 0, 0) 40%, rgb(0, 0, 0) 60%, rgba(0, 0, 0, 0) 95%);
          mask-image: linear-gradient(to right, rgba(0, 0, 0, 0) 5%, rgb(0, 0, 0) 40%, rgb(0, 0, 0) 60%, rgba(0, 0, 0, 0) 95%);
}
.video_banner .block--head_title_slide {
  color: #fff;
  text-transform: uppercase;
  font-weight: 600;
  font-size: clamp(56px, 56px + 144 * (100vw - 540px) / 1380, 200px);
  line-height: 1;
  cursor: pointer;
}
.video_banner .block--head_title_slide:not(.swiper-slide-active) {
  opacity: 0.8;
}
.video_banner .block--head_caption {
  margin-top: auto;
  color: #fff;
  font-size: var(--fs-subtitle-xl);
  max-width: 760px;
}
.video_banner .button_wrapper {
  margin-top: 24px;
  justify-content: center;
}
.video_banner .block--content {
  position: relative;
}
.video_banner .block--content:after, .video_banner .block--content:before {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
  z-index: 3;
}
.video_banner .block--content:after {
  height: 40%;
  top: 0;
  background: linear-gradient(to bottom, #000000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.6;
}
.video_banner .block--content:before {
  height: 50%;
  bottom: 0;
  background: linear-gradient(to top, #000000 0%, rgba(0, 0, 0, 0) 100%);
  opacity: 0.5;
}

.video_banner_item {
  position: relative;
  width: 100vw;
  height: 70vh;
  flex-shrink: 0;
  flex-grow: 0;
  min-height: 540px;
}
@media (min-width: 1024px) {
  .video_banner_item {
    height: 100vh;
  }
}
.video_banner_item--poster {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  opacity: 1;
  transition: var(--transition);
}
.video_banner_item--poster.not_visible {
  opacity: 0;
}
.video_banner_item--video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.scheme {
  position: relative;
  max-width: 1920px;
  margin: 0 auto;
}
.scheme--controls {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  padding: var(--g-vertical-m) 16px 16px var(--g-vertical-m);
  display: flex;
  align-items: center;
  gap: 8px;
}
.scheme--svg {
  position: relative;
  z-index: 2;
}
@media (max-width: 992px) {
  .scheme--svg {
    overflow-x: auto;
    max-width: 100vw;
    overflow-y: clip;
    height: 90vh;
  }
}
.scheme--svg svg {
  position: relative;
  z-index: 2;
}
@media (max-width: 992px) {
  .scheme--svg svg {
    aspect-ratio: 1920/960;
    height: 100%;
  }
}
.scheme--svg svg image {
  width: 100%;
  height: 100%;
}
.scheme #night {
  opacity: 0;
}
.scheme.is_night #day {
  opacity: 0;
}
.scheme.is_night #night {
  opacity: 1;
}
.scheme--theme {
  transition: var(--transition);
  opacity: 1;
}
.scheme--item {
  opacity: 0;
  transition: var(--transition);
}
.scheme--item.is_active {
  opacity: 1;
}
.scheme--placemark {
  cursor: pointer;
  --radius: 10;
  transition: var(--transition);
}
.scheme--placemark.is_active, .scheme--placemark:hover, .scheme--placemark:focus {
  --radius: 12;
}
.scheme--tooltip {
  opacity: 0;
  border-radius: 6px;
  z-index: 3;
  background-color: #fff;
  padding: 6px 20px;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  transition: var(--transition);
  font-weight: 500;
  font-size: 20px;
  pointer-events: none;
  transform: translateX(0);
  top: 0;
  white-space: nowrap;
}
.scheme--tooltip.-left {
  left: 100%;
  transform: translateX(calc(-100% - 20px));
}
.scheme--tooltip.-left.is_visible {
  transform: translateX(calc(-100% - 28px));
}
.scheme--tooltip.-right {
  transform: translateX(20px);
  right: 100%;
}
.scheme--tooltip.-right.is_visible {
  transform: translateX(28px);
}
.scheme--tooltip:after {
  content: "";
  width: 4px;
  height: 6px;
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg width='4' height='6' viewBox='0 0 4 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3L4 0V6L0 3Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  position: absolute;
  top: calc(50% - 3px);
}
.scheme--tooltip.-right:after {
  right: 100%;
}
.scheme--tooltip.-left:after {
  left: 100%;
  transform: rotate(180deg);
}
.scheme--tooltip.is_visible {
  opacity: 1;
}
.scheme--legend, .scheme--theme {
  display: flex;
  align-items: center;
}

.is_hidden {
  display: none;
}

.is_visually-hidden {
  opacity: 0;
  pointer-events: none;
}

.legend {
  position: relative;
}
@media (max-width: 1024px) {
  .legend {
    display: none;
  }
}
.legend:hover .legend--wrapper, .legend.is_active .legend--wrapper {
  opacity: 1;
  pointer-events: all;
}
.legend--button {
  background-color: #fff;
  padding: 8px 16px;
  height: 42px;
  display: flex;
  align-items: center;
  gap: 4px;
  border-radius: 12px;
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  cursor: pointer;
}
.legend--wrapper {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 100%;
  min-width: 100%;
  padding-top: 12px;
}
.legend--list {
  padding: 8px;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
.legend--item {
  padding: 12px;
  border-radius: 8px;
  width: 100%;
  white-space: nowrap;
  cursor: pointer;
  transition: var(--transition);
}
.legend--item:hover, .legend--item.is_active {
  background-color: var(--surface-accent-2-default);
  color: var(--accent-default);
}

.theme_toggle {
  --bg-color: #fff;
  --toggle-bg-color: var(--border-accent-1-5);
  transition: var(--transition);
  cursor: pointer;
  height: 42px;
}
.theme_toggle.is_toggled_on {
  --bg-color: var(--border-accent-1-5);
  --toggle-bg-color: #fff;
}
.theme_toggle.is_toggled_on .theme_toggle--check_item {
  transform: translateX(46px);
}
.theme_toggle.is_toggled_on .moon {
  opacity: 1;
  transform: translateX(0);
}
.theme_toggle.is_toggled_on .sun {
  opacity: 0;
  transform: translateX(46px);
}
.theme_toggle--bg {
  transition: var(--transition);
  color: var(--bg-color);
}
.theme_toggle--check_item {
  transition: var(--transition);
  color: var(--toggle-bg-color);
}
.theme_toggle .moon {
  transition: var(--transition);
  opacity: 0;
  transform: translateX(-46px);
}
.theme_toggle .sun {
  transition: var(--transition);
  opacity: 1;
}






/* Start:/local/templates/main/template_styles.css?176648853415115*/
.page_action_panel {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  background: rgba(255, 255, 255, 0.6);
  padding: 8px 16px;
  box-sizing: border-box;
  box-shadow: 0 0 5px darkgrey;
}
.page_action_panel .page_action_panel--item:not(:last-of-type) {
  margin-right: 8px;
}
.page_action_panel .page_action_panel--item a {
  color: black;
  white-space: nowrap;
}
.page_action_panel .page_action_panel--item a:hover {
  opacity: 0.5;
}


.nav--item a span {
  flex-grow: 1;
}



@media(max-width: 1024px) {
  .block--filter .button[data-openpopup="popup_for_filters"] {
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 8px 16px 0 #00000014;
    background-color: #F3F3F4;
    padding: 12px 16px;
    --button-padding: 10px 12px;
    --button-fs: 16px;
    --line-height: 20px;
    --only-icon: -2px;
  }
}
@media(min-width: 1024px) {
  .block--filter .button[data-openpopup="popup_for_filters"] {
    display: none;
  }
}

@media (max-width: 1024px) {
  .block_list.block_list-filter_sidebar .block--filter {
    position: static;
  }}

.block--filter .button[data-openpopup="popup_for_filters"] .icon-ic24-slider:before {
  content: "\e90f"
}

.search--empty {
  height: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #fff;
  border-radius: 2px;
}
.search--empty h3 {
  font-size: var(--fs-h5);
  margin-bottom: 8px;
}
.search--empty p {
  color: var(--primary-disabled);
}
.banner--video {
  position: absolute;
  left: 0;
  top: 0;
}

.content_advantages .block--link {
  display: none;
}


@media(max-width: 768px) {
  .block_banner-index .block--head_caption {
    width: 100%
  }
}

.footer_infopanel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: var(--surface-primary-focus);
  border-top: 1px solid var(--border-primary-1);
  color: #fff;
  padding: 24px var(--container-padding);
  flex-wrap: wrap;
  gap: 32px
}
.footer_infopanel--links {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
}
@media(max-width: 768px) {
  .footer_infopanel {
    padding-bottom: 84px
  }
}
.header_mobile .button span:not([class]) {
  padding: 0
}
.header_mobile--button .button {
  gap: 4px
}
@media(max-width: 768px) {
  .content_advantages_extended .card {
    height: auto;
  }
  .content_advantages_extended .content_advantages_extended--tab {
    max-width: 100%;
  }
}

@media(min-width:1024px) {
  .block_list-slider.content_infrastructure .block--elements{
    height: 500px
  }
}
.content_scheme {
  padding: 0
}
.popup-filters .popup--content{
  padding: 0
}
@media(max-width: 768px) {
  .filter {
    gap: 12px
  }
}
.form--policy:empty {
  display: none;
}
.program--table table {
  width: 100%
}
.parallax-2--item .button_wrapper {
  margin-bottom: 16px
}
.banner .video--play {
  z-index: 10;
}

.loyalty_banner {
  overflow: hidden
}
.slider_controls {
  pointer-events: none;
}
.slider_controls >  * {
  pointer-events: all
}

@media(max-width:992px) {
  .video_banner .block--head {
    pointer-events: none;
  }
  .video_banner .block--head button,
  .video_banner .block--head a
  {
    pointer-events: all;
  }
  .video_banner_item:not(.swiper-slide-active) {
    pointer-events: none;
  }
}
.video_banner_item--poster.not_visible {
  pointer-events: none;
}
.video_banner .block--content::before,
.video_banner .block--content::after {
  pointer-events: none;
}
@media(max-width:1024px) {
  .surroundings--selection_scheme {
    overflow: hidden !important;
  }
}
.is_slider_image:not(.swiper-slide-active) {
  pointer-events: none;
}
.popup-cascade--wrapper {
  padding-right: 44px
}

.content_infrastructure .card--title {
  padding-right: 54px
}
@media(max-width:1024px) {
  .booking--guests_wrapper{
    position: fixed;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    z-index: 10;

  }
  .booking--guests_wrapper .booking--guests_items{
    max-height: 80vh;
  }
  .booking--guests_close{
    top: 50%;
    left: 50%;
    translate: -50% -50%;
  }
  .booking--guests_wrapper.is_active{
    pointer-events: all;
    opacity: 1;
  }
}
.booking--guests_wrapper.is_active {
  opacity: 1;
  pointer-events: all;
}
input[data-booking-dates]::placeholder{
  color: rgb(25, 26, 26);
}
.is_cascade a:not(.button){
  color:var(--accent-subdued);
}

.accommodation--equipment li [class^=icon-]{
  color: var(--surface-accent-3-hover);
  font-size: var(--fs-h2);
}
.accommodation--equipment h3{
  display: none;
}
.accommodation--description_wrapper{
  max-height: 155px;
}
.accommodation--description ul{
  gap: 6px 28px;
}
.accommodation--description ul li {
  font-size: var(--fs-tag-l);
}
.accommodation--description:after{
  height: 100%;
  background: linear-gradient(to top, #F3F3F4 30%, rgba(243, 243, 244, 0) 100%);
}
.accommodation--description ul li:before{
  margin-right: 4px;
  color: #0A2C33 ;
}
.popup-menu .block--actions{
  padding: 20px 12px;
  --surface-accent-2-default: rgba(255, 255, 255, 0.85);
}
.header .block--actions{
  flex-wrap: nowrap;
  gap: 4px;
}
.header .block--actions .button{
  display: flex;
  background-color: var(--dropdown-button-bg-color);
  -webkit-backdrop-filter: blur(24px);
  backdrop-filter: blur(24px);
  color: currentColor;
  border-radius: 12px;
  transition: var(--transition);
  font-size: var(--fs-button-m);

}
.header .block--actions .button:hover{
  color: var(--primary-hover);
  background-color: var(--dropdown-button-bg-color-hover);
}

/*price start*/

@media (min-width: 1024px) {
  .content-price .block--wrapper {
    display: grid;
    grid-template-columns: calc(var(--column) * 9 + 128px) 1fr auto;
    grid-template-areas:
    "heading showAll slider-controls"
    " actions showAll slider-controls"
    "selection showAll slider-controls"
    "elements elements elements";
    gap: 16px;
  }
  .content-price .block--link {
    grid-area: showAll;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
  }
  .content-price .block--selection {
    grid-area: selection;
  }
  .content-price .block--content{
    grid-area: elements ;
  }
}
@media (max-width: 1023px) {
  .content-price .block--wrapper{
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .content-price .block--link .button{
    width: 100%;
  }
}
.prices{
  --accent-default: #1F5D64;
  --dropdown-list-bg-color: #F3F3F4;
  --dropdown-button-bg-color: #F3F3F4;
  --surface-accent-2-default: #F3F3F4;
  position: relative;
}
.prices--categories_list{
  overflow: auto;
  max-height: 420px;
}
.prices--filter_buttons{
  display: flex;
  gap: 16px;
}
.dropdown--button span:last-child:after {
  font-family: "icomoon" !important;
  content: "\e90c";
  transform: scaleY(1);
  transition: var(--transition);
  transform-origin: center;
  font-size: 1em;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  margin-left: 4px;
}
[data-popup="popup_for_filters-price"] .popup--content{
  background: var(--surface-primary-subdued);
  padding: 24px;
}
[data-popup="popup_for_filters-price"]  .popup--close{
  width: initial;
  height: initial;
}
[data-popup="popup_for_filters-price"] .popup--filters{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.prices--categories_list{
  padding-right: 16px;
}
.dropdown--button.is_active ~ .dropdown--wrapper{
  opacity: 1;
  pointer-events: auto;
}
.dropdown--button.is_active ~ .dropdown--wrapper{
  opacity: 1;
  pointer-events: auto;
}
.dropdown--button.is_active:not(:only-child) span:last-child:after  {
  transform: scaleY(-1);
}
.prices .dropdown--list a{
  justify-content: center;
}
@media (max-width: 1023px) {
  .prices--top{
    display: flex;
    justify-content: space-between;
  }
  .prices--categories_list{
    overflow: auto;
    max-height: 200px;
  }
  .dropdown--wrapper{
    min-width: 100%;
  }
}
@media (max-width: 768px) {
  .prices--list_scroller{
    margin: 0 -12px;
    padding: 0 12px;
  }
  .prices--list_head_name{
    white-space: nowrap;
  }
  .prices--list_wrapper, .prices--list_head, .prices--list{
    min-width: min-content;
  }
  .prices--list_head, .prices--list_item{
    min-width: 650px;
  }
  .prices--list_item_price{
    display: flex;
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .prices {
    grid-template-rows: 1fr auto;
  }
}

.prices--list_wrapper{
  position: relative;
}
.loader:after {
  content: '';
  position: absolute;
  inset: 0;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 8px solid var(--accent-default);
  animation:
          l20-1 0.8s infinite linear alternate,
          l20-2 1.6s infinite linear;
}
.loader:before{
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, .3);
}
@keyframes l20-1{
  0%    {clip-path: polygon(50% 50%,0       0,  50%   0%,  50%    0%, 50%    0%, 50%    0%, 50%    0% )}
  12.5% {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100%   0%, 100%   0%, 100%   0% )}
  25%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 100% 100%, 100% 100% )}
  50%   {clip-path: polygon(50% 50%,0       0,  50%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
  62.5% {clip-path: polygon(50% 50%,100%    0, 100%   0%,  100%   0%, 100% 100%, 50%  100%, 0%   100% )}
  75%   {clip-path: polygon(50% 50%,100% 100%, 100% 100%,  100% 100%, 100% 100%, 50%  100%, 0%   100% )}
  100%  {clip-path: polygon(50% 50%,50%  100%,  50% 100%,   50% 100%,  50% 100%, 50%  100%, 0%   100% )}
}
@keyframes l20-2{
  0%    {transform:scaleY(1)  rotate(0deg)}
  49.99%{transform:scaleY(1)  rotate(135deg)}
  50%   {transform:scaleY(-1) rotate(0deg)}
  100%  {transform:scaleY(-1) rotate(-135deg)}
}
/*price end*/

.block_banner .block--head_caption{
  font-weight: 400;
}
.block_banner .block--content:after{
  height: 63%;
  opacity: 0.8;
}

/*search_page start*/
.search_page{
  display: flex;
  flex-direction: column;
  background: #F3F3F4;
  border-radius: 36px;
  padding: var(--g-vertical-m);
}
.search_page form{
  width: 100%;
  display: flex;
  gap: 4px;
}
.search_page form .wrapper{
  padding: 14px 12px;
  border-radius: var(--border-radius-sm);
  width: 100%;
  max-width: 640px;
  border: 1px solid #C6EBF5;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
}
.search_page form  [type="reset"]{

}
.search_page form [type="search"]{
  width: 100%;
}
.search_page .found{
  display: flex;
  flex-direction: column;
  gap: var(--fs-caption-l);
  margin-top: var(--g-vertical-m);
}
.search_page .found a{
  background-color: #fff;
  padding: var(--p-card-l);
  border-radius: var(--border-radius-sm);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.search_page .found a h3{
  font-size: var(--fs-h4);
}
.search_page .found a span{
  font-size: var(--fs-body-l);
  color: #464849;
}
@media (max-width: 374px) {
  .search_page form{
    flex-direction: column;
  }
  .search_page form  button[type="submit"]{
    width: 100%;
  }
}
@media (max-width: 768px) {
  .dropdown--wrapper{
    z-index: 5;
  }
  .dropdown--list a{
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 4px;
    border-radius: 8px;
    transition: var(--transition);
    width: 100%;
    background-color: transparent;
    font-size: var(--fs-button-m);}

}

/*search_page end*/

.video_banner .block--head_title_slide,
.video_banner .block--head_subtitle{
  font-family: "Ramillas", sans-serif;
}

@media (max-width: 992px) {
  .block_banner.block_banner-hero:not(.block_banner-index) .banner {
    padding: 0;
    padding-bottom: 32px;
  }
}




.popup-cookies {
  background-color: transparent;
  place-items: end center;
  padding: 16px 16px 68px;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
@media (min-width: 1024px) {
  .popup-cookies {
    padding: 16px 16px 40px;
  }
}
.popup-cookies.is_active {
  pointer-events: none;
}
.popup-cookies.is_active .popup--content {
  pointer-events: auto;
}
.popup-cookies .popup--content {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.06), 0 0 4px 0 rgba(0, 0, 0, 0.04);
  display: flex;
  gap: 8px;
  padding: 12px;
  align-items: center;
  max-width: 540px;
}


.popup-cookies .popup--content_text {
  flex-grow: 1;
  display: flex;
  align-items: center;
  font-size: var(--fs-button-s);
  padding-left: 8px;
}
.popup-cookies .popup--content_text a {
  color: var(--accent-default);
}
@media (max-width: 992px) {
  .popup-cookies .popup--content_text {
    font-size: var(--fs-button-s);
  }
}
.popup-cookies .popup--content_buttons {
  display: flex;
  gap: 8px;
}
.popup-cookies .popup--content{
  max-width: fit-content;
}
.popup-cookies .popup--content_wrapper{
  display: flex;
  gap: 23px;
  align-items: center;
}
.popup-cookies .button_wrapper{
  flex-wrap: nowrap;
}
.popup-cookies .button_wrapper .button{
  padding: 10px;
  font-size: var(--fs-button-s)
}
.popup.is_processing {
  position: fixed;
}

.popup.is_processing .popup--content{
  opacity: 0;
}
.wstd-widget {
  position: fixed;
  bottom: calc(90px + 64px);
  right: 90px;
  z-index: 100;
  padding: 7px;
  opacity: 0;
  pointer-events: none;
}
.wstd-widget  a{
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  background: radial-gradient( 136.12% 140.74% at 99.77% 99.04%, #8d28c8 0%, #7c42fa 20%, #007aff 80%, #609ceb 100% );
}
@media(max-width: 1024px) {
  .wstd-widget{
    right: 10px;
  }
}
.wstd-widget.is_active {
  opacity: 1;
  pointer-events: auto;
}
.popup-cookies[data-popup="popup_for_cookie_extended"] .popup--content{
  max-width: 600px
}
.popup-cookies[data-popup="popup_for_cookie_extended"] .popup--content_wrapper{
  flex-direction: column;
}
.popup-cookies[data-popup="popup_for_cookie_extended"] .popup--content_wrapper a{
  text-decoration: underline;
  text-decoration-skip-ink: none;
}
.popup-cookies {
  place-items: end start;
}

.header--actions_mobile_contact {
  display: flex;
a {
  display: flex;
  align-items: center;
  gap: 4px;
}
.icon-phone {
  font-size: 20px;
}
}
@media(min-width: 1024px) {
  .header--actions_mobile_contact {
    display: none;
  }
}
/* End */
/* /local/templates/main/template_styles.css?176648853415115 */




.button { color: #FFFFFF; background: #189DAA; border-color: #189DAA; padding: 8px 23px 8px 23px; font-size: 17px; border-radius: 5px; }
.button:hover,.button:active,.button:focus { color: #FFFFFF; background-color: #0D545F; border-color: #0D545F; padding: 8px 23px 8px 23px; font-size: 17px; border-radius: 5px; }


