@charset "UTF-8";
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

html, body {
  font: 400 var(--size-small)/1 "HeliosCond", sans-serif, sans-serif !important;
  color: #1D1D1B;
}

body {
  background: #fff;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
body::-webkit-scrollbar,
body ::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
body::-webkit-scrollbar-thumb,
body ::-webkit-scrollbar-thumb {
  background: var(--red);
}
body::-webkit-scrollbar-track,
body ::-webkit-scrollbar-track {
  background: #ccc;
}
body {
  scrollbar-face-color: var(--red);
  scrollbar-track-color: #ccc;
}
body.act {
  overflow: hidden;
}

input.error {
  border: 2px solid #e9004c !important;
}
input.error ::-webkit-input-placeholder { /* Chrome */
  color: #C51616;
}
input.error :-ms-input-placeholder { /* IE 10+ */
  color: #C51616;
}
input.error ::-moz-placeholder { /* Firefox 19+ */
  color: #C51616;
  opacity: 1;
}
input.error :-moz-placeholder { /* Firefox 4 - 18 */
  color: #C51616;
  opacity: 1;
}

::-moz-selection {
  background: #000;
  color: #fff;
}

::selection {
  background: #000;
  color: #fff;
}

::-moz-selection {
  background: #000;
  color: #fff;
}

a {
  display: inline-block;
  color: #000;
  text-decoration: underline;
  outline: none;
  transition: 0.2s;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
a:hover {
  color: #8F8F8F;
}

p {
  line-height: 28px;
  margin-bottom: 30px;
}

img {
  display: inherit;
  max-width: 100%;
}

h1, .h1 {
  position: relative;
  font: 900 35px/35px "HeliosCond", sans-serif;
  color: #8E3AA1;
  margin: 0;
}
h1 span, .h1 span {
  color: #000;
}
h1.white, .h1.white {
  color: #fff;
}
h1__desc, .h1__desc {
  color: #898989;
  font-size: 24px;
  letter-spacing: 0.28px;
  margin-top: 35px;
}

h2, .h2 {
  font: 400 36px/48px "HeliosCond", sans-serif;
  margin: 0;
}
h2.mb15, .h2.mb15 {
  margin-bottom: 15px;
}

h3, .h3 {
  font: 400 22px/28px "HeliosCond", sans-serif;
  margin: 0;
  text-transform: uppercase;
  color: #000;
}
h3-desc, .h3-desc {
  color: #9395a7;
  font-size: 16px;
  margin-top: 15px;
  margin-bottom: 50px;
}

h4, .h4 {
  font: 700 16px/24px "Open Sans";
  margin: 0;
  text-transform: uppercase;
  color: #000;
}

.up {
  text-transform: uppercase;
}

.nm {
  margin: 0;
}

.pt120 {
  padding-top: 120px;
}

.rub:after {
  content: "₽";
  margin-top: 5px;
  margin-left: 5px;
}

button,
.btn {
  position: relative;
  border: 2px solid #fff;
  color: #fff;
  font-size: 30px;
  padding: 12px 35px;
  cursor: pointer;
  outline: none;
  text-decoration: none;
  text-align: center;
  background: transparent;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
button:hover,
.btn:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}
button:focus,
.btn:focus {
  box-shadow: none;
}
button:disabled,
.btn:disabled {
  background: #f1eded;
  cursor: not-allowed !important;
  border-color: #7c7c7c;
  color: #4a4a4a;
  opacity: 1;
}
button:disabled:hover,
.btn:disabled:hover {
  color: #000;
}
button-disabled,
.btn-disabled {
  font-weight: 700;
  cursor: default;
}
button-disabled:hover,
.btn-disabled:hover {
  background: #A70A2E;
}
button-red,
.btn-red {
  border-color: #A70A2E;
  color: var(--red);
}
button-dark,
.btn-dark {
  background: #000;
  color: #fff;
}
button-dark:hover,
.btn-dark:hover {
  background: #202020;
}
button-white,
.btn-white {
  background: #000;
  color: #fff;
  border: 1px solid #fff;
}
button-big,
.btn-big {
  padding: 17px 40px;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 0.36px;
}
button-light,
.btn-light {
  display: inline-block;
  border: 2px solid #7A7A7A;
  color: #7A7A7A;
  background: transparent;
  padding: 18px 40px;
}
button-light:hover,
.btn-light:hover {
  border-color: #000;
}
button-left,
.btn-left {
  text-align: left;
}

.btn-box {
  position: relative;
  display: inline-block;
  text-align: left;
  padding-left: 50px;
}
.btn-box span:nth-child(1) {
  margin-left: -26px;
}
.btn-box span:nth-child(3) {
  position: absolute;
  left: 18px;
  transform: rotate(-90deg);
}

form {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-flow: wrap;
  flex: 1 0 100%;
}
form input:not(.btn),
form select,
form textarea {
  background: #bcbcd0;
  padding: 10px;
  outline: none;
  border: 0;
  border-radius: 0;
  margin-bottom: 30px;
  font-size: 18px;
  line-height: 18px;
  color: #202263;
  width: 100%;
  flex: 1 0 100%;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
form input:not(.btn):hover,
form select:hover,
form textarea:hover {
  background: #fdf6f6;
  padding-left: 10px;
}
form input:not(.btn).error,
form select.error,
form textarea.error {
  border-color: #ce4a4a !important;
  color: #ce4a4a !important;
  background-color: #f7e6e6;
}
form select:focus:hover {
  background: #bcbcd0;
}
form option:checked {
  background: #afafb7;
}
form button {
  border: 0;
  flex: 1;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
form button:disabled {
  background: #7c7c7c;
  cursor: not-allowed !important;
  border-color: #7c7c7c;
  opacity: 1;
}
form button:disabled:hover {
  color: #fff;
}
form button:hover {
  background: #202020;
}
form ::-webkit-input-placeholder { /* Chrome */
  color: #202263;
}
form :-ms-input-placeholder { /* IE 10+ */
  color: #202263;
}
form ::-moz-placeholder { /* Firefox 19+ */
  color: #202263;
  opacity: 1;
}
form :-moz-placeholder { /* Firefox 4 - 18 */
  color: #202263;
  opacity: 1;
}
form .desc {
  margin-top: 30px;
  font-size: 12px;
  color: #595959;
  flex: 0 0 50%;
}

.button {
  display: inline-block;
  background: #000;
  border: 0;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  line-height: 14px;
  padding: 26px 25px;
  min-width: 180px;
  cursor: pointer;
  outline: none;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
.button:hover {
  color: #fff;
  background: #202020;
}

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

.container {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-right: var(--padding-side);
  padding-left: var(--padding-side);
}
.container .description {
  padding: 40px 30px 20px;
}
.container .description p:last-child {
  margin-bottom: 1rem;
}

.flex {
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
}
.flex-jcsb {
  justify-content: space-between;
}
.flex-jcc {
  justify-content: center;
}
.flex-jcfe {
  justify-content: flex-end;
}
.flex-jcfs {
  justify-content: flex-start !important;
}
.flex-aic {
  align-items: center;
}
.flex-aife {
  align-items: flex-end;
}
.flex-wrap {
  flex-wrap: wrap;
}
.flex-end {
  justify-content: flex-end;
}
.flex-col {
  flex-direction: column;
}

.row {
  display: flex;
  flex-wrap: wrap;
}

.w100 {
  width: 100%;
}

.img-fluid {
  max-width: 100%;
}

.modal {
  position: fixed;
  top: 30%;
  left: 50%;
  width: 100%;
  max-width: 680px;
  background: #eee;
  color: #000;
  transform: translate(-50%, -50%);
  pointer-events: none;
  opacity: 0;
  z-index: 1000;
  transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
}
.modal.active {
  top: 50%;
  pointer-events: inherit;
  opacity: 1;
}
.modal__footer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal .close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  background: #2d44bf;
  z-index: 9;
  cursor: pointer;
}
.modal .close:after, .modal .close:before {
  position: absolute;
  top: 50%;
  left: calc(50% - 13px);
  content: "";
  width: 26px;
  height: 3px;
  background: #fff;
}
.modal .close:before {
  transform: rotate(45deg);
}
.modal .close:after {
  transform: rotate(-45deg);
}
.modal-content {
  padding: 30px;
  color: #000;
  border: 10px solid #2d44bf;
}
.modal-content .h3 {
  font-size: 20px;
  line-height: 30px;
  margin-bottom: 20px;
  color: #000;
  font-weight: 700;
  text-transform: none;
}
.modal-content .label {
  line-height: 16px !important;
  color: #000;
}
.modal-content .label a {
  color: inherit;
}
.modal-content form.form input,
.modal-content form.form textarea {
  width: 100%;
  margin-bottom: 30px;
  background: #fff;
  color: #000;
  border-bottom: 2px solid #e9004c;
}
.modal-content form.form button {
  background: red;
  width: 100%;
  margin-top: 50px;
}
.modal-content.thx {
  display: none;
}
.modal-content.hide {
  display: none;
}
.modal-video .modal-content {
  padding: 15px;
}
.modal-news {
  max-height: 85%;
  display: flex;
  flex-direction: column;
}
.modal-news .modal-content {
  padding: 15px;
  overflow: auto;
}
.modal-news .img {
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
}
.modal-news .img img {
  width: 100%;
}

label.custom {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
label.custom input[type=checkbox],
label.custom input[type=radio] {
  display: none;
}
label.custom .radio-custom,
label.custom .checkbox-custom {
  width: 26px;
  height: 26px;
  border: 2px solid #e9004c;
  background: #fff;
  border-radius: 0;
  position: relative;
  margin-right: 10px;
}
label.custom .radio-custom {
  border-radius: 50%;
}
label.custom .radio-custom,
label.custom .checkbox-custom,
label.custom .label {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  line-height: 13px;
  color: #8F8F8F;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
}
label.custom .label {
  width: calc(100% - 26px);
}
label.custom input[type=radio]:checked + .radio-custom,
label.custom input[type=radio]:checked + .checkbox-custom,
label.custom input[type=checkbox]:checked + .radio-custom,
label.custom input[type=checkbox]:checked + .checkbox-custom {
  background: #fff;
  border-color: #898989;
}
label.custom input[type=radio]:checked + .radio-custom + .label,
label.custom input[type=radio]:checked + .checkbox-custom + .label,
label.custom input[type=checkbox]:checked + .radio-custom + .label,
label.custom input[type=checkbox]:checked + .checkbox-custom + .label {
  color: #000;
}
label.custom input[type=radio]:checked + .radio-custom:before,
label.custom input[type=radio]:checked + .checkbox-custom:before,
label.custom input[type=checkbox]:checked + .radio-custom:before,
label.custom input[type=checkbox]:checked + .checkbox-custom:before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 5px;
  width: 8px;
  height: 8px;
  border-right: 2px solid red;
  border-bottom: 2px solid red;
  transform: rotate(45deg);
}
label.custom input[type=radio]:checked + .radio-custom:before {
  top: 4px;
  width: 6px;
  height: 6px;
  background: #fff;
  border-radius: 50%;
  border: 0;
}

.video-wrap {
  position: relative;
  padding-bottom: 56.25%; /* задаёт высоту контейнера для 16:9 (если 4:3 — поставьте 75%) */
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hidden {
  display: none;
}
.hidden.success {
  display: block;
}

.mobile_menu {
  position: fixed;
  top: 0;
  left: -100%;
  width: 75%;
  height: 100vh;
  background: #06020e url(../img/bg-header.jpg) 50%/cover;
  padding: 10px 20px;
  color: #3B3B3B;
  overflow: auto;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
  z-index: 2000;
  transition: all 0.6s ease-in-out;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
}
.mobile_menu.act {
  left: 0;
}

#dark_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  z-index: 999;
  transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
}
#dark_bg:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  z-index: -1;
}
#dark_bg.act {
  pointer-events: inherit;
  opacity: 1;
}

.red {
  color: var(--red);
}

@font-face {
  font-family: "HeliosCond";
  font-display: swap;
  src: url("../fonts/HeliosCond/HeliosCond.eot");
  src: local("^"), url("../fonts/HeliosCond/HeliosCond.woff?v=1") format("woff"), url("../fonts/HeliosCond/HeliosCond.ttf?v=1") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "HeliosCond";
  font-display: swap;
  src: url("../fonts/HeliosCond/HeliosCond-Bold.eot");
  src: local("^"), url("../fonts/HeliosCond/HeliosCond-Bold.woff?v=1") format("woff"), url("../fonts/HeliosCond/HeliosCond-Bold.ttf?v=1") format("truetype");
  font-weight: 700;
  font-style: normal;
}
:root {
  --red: #ED1C24;
  --black: #1D1D1B;
  --padding-side: 30px;
  --size-big: clamp(40px, 8vw, 140px);
  --size-medium: clamp(34px, 6vw, 100px);
  --size-small: clamp(20px, 1.6vw, 28px);
}

.size-big {
  font-weight: 700;
  font-size: var(--size-big);
  text-transform: uppercase;
  line-height: 0.8;
}

.size-medium {
  font-weight: 700;
  font-size: var(--size-medium);
  text-transform: uppercase;
}

.hero {
  background: url(../img/hero.jpg) 50%/cover;
  height: 60vw;
  max-height: 80vh;
}
.hero__logos {
  position: relative;
  display: flex;
  gap: 60px;
  padding-top: 70px;
  z-index: 20;
}
.hero .mobile {
  display: none;
}

.main {
  padding-bottom: 30px;
}
.main__text {
  position: relative;
  margin-top: -370px;
  margin-bottom: -200px;
  color: #fff;
  z-index: 50;
}
.main__text--big {
  margin-left: 424px;
  margin-bottom: -6vw;
  font-size: clamp(100px, 19vw, 340px);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 0.8;
}
.main__text--small {
  font-size: clamp(50px, 8vw, 100px);
  text-transform: uppercase;
  font-weight: 700;
  line-height: 1;
}
.main__icons {
  position: relative;
  color: #fff;
  padding: 240px 0 80px;
  z-index: 20;
}
.main__icons .iconsBox {
  display: flex;
  justify-content: space-between;
  gap: 50px 70px;
}
.main__icons .iconsBox .icon__top {
  display: flex;
  align-items: flex-end;
  font-size: 50px;
  font-weight: 700;
  height: 70px;
  margin-bottom: 10px;
}
.main__icons .iconsBox .icon__desc {
  font-size: var(--size-small);
}
.main__icons .iconsBox .icon__img {
  flex-shrink: 0;
  margin-right: 10px;
}
.main__winner {
  padding-bottom: 80px;
}
.main__winner .size-medium {
  line-height: 1;
}
.main__timeBox {
  margin-left: min(37vw, 720px);
}
.main__time {
  font-size: 50px;
  font-weight: 700;
  text-transform: uppercase;
}
.main__btn {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  position: relative;
  margin-left: min(37vw, 720px);
  margin-top: 30px;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .main__btn a {
    width: 100%;
  }
}

.stella {
  display: flex;
  align-items: flex-end;
  margin-top: max(-16vw, -360px);
}
.stella__img {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  margin-right: 30px;
  width: 35vw;
  max-width: 695px;
}
.stella__img .stella__text {
  position: absolute;
  right: calc(-50% - min(10vw, 128px));
  bottom: -8px;
  font-size: clamp(40px, 8.6vw, 150px);
  color: #fff;
  transform: rotate(270deg);
  transform-origin: left bottom;
  z-index: 20;
}
.stella__text {
  color: var(--red);
  line-height: 0.8;
}
.stella__bottom {
  margin-top: 40px;
}
.stella .iconBox {
  display: flex;
  align-items: center;
}
.stella .iconBox .text {
  display: flex;
  flex-direction: column;
  font-size: 50px;
  font-weight: 700;
  line-height: 0.9;
  margin-left: 30px;
}
.stella .iconBox .text small {
  font-weight: 400;
  font-size: var(--size-small);
}

.quest__title {
  position: relative;
  max-width: 80%;
  z-index: 20;
}
.quest__left {
  position: relative;
  width: 33%;
  padding-top: 70px;
}
.quest__left .text {
  padding-right: 100px;
  line-height: 1.2;
}
.quest__left .book {
  position: absolute;
  right: -160px;
  max-width: 34vw;
  z-index: 20;
}
.quest__right {
  width: 67%;
  margin-top: -140px;
}
.quest__right .text {
  margin: 50px 0 0 140px;
  line-height: 1.2;
}

.quest-social {
  --_gap: 30px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--_gap);
  margin-top: 150px;
}
.quest-social__title {
  font-size: 60px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--red);
}
.quest-social__title--small {
  font-size: 28px;
  color: #000;
  text-transform: none;
}
.quest-social__icons {
  display: flex;
  flex-direction: column;
  gap: var(--_gap);
  padding-top: 15px;
}
.quest-social .col-1 {
  text-align: right;
}
.quest-social .col-3 {
  align-content: end;
  margin-bottom: -35px;
}

.atmosphere {
  --line-height: 80px;
}
.atmosphere .container {
  position: absolute;
  left: 50%;
  bottom: 40px;
  transform: translateX(-50%);
  display: flex;
  justify-content: flex-end;
  color: #fff;
}
.atmosphere img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin-top: calc(-1 * var(--line-height));
}
.atmosphere .text {
  max-width: 900px;
}

.walking {
  overflow: hidden;
}
.walking::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  background: #fff;
  content: "";
  z-index: -1;
}
.walking::before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 42vw;
  height: 100%;
  background: #fff;
  z-index: -1;
  pointer-events: none;
}
.walking__top {
  display: flex;
  gap: 50px;
  margin-top: 60px;
  margin-bottom: 40px;
  max-width: 1120px;
}
.walking__bottom {
  display: flex;
  margin-bottom: max(-13vw, -200px);
}
.walking__img {
  margin-right: 50px;
}
.walking .row {
  display: flex;
  flex-wrap: nowrap;
}
.walking .row--1 {
  padding-top: 50px;
}
.walking .row--1 .walking__right {
  --mt: 150px;
  position: relative;
  margin-top: -120px;
  margin-right: -15vw;
}
.walking .row--1 .walking__right img {
  object-fit: cover;
  height: 100%;
}
.walking .row--2 .walking__right {
  position: relative;
  padding-left: 200px;
  color: var(--red);
}
.walking .row--2 .walking__right .svg path {
  fill: var(--red);
}
.walking .row--2 .iconBox {
  display: flex;
  gap: 30px;
  margin-bottom: 20px;
}
.walking .row--2 .iconBox__title {
  margin-bottom: 30px;
}
.walking .row--2 .iconBox__icon {
  min-width: 70px;
}
.walking .row--2 .iconBox__desc {
  margin: 0;
}
.walking .row--2 .iconBox__desc p {
  margin-top: 0;
  margin-bottom: 10px;
}
.walking .row--2 .iconBox:last-child {
  margin-bottom: 0;
}
.walking .row--1 .walking__left, .walking .row--2 .walking__left {
  width: calc(55% - 50px);
  padding-right: 50px;
}
.walking .iconBox__desc {
  margin-top: 15px;
  font-size: var(--size-small);
}
.walking .iconBox__desc ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0 0 30px 0;
  padding: 0 0 0 25px;
}
.walking .iconBox__title {
  font-size: 50px;
  font-weight: 700;
  margin-top: 20px;
}
.walking .btn-box {
  margin-top: 30px;
}
.walking .size-medium {
  line-height: 1;
  max-width: 1300px;
}

.parkMap__title {
  position: relative;
  max-width: 50%;
  z-index: 5;
}
.parkMap__map {
  width: 70%;
  margin-top: -230px;
}
.parkMap .list {
  display: flex;
  width: 50%;
  margin-left: -400px;
  margin-top: -300px;
}
.parkMap .list ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0 0 15px 0;
}
.parkMap .list li {
  display: flex;
  font-size: 20px;
}
.parkMap .list span {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-right: 10px;
  font-size: 16px;
  width: 26px;
  height: 26px;
  color: #fff;
  border-radius: 50%;
  background: radial-gradient(49.53% 82.91% at 49.53% 49.54%, #F49942 0%, #ED6E13 80.38%);
}
.parkMap .list span.red {
  background: var(--red);
}
.parkMap .container {
  display: flex;
  flex-wrap: wrap;
}
.parkMap .btn-box {
  margin: auto;
}

.interactive .size-big {
  text-align: right;
  z-index: 1;
}
.interactive__img {
  width: 100%;
}
.interactive__box {
  width: calc(100% / var(--row) - var(--gap) * (var(--row) - 1) / var(--row));
}
.interactive__box .title {
  font-weight: 700;
  margin-bottom: 10px;
  color: var(--color);
}
.interactive__tabBox .tabs {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin: 80px 0 60px;
  padding: 0;
  list-style: none;
}
.interactive__tabBox .tabs .tab {
  position: relative;
  padding: 10px 30px;
  text-align: center;
  cursor: pointer;
}
.interactive__tabBox .tabs .tab:after {
  display: inline-block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  width: 100%;
  height: 2px;
  background: var(--color);
  transition: 0.25s;
}
.interactive__tabBox .tabs .tab.active {
  font-weight: 700;
  color: var(--color);
}
.interactive__tabBox .tabs .tab.active:after {
  height: 4px;
}
.interactive__tabBox .tab-item {
  --row: 3;
  --gap: 50px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
}
.interactive__tabBox .tab-item.photo {
  display: flex;
  align-items: center;
  gap: 0;
}
.interactive__tabBox .tab-item.photo .photo__left {
  width: 50%;
}
.interactive__tabBox .tab-item.photo .photo__right {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: 50%;
  padding-left: 30px;
}
.interactive__tabBox .tab-item.photo .photo__right .interactive__box {
  width: 100%;
}
.interactive .container {
  display: flex;
  flex-wrap: wrap;
}
.interactive .btn-box {
  margin: auto;
}

.mesto {
  --line-height: 80px;
  position: relative;
}
.mesto .container {
  position: absolute;
  top: 30%;
}
.mesto .container .text {
  position: absolute;
  left: 40vw;
  color: #fff;
  z-index: 20;
}
.mesto img {
  object-fit: cover;
  object-position: left;
  width: 100%;
  height: 100%;
  margin-top: calc(-1 * var(--line-height));
}

.partners .container {
  display: flex;
}
.partners .text {
  display: flex;
  align-items: center;
}
.partners .partnerBox {
  --_gap: 4vw;
  --_row: 4;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--_gap);
  text-align: center;
  margin-left: 100px;
  width: 100%;
}
.partners .partnerBox .partner {
  flex-shrink: 0;
  align-self: start;
  width: calc(100% / var(--_row) - var(--_gap) * (var(--_row) - 1) / var(--_row));
}
.partners .partnerBox .partner__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
  min-height: 80px;
}
.partners .partnerBox .partner__logo img {
  max-height: 80px;
}
.partners .partnerBox .partner__title {
  font-size: 20px;
}
.partners-mini {
  padding-top: 0 !important;
}
.partners-mini .size-big {
  font-size: 36px;
}

.contacts .container {
  display: flex;
  flex-wrap: wrap;
}
.contacts .size-big {
  margin-bottom: 50px;
  flex: 1 0 100%;
}
.contacts .contact-map {
  width: calc(80% - 30px);
  margin-bottom: -100px;
}
.contacts .contact-info {
  width: 20%;
  margin-top: 5vw;
  margin-left: 30px;
}
.contacts .contact-info .icon-row {
  margin-bottom: 20px;
}
.contacts .contact-info .icon-row a {
  color: #fff;
  text-decoration: none;
}

.icon-row {
  display: flex;
}
.icon-row img, .icon-row .svg {
  margin-right: 15px;
}

.section {
  position: relative;
}
.section-walking {
  margin-top: 200px;
  padding-top: 70px;
  z-index: 90;
}
.section-map {
  margin-top: calc(100px + 5vw);
}
.section-quest {
  margin-top: 100px;
  padding: 100px 0;
}
.section-quest .container {
  display: flex;
  flex-wrap: wrap;
}
.section-atmosphere, .section-interactive, .section-mesto {
  margin-top: 150px;
}
.section-atmosphere {
  padding-top: 80px;
}
.section--bgRed {
  background: linear-gradient(279.86deg, #ED1C24 35.94%, #A70A2E 139.02%);
  color: #fff;
}
.section-partners {
  padding: 140px 0 120px;
}
.section-contacts {
  padding-top: 70px;
}
.section .lines {
  position: sticky;
  top: var(--line-height);
  width: 100%;
  height: var(--line-height);
  background: rgba(255, 255, 255, 0.7);
}
.section .lines:before, .section .lines:after {
  position: absolute;
  display: inline-block;
  content: "";
  width: 100%;
  height: 100%;
}
.section .lines:before {
  top: -100%;
  background: rgba(255, 255, 255, 0.9);
}
.section .lines:after {
  bottom: -100%;
  background: rgba(255, 255, 255, 0.5);
}

.footer {
  margin-top: 100px;
  padding: 30px 0 20px 0;
  font-size: 18px;
}

#popup {
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 1000;
  display: none;
}

.popup-shadow {
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: black;
  opacity: 0.6;
  z-index: 1;
}

.popup > .box {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  text-align: center;
}
.popup .cross {
  height: 40px;
  width: 40px;
  position: absolute;
  top: 28px;
  right: 28px;
  border: 1px solid #d0bf7d;
  -webkit-border-radius: 50%;
  -khtml-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  background-image: none;
  cursor: pointer;
}
.popup .cross:before, .popup .cross:after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  width: 60%;
  top: 50%;
  left: 20%;
  background-color: #221004;
}
.popup .cross:before {
  transform: rotate(45deg);
}
.popup .cross:after {
  transform: rotate(-45deg);
}
.popup .form-box, .popup .message {
  position: relative;
  display: inline-block;
  padding: 40px 30px 50px;
  box-sizing: border-box;
  background-color: white;
  text-align: left;
  z-index: 2;
}
.popup .item-added {
  text-align: center;
}
.popup .item-added .button {
  height: auto;
  margin: 10px;
  line-height: 1.2;
  padding-top: 10px;
  padding-bottom: 10px;
}

.popUpBox-container {
  position: fixed;
  display: none;
  flex-direction: column;
  align-items: center;
  z-index: 999;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: transparent;
  transform: none;
}
.popUpBox-container.opened {
  display: flex;
  background: rgba(0, 0, 0, 0.8);
}

.popUpBox {
  display: flex;
  width: 90%;
  max-width: 460px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  margin: 0;
  text-align: center;
  padding: 40px 20px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  color: #000;
}
.popUpBox.show {
  opacity: 1;
  pointer-events: all;
}
.popUpBox__text {
  flex: 1;
  font-size: 22px;
  line-height: 1.5;
  padding-right: 10px;
}
.popUpBox__close {
  position: absolute;
  right: 25px;
  top: 10px;
  width: 24px;
  cursor: pointer;
  flex: 0 0 24px;
  height: 24px;
  transition: 0.25s;
}
.popUpBox__close span {
  position: absolute;
  top: calc(50% - 1px);
  display: inline-block;
  width: 100%;
  height: 2px;
  background: #000;
  transition: 0.25s;
}
.popUpBox__close span:nth-child(1) {
  transform: rotate(-45deg);
}
.popUpBox__close span:nth-child(2) {
  transform: rotate(45deg);
}
.popUpBox__close:hover {
  transform: scale(1.2);
}

.section-promo {
  position: relative;
  margin-top: 60px;
  background: #E41B25;
  color: #fff;
  padding-block: 30px;
  margin-top: 150px;
}
.section-promo::before {
  content: "";
  position: absolute;
  top: -53px;
  left: 0;
  width: 100%;
  height: 53px;
  background-image: url("data:image/svg+xml,%3Csvg width='1917' height='53' viewBox='0 0 1917 53' preserveAspectRatio='none' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.182617 53.5549H1917V18.9674L1789.81 44.629L1607.94 0L1237.52 29.0089L956.36 0L515.648 29.0089L161.963 0L0.182617 53.5549Z' fill='%23E41B25'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.section-promo::after {
  content: "";
  position: absolute;
  bottom: -74px;
  left: 0;
  width: 100%;
  height: 74px;
  background-image: url("data:image/svg+xml,%3Csvg width='1920' height='74' viewBox='0 0 1920 74' preserveAspectRatio='none' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_4290_377)'%3E%3Cpath d='M1920 -5.89767H-2.396V5.25954L191.74 21.9954L580.013 5.25954L860.06 37.6156L1229.37 5.25954L1586.4 74.4346L1788.34 5.25954L1920 55.4672V-5.89767Z' fill='%23E41B25'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_4290_377'%3E%3Crect width='1920' height='74' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.section-promo .main__time {
  margin-top: 30px;
}
.section-promo .promo-rules {
  margin-top: 30px;
}
.section-promo .promo-rules .btn-box {
  color: #fff;
  border-color: #fff;
}
@media screen and (max-width: 767px) {
  .section-promo .main__time {
    font-size: 24px;
  }
}

.promo-container {
  --row: 3;
  --gap: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin-top: 30px;
}
.promo-container .box {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  width: calc((100% - var(--gap) * (var(--row) - 1)) / var(--row));
  border-radius: 0;
  padding: 15px;
  color: #000;
  background: #fff;
}
.promo-container .box .count {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 700;
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  width: 50px;
  height: 50px;
}
.promo-container .box .text {
  text-align: center;
  text-wrap: balance;
}
.promo-container .box .desc {
  margin-top: auto;
}
.promo-container .box .desc img {
  max-height: 50px;
}
@media screen and (max-width: 767px) {
  .promo-container {
    --row: 2;
    --gap: 10px;
  }
  .promo-container .box .count {
    font-size: 24px;
    width: 40px;
    height: 40px;
  }
}

.section-after-promo {
  margin-top: 50px;
}
.section-after-promo .gp-container {
  --row: 12;
  --gap: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap);
  margin-top: 50px;
}
@media screen and (max-width: 1399px) {
  .section-after-promo .gp-container {
    --row: 6;
  }
}
@media screen and (max-width: 767px) {
  .section-after-promo .gp-container {
    --row: 4;
    --gap: 15px;
  }
}
.section-after-promo .gp-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  width: calc((100% - var(--gap) * (var(--row) - 1)) / var(--row));
  font-size: 18px;
  text-align: center;
}
.section-after-promo .gp-box__img img {
  max-height: 100px;
}
@media screen and (max-width: 767px) {
  .section-after-promo .gp-box {
    font-size: 16px;
  }
  .section-after-promo .gp-box__img img {
    max-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .section-after-promo {
    margin-top: 80px;
  }
  .section-after-promo .main__time {
    font-size: 24px;
  }
}

/*# sourceMappingURL=style.css.map */
