:root {
  --font-family: "Georgia", sans-serif;
  --second-family: "Oranienbaum", sans-serif;
  --third-family: "Golos Text", sans-serif;
  --font3: "Open Sans", sans-serif;
  --font4: "Geologica", sans-serif;
  --font5: "DIN Condensed", sans-serif;
  --font6: "Inter", sans-serif;
  --font7: "Montserrat", sans-serif;
  --font8: "Copyright Klim Type Foundry", sans-serif;
  --font9: "Golos", sans-serif;
  --font10: "PT Sans", sans-serif;

  /*Sage family (зелёно-серые)*/
  --sage-gray: #acb1a7;
  --pale-sage: #b6bab1;
  --moss-stone: #a4aaa0;
  --pale-olive: #cccbb3;
  --light-khaki: #d2d1bc;
  --sage-beige: #c2c2ac;

  /*Blue family (голубые)*/
  --misty-blue: #aebfc7;
  --powder-blue: #b9c8cf;
  --dusty-blue: #a5b6be;

  /*Cream family (кремово-песочные)*/
  --cream-peach: #feeed7;
  --vanilla-cream: #fff1dd;
  --soft-sand: #f0e2cd;

  /* Ice / Sky family (ледяные / небесные) */
  --ice-blue: #e3f2f8;
  --frost-white: #e8f4fa;
  --sky-tint: #e4f3f9;
  --mist-gray: #d8e6eb;
  --glacier-blue: #e7f4f9;

  /* Cream / Lemon family (кремовые / лимонные) */
  --lemon-cream: #fef9da;
  --vanilla-mist: #fffadb;
  --warm-ivory: #fffbe0;
  --sand-cream: #f0ecd0;

  /* Sage Tint family (светлые зелёно-серые) */
  --pale-sage-tint: #e8ead7;
  --soft-moss: #ebecdb;
  --dusty-olive: #dbdecc;

  /* Lime / Mint family (лаймовые / мятные) */
  --lime-whisper: #f9ffe3;
  --lime-mist: #faffe7;
  --pale-lime: #ebf1d7;

  /* Sage Tint family (светлые серо-зелёные) */
  --soft-sage: #dde6d6;
  --pale-sage: #dee7d7;
  --light-moss: #e2eadc;
  --dusty-sage: #d2dbcc;

  /* Cream family (кремовые) */
  --cream-ivory: #fffadf;

  /* Lavender family (лавандовые) */
  --soft-lavender: #eedefa;
  --dusty-lavender: #e1d3ec;

  /* Lime / Mint family (лаймовые / мятные) */
  --lime-whisper: #f8fee2;
  --lime-mist: #f9ffe3;
  --lime-breeze: #faffe7;
  --pale-lime: #ebf1d7;

  /* Sage Tint family (светлые серо-зелёные) */
  --soft-sage: #dde6d6;
  --pale-sage: #dee7d7;
  --light-moss: #e2eadc;

  /* Sky family (небесные) */
  --sky-tint: #dbf1ff;
  --dusty-sky: #cfe4f0;

  /* Mint Gray family (мятно-серые) */
  --mint-gray: #e6f1ed;
  --dusty-mint: #d9e4e0;

  /* Lime / Mint family (лаймовые / мятные) */
  --lime-mist: #f9ffe3;
  --pale-lime: #ebf1d7;

  /* Sky family (небесные) */
  --sky-tint: #dbf1ff;
  --dusty-sky: #cfe4f0;
  --mist-blue: #d7dfe7;
  --steel-mist: #ccd4db;
}

* {
  box-sizing: border-box;
}

*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: var(--lemon-cream);
}

*::-webkit-scrollbar-button {
  display: none;
}

*::-webkit-scrollbar-track {
  background-color: var(--lemon-cream);
}

*::-webkit-scrollbar-track-piece {
  background-color: var(--lemon-cream);
}

*::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background-color: var(--ice-blue);
}

*::-webkit-scrollbar-thumb:hover {
  background-color: var(--steel-mist);
}

* {
  scrollbar-width: thin;
  scrollbar-color: var(--ice-blue) var(--lemon-cream);
}

html {
  font-size: calc(100vw / 192);
}

html._gutter {
  scrollbar-gutter: stable;
}

body {
  position: relative;
  font-family: var(--font-family);
  font-size: 1.4rem;
  font-weight: normal;
  overflow-x: hidden;
}

body:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

body._overlay:before {
  opacity: 1;
  pointer-events: all;
}

body._lock {
  overflow-y: hidden;
}

main {
  width: 100%;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5 {
  margin: 0;
}

a,
button,
p,
ul {
  margin: 0;
  padding: 0;
  text-decoration: none;
  border: none;
  list-style: none;
  background: transparent;
}

button {
  cursor: pointer;
}

.container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 2rem;
  width: 100%;
  max-width: 100%;
}

.container > * {
  position: relative;
}

.row {
  padding: 0;
  width: 100%;
  max-width: 144rem;
}

.container-bgd {
  position: relative;
}

/* Sage family (зелёно-серые) */
._sage-gray:before {
  background: var(--sage-gray);
}

._pale-sage:before {
  background: var(--pale-sage);
}

._moss-stone:before {
  background: var(--moss-stone);
}

._pale-olive:before {
  background: var(--pale-olive);
}

._light-khaki:before {
  background: var(--light-khaki);
}

._sage-beige:before {
  background: var(--sage-beige);
}

/* Blue family (голубые) */
._misty-blue:before {
  background: var(--misty-blue);
}

._powder-blue:before {
  background: var(--powder-blue);
}

._dusty-blue:before {
  background: var(--dusty-blue);
}

/* Cream family (кремово-песочные) */
._cream-peach:before {
  background: var(--cream-peach);
}

._vanilla-cream:before {
  background: var(--vanilla-cream);
}

._soft-sand:before {
  background: var(--soft-sand);
}

/* Ice / Sky family (ледяные / небесные) */
._ice-blue:before {
  background: var(--ice-blue);
}

._frost-white:before {
  background: var(--frost-white);
}

._sky-tint:before {
  background: var(--sky-tint);
}

._mist-gray:before {
  background: var(--mist-gray);
}

._glacier-blue:before {
  background: var(--glacier-blue);
}

/* Cream / Lemon family (кремовые / лимонные) */
._lemon-cream:before {
  background: var(--lemon-cream);
}

._vanilla-mist:before {
  background: var(--vanilla-mist);
}

._warm-ivory:before {
  background: var(--warm-ivory);
}

._sand-cream:before {
  background: var(--sand-cream);
}

/* Sage Tint family (светлые зелёно-серые) */
._pale-sage-tint:before {
  background: var(--pale-sage-tint);
}

._soft-moss:before {
  background: var(--soft-moss);
}

._dusty-olive:before {
  background: var(--dusty-olive);
}

/* Lime / Mint family (лаймовые / мятные) */
._lime-whisper:before {
  background: var(--lime-whisper);
}

._lime-mist:before {
  background: var(--lime-mist);
}

._pale-lime:before {
  background: var(--pale-lime);
}

/* Sage Tint family (светлые серо-зелёные) */
._soft-sage:before {
  background: var(--soft-sage);
}

._pale-sage:before {
  background: var(--pale-sage);
}

._light-moss:before {
  background: var(--light-moss);
}

._dusty-sage:before {
  background: var(--dusty-sage);
}

/* Cream family (кремовые) */
._cream-ivory:before {
  background: var(--cream-ivory);
}

/* Lavender family (лавандовые) */
._soft-lavender:before {
  background: var(--soft-lavender);
}

._dusty-lavender:before {
  background: var(--dusty-lavender);
}

/* Lime / Mint family (лаймовые / мятные) */
._lime-whisper:before {
  background: var(--lime-whisper);
}

._lime-mist:before {
  background: var(--lime-mist);
}

._lime-breeze:before {
  background: var(--lime-breeze);
}

._pale-lime:before {
  background: var(--pale-lime);
}

/* Sage Tint family (светлые серо-зелёные) */
._soft-sage:before {
  background: var(--soft-sage);
}

._pale-sage:before {
  background: var(--pale-sage);
}

._light-moss:before {
  background: var(--light-moss);
}

/* Sky family (небесные) */
._sky-tint:before {
  background: var(--sky-tint);
}

._dusty-sky:before {
  background: var(--dusty-sky);
}

/* Mint Gray family (мятно-серые) */
._mint-gray:before {
  background: var(--mint-gray);
}

._dusty-mint:before {
  background: var(--dusty-mint);
}

/* Lime / Mint family (лаймовые / мятные) */
._lime-mist:before {
  background: var(--lime-mist);
}

._pale-lime:before {
  background: var(--pale-lime);
}

/* Sky family (небесные) */
._sky-tint:before {
  background: var(--sky-tint);
}

._dusty-sky:before {
  background: var(--dusty-sky);
}

._mist-blue:before {
  background: var(--mist-blue);
}

._steel-mist:before {
  background: var(--steel-mist);
}

.container-bgd:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 100vw;
  height: 100%;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  transform: translateX(-50%);
}

._right-decor {
  position: absolute;
  right: 0;
  top: 5%;
  display: block;
  width: 12.8rem;
  height: 50.8rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-decor-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

._left-decor {
  position: absolute;
  left: 0;
  top: 14%;
  display: block;
  width: 12.8rem;
  height: 50.8rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-decor-2.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}

._smoke-decor-1:before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  display: block;
  width: 105rem;
  height: 87rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-smoke-1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, 0);
  pointer-events: none;
}

._smoke-decor-2:before {
  content: "";
  position: absolute;
  left: 54%;
  bottom: 0;
  display: block;
  width: 120rem;
  height: 52rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-smoke-2.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, 0);
  pointer-events: none;
}

._smoke-decor-3:before {
  content: "";
  position: absolute;
  left: 52%;
  bottom: 0;
  display: block;
  width: 113rem;
  height: 70rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-smoke-3.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, 0);
  pointer-events: none;
}

._smoke-decor-4:before {
  content: "";
  position: absolute;
  left: 52%;
  bottom: 0;
  display: block;
  width: 111rem;
  height: 49rem;
  background-color: transparent;
  background-image: url("../image/tourism/tourism-smoke-4.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translate(-50%, 0);
  pointer-events: none;
}

.resorts-page ._smoke-decor-1:before {
  left: 53%;
  width: 113rem;
  height: 98rem;
  background-image: url("../image/resorts/resorts-smoke-1.png");
}

.resorts-page ._smoke-decor-2:before {
  left: 52%;
  background-image: url("../image/resorts/resorts-smoke-2.png");
}

.resorts-page ._smoke-decor-3:before {
  left: 53%;
  width: 118rem;
  height: 78rem;
  background-image: url("../image/resorts/resorts-smoke-3.png");
}

.resorts-page ._smoke-decor-4:before {
  width: 111rem;
  height: 83rem;
  background-image: url("../image/resorts/resorts-smoke-4.png");
}

.centers-page ._smoke-decor-1:before {
  left: 53%;
  width: 113rem;
  height: 77rem;
  background-image: url("../image/centers/centers-smoke-1.png");
}

.centers-page ._smoke-decor-2:before {
  left: 52%;
  height: 70rem;
  background-image: url("../image/centers/centers-smoke-2.png");
}

.centers-page ._smoke-decor-3:before {
  left: 52%;
  width: 111rem;
  height: 45rem;
  background-image: url("../image/centers/centers-smoke-3.png");
}

.centers-page ._smoke-decor-4:before {
  width: 111rem;
  height: 85rem;
  background-image: url("../image/centers/centers-smoke-4.png");
}

.hotels-page ._smoke-decor-1:before {
  left: 52%;
  bottom: auto;
  top: auto;
  width: 117rem;
  height: 111rem;
  background-image: url("../image/hotels/hotels-smoke-1.png");
}

.hotels-page ._smoke-decor-2:before {
  left: 52%;
  bottom: -23rem;
  width: 111rem;
  height: 96rem;
  background-image: url("../image/hotels/hotels-smoke-2.png");
}

.hotels-page ._smoke-decor-3:before {
  height: 80rem;
  background-image: url("../image/hotels/hotels-smoke-3.png");
}

.hotels-page ._smoke-decor-4:before {
  height: 64rem;
  background-image: url("../image/hotels/hotels-smoke-4.png");
}

._river-bgd:before {
  background-image: url("../image/tourism/tourism-river-seppia.png");
}

._forest-bgd:before {
  background-image: url("../image/tourism/tourism-forest.png");
}

._beach-bgd:before {
  background-image: url("../image/tourism/tourism-beach-seppia.png");
}

._home-bgd:before {
  background-image: url("../image/tourism/tourism-home-seppia.png");
}

._manzherok-bgd:before {
  background-image: url("../image/resorts/resorts-manzherok-seppia.png");
}

._arkhyz-bgd:before {
  background-image: url("../image/resorts/resorts-arkhyz-seppia.png");
}

._cluster-bgd:before {
  background-image: url("../image/resorts/resorts-cluster-seppia.png");
}

._coin-bgd:before {
  background-image: url("../image/resorts/resorts-coin-seppia.png");
}

._sochi-bgd:before {
  background-image: url("../image/centers/centers-sochi-seppia.png");
}

._patriot-bgd:before {
  background-image: url("../image/centers/centers-patriot-seppia.png");
}

._aquapark-bgd:before {
  background-image: url("../image/centers/centers-aquapark-seppia.png");
}

._yaroslavich-bgd:before {
  background-image: url("../image/centers/centers-yaroslavich-seppia.png");
}

._kamelia-bgd:before {
  background-image: url("../image/hotels/hotels-kamelia-seppia.png");
}

._miner-bgd:before {
  background-image: url("../image/hotels/hotels-miner-seppia.png");
}

._domkovka-bgd:before {
  background-image: url("../image/hotels/hotels-domkovka-seppia.png");
}

._kabardinka-bgd:before {
  background-image: url("../image/hotels/hotels-kabardinka-seppia.png");
}

._gaspra-bgd::before {
  background-image: url("../image/projects/projects-gaspra-seppia.png");
}

._racetrack-bgd::before {
  background-image: url("../image/projects/projects-racetrack-seppia.png");
}

._castle-bgd::before {
  background-image: url("../image/projects/projects-castle-seppia.png");
}

._bannoye-bgd::before {
  background-image: url("../image/projects/projects-bannoye-seppia.png");
}

/*header*/
header {
  position: relative;
  z-index: 5;
  width: 100%;
}

.header-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.header {
  display: flex;
  align-items: center;
  gap: 2.3rem;
  padding: 2.3rem 2.7rem 2.3rem 1.8rem;
}

.header-logo {
  display: flex;
  align-items: center;
  max-width: 32.8rem;
  width: 100%;
}

.header-text .header-logo {
  max-width: 45.6rem;
}

.header-logo-color {
  display: none;
}

.header-logo-white {
  display: none;
}

.header-logo-text {
  display: none;
}

.header-color .header-logo-color {
  display: block;
  max-width: 100%;
}

.header-white .header-logo-white {
  display: block;
  max-width: 100%;
}

.header-text .header-logo-text {
  display: block;
  max-width: 100%;
}

.header-control {
  display: flex;
  align-items: center;
  gap: 1.3rem;
  margin-right: auto;
}

.header-button {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1.3rem 2.6rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.4rem;
  text-align: center;
  text-transform: uppercase;
  color: #000;
  border: 1px solid #000;
  border-radius: 9.9rem;
  transition:
    color 0.3s,
    border 0.3s,
    background-color 0.3s;
}

.header-color .header-button {
  background: #ebeae8;
}

.header-button._lilac {
  background: #707bd5;
}

.header-button._red {
  background: #be6878;
}

.header-button._green {
  background: #678e67;
}

.header-button._grey {
  background: #b4975a;
}

.header-button._violet {
  background: #896e9b;
}

.header-button:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 9.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.header-white .header-button {
  color: #fff;
  border-color: #fff;
}

.header-text .header-button {
  background: #ebeae8;
}

.header-button:hover:before,
.header-button:focus:before,
.header-button:active:before {
  opacity: 1;
}

.header-control-button-map {
  display: block;
  width: 1.5rem;
  height: 1.6rem;
  stroke: #000;
  transition: stroke 0.3s;
}

.header-white .header-control-button-map {
  stroke: #fff;
}

/*.header-button:hover .header-control-button-map,*/
/*.header-button:focus .header-control-button-map,*/
/*.header-button:active .header-control-button-map {*/
/*    stroke: #d61336;*/
/*}*/

.header-control-button-about {
  width: 1.7rem;
  height: 1.6rem;
  fill: #000;
  transition: fill 0.3s;
}

.header-white .header-control-button-about {
  fill: #fff;
}

/*.header-button:hover .header-control-button-about,*/
/*.header-button:focus .header-control-button-about,*/
/*.header-button:active .header-control-button-about {*/
/*    fill: #d61336;*/
/*}*/

.header-contacts {
  display: flex;
  align-items: center;
  gap: 3.1rem;
}

.header-contacts-phone {
  font-family: var(--font3);
  font-weight: 300;
  font-size: 1.4rem;
  text-align: center;
  color: #000;
  transition: color 0.3s;
}

.header-text .header-contacts-phone {
  display: none;
}

.header-white .header-contacts-phone {
  color: #fff;
}

.header-contacts-phone:hover,
.header-contacts-phone:focus,
.header-contacts-phone:active {
  color: #d61336;
}

.header-contacts-callback {
  padding: 1.3rem 2.1rem;
}

.header-burger {
  display: none;
}

/*header fixed*/
.header-fixed-wrapper {
  position: fixed;
  top: 0;
  left: -110%;
  z-index: 15;
  padding-bottom: 4rem;
  width: 100%;
  max-width: 79.8rem;
  height: 100%;
  overflow-y: auto;
  background: #fff;
  transition: left 0.6s;
}

.header-fixed-wrapper._open {
  left: 0;
}

.header-fixed {
  width: 100%;
  height: max-content;
}

.header-fixed-header {
  display: flex;
  align-items: center;
  padding: 2.2rem 2.8rem 2.6rem 1.8rem;
  width: 100%;
  background-color: #d61436;
}

.header-fixed-logo {
  width: 100%;
  max-width: 45.6rem;
}

.header-fixed-logo img {
  display: block;
  width: 100%;
}

.header-fixed-socials {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin: 0 2.6rem 0 auto;
}

.header-fixed-social {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  transition: transform 0.3s;
}

.header-fixed-social:hover,
.header-fixed-social:focus,
.header-fixed-social:active {
  transform: scale(1.2);
}

.header-fixed-social svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #fff;
}

.header-fixed-close {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  transition: transform 0.3s;
}

.header-fixed-close:hover,
.header-fixed-close:focus,
.header-fixed-close:active {
  transform: scale(1.2);
}

.header-fixed-close svg {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  stroke: #fff;
}

.header-fixed-center {
  padding-top: 3.6rem;
  padding-bottom: 7rem;
}

.header-fixed-nav {
  width: 100%;
}

.header-fixed-nav > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.3rem;
  width: 100%;
}

.header-fixed-nav > ul > li {
  position: relative;
  padding: 1.4rem 2rem 1.4rem 6.7rem;
  width: 100%;
  transition: background-color 0.3s;
}

.header-fixed-nav > ul > li:hover {
  background: rgba(162, 162, 186, 0.1);
}

.header-fixed-nav > ul > li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 0.5rem;
  height: 100%;
  background-color: #d61436;
  opacity: 0;
  transition: opacity 0.3s;
}

.header-fixed-nav > ul > li:hover:before {
  opacity: 1;
}

.header-fixed-nav > ul > li > a {
  display: block;
  max-width: 100%;
  width: max-content;
  font-family: var(--font5);
  font-weight: 700;
  font-size: 4.4rem;
  letter-spacing: -0.01em;
  color: #3e3d41;
  transition: color 0.3s;
}

.header-fixed-nav > ul > li > a:hover,
.header-fixed-nav > ul > li > a:focus,
.header-fixed-nav > ul > li > a:active {
  color: #d61436;
}

.header-fixed-submenu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.header-fixed-submenu-item {
  position: relative;
  width: auto;
}

.header-fixed-submenu-item:not(:last-child) {
  padding-right: 1.9rem;
}

.header-fixed-submenu-item:not(:last-child):before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  display: block;
  width: 0.3rem;
  height: 0.3rem;
  background-color: #3e3d41;
  border-radius: 50%;
  transform: translateY(-50%);
}

.header-fixed-submenu-link {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.9rem;
  letter-spacing: -0.01em;
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-decoration-style: dotted;
  text-underline-offset: 0.4rem;
  color: #3e3d41;
  line-height: 1.5;
  transition: color 0.3s;
}

.header-fixed-submenu-link:hover,
.header-fixed-submenu-link:focus,
.header-fixed-submenu-link:active {
  color: #d61436;
}

.header-fixed-bottom {
  display: none;
}

.header-fixed-info {
  padding: 2rem 1rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.9rem;
  letter-spacing: -0.01em;
  color: #3e3d41;
  line-height: 1.5;
  text-align: center;
}

.ysc__text {
  padding: 2rem 1rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: -0.01em;
  color: #3e3d41;
  line-height: 1.5;
  text-align: center;
}

.ysc__text a {
    font-family: var(--font-family);
    font-weight: 400;
    letter-spacing: -0.01em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-decoration-style: dotted;
    text-underline-offset: 0.4rem;
    color: #3e3d41;
    line-height: 1.5;
    transition: color 0.3s;
}

.ysc__text a:hover, 
.ysc__text a:focus, 
.ysc__text a:active {
    color: #d61436;
}


.header-fixed-politic {
    text-align: center;
}

.header-fixed-politic a {
    font-family: var(--font-family);
    font-weight: 400;
    font-size: 1.9rem;
    letter-spacing: -0.01em;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-decoration-style: dotted;
    text-underline-offset: 0.4rem;
    color: #3e3d41;
    line-height: 1.5;
    transition: color 0.3s;
}

.header-fixed-politic a:hover, 
.header-fixed-politic a:focus, 
.header-fixed-politic a:active {
    color: #d61436;
}

/*home*/
.home-container {
  padding: 0;
  background: #ebeae8;
  background-image: url("../image/home/home-net.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.home {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
}

.home-map {
  position: relative;
  margin: 0 auto;
  max-width: 113.7rem;
  width: 100%;
}

.home-map-image {
  margin-left: 1.2rem;
  width: 100%;
}

.home-map-image img {
  display: block;
  width: 100%;
}

.home-map-actions {
  width: 100%;
}

.home-map-action {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.7rem 1.6rem 1rem;
  width: max-content;
  max-width: 100%;
  height: 4.3rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 100%;
  text-align: center;
  color: #fff;
  border: 0.2rem solid #ebeae8;
  border-radius: 3.5rem;
  transition: border 0.3s;
}

.home-map-action-icon {
  width: 0.9rem;
  height: 1.7rem;
  stroke: #fff;
}

.home-map-action-1 {
  top: 16.1rem;
  left: 4rem;
  background: #b4975a;
}

.home-map-action-1:hover,
.home-map-action-1:focus,
.home-map-action-1:active {
  border-color: #b4975a;
}

.home-map-action-2 {
  top: 12.5rem;
  left: 43.5rem;
  background: #707bd5;
}

.home-map-action-2:hover,
.home-map-action-2:focus,
.home-map-action-2:active {
  border-color: #707bd5;
}

.home-map-action-3 {
  top: 22rem;
  right: 18.5rem;
  background: #be6878;
}

.home-map-action-3:hover,
.home-map-action-3:focus,
.home-map-action-3:active {
  border-color: #be6878;
}

.home-map-action-4 {
  top: 30rem;
  left: 24.4rem;
  background: #678e67;
}

.home-map-action-4:hover,
.home-map-action-4:focus,
.home-map-action-4:active {
  border-color: #678e67;
}

.home-map-action-5 {
  top: 38.7rem;
  right: 8rem;
  background: #896e9b;
}

.home-map-action-5:hover,
.home-map-action-5:focus,
.home-map-action-5:active {
  border-color: #896e9b;
}

.home-content {
  margin-top: -1.5rem;
  width: 100%;
}

.home-content-title {
  margin-bottom: 1rem;
  font-family: var(--font5);
  font-weight: 700;
  font-size: 8.5rem;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #3e3d41;
  text-align: center;
}

.home-content-desc {
  margin: 0 auto 1.2rem auto;
  max-width: 59.9rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 100%;
  text-align: center;
  color: #3e3d41;
}

.home-content-info {
  margin-bottom: 2rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 146%;
  letter-spacing: -0.01em;
  color: #3e3d41;
  text-align: center;
}

.home-content-more {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin: 0 auto;
  padding: 1.5rem 3.4rem 1.7rem;
  width: 31.6rem;
  height: 6rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 150%;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  background: #d61336;
  border-radius: 1434rem;
  border: 0.1rem solid #d61336;
  transition:
    color 0.3s,
    background-color 0.3s;
  cursor: pointer;
}

.home-content-more:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 1434rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.home-content-more:hover:before,
.home-content-more:focus:before,
.home-content-more:active:before {
  opacity: 1;
}

.home-content-more svg {
  display: block;
  width: 2.2rem;
  height: 2.1rem;
  fill: #fff;
  transition: fill 0.3s;
}

/*.home-content-more:hover svg,*/
/*.home-content-more:focus svg,*/
/*.home-content-more:active svg {*/
/*    fill: #d61336;*/
/*}*/

/*home slider*/
.home-slider-container {
  position: relative;
  padding: 0;
}

.home-slider-back {
  position: absolute;
  top: 12rem;
  left: 3.2rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 0.7rem 1.6rem 1rem;
  width: 17.3rem;
  height: 4.3rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 100%;
  text-align: center;
  color: #fff;
  white-space: nowrap;
  border-radius: 3.5rem;
  border: 0.1rem solid;
  transition:
    color 0.3s,
    background-color 0.3s;
}

.home-slider-back span {
  transform: translateY(0.2rem);
}

.home-slider-back-icon {
  display: block;
  width: 0.9rem;
  height: 1.7rem;
  stroke: #fff;
  transition: stroke 0.3s;
}

.home-slide-lilac .home-slider-back {
  background: #404788;
  border-color: #404788;
}

.home-slide-lilac .home-slider-back:hover,
.home-slide-lilac .home-slider-back:focus,
.home-slide-lilac .home-slider-back:active {
  color: #404788;
  background-color: #fff;
}

.home-slide-lilac .home-slider-back:hover .home-slider-back-icon,
.home-slide-lilac .home-slider-back:focus .home-slider-back-icon,
.home-slide-lilac .home-slider-back:active .home-slider-back-icon {
  stroke: #404788;
}

.home-slide-red .home-slider-back {
  background: #985360;
  border-color: #985360;
}

.home-slide-red .home-slider-back:hover,
.home-slide-red .home-slider-back:focus,
.home-slide-red .home-slider-back:active {
  color: #985360;
  background-color: #fff;
}

.home-slide-red .home-slider-back:hover .home-slider-back-icon,
.home-slide-red .home-slider-back:focus .home-slider-back-icon,
.home-slide-red .home-slider-back:active .home-slider-back-icon {
  stroke: #985360;
}

.home-slide-green .home-slider-back {
  background: #527252;
  border-color: #527252;
}

.home-slide-green .home-slider-back:hover,
.home-slide-green .home-slider-back:focus,
.home-slide-green .home-slider-back:active {
  color: #527252;
  background-color: #fff;
}

.home-slide-green .home-slider-back:hover .home-slider-back-icon,
.home-slide-green .home-slider-back:focus .home-slider-back-icon,
.home-slide-green .home-slider-back:active .home-slider-back-icon {
  stroke: #527252;
}

.home-slide-grey .home-slider-back {
  background: #907948;
  border-color: #907948;
}

.home-slide-grey .home-slider-back:hover,
.home-slide-grey .home-slider-back:focus,
.home-slide-grey .home-slider-back:active {
  color: #907948;
  background-color: #fff;
}

.home-slide-grey .home-slider-back:hover .home-slider-back-icon,
.home-slide-grey .home-slider-back:focus .home-slider-back-icon,
.home-slide-grey .home-slider-back:active .home-slider-back-icon {
  stroke: #907948;
}

.home-slide-violet .home-slider-back {
  background: #6e587c;
  border-color: #6e587c;
}

.home-slide-violet .home-slider-back:hover,
.home-slide-violet .home-slider-back:focus,
.home-slide-violet .home-slider-back:active {
  color: #6e587c;
  background-color: #fff;
}

.home-slide-violet .home-slider-back:hover .home-slider-back-icon,
.home-slide-violet .home-slider-back:focus .home-slider-back-icon,
.home-slide-violet .home-slider-back:active .home-slider-back-icon {
  stroke: #6e587c;
}

.home-slider-control {
  position: absolute;
  top: 44%;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 3rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.home-slider-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #151515;
  transition: background-color 0.3s;
  pointer-events: all;
}

.home-slider-navigation:hover,
.home-slider-navigation:focus,
.home-slider-navigation:active {
  background-color: #d61336;
}

.home-slider-navigation svg {
  display: block;
  width: 0.9rem;
  height: 1.7rem;
}

.home-slider {
  width: 100%;
  overflow: hidden;
}

.home-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-image: url("../image/home/net-bgd.png");
  background-position: center -7rem;
  background-size: cover;
  background-repeat: no-repeat;
}

.home-slide-row {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  height: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.home-slide-lilac {
  background-color: #707bd5;
}

.home-slide-lilac .home-slide-row {
  /* background-image: url("../image/home/lilac-net.png"); */
}

.home-slide-red {
  background-color: #be6878;
}

.home-slide-red .home-slide-row {
  /* background-image: url("../image/home/red-net.png"); */
}

.home-slide-green {
  background-color: #678e67;
}

.home-slide-green .home-slide-row {
  /* background-image: url("../image/home/green-net.png"); */
}

.home-slide-grey {
  background-color: #b4975a;
}

.home-slide-grey .home-slide-row {
  /* background-image: url("../image/home/grey-net.png"); */
}

.home-slide-violet {
  background-color: #896e9b;
}

.home-slide-violet .home-slide-row {
  /* background-image: url("../image/home/violet-net.png"); */
}

.home-slide-map {
  position: relative;
  margin: 0 auto;
  max-width: 113.7rem;
}

.home-slide-map-image {
  margin-left: 1.5rem;
  width: 100%;
}

.home-slide-map-image img {
  display: block;
  width: 100%;
}

.home-slide-map-pin {
  position: absolute;
  z-index: 1;
}

.home-slide-map-pin._active {
  z-index: 2;
}

.home-slide-lilac .home-slide-map-pin-1 {
  top: 13.9rem;
  left: 9rem;
}

.home-slide-lilac .home-slide-map-pin-2 {
  top: 8.2rem;
  left: 11.4rem;
}

.home-slide-lilac .home-slide-map-pin-3 {
  top: 37.6rem;
  left: 55.4rem;
}

.home-slide-lilac .home-slide-map-pin-4 {
  top: 42.3rem;
  right: 18rem;
}

.home-slide-red .home-slide-map-pin-1 {
  top: 15rem;
  left: 11rem;
}

.home-slide-red .home-slide-map-pin-2 {
  top: 17rem;
  left: 13.5rem;
}

.home-slide-red .home-slide-map-pin-3 {
  top: 37rem;
  left: 47rem;
}

.home-slide-red .home-slide-map-pin-4 {
  top: 31rem;
  left: 56.5rem;
}

.home-slide-green .home-slide-map-pin-1 {
  top: 13.5rem;
  left: 11rem;
}

.home-slide-green .home-slide-map-pin-2 {
  top: 10.3rem;
  left: 22.3rem;
}

.home-slide-green .home-slide-map-pin-3 {
  top: 12rem;
  left: 29rem;
}

.home-slide-green .home-slide-map-pin-4 {
  top: 19rem;
  left: 25.5rem;
}

.home-slide-grey .home-slide-map-pin-1 {
  top: 12.5rem;
  left: 11.5rem;
}

.home-slide-grey .home-slide-map-pin-2 {
  top: 11.1rem;
  left: 25.7rem;
}

.home-slide-grey .home-slide-map-pin-3 {
  top: 9rem;
  left: 43.7rem;
}

.home-slide-grey .home-slide-map-pin-4 {
  top: 14.7rem;
  left: 24.4rem;
}

.home-slide-violet .home-slide-map-pin-1 {
  top: 12.5rem;
  left: 15.3rem;
}

.home-slide-violet .home-slide-map-pin-2 {
  top: 12.5rem;
  left: 25.3rem;
}

.home-slide-violet .home-slide-map-pin-3 {
  top: 16rem;
  left: 27rem;
}

.home-slide-violet .home-slide-map-pin-4 {
  top: 49rem;
  right: 35.8rem;
}

.map-pin-card-wrapper {
  position: relative;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.map-pin-card-wrapper._open {
  opacity: 1;
  pointer-events: all;
}

.map-pin-card {
  position: absolute;
  top: 50%;
  left: -1500%;
  display: flex;
  align-items: center;
  border-radius: 2.5rem;
  width: 45.6rem;
  height: 22.5rem;
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
  transform: translateY(-55%);
}

.map-pin-card-image {
  flex-shrink: 0;
  width: 20rem;
  height: 22.5rem;
  border-radius: 2.5rem 0 0 2.5rem;
  overflow: hidden;
}

.map-pin-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-slide-map-pin-button {
  width: 3.3rem;
  height: 4.5rem;
}

.home-slide-lilac .map-pin-card {
  background-color: #404788;
}

.home-slide-red .map-pin-card {
  background-color: #9e4959;
}

.home-slide-green .map-pin-card {
  background-color: #427042;
}

.home-slide-grey .map-pin-card {
  background-color: #977c42;
}

.home-slide-violet .map-pin-card {
  background-color: #7f4f9f;
}

.map-pin-card-content {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.6rem 1.8rem 2rem 1.8rem;
  height: 100%;
}

.map-pin-card-content:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -7.3rem;
  display: block;
  width: 7.4rem;
  height: 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  transform: translateY(-50%);
}

.home-slide-map-pin-mobile {
  display: none;
}

.home-slide-lilac .home-slide-map-pin-1 .map-pin-card-content:before {
  background-image: url("../image/home/lilac-smoke-1.png");
}

.home-slide-lilac .home-slide-map-pin-2 .map-pin-card-content:before {
  background-image: url("../image/home/lilac-smoke-2.png");
}

.home-slide-lilac .home-slide-map-pin-3 .map-pin-card-content:before {
  background-image: url("../image/home/lilac-smoke-3.png");
}

.home-slide-lilac .home-slide-map-pin-4 .map-pin-card-content:before {
  background-image: url("../image/home/lilac-smoke-4.png");
}

.home-slide-red .home-slide-map-pin-1 .map-pin-card-content:before {
  background-image: url("../image/home/red-smoke-1.png");
}

.home-slide-red .home-slide-map-pin-2 .map-pin-card-content:before {
  background-image: url("../image/home/red-smoke-2.png");
}

.home-slide-red .home-slide-map-pin-3 .map-pin-card-content:before {
  background-image: url("../image/home/red-smoke-3.png");
}

.home-slide-red .home-slide-map-pin-4 .map-pin-card-content:before {
  background-image: url("../image/home/red-smoke-4.png");
}

.home-slide-green .home-slide-map-pin-1 .map-pin-card-content:before {
  background-image: url("../image/home/green-smoke-1.png");
}

.home-slide-green .home-slide-map-pin-2 .map-pin-card-content:before {
  background-image: url("../image/home/green-smoke-2.png");
}

.home-slide-green .home-slide-map-pin-3 .map-pin-card-content:before {
  background-image: url("../image/home/green-smoke-3.png");
}

.home-slide-green .home-slide-map-pin-4 .map-pin-card-content:before {
  background-image: url("../image/home/green-smoke-4.png");
}

.home-slide-grey .home-slide-map-pin-1 .map-pin-card-content:before {
  background-image: url("../image/home/grey-smoke-1.png");
}

.home-slide-grey .home-slide-map-pin-2 .map-pin-card-content:before {
  background-image: url("../image/home/grey-smoke-2.png");
}

.home-slide-grey .home-slide-map-pin-3 .map-pin-card-content:before {
  background-image: url("../image/home/grey-smoke-3.png");
}

.home-slide-grey .home-slide-map-pin-4 .map-pin-card-content:before {
  background-image: url("../image/home/grey-smoke-4.png");
}

.home-slide-violet .home-slide-map-pin-1 .map-pin-card-content:before {
  background-image: url("../image/home/violet-smoke-1.png");
}

.home-slide-violet .home-slide-map-pin-2 .map-pin-card-content:before {
  background-image: url("../image/home/violet-smoke-2.png");
}

.home-slide-violet .home-slide-map-pin-3 .map-pin-card-content:before {
  background-image: url("../image/home/violet-smoke-3.png");
}

.home-slide-violet .home-slide-map-pin-4 .map-pin-card-content:before {
  background-image: url("../image/home/violet-smoke-4.png");
}

.map-pin-card-close {
  position: absolute;
  top: 1.9rem;
  right: 2.4rem;
  z-index: 2;
}

.map-pin-card-close svg {
  display: block;
  width: 1.7rem;
  height: 1.7rem;
  stroke: #fff;
  transition: stroke 0.3s;
}

.map-pin-card-close:hover svg,
.map-pin-card-close:focus svg,
.map-pin-card-close:active svg {
  stroke: #d61336;
}

.map-pin-card-name {
  display: block;
  margin-bottom: 1rem;
  max-width: 19rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 100%;
  color: #fff;
}

.map-pin-card-desc {
  margin-bottom: 1.5rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 131%;
  letter-spacing: -0.01em;
  color: #fff;
}

.map-pin-card-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding: 1.3rem 3.1rem;
  width: 100%;
  height: 4.5rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.4rem;
  text-align: center;
  text-transform: uppercase;
  background: #fff;
  border-radius: 9.9rem;
  overflow: hidden;
}

.map-pin-card-link:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 9.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.map-pin-card-link:hover:before,
.map-pin-card-link:focus:before,
.map-pin-card-link:active:before {
  opacity: 1;
}

.home-slide-lilac .map-pin-card-link {
  color: #404788;
}

.home-slide-red .map-pin-card-link {
  color: #9e4959;
}

.home-slide-green .map-pin-card-link {
  color: #427042;
}

.home-slide-grey .map-pin-card-link {
  color: #977c42;
}

.home-slide-violet .map-pin-card-link {
  color: #7f4f9f;
}

.map-pin-card-icon {
  position: absolute;
  top: 50%;
  right: -2.2rem;
  display: block;
  width: 4.1rem;
  height: 5.1rem;
  transform: translateY(-50%);
}

.home-slide-lilac .map-pin-card-icon {
  fill: #404788;
}

.home-slide-red .map-pin-card-icon {
  fill: #9e4959;
}

.home-slide-green .map-pin-card-icon {
  fill: #427042;
}

.home-slide-grey .map-pin-card-icon {
  fill: #977c42;
}

.home-slide-violet .map-pin-card-icon {
  fill: #7f4f9f;
}

.home-slide-content {
  margin-top: -1.8rem;
  margin-bottom: 3rem;
  width: 100%;
}

.home-slide-violet .home-slide-content {
  margin-top: -0.8rem;
}

.home-slide-violet .home-slide-title {
  margin-bottom: 1rem;
  font-size: 6.9rem;
}

.home-slide-title {
  font-family: var(--font5);
  font-weight: 700;
  font-size: 8.5rem;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}

.home-slide-place {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.home-slide-place-item {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 4.2rem;
  line-height: 100%;
  text-align: center;
  color: #fff;
}

.home-slider-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  margin: 0 auto;
  padding: 1.5rem 3.4rem 1.7rem;
  width: 31.8rem;
  height: 6rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 150%;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  border-radius: 1434rem;
  border: 0.1rem solid #151515;
  background: #151515;
  transition:
    color 0.3s,
    background-color 0.3s;
}

.home-slider-more:hover,
.home-slider-more:focus,
.home-slider-more:active {
  color: #151515;
  background-color: transparent;
}

.home-slider-more-icon {
  display: block;
  width: 2.2rem;
  height: 2.1rem;
  fill: #fff;
  transition: fill 0.3s;
}

.home-slider-more:hover .home-slider-more-icon,
.home-slider-more:focus .home-slider-more-icon,
.home-slider-more:active .home-slider-more-icon {
  fill: #151515;
}

.home-slider-pagination {
  display: none;
}

.map-pin-card {
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}

.home-slide-map-pin-left .map-pin-card {
  left: 600%;
}

.home-slide-map-pin-right .map-pin-card {
  left: -400%;
}

.map-pin-card-icon {
  position: absolute;
  top: -2.2rem;
  left: 50%;
  right: auto;
  z-index: -1;
  display: block;
  width: 4.1rem;
  height: 5.1rem;
  transform: translateX(-50%) rotate(-90deg);
}

.home-slide-map-pin-left .map-pin-card-icon {
  left: 10%;
}

.home-slide-map-pin-right .map-pin-card-icon {
  left: 82.5%;
}

/*article*/
.page-decor {
  position: absolute;
  top: 41.5rem;
  left: 1rem;
  z-index: 1;
  display: none;
  height: 7.1rem;
  width: 0.7rem;
}

.home-slider-decor {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.page-decor svg {
  display: block;
  height: 7.1rem;
  width: 0.7rem;
}

.article-page {
  background: #ebeae8;
}

.article-container {
  position: relative;
}

.article-designs {
  max-width: 100%;
  overflow-y: hidden;
}

.article-map {
  position: absolute;
  top: 0;
  right: 9.6%;
  z-index: 1;
  max-width: 113.7rem;
  width: 100%;
}

.article-map img {
  display: block;
  width: 100%;
}

.article-net {
  position: absolute;
  top: 0;
  left: 50%;
  width: 144rem;
  max-width: 100%;
  height: 103.6rem;
  transform: translateX(-50%);
}

.article-net img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.article {
  position: relative;
  z-index: 1;
  margin-bottom: 7.3rem;
  padding-top: 28.5rem;
  /*background-image: url("../image/article/article-net.png");*/
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
}

.article-title {
  margin: 0 auto 5.6rem auto;
  max-width: 93.8rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 6.6rem;
  line-height: 100%;
  color: #3e3d41;
}

.article-wrapper {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 138rem;
}

.article-main {
  margin-left: 22.2rem;
  width: 100%;
  max-width: 76rem;
}

.article-text {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 172%;
  letter-spacing: -0.01em;
  color: #27331c;
}

.article-main h2,
.article-main h3 {
  margin-bottom: 2.2rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 3.8rem;
  line-height: 143%;
  letter-spacing: -0.01em;
  color: #27331c;
}

.article-main blockquote {
  position: relative;
  margin: 0 0 3.5rem 0;
  padding: 4rem 0 3.5rem 0;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 172%;
  letter-spacing: -0.01em;
  color: #27331c;
  font-style: italic;
  background-color: #d7d8d4;
}

.article-main blockquote:before {
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  display: block;
  width: 3rem;
  height: 100%;
  background-color: #d7d8d4;
}

.article-main blockquote:after {
  content: "";
  position: absolute;
  top: 0;
  right: -2rem;
  display: block;
  width: 2rem;
  height: 100%;
  background-color: #d7d8d4;
}

.article-image {
  width: 100%;
}

.article-image picture {
  display: block;
  width: 100%;
}

.article-image img {
  display: block;
  width: 100%;
}

.article-callback {
  position: relative;
  margin: 0 0 6rem 0;
  padding: 3rem 0;
  width: 100%;
  background-color: #d7d8d4;
}

.article-callback:before {
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  display: block;
  width: 3rem;
  height: 100%;
  background-color: #d7d8d4;
}

.article-callback:after {
  content: "";
  position: absolute;
  top: 0;
  right: -3rem;
  display: block;
  width: 3rem;
  height: 100%;
  background-color: #d7d8d4;
}

.article-callback-separator {
  display: block;
  margin: 0 auto 1.4rem;
  width: max-content;
  max-width: 100%;
}

.article-callback-separator img {
  display: block;
  width: auto;
  max-width: 100%;
}

.article-callback-separator:last-child {
  margin-bottom: 0;
}

.article-callback-title {
  display: block;
  margin-bottom: 1.4rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 170%;
  letter-spacing: -0.01em;
  text-align: center;
  color: #27331c;
}

.article-callback-button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 2.6rem auto;
  padding: 1.2rem 2.4rem;
  width: 18.6rem;
  height: 4.2rem;
  font-family: var(--font8);
  font-weight: 400;
  font-size: 1.3rem;
  line-height: 150%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #27331c;
  white-space: nowrap;
  border: 1px solid #acb1a7;
  border-radius: 999.9rem;
  transition: border 0.3s;
}

.article-callback-button:hover,
.article-callback-button:focus,
.article-callback-button:active {
  border-color: #27331c;
}

.article-text ul {
  margin: 1rem 0;
}

.article-text ul li {
  position: relative;
  padding-left: 2.5rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 172%;
  letter-spacing: -0.01em;
  color: #27331c;
}

.article-text ul li:before {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0;
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background-color: #27331c;
}

.article-author {
  display: flex;
  align-items: center;
  gap: 2.1rem;
  margin-bottom: 6rem;
}

.article-author-mobile {
  display: none;
}

.article-author-avatar {
  flex-shrink: 0;
  display: block;
  width: 6.5rem;
  height: 6.5rem;
  overflow: hidden;
  border-radius: 50%;
}

.article-author-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.article-author-info {
  width: auto;
  max-width: 100%;
}

.article-author-name {
  font-family: var(--font-family);
  font-weight: 700;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 150%;
  letter-spacing: 0.01em;
  color: #3e3d41;
}

.article-author-job {
  font-family: var(--font-family);
  font-weight: 400;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 150%;
  letter-spacing: 0.01em;
  color: #3e3d41;
}

.article-more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  padding: 1.5rem 3.4rem 1.7rem;
  max-width: 76rem;
  width: 100%;
  height: 6rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 150%;
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  border-radius: 1434rem;
  border: 0.1rem solid #d61336;
  background: #d61336;
  transition:
    color 0.3s,
    background-color 0.3s;
}

.article-more:hover,
.article-more:focus,
.article-more:active {
  color: #d61336;
  background-color: transparent;
}

.article-more-icon {
  display: block;
  width: 2.2rem;
  height: 2.1rem;
  fill: #fff;
  transition: fill 0.3s;
}

.article-more:hover svg,
.article-more:focus svg,
.article-more:active svg {
  fill: #d61336;
}

.article-aside {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: auto;
}

.aside-author {
  position: relative;
  margin-right: 4.5rem;
  width: 100%;
  max-width: 27rem;
}

.aside-author:before {
  content: "";
  position: absolute;
  top: -2rem;
  left: -12rem;
  display: block;
  width: 44rem;
  height: 44rem;
  background-image: url("../image/article/author-smoke.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.aside-author > * {
  position: relative;
}

.aside-author-avatar {
  display: block;
  margin-bottom: 2.2rem;
  width: 14.5rem;
  height: 14.5rem;
  border-radius: 50%;
}

.aside-author img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.aside-author-name {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-family);
  font-weight: 700;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 150%;
  letter-spacing: 0.01em;
  color: #3e3d41;
}

.aside-author-job {
  font-family: var(--font-family);
  font-weight: 400;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 150%;
  letter-spacing: 0.01em;
  color: #3e3d41;
}

.aside-quantity {
  position: relative;
  margin-right: 4.5rem;
  margin-top: auto;
  margin-bottom: 151rem;
}

.aside-quantity:before {
  content: "";
  position: absolute;
  top: -18rem;
  left: -13rem;
  display: block;
  width: 47rem;
  height: 46rem;
  background-image: url("../image/article/article-smoke-quantity.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.aside-quantity > * {
  position: relative;
}

.aside-quantity-value {
  display: flex;
  flex-direction: column;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 149%;
  letter-spacing: 0.01em;
  color: #d61336;
}

.aside-quantity-value strong {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 9.6rem;
  line-height: 133%;
  letter-spacing: -0.01em;
  color: #d61336;
}

.aside-logo {
  margin-bottom: 2.5rem;
  margin-left: auto;
  padding: 0.8rem 2.1rem;
  width: 23.6rem;
  height: auto;
}

.aside-logo img {
  display: block;
  width: 100%;
  height: auto;
}

/*header-fly*/
html body .header-fly {
  position: fixed;
  left: 50%;
  bottom: 3.8rem;
  display: flex !important;
  justify-content: center;
  gap: 0.8rem;
  transform: translateX(-50%);
  transition: opacity 0.3s;
  pointer-events: none;
}

.header-fly._hide {
  opacity: 0;
}

.header-fly-catalog {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 99.9rem;
  padding: 1.6rem;
  width: 7.7rem;
  height: 7.7rem;
  backdrop-filter: blur(20px);
  background: rgba(53, 47, 33, 0.8);
  pointer-events: all;
}

/**/
.tourism-page .header-fly-catalog.__sage-gray {
  background: rgba(53, 47, 33, 0.8);
}

.tourism-page .header-fly-catalog.__misty-blue {
  background: rgba(33, 44, 53, 0.8);
}

.tourism-page .header-fly-catalog.__cream-peach {
  background: rgba(53, 48, 33, 0.8);
}

.tourism-page .header-fly-catalog.__light-khaki {
  background: rgba(51, 53, 33, 0.8);
}

/**/
.resorts-page .header-fly-catalog.__sky-tint {
  background: rgba(33, 46, 53, 0.8);
}

.resorts-page .header-fly-catalog.__mist-gray {
  background: rgba(33, 44, 53, 0.8);
}

.resorts-page .header-fly-catalog.__lemon-cream {
  background: rgba(53, 48, 33, 0.8);
}

.resorts-page .header-fly-catalog.__pale-sage-tint {
  background: rgba(51, 53, 33, 0.8);
}

/**/
.centers-page .header-fly-catalog.__lime-whisper {
  background: rgba(51, 53, 33, 0.8);
}

.centers-page .header-fly-catalog.__pale-sage {
  background: rgba(51, 53, 33, 0.8);
}

.centers-page .header-fly-catalog.__cream-ivory {
  background: rgba(53, 48, 33, 0.8);
}

.centers-page .header-fly-catalog.__soft-lavender {
  background: rgba(53, 33, 47, 0.8);
}

/**/
.hotels-page .header-fly-catalog.__lime-mist {
  background: rgba(53, 48, 33, 0.8);
}

.hotels-page .header-fly-catalog.__light-moss {
  background: rgba(51, 53, 33, 0.8);
}

.hotels-page .header-fly-catalog.__sky-tint {
  background: rgba(33, 44, 53, 0.8);
}

.hotels-page .header-fly-catalog.__mint-gray {
  background: rgba(51, 53, 33, 0.8);
}

/**/
.projects-page .header-fly-catalog.__lime-mist {
  background: rgba(53, 48, 33, 0.8);
}

.projects-page .header-fly-catalog.__mist-blue {
  background: rgba(33, 42, 53, 0.8);
}

.projects-page .header-fly-catalog.__soft-sage {
  background: rgba(51, 53, 33, 0.8);
}

.projects-page .header-fly-catalog.__sky-tint {
  background: rgba(33, 44, 53, 0.8);
}

/**/

.header-fly-catalog:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: block;
  width: 4.5rem;
  height: 4.5rem;
  border: 0.1rem solid rgba(234, 216, 166, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: border 0.3s;
  pointer-events: none;
}

.header-fly-catalog:hover:before,
.header-fly-catalog:focus:before,
.header-fly-catalog:active:before {
  border-color: #ead8a6;
}

.header-fly-catalog-icon {
  display: block;
  width: 1.7rem;
  height: 0.9rem;
  stroke: #ead8a6;
}

.header-fly-navigate {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4.1rem;
  padding: 1.6rem;
  height: 7.7rem;
  border-radius: 99.9rem;
  backdrop-filter: blur(20px);
  background: rgba(53, 47, 33, 0.8);
  transition: background-color 0.3s;
  overflow: hidden;
  --scroll-progress: 0;
}

.header-fly-navigate:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: calc(var(--scroll-progress) * 1%);
  height: 100%;
  transition: width 0.3s;
  pointer-events: none;
}

/**/
.tourism-page .header-fly-navigate.__sage-gray {
  background: rgba(53, 47, 33, 0.8);
}

.tourism-page .header-fly-navigate.__sage-gray:before {
  background: #ead8a6;
  opacity: 0.05;
}

.tourism-page .header-fly-navigate.__misty-blue {
  background: rgba(33, 44, 53, 0.8);
}

.tourism-page .header-fly-navigate.__misty-blue:before {
  background: #a6deea;
  opacity: 0.05;
}

.tourism-page .header-fly-navigate.__cream-peach {
  background: rgba(53, 48, 33, 0.8);
}

.tourism-page .header-fly-navigate.__cream-peach:before {
  background: #ead6a6;
  opacity: 0.05;
}

.tourism-page .header-fly-navigate.__light-khaki {
  background: rgba(51, 53, 33, 0.8);
}

.tourism-page .header-fly-navigate.__light-khaki:before {
  background: #dceaa6;
  opacity: 0.05;
}

/**/
.resorts-page .header-fly-navigate.__sky-tint {
  background: rgba(33, 46, 53, 0.8);
}

.resorts-page .header-fly-navigate.__sky-tint:before {
  background: #a6eaea;
  opacity: 0.05;
}

.resorts-page .header-fly-navigate.__mist-gray {
  background: rgba(33, 44, 53, 0.8);
}

.resorts-page .header-fly-navigate.__mist-gray:before {
  background: #a6deea;
  opacity: 0.05;
}

.resorts-page .header-fly-navigate.__lemon-cream {
  background: rgba(53, 48, 33, 0.8);
}

.resorts-page .header-fly-navigate.__lemon-cream:before {
  background: #ead6a6;
  opacity: 0.05;
}

.resorts-page .header-fly-navigate.__pale-sage-tint {
  background: rgba(51, 53, 33, 0.8);
}

.resorts-page .header-fly-navigate.__pale-sage-tint:before {
  background: #dceaa6;
  opacity: 0.05;
}

/**/
.centers-page .header-fly-navigate.__lime-whisper {
  background: rgba(51, 53, 33, 0.8);
}

.centers-page .header-fly-navigate.__lime-whisper:before {
  background: #dceaa6;
  opacity: 0.05;
}

.centers-page .header-fly-navigate.__pale-sage {
  background: rgba(51, 53, 33, 0.8);
}

.centers-page .header-fly-navigate.__pale-sage:before {
  background: #dceaa6;
  opacity: 0.05;
}

.centers-page .header-fly-navigate.__cream-ivory {
  background: rgba(53, 48, 33, 0.8);
}

.centers-page .header-fly-navigate.__cream-ivory:before {
  background: #ead6a6;
  opacity: 0.05;
}

.centers-page .header-fly-navigate.__soft-lavender {
  background: rgba(53, 33, 47, 0.8);
}

.centers-page .header-fly-navigate.__soft-lavender:before {
  background: #d7a6ea;
  opacity: 0.05;
}

/**/
.hotels-page .header-fly-navigate.__lime-mist {
  background: rgba(53, 48, 33, 0.8);
}

.hotels-page .header-fly-navigate.__lime-mist:before {
  background: #ead6a6;
  opacity: 0.05;
}

.hotels-page .header-fly-navigate.__light-moss {
  background: rgba(51, 53, 33, 0.8);
}

.hotels-page .header-fly-navigate.__light-moss:before {
  background: #dceaa6;
  opacity: 0.05;
}

.hotels-page .header-fly-navigate.__sky-tint {
  background: rgba(33, 44, 53, 0.8);
}

.hotels-page .header-fly-navigate.__sky-tint:before {
  background: #a6deea;
  opacity: 0.05;
}

.hotels-page .header-fly-navigate.__mint-gray {
  background: rgba(51, 53, 33, 0.8);
}

.hotels-page .header-fly-navigate.__mint-gray:before {
  background: #dceaa6;
  opacity: 0.05;
}

/**/
.projects-page .header-fly-navigate.__lime-mist {
  background: rgba(53, 48, 33, 0.8);
}

.projects-page .header-fly-navigate.__lime-mist:before {
  background: #ead6a6;
  opacity: 0.05;
}

.projects-page .header-fly-navigate.__mist-blue {
  background: rgba(33, 42, 53, 0.8);
}

.projects-page .header-fly-navigate.__mist-blue:before {
  background: #a6c6ea;
  opacity: 0.05;
}

.projects-page .header-fly-navigate.__soft-sage {
  background: rgba(51, 53, 33, 0.8);
}

.projects-page .header-fly-navigate.__soft-sage:before {
  background: #dceaa6;
  opacity: 0.05;
}

.projects-page .header-fly-navigate.__sky-tint {
  background: rgba(33, 44, 53, 0.8);
}

.projects-page .header-fly-navigate.__sky-tint:before {
  background: #a6deea;
  opacity: 0.05;
}

/**/

.header-fly-navigate-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border: 1px solid rgba(234, 216, 166, 0.3);
  border-radius: 50%;
  transition: border 0.3s;
  pointer-events: all;
}

.header-fly-navigate-button:hover,
.header-fly-navigate-button:focus,
.header-fly-navigate-button:active {
  border-color: #ead8a6;
}

.header-fly-navigate-icon {
  display: block;
  width: 0.7rem;
  height: 1.4rem;
  stroke: #ead8a6;
}

.header-fly-navigate-info {
  width: auto;
}

.header-fly-catalog-mobile {
  display: none;
}

.header-fly-navigate-name {
  font-family: var(--font6);
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 150%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #ead8a6;
  white-space: nowrap;
  opacity: 0.6;
}

.header-fly-navigate-section {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2rem;
  line-height: 143%;
  letter-spacing: -0.01em;
  text-align: center;
  color: #ead8a6;
  white-space: nowrap;
}

/*page*/
.tourism-page {
  width: 100%;
}

.page-container {
  padding: 0;
}

.page-row {
  max-width: 100%;
}

.page {
  position: relative;
  width: 100%;
}

.page-banner {
  width: 100%;
  background-color: #fff;
}

.page-banner picture {
  display: block;
  width: 100%;
  height: 100%;
}

.page-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}

.page-content {
  position: absolute;
  top: 14.8rem;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
}

.sochi .page-content {
  top: 12.8rem;
  width: 100%;
}

.page-label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5rem;
  padding: 1.1rem 2.2rem;
  width: max-content;
  height: 4.4rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 2rem;
  line-height: 100%;
  letter-spacing: 0.02em;
  text-align: center;
  color: #fff;
  border-radius: 129.9rem;
}

.page-content .page-label {
  margin-bottom: 4rem;
}

.manzherok .page-label {
  margin-bottom: 4.7rem;
}

.cluster .page-label {
  margin-bottom: 4.5rem;
}

.sochi .page-label {
  margin-bottom: 5rem;
}

.page-big-title {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 20.6rem;
  line-height: 82%;
  letter-spacing: -0.05em;
  text-align: center;
  color: #373735;
  text-transform: uppercase;
}

.page-small-title {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 12.8rem;
  line-height: 82%;
  letter-spacing: -0.05em;
  text-align: center;
  color: #4a5254;
  text-transform: uppercase;
}

.cluster .page-small-title {
  font-size: 14.2rem;
}

.tourism-page .page-label {
  background: #707bd5;
}

.resorts-page .page-label {
  background: #be6878;
}

.centers-page .page-label {
  background: #896e9b;
}

.hotels-page .page-label {
  background: #b4975a;
}

.projects-page .page-label {
  background: #678e67;
}

.kabardinka .page-label {
  margin-bottom: 4rem;
}

.page-heading {
  max-width: 56rem;
  font-size: 15.6rem;
}

.manzherok .page-heading {
  max-width: 81rem;
  font-size: 19rem;
}

.sochi .page-heading {
  max-width: 72rem;
  font-size: 17.2rem;
}

.kamelia .page-heading {
  max-width: 76rem;
  font-size: 20.8rem;
}

.page-title {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 6.2rem;
  line-height: 88%;
  letter-spacing: -0.03em;
  text-align: center;
  color: #30322e;
}

.sochi .page-title-firs {
  font-size: 7.5rem;
}

.kamelia .page-title-firs {
  margin-bottom: 2.3rem;
  transform: translateY(-2.4rem);
  font-size: 7.5rem;
}

.gaspra .page-title-firs {
  margin-bottom: 2.3rem;
  font-size: 7.5rem;
}

.page-block {
  margin-bottom: 14.3rem;
  width: 100%;
}

.gaspra.page-block {
  margin-bottom: 2.3rem;
}

.page-block-title {
  margin-bottom: 3.3rem;
}

.manzherok .page-block-title {
  font-size: 7.6rem;
}

.page-title-firs {
  margin-bottom: 1.3rem;
  transform: translateY(-3rem);
}

.page-desc {
  margin: 0 auto;
  max-width: 97rem;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 165%;
  text-align: center;
  color: #4a4e47;
}

.page-desc strong {
  font-weight: 700;
}

.manzherok .page-desc {
  max-width: 83rem;
}

.sochi .page-desc {
  max-width: 88rem;
}

.kamelia .page-desc {
  max-width: 83rem;
}

.gaspra .page-desc {
  max-width: 84rem;
}

.gaspra.page-desc {
  max-width: 83rem;
}

.page-separator {
  display: flex;
  justify-content: center;
  margin: 5.9rem 0;
}

.page-block-image {
  margin-top: 3rem;
  padding: 0 0.5rem;
  width: 100%;
}

.gaspra .page-block-image {
  margin-top: 0;
}

.page-block-image img {
  display: block;
  width: 100%;
}

.page-double {
  padding: 0 8.4rem 11.2rem 8rem;
  width: 100%;
}

.aquapark.page-double {
  padding-top: 12.1rem;
}

.domkovka.page-double {
  padding-top: 11.5rem;
}

.racetrack.page-double {
  padding-top: 22rem;
}

.page-double-title {
  margin-bottom: 5.6rem;
  text-align: start;
}

.page-double-grid {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}

.page-double-left {
  padding-top: 0.9rem;
  width: 100%;
  max-width: 45.1rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 132%;
  color: #30322e;
}

.bannoye .page-double-left {
  max-width: 45.6rem;
}

.page-double-right {
  max-width: 67.9rem;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.9rem;
  line-height: 162%;
  color: #4a4e47;
}

.page-double-right p:not(:last-child) {
  margin-bottom: 3.7rem;
}

.page-double-right ul {
  width: 100%;
}

.page-double-right li {
  position: relative;
  padding-left: 2.8rem;
}

.page-double-right li:not(:last-child) {
  margin-bottom: 2.8rem;
}

.page-double-right li:before {
  content: "";
  position: absolute;
  top: 1.3rem;
  left: 0;
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 0.3rem;
  background: #d61336;
}

.page-path {
  padding: 10.9rem 0 1.5rem 0;
  width: 100%;
}

.manzherok.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.arkhyz.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.sochi.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.patriot.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.aquapark.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.kamelia.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.miner.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.domkovka.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.gaspra.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.racetrack.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.castle.page-path {
  padding: 10.9rem 0 10.9rem 0;
}

.page-path-title {
  margin-bottom: 2.9rem;
}

.page-path-desc {
  margin: 0 auto 7.4rem auto;
  width: 100%;
  max-width: 61rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-style: italic;
  font-size: 1.8rem;
  line-height: 155%;
  text-align: center;
  color: #4a4e47;
}

.page-path-steeps {
  margin: 0 auto;
  padding-left: 8.2rem;
  width: 100%;
  max-width: 105rem;
}

.path-steep {
  position: relative;
  padding: 3.1rem 0.5rem 3.2rem 0;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 160%;
  color: #4a4e47;
  border-bottom: 0.1rem solid rgba(48, 50, 46, 0.19);
}

.path-steep:first-child {
  border-top: 0.1rem solid rgba(48, 50, 46, 0.19);
}

.path-steep:before {
  content: "";
  position: absolute;
  top: 3rem;
  left: -8.2rem;
  z-index: 2;
  display: block;
  width: 2.8rem;
  height: 2.8rem;
  border: 0.2rem solid #828282;
  border-radius: 1.6rem;
  backdrop-filter: blur(17.299999237060547px);
  background: rgba(76, 76, 76, 0.03);
}

.path-steep:after {
  content: "";
  position: absolute;
  top: 6.2rem;
  left: -6.7rem;
  z-index: 1;
  display: block;
  width: 0.2rem;
  height: 100%;
  background: #9b9f97;
}

.path-steep:last-child:after {
  display: none;
}

.path-steep strong {
  font-weight: 700;
}

.page-quote {
  margin: 6rem auto 0 auto;
  padding: 4.5rem 6.3rem 3.3rem 6.3rem;
  max-width: 76rem;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-style: italic;
  font-size: 2rem;
  line-height: 155%;
  text-align: center;
  color: #30322e;
  border: 1px solid rgba(48, 50, 46, 0.17);
  background: rgba(248, 247, 242, 0.18);
}

.page-cards {
  padding-top: 11.4rem;
  padding-bottom: 11rem;
  width: 100%;
}

.manzherok.page-cards {
  padding-bottom: 4rem;
}

.coin.page-cards {
  padding-bottom: 9rem;
}

.gaspra.page-cards {
  padding-top: 20.4rem;
}

.page-cards-title {
  margin-bottom: 4.8rem;
}

.page-cards-desc {
  margin: 0 auto 3.4rem auto;
  width: 100%;
  max-width: 86.6rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 162%;
  text-align: center;
  color: #4a4e47;
}

.cluster .page-cards-desc {
  margin: 0 auto 7.4rem auto;
}

.yaroslavich .page-cards-desc {
  margin-bottom: 0;
}

.kamelia .page-cards-desc {
  margin-bottom: 0;
}

.domkovka .page-cards-desc {
  margin-bottom: 0;
}

.gaspra .page-cards-desc {
  margin-bottom: 0;
  max-width: 87.6rem;
}

.castle.page-cards-desc {
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 130%;
  text-align: center;
  color: #464c46;
}

.castle.page-cards-desc:last-child {
  margin-bottom: 0;
}

.bannoye .page-cards-desc {
  margin: 0 auto 6.4rem auto;
}

.page-cards-subtitle {
  margin: 0 auto 6.8rem auto;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 130%;
  text-align: center;
  color: #464c46;
}

.page-cards-strong {
  margin: 0 auto 7rem auto;
  width: 100%;
  max-width: 79.8rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3rem;
  line-height: 130%;
  text-align: center;
  color: #30322e;
}

.page-cards-strong._effect {
  margin-bottom: 0;
}

.page-cards-strong p:not(:last-child) {
  margin-bottom: 3.5rem;
}

.greater-caucasus .page-cards-strong {
  max-width: 85.8rem;
}

.coin .page-cards-strong {
  margin: 0 auto 4.3rem auto;
  max-width: 86.8rem;
}

.sochi .page-cards-strong {
  margin: 0 auto 4rem auto;
  max-width: 86.8rem;
}

.sochi .page-cards-strong:last-child {
  margin-bottom: 0;
}

.patriot .page-cards-strong {
  margin: 0 auto 4rem auto;
  max-width: 86.8rem;
}

.patriot .page-cards-strong:last-child {
  margin-bottom: 0;
}

.aquapark .page-cards-strong {
  margin: 0 auto 4rem auto;
  max-width: 86.8rem;
}

.aquapark .page-cards-strong:last-child {
  margin-bottom: 0;
}

.page-cards-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2.2rem;
  margin: 0 auto;
  width: 100%;
  max-width: 118rem;
}

.page-cards-grid-three {
  max-width: 124.2rem;
}

.page-card {
  padding: 4rem 3.8rem 4.5rem 4.3rem;
  width: calc((100% - 2.2rem) / 2);
  box-shadow: inset 0 1px 0 1px rgba(255, 255, 255, 0.15);
  background: rgba(248, 247, 242, 0.13);
  border: 0.1rem solid rgba(48, 50, 46, 0.17);
}

.page-cards-grid-three .page-card {
  padding: 4rem 3.5rem 4.5rem 4.3rem;
  width: calc((100% - 4.4rem) / 3);
}

.page-card-name {
  margin-bottom: 3rem;
  font-family: var(--second-family);
  font-weight: 400;
  font-size: 3.4rem;
  line-height: 108%;
  color: #30322e;
}

.page-card-list {
  width: 100%;
}

.page-card-item {
  position: relative;
  padding: 1.8rem 0.5rem 1.8rem 2.6rem;
  border-top: 1px solid rgba(48, 50, 46, 0.15);
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 150%;
  color: #4a4e47;
}

.page-card-item:before {
  content: "";
  position: absolute;
  top: 2.3rem;
  left: 0;
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 0.3rem;
  background: #d61336;
}

.page-cards-end {
  margin: 6.2rem auto 0 auto;
  width: 100%;
  max-width: 80.3rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 3.6rem;
  line-height: 128%;
  text-align: center;
  color: #30322e;
}

.page-comments {
  padding-top: 10.7rem;
}

.page-comments-title {
  margin-bottom: 4.7rem;
}

.page-comment {
  margin: 0 auto;
  padding: 3.8rem 7rem 5.7rem 7rem;
  width: 100%;
  max-width: 97rem;
  border: 0.1rem solid rgba(48, 50, 46, 0.18);
  background: rgba(248, 247, 242, 0.12);
}

.kamelia .page-comment {
  padding: 3.8rem 6rem 5.7rem 6rem;
  max-width: 106rem;
}

.page-comment-quotes {
  display: block;
  margin: 0 auto 2.7rem auto;
  width: 3.3rem;
  height: 2.7rem;
}

.page-comment-quotes img {
  display: block;
  width: 100%;
}

.page-comment-desc {
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.7rem;
  line-height: 158%;
  text-align: center;
  color: #30322e;
}

.page-comment-author {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 2.3rem;
}

.page-comment-author-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.4rem;
  width: 10rem;
  height: 10rem;
  box-shadow: 0 12px 24px 0 rgba(48, 50, 46, 0.14);
  border-radius: 50%;
  overflow: hidden;
}

.page-comment-author-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}

.page-comment-author-name {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--font-family);
  font-weight: 700;
  font-style: italic;
  font-size: 2.2rem;
  line-height: 120%;
  text-align: center;
  color: #30322e;
}

.page-comment-author-job {
  font-family: var(--font-family);
  font-weight: 400;
  font-style: italic;
  font-size: 1.7rem;
  line-height: 135%;
  text-align: center;
  color: #30322e;
}

.page-images-container {
  padding: 0;
}

.page-images {
  width: 100%;
}

.domkovka.page-images {
  padding-bottom: 11.5rem;
}

.page-images-block {
  position: relative;
  width: 100%;
  background: #fff;
}

.page-images-clouds {
  width: 100%;
}

.page-images-clouds picture {
  display: block;
  width: 100%;
  height: 100%;
}

.page-images-clouds img {
  display: block;
  width: 100%;
}

.page-images-banner {
  width: 100%;
  height: 163rem;
  overflow: hidden;
}

.baikal .page-images-banner {
  background-color: var(--misty-blue);
}

.page-images-banner picture {
  display: block;
  width: 100%;
  height: 100%;
}

.page-images-banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.page-images-content {
  position: absolute;
  top: 63.4rem;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
}

.golden-sands .page-images-content {
  top: 51.8rem;
}

.greater-caucasus .page-images-content {
  top: 51.4rem;
}

.castle .page-images-content {
  top: 52.4rem;
}

.golden-sands .page-images-label {
  margin-bottom: 4.5rem;
}

.golden-sands .page-images-content-title {
  width: 79rem;
}

.greater-caucasus .page-images-content-title {
  font-size: 14.8rem;
}

.coin .page-images-content-title {
  max-width: 66rem;
  font-size: 14.8rem;
}

.patriot .page-images-content-title {
  white-space: nowrap;
  font-size: 15.6rem;
}

.aquapark .page-images-content-title {
  font-size: 11.8rem;
  line-height: 94%;
}

.yaroslavich .page-images-content-title {
  font-size: 18.6rem;
}

.miner .page-images-content-title {
  font-size: 12rem;
  line-height: 93%;
}

.domkovka .page-images-content-title {
  font-size: 18.6rem;
}

.kabardinka .page-images-content-title {
  line-height: 92%;
}

.racetrack .page-images-content-title {
  font-size: 14.8rem;
}

.castle .page-images-content-title {
  font-size: 14.8rem;
}

.bannoye page-images-content-title {
  font-size: 13.8rem;
}

.arkhyz .page-images-content {
  top: 52.4rem;
}

.cluster .page-images-content {
  top: 52.4rem;
}

.coin .page-images-content {
  top: 52rem;
}

.patriot .page-images-content {
  top: 52.4rem;
}

.aquapark .page-images-content {
  top: 50.8rem;
  width: 100%;
  max-width: 87rem;
}

.yaroslavich .page-images-content {
  top: 51.6rem;
}

.miner .page-images-content {
  top: 52.4rem;
  width: 100%;
  max-width: 123rem;
}

.domkovka .page-images-content {
  top: 52.4rem;
}

.kabardinka .page-images-content {
  top: 38.4rem;
}

.racetrack .page-images-content {
  top: 51.4rem;
}

.bannoye .page-images-content {
  top: 52rem;
}

.page-images-title {
  margin-bottom: 1.4rem;
  font-size: 7.6rem;
  transform: translateY(-3rem);
}

.page-images-desc {
  margin: 0 auto;
  max-width: 82.6rem;
  width: 100%;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 165%;
  text-align: center;
  color: #394c55;
}

.greater-caucasus .page-images-desc {
  max-width: 95.6rem;
}

.page-separator + .greater-caucasus .page-images-desc {
  max-width: 97rem;
}

.cluster .page-images-desc {
  max-width: 83.6rem;
}

.aquapark.page-images-desc {
  max-width: 83.6rem;
}

.miner .page-images-desc {
  max-width: 98.6rem;
}

.page-images-desc ul {
  padding-top: 3rem;
  max-width: 75.6rem;
}

.page-images-desc li {
  position: relative;
  padding-left: 2.8rem;
  text-align: start;
}

.page-images-desc li:not(:last-child) {
  margin-bottom: 1.8rem;
}

.page-images-desc li:before {
  content: "";
  position: absolute;
  top: 1.3rem;
  left: 0;
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 0.3rem;
  background: #d61336;
}

.page-image {
  margin: 0 auto 11.3rem auto;
  padding-top: 5rem;
  width: 100%;
  max-width: 106rem;
}

.golden-sands .page-image {
  padding: 3.5rem 1rem 0 1rem;
  max-width: 100%;
}

.greater-caucasus .page-image {
  padding: 0.5rem 1rem 0 1rem;
  max-width: 100%;
}

.arkhyz .page-image {
  max-width: 100%;
}

.cluster .page-image {
  padding-top: 3rem;
  max-width: 100%;
}

.coin .page-image {
  padding-top: 2rem;
  max-width: 100%;
}

.patriot .page-image {
  padding: 2rem 2rem 2rem 2rem;
  max-width: 100%;
}

.yaroslavich .page-image {
  padding: 4rem 2rem 1.5rem 2rem;
  max-width: 100%;
}

.miner .page-image {
  margin: 0 auto 10.8rem auto;
  padding: 4rem 2rem 2rem 2rem;
  max-width: 100%;
}

.kabardinka .page-image {
  margin: 0 auto 10.3rem auto;
  padding: 2rem 2rem 2rem 2rem;
  max-width: 126rem;
}

.castle .page-image {
  margin-bottom: 1.3rem;
  padding: 2rem 1rem 0 1rem;
  max-width: 100%;
}

.bannoye .page-image {
  margin-bottom: 7.3rem;
  padding: 0rem 1rem 0 1rem;
  max-width: 100%;
}

.page-image img {
  display: block;
  width: 100%;
}

/*form pages*/
.page-form {
  padding-top: 10rem;
  width: 100%;
}

.page-form-title {
  margin: 0 auto 2.8rem auto;
  max-width: 100rem;
  line-height: 1;
}

.page-form-desc {
  margin-bottom: 2.4rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 2.1rem;
  line-height: 162%;
  text-align: center;
  color: #5f635a;
}

.form {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
  max-width: 44.8rem;
}

.form-label {
  position: relative;
  display: block;
  margin-bottom: 1.6rem;
  width: 100%;
}

.form-label:has(.air-datepicker.-active-) {
  z-index: 20;
}

.form-label-input {
  display: flex;
  align-items: center;
  padding: 3rem 1.2rem 1.1rem 1.2rem;
  width: 100%;
  font-family: var(--font3);
  font-weight: 600;
  font-size: 1.9rem;
  line-height: 120%;
  color: #3e3d41;
  border-radius: 0.8rem;
  backdrop-filter: blur(16px);
  background: rgba(0, 0, 0, 0.1);
  border: 0.1rem solid rgba(0, 0, 0, 0.1);
  transition:
    border 0.3s,
    background-color 0.3s;
}

.form-label-input._error-input {
  border-color: #e14136;
}

.form-label-input:hover {
  backdrop-filter: blur(16px);
  background: rgba(0, 0, 0, 0.15);
}

.form-label-input:focus {
  border: 1px solid rgba(0, 0, 0, 0.5);
  outline: none;
}

.form-label-input::placeholder {
  font-family: var(--font3);
  font-weight: 600;
  font-size: 1.9rem;
  line-height: 120%;
  color: #3e3d41;
  opacity: 0.6;
}

.form-label-span {
  position: absolute;
  top: 1.6rem;
  left: 1.2rem;
  font-family: var(--font3);
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 114%;
  color: #3e3d41;
  transition:
    font-size 0.3s,
    color 0.3s;
}

._error-input + .form-label-span {
  color: #e14136;
}

.form-error-msg {
  font-family: var(--font3);
  font-weight: 600;
  font-size: 1.2rem;
  line-height: 133%;
  text-align: right;
  color: #e14136;
}

.page-form .form-accept + .form-error-msg {
  transform: translateY(-23px);
}

input:focus + .form-label-span {
  font-size: 1rem;
}

.form-accept {
  display: flex;
  align-items: center;
  gap: 1.8rem;
  margin: 0.8rem 0 2.4rem 0;
  padding-left: 0.8rem;
  width: 100%;
  cursor: pointer;
}

.form-accept-square {
  flex-shrink: 0;
  display: block;
  width: 2rem;
  height: 2rem;
  border: 0.1rem solid #3e3d41;
  border-radius: 0.4rem;
  background-position: center;
  background-repeat: no-repeat;
  transition:
    border 0.3s,
    background 0.3s;
}

.form-accept._error .form-accept-square {
  border-color: #e14136;
}

.form-accept._error .form-accept-text span {
  color: #e14136;
}

input:checked + .form-accept-square {
  background-image: url("../image/icons/check.svg");
}

.form-accept-text {
  font-family: var(--font3);
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 114%;
  color: #3e3d41;
  transition: color 0.3s;
}

.form-accept:hover .form-accept-text,
.form-accept:focus .form-accept-text,
.form-accept:active .form-accept-text {
  color: #678e67;
}

.form-accept-text a {
  color: #3e3d41;
  text-decoration: underline;
  transition: color 0.3s;
}

.form-accept-text a:hover,
.form-accept-text a:focus,
.form-accept-text a:active {
  color: #d61336;
}

.form-submit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 7.2rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 133%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #454e4e;
  border: 1px solid #454e4e;
  border-radius: 99.9rem;
  background-color: transparent;
  transition:
    color 0.3s,
    border 0.3s;
  overflow: hidden;
  cursor: pointer;
}

.form-submit:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 99.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.form-submit:hover:before,
.form-submit:focus:before,
.form-submit:active:before {
  opacity: 1;
}

/*pages callback*/
.pages-callback {
  position: fixed;
  right: 21%;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.6rem 3rem 2.7rem 3rem;
  width: 27.5rem;
  height: 16.7rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url("../image/tourism/tourism-asaide-smoke.png");
  transition: opacity 0.3s;
}

.pages-callback._hide {
  opacity: 0;
  pointer-events: none;
}

.pages-callback-title {
  display: block;
  margin-bottom: 1.6rem;
  font-family: var(--font-family);
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: -0.01em;
  text-align: center;
  color: #1c2433;
}

.pages-callback-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.1rem 2.4rem 1.2rem;
  width: 18rem;
  height: 4.1rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.3rem;
  letter-spacing: 0.07em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  background: #d61336;
  border: 0.1rem solid #d61336;
  border-radius: 999.9rem;
  transition:
    color 0.3s,
    background-color 0.3s;
  overflow: hidden;
}

.pages-callback-button:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 999.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.pages-callback-button:hover:before,
.pages-callback-button:focus:before,
.pages-callback-button:active:before {
  opacity: 1;
}

.pages-callback-button-icon {
  display: none;
}

/*footer pages*/
.footer-container {
  padding: 0;
}

.footer-row {
  max-width: 100%;
}

.footer {
  position: relative;
  width: 100%;
}

.footer-background {
  position: relative;
  width: 100%;
}

.footer-background-clouds {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.footer-background-clouds picture {
  display: block;
  width: 100%;
  height: 100%;
}

.footer-background-clouds img {
  display: block;
  width: 100%;
}

.footer-background-image {
  width: 100%;
}

.footer-background-image picture {
  display: block;
  width: 100%;
  height: 100%;
}

.footer-background-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.footer-content {
  position: absolute;
  top: 41.5%;
  left: 50%;
  transform: translateX(-50%);
}

.resorts-page .footer-content {
  top: 39.9%;
}

.centers-page .footer-content {
  width: 100%;
}

.footer-title {
  margin-bottom: 1.3rem;
  font-family: var(--font5);
  font-weight: 700;
  font-size: 15.5rem;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}

.centers-page .footer-title {
  font-size: 15rem;
}

.resorts-page .footer-title {
  margin-bottom: 2.3rem;
  font-size: 9.1rem;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.03em;
}

.hotels-page .footer-title {
  white-space: nowrap;
}

.projects-page .footer-title {
  font-size: 16.5rem;
  white-space: nowrap;
  letter-spacing: -0.04em;
}

@keyframes load-new-page {
  0% {
    left: -100%;
  }

  100% {
    left: 0;
  }
}

.footer-next {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin: 0 auto;
  padding: 2.2rem 4.9rem 2.4rem;
  width: 45.5rem;
  height: 7.4rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 133%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  border-radius: 2058.1rem;
  background: #d61336;
  border: 0.1rem solid #d61336;
  transition:
    color 0.3s,
    background-color 0.3s;
  overflow: hidden;
}

.footer-next:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 2058.1rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.footer-next:hover:before,
.footer-next:focus:before,
.footer-next:active:before {
  opacity: 1;
}

.footer-next:after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 99.9rem;
  background-color: rgba(255, 255, 255, 0.3);
  pointer-events: none;
}

.footer-next._next:after {
  animation: load-new-page 6s linear forwards;
}

.footer-next._done:after {
  animation: dynamic-fill-done 1s ease-out forwards !important;
}

.footer-next-icon {
  display: block;
  width: 3.1rem;
  height: 3rem;
  fill: #fff;
  transition: fill 0.3s;
}

.footer-control {
  position: absolute;
  left: 0;
  bottom: 2.5rem;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 0 2.5rem;
  width: 100%;
}

.footer-control-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.3rem 3.1rem;
  width: max-content;
  height: 4.5rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 1.4rem;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
  border: 0.1rem solid #fff;
  border-radius: 9.9rem;
  transition:
    color 0.3s,
    border 0.3s;
}

.footer-control-link:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 9.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.footer-control-link:hover:before,
.footer-control-link:focus:before,
.footer-control-link:active:before {
  opacity: 1;
}

.footer-control-link-chevron {
  width: 0.8rem;
  height: 1.4rem;
  stroke: #fff;
}

.footer-control-link-burger {
  width: 1.5rem;
  height: 0.8rem;
  stroke: #fff;
}

.footer-control-link-book {
  width: 1.7rem;
  height: 1.6rem;
  fill: #fff;
}

.cloud-transition-overlay {
  pointer-events: none;
}

/*pages styles*/
.relative-container {
  position: relative;
}

/*form modal*/
.modal-form {
  position: fixed;
  top: 0;
  right: -110%;
  z-index: 15;
  padding: 10rem 0.8rem 10rem 1.6rem;
  width: 100%;
  max-width: 62.4rem;
  height: 100%;
  background-color: #ffffff;
  overflow-y: auto;
  transition: right 0.6s;
}

.modal-form._open {
  right: 0;
}

.modal-form-container {
  padding: 10rem 0.8rem 10rem 0;
  height: max-content;
}

.modal-close {
  position: absolute;
  top: 1.4rem;
  right: 1.6rem;
  z-index: 1;
  display: block;
  padding: 0.5rem;
  width: 3rem;
  height: 2.9rem;
  transition: transform 0.3s;
}

.modal-close:hover,
.modal-close:focus,
.modal-close:active {
  transform: scale(1.2);
}

.modal-close svg {
  display: block;
  max-width: 100%;
  max-height: 100%;
}

.modal-form-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3rem;
  width: 100%;
}

.modal-form-logo {
  display: block;
  margin-bottom: 3rem;
  width: 100%;
  max-width: 30.6rem;
}

.modal-form-logo img {
  display: block;
  width: 100%;
}

.modal-form-title {
  font-family: var(--font5);
  font-weight: 700;
  font-size: 5.2rem;
  line-height: 97%;
  letter-spacing: -0.04em;
  text-align: center;
  color: #3e3d41;
}

.modal-form-callback .modal-form-title,
.modal-form-date .modal-form-title {
  margin-bottom: 1rem;
}

.modal-form-desc {
  display: block;
  margin: 0 auto;
  max-width: 43.2rem;
  font-family: var(--font7);
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 139%;
  text-align: center;
  color: #3e3d41;
}

.modal-form-body {
  margin: 0 auto;
  width: 100%;
  max-width: 43.2rem;
}

.modal-form-body .form {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
}

.form-label-calendar {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  z-index: 1;
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  transform: translateY(-50%);
  pointer-events: none;
}

.form-label-calendar svg {
  display: block;
  width: 100%;
  height: 100%;
}

.form-control {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin: 0 0 1.8rem 0;
}

.form-control-now {
  font-family: var(--font7);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 114%;
  color: #3e3d41;
  transition: color 0.3s;
  cursor: pointer;
}

.form-control-now:hover,
.form-control-now:focus,
.form-control-now:active {
  color: #678e67;
}

.form-control-now-input:checked + .form-control-now-text {
  color: #678e67;
}

.form-control-separator {
  flex-shrink: 0;
  display: block;
  width: 0.1rem;
  height: 1.5rem;
  background: #3e3d41;
  opacity: 0.4;
}

.form-control-date {
  font-family: var(--font7);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 114%;
  color: #d61336;
  transition: color 0.3s;
}

.form-control-date:hover,
.form-control-date:focus,
.form-control-date:active,
.form-control-date._active {
  color: #678e67;
}

.form-control-date._disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}

.form-label-date._disabled {
  opacity: 0.5;
  pointer-events: none;
}

.modal-form-body .form-accept {
  margin-bottom: 0;
  padding: 0;
}

.form-submit-red {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.8rem;
  padding: 1.5rem 3.4rem 1.7rem;
  max-width: 43.2rem;
  width: 100%;
  height: 6.4rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 133%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  border-radius: 1434rem;
  background: #d61336;
}

.form-submit-red:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 9.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.form-submit-red:hover:before,
.form-submit-red:focus:before,
.form-submit-red:active:before {
  opacity: 1;
}

.form-label-dates {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition:
    max-height 0.5s ease,
    opacity 0.5s ease;
}

.form-label-dates._open {
  max-height: 200rem;
  opacity: 1;
  overflow: visible;
}

.modal-form-ok {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.4rem;
  width: 21.9rem;
  height: 6.4rem;
  font-family: var(--font3);
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 133%;
  letter-spacing: 0.13em;
  text-align: center;
  text-transform: uppercase;
  color: #454e4e;
  border: 1px solid #454e4e;
  border-radius: 99.9rem;
}

.modal-form-ok:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 9.9rem;
  opacity: 0;
  transition: opacity 0.3s;
}

.modal-form-ok:hover:before,
.modal-form-ok:focus:before,
.modal-form-ok:active:before {
  opacity: 1;
}

.modal-form-callback {
  display: none;
}

.modal-form-date {
  display: none;
}

/*date picker*/
.air-datepicker {
  width: auto;
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12);
  background: #fff;
  padding: 1.2rem;
}

.air-datepicker--pointer {
  display: none;
}

.air-datepicker-nav {
  margin-bottom: 1.6rem;
  padding: 0;
  border-bottom: none;
}

.air-datepicker-nav--title {
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #272727;
}

.air-datepicker-body--day-names {
  grid-template-columns: repeat(7, 4rem);
  grid-template-rows: 4rem;
  margin: 0;
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #808080;
}

.air-datepicker-body--day-name {
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #808080;
}

.air-datepicker-body--cells.-days- {
  grid-template-columns: repeat(7, 4rem);
  grid-auto-rows: 4rem;
}

.air-datepicker-cell {
  padding: 0.8rem;
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #272727;
  transition:
    background-color 0.3s,
    color 0.3s;
}

.air-datepicker-cell.-year-.-other-decade-,
.air-datepicker-cell.-day-.-other-month- {
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #b1b1b1;
}

.air-datepicker-cell.-current- {
  padding: 0.8rem;
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #272727;
  border: 2px solid #eaeaea;
  border-radius: 0.8rem;
}

.air-datepicker-cell.-selected- {
  padding: 0.8rem;
  font-family: var(--font4);
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 130%;
  text-align: center;
  color: #fff;
  border-radius: 0.8rem;
  background: #d7202a;
}

.air-datepicker-cell.-selected-.-focus- {
  color: #fff;
  background: #d7202a;
}

.air-datepicker-nav--title:hover {
  background: #f2f2f2;
}

.air-datepicker-cell.-selected-.-current- {
  background: #d7202a;
}

.air-datepicker-body--cells.-years- {
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 4rem;
  gap: 0.5rem;
}

/* --- CLOUD ANIMATION STYLES --- */
.cloud-transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 9999;
  perspective: 800px;
  perspective-origin: center center;
  display: none;
}

.cloud-transition-overlay._active {
  display: block;
  pointer-events: none;
}

.cloud-transition-overlay._fade-in {
  pointer-events: all;
}

/* White Fade Layer for perfect blending */
.cloud-white-fade {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #fff;
  opacity: 0;
  z-index: 10;
  transition: opacity 3s ease-in-out;
}

.cloud-transition-overlay._fade-in .cloud-white-fade {
  opacity: 1;
}

.cloud-transition-overlay._fade-out .cloud-white-fade {
  opacity: 0;
}

/* 3D Layers */
.cloud-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform-style: preserve-3d;
  z-index: 20;
}

/* The Wrapper handles Trajectory (X, Y, Z) */
.cloud-wrapper {
  position: absolute;
  top: calc(100vh - 100px);
  left: 50%;
  width: 120vw;
  height: 100vh;
  margin-left: -60vw;
  transform-style: preserve-3d;
  opacity: 0;
}

/* The Breathe handles scaling */
.cloud-breathe {
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  animation: breathe var(--breathe-dur, 6s) ease-in-out infinite alternate;
}

@keyframes breathe {
  0% {
    transform: scale(0.96);
  }

  100% {
    transform: scale(1.12);
  }
}

/* The Image handles the actual sprite and flipping */
.cloud-image {
  width: 100%;
  height: 100%;
  background-image: url("../image/clouds/clouds.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center bottom;
}

.cloud-image._flipped {
  transform: scaleX(-1);
}

/* The Main Fly Animation */
@keyframes flyForward {
  0% {
    transform: translate3d(var(--start-x), 20vh, var(--start-z));
    opacity: 0;
  }

  15% {
    opacity: var(--max-opacity);
  }

  90% {
    opacity: var(--max-opacity);
  }

  100% {
    transform: translate3d(var(--end-x), -180vh, var(--end-z));
    opacity: 0;
  }
}

/* Trigger animations */
._active .cloud-wrapper {
  animation: flyForward var(--duration) linear forwards;
  animation-delay: var(--delay);
  pointer-events: auto;
}

._active._fade-out .cloud-wrapper {
  pointer-events: none;
}

/* --- CLOUD VARIANTS --- */
/* Background: slow, transparent, deep */
.cloud-1 {
  --start-x: -30vw;
  --end-x: -15vw;
  --start-z: -1500px;
  --end-z: 200px;
  --duration: 18s;
  --delay: 0s;
  --max-opacity: 0.5;
  --breathe-dur: 5s;
}

.cloud-2 {
  --start-x: 20vw;
  --end-x: 10vw;
  --start-z: -1300px;
  --end-z: 300px;
  --duration: 20s;
  --delay: 0.5s;
  --max-opacity: 0.4;
  --breathe-dur: 7s;
}

.cloud-3 {
  --start-x: -10vw;
  --end-x: 5vw;
  --start-z: -1600px;
  --end-z: 100px;
  --duration: 22s;
  --delay: 2s;
  --max-opacity: 0.3;
  --breathe-dur: 6s;
}

.cloud-4 {
  --start-x: 35vw;
  --end-x: 25vw;
  --start-z: -1400px;
  --end-z: 250px;
  --duration: 19s;
  --delay: 3s;
  --max-opacity: 0.5;
  --breathe-dur: 5.5s;
}

/* Midground: normal speed, standard opacity */
.cloud-5 {
  --start-x: -20vw;
  --end-x: -35vw;
  --start-z: -800px;
  --end-z: 800px;
  --duration: 14s;
  --delay: 0s;
  --max-opacity: 0.8;
  --breathe-dur: 6s;
}

.cloud-6 {
  --start-x: 35vw;
  --end-x: 45vw;
  --start-z: -700px;
  --end-z: 850px;
  --duration: 16s;
  --delay: 2s;
  --max-opacity: 0.7;
  --breathe-dur: 5s;
}

.cloud-7 {
  --start-x: 5vw;
  --end-x: -15vw;
  --start-z: -900px;
  --end-z: 750px;
  --duration: 15s;
  --delay: 3.5s;
  --max-opacity: 0.9;
  --breathe-dur: 6.5s;
}

.cloud-8 {
  --start-x: -40vw;
  --end-x: -25vw;
  --start-z: -600px;
  --end-z: 900px;
  --duration: 17s;
  --delay: 4s;
  --max-opacity: 0.8;
  --breathe-dur: 7s;
}

/* Foreground: very fast, large, opaque */
.cloud-9 {
  --start-x: -10vw;
  --end-x: -30vw;
  --start-z: -200px;
  --end-z: 1200px;
  --duration: 11s;
  --delay: 0.5s;
  --max-opacity: 1;
  --breathe-dur: 4.5s;
}

.cloud-10 {
  --start-x: 15vw;
  --end-x: 35vw;
  --start-z: -100px;
  --end-z: 1300px;
  --duration: 12s;
  --delay: 2.5s;
  --max-opacity: 1;
  --breathe-dur: 5s;
}

.cloud-11 {
  --start-x: -25vw;
  --end-x: 0vw;
  --start-z: -300px;
  --end-z: 1100px;
  --duration: 10s;
  --delay: 3s;
  --max-opacity: 1;
  --breathe-dur: 6s;
}

.cloud-12 {
  --start-x: 20vw;
  --end-x: 5vw;
  --start-z: 0px;
  --end-z: 1400px;
  --duration: 13s;
  --delay: 4.5s;
  --max-opacity: 1;
  --breathe-dur: 5.5s;
}

.cloud-13 {
  --start-x: 5vw;
  --end-x: -20vw;
  --start-z: -150px;
  --end-z: 1250px;
  --duration: 11.5s;
  --delay: 6s;
  --max-opacity: 1;
  --breathe-dur: 4s;
}

/* Exit animation on new page */
@keyframes flyOut {
  0% {
    transform: translate3d(var(--start-x), -50vh, var(--start-z)) scale(1.5);
    opacity: var(--max-opacity);
  }

  100% {
    transform: translate3d(var(--end-x), -180vh, var(--end-z)) scale(1.5);
    opacity: 0;
  }
}

._exit .cloud-wrapper {
  animation: flyOut 3s linear both !important;
}

/* Disperse large clouds first, then medium, then small */
._exit ._fg .cloud-wrapper {
  animation-delay: 0s !important;
  animation-duration: 2s !important;
}

._exit ._mid .cloud-wrapper {
  animation-delay: 0.8s !important;
  animation-duration: 3s !important;
}

._exit ._bg .cloud-wrapper {
  animation-delay: 1.5s !important;
  animation-duration: 4s !important;
}
