@font-face {
  font-family: "Geist";
  font-weight: 400;
  font-style: normal;
  src: local("Geist Regular"), local("Geist-Regular"), url("../fonts/Geist-Regular.woff2") format("woff2"), url("../fonts/Geist-Regular.woff") format("woff"), url("../fonts/Geist-Regular.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Geist";
  font-weight: 500;
  font-style: normal;
  src: local("Geist Medium"), local("Geist-Medium"), url("../fonts/Geist-Medium.woff2") format("woff2"), url("../fonts/Geist-Medium.woff") format("woff"), url("../fonts/Geist-Medium.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "MV-WEEKEND";
  font-weight: 400;
  font-style: normal;
  src: local("MV-WEEKEND"), local("MV-WEEKEND"), url("../fonts/MV-WEEKEND.woff2") format("woff2"), url("../fonts/MV-WEEKEND.woff") format("woff"), url("../fonts/MV-WEEKEND.ttf") format("truetype");
  font-display: swap;
}

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

table {
  border-collapse: collapse;
}

ol,
ul,
li {
  list-style: none;
}

a,
a:visited {
  text-decoration: none;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

button,
label {
  cursor: pointer;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

hr {
  width: 100%;
  height: 1px;
  background-color: #BEBEBE;
}

blockquote {
  margin-bottom: 8px;
}

b,
strong {
  font-weight: 600;
}

em {
  font-style: italic;
}

figure figcaption {
  margin-top: 8px;
}

figure img {
  margin: 0;
}

img,
figure,
svg,
video,
iframe {
  display: block;
  max-width: 100%;
}

svg {
  max-height: 100%;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

* {
  padding: 0;
  border: 0;
  margin: 0;
}

a,
button,
input,
textarea {
  background-color: transparent;
  -webkit-tap-highlight-color: transparent;
}

label {
  display: block;
}

input,
textarea {
  font-family: inherit;
  width: 100%;
}

textarea {
  resize: none;
  overflow: hidden;
}

textarea::-webkit-resizer {
  display: none;
}

button:focus,
input:focus,
textarea:focus {
  outline: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
}

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

*::-webkit-input-placeholder {
  font: inherit;
  opacity: 1;
}

*::-moz-placeholder {
  font: inherit;
  opacity: 1;
}

*:-ms-input-placeholder {
  font: inherit;
  opacity: 1;
}

*::-ms-input-placeholder {
  font: inherit;
  opacity: 1;
}

*::placeholder {
  font: inherit;
  opacity: 1;
}

:root {
  --content-width: 136rem;
  --container-offset: 4rem;
  --container-width: calc(var(--content-width) + (var(--container-offset) * 2));
  --font-family: "Geist", sans-serif;
  --font-family-heading: "MV-WEEKEND", sans-serif;
  --black: #001229;
  --black-rgb: 0, 18, 41;
  --white: #ffffff;
  --white-rgb: 255, 255, 255;
  --primary: #e91c3c;
  --primary-rgb: 233, 28, 60;
  --secondary: #fc5124;
  --dark-red: #BC0A23;
  --accent: #ffc600;
  --blue: #1766c7;
  --blue-rgb: 23, 102, 199;
  --beige: #f5edd8;
  --gray: rgba(17, 17, 17, 0.4);
  --gray-dark: #848484;
  --error-color: #fc5124;
  --scrollbar-color: transparent;
  --scrollbar-thumb-color: #e91c3c;
  --main-offset: 1.6rem;
}

/*=== Swiper ===*/

.swiper {
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.swiper-fade,
.swiper-wrapper {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.swiper-3d {
  -webkit-perspective: 120rem;
  perspective: 120rem;
}

.swiper-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.swiper-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
}

.swiper-wrapper {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.swiper-slide {
  display: block;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

.swiper-slide-active {
  z-index: 2;
}

.swiper-scrollbar {
  height: 0.5rem;
  padding: 0.1rem;
  border-radius: 1.6rem;
  background: rgba(183, 183, 183, 0.58);
  -webkit-box-shadow: 0 0.57px 2.27px 0 rgba(0, 0, 0, 0.07) inset;
  box-shadow: 0 0.57px 2.27px 0 rgba(0, 0, 0, 0.07) inset;
  margin-top: 2.4rem;
}

.swiper-scrollbar:first-child {
  margin-top: 0;
}

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

.swiper-scrollbar-drag {
  height: 100%;
  border-radius: 1.6rem;
  background: #d1cec5;
  -webkit-box-shadow: 0 4px 2.27px 0 rgba(0, 0, 0, 0.18) inset;
  box-shadow: 0 4px 2.27px 0 rgba(0, 0, 0, 0.18) inset;
}

.swiper-pagination-bullet-active {
  background: var(--black);
  pointer-events: none;
}

.swiper-4 {
  overflow: hidden;
}

.swiper-4 .swiper {
  overflow: visible;
}

html,
body {
  height: 100%;
  scroll-behavior: smooth;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb,
.custom-scroll::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb-color);
  background-clip: padding-box;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 8px;
  background-color: var(--scrollbar-color);
}

.custom-scroll::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: transparent;
}

html {
  font-size: 0.625rem;
}

body {
  font-family: var(--font-family);
  font-size: clamp(1.6rem, 1.55rem + 0.15vw, 1.8rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--black);
  font-variant-numeric: lining-nums;
  min-width: 320px;
  background: var(--beige);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  word-break: break-word;
  overflow-x: hidden;
}

.wrap {
  min-height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: hidden;
}

.wrap::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: beige;
  -webkit-transition: all 1s ease-out;
  transition: all 1s ease-out;
  z-index: 1000;
}

.wrap.loaded::before {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.no-scroll {
  overflow: hidden;
}

.main {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  padding-top: var(--main-offset);
}

button,
a {
  color: var(--black);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
.text-l,
.main-btn,
.stroke-btn,
.link {
  font-family: var(--font-family-heading);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.text-l {
  font-size: 3.2rem;
}

h1,
.h1,
h2,
.h2 {
  font-size: 3.2rem;
}

h3,
.h3 {
  font-size: clamp(2.4rem, 1.22rem + 1.53vw, 3.4rem);
}

h4,
.h4 {
  font-size: clamp(2rem, 1.53rem + 0.61vw, 2.4rem);
}

h5,
.h5 {
  font-size: clamp(1.8rem, 1.75rem + 0.15vw, 2rem);
}

p a:hover {
  color: var(--accent);
}

.container {
  width: 100%;
  max-width: var(--container-width);
  padding: 0 var(--container-offset);
  margin: 0 auto;
}

.fixed-block {
  min-width: 320px;
}

.media-el img {
  width: 100%;
}

.media-cover,
.media-contain {
  display: block;
  position: relative;
  overflow: hidden;
}

.media-cover img,
.media-cover video,
.media-cover iframe,
.media-contain img,
.media-contain video,
.media-contain iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.media-cover {
  background: url(../img/svg/skeleton.svg) center/cover, no-repeat;
}

.media-cover img,
.media-cover video,
.media-cover iframe {
  -o-object-fit: cover;
  object-fit: cover;
}

.media-contain img,
.media-contain video,
.media-contain iframe {
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  margin: auto;
}

.btn {
  line-height: 1;
  text-align: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  cursor: pointer;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.btn svg {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  pointer-events: none;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.btn:disabled,
.btn .disabled {
  pointer-events: none;
}

.main-btn,
.stroke-btn {
  font-size: clamp(2.4rem, 1.22rem + 1.53vw, 3.4rem);
  color: var(--black);
}

.main-btn span,
.stroke-btn span {
  width: 100%;
  padding: 1rem 1.9rem 0.7rem;
  border-radius: 5rem;
  border: 1px solid transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.main-btn svg,
.stroke-btn svg {
  fill: var(--black);
}

.main-btn {
  position: relative;
  z-index: 1;
}

.main-btn span {
  background: var(--accent);
}

.main-btn:before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 5rem;
  background: var(--secondary);
  position: absolute;
  top: 0.4rem;
  left: 0;
  z-index: -1;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.main-btn:hover::before {
  top: 0;
}

.stroke-btn span {
  border-color: var(--black);
}

.stroke-btn--light {
  color: var(--beige);
}

.stroke-btn--light span {
  border-color: var(--beige);
}

.stroke-btn--light svg {
  fill: var(--beige);
}

.stroke-btn--light:hover {
  color: var(--black);
}

.stroke-btn:hover span {
  background: var(--accent);
  border-color: var(--accent);
}

.btn-cross {
  min-width: 2.4rem;
  position: relative;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.btn-cross:before,
.btn-cross:after {
  content: "";
  width: 2.4rem;
  display: block;
  height: 0.2rem;
  background: var(--beige);
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.btn-cross:before {
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.btn-cross:after {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

.link {
  font-size: clamp(2.4rem, 1.22rem + 1.53vw, 3.4rem);
  display: inline-block;
}

.link:hover {
  color: var(--accent) !important;
}

.section {
  margin-bottom: 8rem;
}

.section:not(section):last-child {
  margin-bottom: 0;
}

.dark-sec {
  color: var(--beige);
}

.dark-sec p a {
  color: var(--beige);
}

.dark-sec .link {
  color: var(--beige);
}

.sec-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}

.sec-top:not(section):last-child {
  margin-bottom: 0;
}

.sec-top h2,
.sec-top .h2 {
  -ms-flex-line-pack: center;
  align-content: center;
}

.page-content > *:first-child {
  margin-top: 0;
}

.page-content > *:last-child {
  margin-bottom: 0;
}

.page-content h1,
.page-content h2,
.page-content h3,
.page-content hr {
  margin-top: 2.4rem;
}

.page-content h1:first-child,
.page-content h2:first-child,
.page-content h3:first-child,
.page-content hr:first-child {
  margin-top: 0;
}

.page-content h1,
.page-content h2,
.page-content h3,
.page-content h4,
.page-content h5,
.page-content h6,
.page-content p {
  margin-bottom: 0.8rem;
}

.page-content h1:not(section):last-child,
.page-content h2:not(section):last-child,
.page-content h3:not(section):last-child,
.page-content h4:not(section):last-child,
.page-content h5:not(section):last-child,
.page-content h6:not(section):last-child,
.page-content p:not(section):last-child {
  margin-bottom: 0;
}

.page-content hr,
.page-content ol,
.page-content ul {
  margin-bottom: 2rem;
}

.page-content hr:not(section):last-child,
.page-content ol:not(section):last-child,
.page-content ul:not(section):last-child {
  margin-bottom: 0;
}

.page-content hr {
  background: var(--gray-dark);
}

.page-content ol,
.page-content ul {
  padding-left: 3.2rem;
}

.page-content li::marker {
  font: inherit;
}

.page-content ol li {
  list-style-type: decimal;
}

.page-content ul li {
  list-style-type: disc;
}

.page-content img,
.page-content figure,
.page-content iframe,
.page-content video {
  overflow: hidden;
  margin: 4rem 0;
}

.grid-2col {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 2rem 1rem;
}

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

.mb-32:not(section):last-child {
  margin-bottom: 0;
}

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

.mb-24:not(section):last-child {
  margin-bottom: 0;
}

.mb-20 {
  margin-bottom: 2rem;
}

.mb-20:not(section):last-child {
  margin-bottom: 0;
}

.accordion.active .btn-cross {
  -webkit-transform: rotate(0);
  transform: rotate(0);
}

.accordion.active .accordion__icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.accordion .btn-cross {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.accordion__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  cursor: pointer;
}

.accordion__body {
  display: none;
}

.accordion__icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 2.4rem;
  height: 2.4rem;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.accordion__icon svg {
  width: 100%;
  height: 100%;
  stroke: var(--beige);
}

[data-animation] {
  opacity: 0;
}

[data-animation=scaleUp] {
  -webkit-transform: scale(0);
  transform: scale(0);
}

.fadeIn {
  opacity: 0;
  -webkit-animation: fadeIn 0.8s calc(var(--item-i, 0) * 70ms) forwards;
  animation: fadeIn 0.8s calc(var(--item-i, 0) * 70ms) forwards;
}

.fadeUp {
  opacity: 0;
  -webkit-animation: fadeUp 0.8s calc(var(--item-i, 0) * 70ms) forwards;
  animation: fadeUp 0.8s calc(var(--item-i, 0) * 70ms) forwards;
}

.fadeRight {
  opacity: 0;
  -webkit-animation: fadeRight 0.8s calc(var(--item-i, 0) * 70ms) forwards;
  animation: fadeRight 0.8s calc(var(--item-i, 0) * 70ms) forwards;
}

.scaleUp {
  opacity: 0;
  -webkit-animation: scaleUp 0.8s calc(var(--item-i, 0) * 70ms) forwards ease-in-out;
  animation: scaleUp 0.8s calc(var(--item-i, 0) * 70ms) forwards ease-in-out;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem);
    transform: translateY(3rem);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(3rem);
    transform: translateY(3rem);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes fadeRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(3rem);
    transform: translateX(3rem);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@-webkit-keyframes scaleUp {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes scaleUp {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}

.ui-control.error [data-error] {
  display: block;
}

.ui-input {
  margin-bottom: 1.2rem;
  position: relative;
}

.ui-input:not(section):last-child {
  margin-bottom: 0;
}

.ui-input input,
.ui-input textarea {
  font: inherit;
  line-height: 1;
  color: var(--beige);
  padding: 1rem 1.2rem;
  border: 1px solid var(--beige);
  border-radius: 1.6rem;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.ui-input input::-webkit-input-placeholder,
.ui-input textarea::-webkit-input-placeholder {
  color: var(--beige);
}

.ui-input input::-moz-placeholder,
.ui-input textarea::-moz-placeholder {
  color: var(--beige);
}

.ui-input input:-ms-input-placeholder,
.ui-input textarea:-ms-input-placeholder {
  color: var(--beige);
}

.ui-input input::-ms-input-placeholder,
.ui-input textarea::-ms-input-placeholder {
  color: var(--beige);
}

.ui-input input::placeholder,
.ui-input textarea::placeholder {
  color: var(--beige);
}

.ui-input textarea {
  min-height: 15rem;
  resize: none;
}

.ui-checkbox {
  cursor: pointer;
}

.ui-checkbox input {
  display: none;
}

.ui-checkbox input:checked + span:after {
  opacity: 1;
}

.ui-checkbox span {
  min-height: 1.8rem;
  display: block;
  padding-left: 2.4rem;
  position: relative;
}

.ui-checkbox span:before,
.ui-checkbox span:after {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.ui-checkbox span::before {
  width: 1.8rem;
  height: 1.8rem;
  border: 1px solid var(--beige);
  border-radius: 0.6rem;
  top: 0;
  left: 0;
}

.ui-checkbox span:after {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--beige);
  top: 0.4rem;
  left: 0.4rem;
  opacity: 0;
}

.ui-checkbox span a {
  text-decoration: underline;
}

[data-error] {
  font-size: clamp(1.2rem, 1.151rem + 0.13vw, 1.4rem);
  display: none;
  margin-top: 0.4rem;
  color: var(--error-color);
}

.form__grid {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 0.6rem;
}

.form__grid .ui-input {
  margin: 0;
}

.form__footer {
  margin-top: 1.6rem;
}

.form__footer:first-child {
  margin-top: 0;
}

.form__footer .btn {
  width: 100%;
  margin-top: 1.6rem;
}

.form__footer .btn:first-child {
  margin-top: 0;
}

.map {
  height: 100%;
  border-radius: 1.6rem;
  overflow: hidden;
}

.map [class*=copyrights-pane] {
  display: none !important;
}

.map [class*=ground-pane] {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.header {
  position: relative;
  z-index: 501;
  -webkit-transition: -webkit-transform 0.4s ease-out;
  transition: -webkit-transform 0.4s ease-out;
  transition: transform 0.4s ease-out;
  transition: transform 0.4s ease-out, -webkit-transform 0.4s ease-out;
}

.header .main-btn {
  font-size: 2.4rem;
}

.header.show-menu .header__menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  -webkit-filter: blur(0px);
  filter: blur(0px);
}

.header--main {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  /*  &.scroll {
       &.unshow {
           transform: translateY(-100%);
       }
   } */
}

.header--main .header__top .header__row {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header--main .header__top .header__logo,
.header--main .header__top .main-btn {
  display: none;
}

.header--main .header__top .header__access {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.header--main .menu-show-btn {
  color: var(--beige);
}

.header--main .menu-show-btn span {
  border-color: var(--beige);
}

.header--main .menu-show-btn svg {
  fill: var(--beige);
}

.header--main .menu-show-btn:hover {
  color: var(--black);
}

.header__row {
  padding: 2rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 2rem 1rem;
}

.header__access {
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.header__access span {
  font-family: var(--font-family-heading);
  font-weight: 400;
  color: var(--beige);
  line-height: 1;
  text-transform: uppercase;
}

.header__access span:first-child {
  font-size: 3.4rem;
}

.header__access span:last-child {
  font-size: clamp(2.4rem, 1.22rem + 1.53vw, 3.4rem);
}

.header__nav {
  margin: auto 0;
}

.header__nav ul li {
  margin-bottom: 2rem;
}

.header__nav ul li:not(section):last-child {
  margin-bottom: 0;
}

.header__nav ul li a {
  font-size: 2.4rem;
  font-family: var(--font-family-heading);
  font-weight: 400;
  line-height: 1;
  text-transform: uppercase;
}

.header__social {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 2.4rem;
}

.header__social:first-child {
  margin-top: 0;
}

.header__menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/svg/menu-bg.svg) bottom right/24.35% auto no-repeat, var(--beige);
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: visibility 0.3s linear, opacity 0.3s linear, -webkit-filter 0.3s linear;
  transition: visibility 0.3s linear, opacity 0.3s linear, -webkit-filter 0.3s linear;
  transition: visibility 0.3s linear, opacity 0.3s linear, filter 0.3s linear;
  transition: visibility 0.3s linear, opacity 0.3s linear, filter 0.3s linear, -webkit-filter 0.3s linear;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  z-index: 1;
}

.header__menu .custom-scroll {
  height: 100%;
  padding-bottom: 3.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  overflow: auto;
}

.header__menu .container {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.header__logo {
  width: 100%;
  max-width: 32.2rem;
}

.header__logo img {
  width: 100%;
  margin-bottom: 2rem;
}

.header__logo img:not(section):last-child {
  margin-bottom: 0;
}

.header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.menu-show-btn span,
.menu-close-btn span {
  min-width: 11.1rem;
}

.breadcrumbs {
  margin-bottom: 2rem;
}

.breadcrumbs:not(section):last-child {
  margin-bottom: 0;
}

.breadcrumbs ul {
  padding: 1.4rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid var(--gray-dark);
  border-bottom: 1px solid var(--gray-dark);
}

.breadcrumbs ul li {
  font-weight: 500;
  text-transform: uppercase;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.breadcrumbs ul li:after {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: var(--black);
  border-radius: 50%;
  margin-left: 1rem;
}

.breadcrumbs ul li:last-child {
  color: var(--black);
}

.breadcrumbs ul li:last-child:after {
  display: none;
}

.breadcrumbs ul li a {
  color: var(--gray-dark);
}

.breadcrumbs ul li a:hover {
  color: var(--black);
}

.hero {
  position: relative;
  margin-top: calc(var(--main-offset) * -1);
}

.hero:not(:last-child) {
  margin-bottom: calc(10vw + 15rem);
}

.hero .container {
  min-height: max(210vw, 100vh - 5.5rem);
  padding-top: 16rem;
  padding-bottom: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  z-index: 1;
}

.hero .main-btn {
  font-size: 2.4rem;
  min-width: 24.6rem;
}

.hero::before {
  content: "";
  width: 100%;
  min-width: 37.5rem;
  height: 29vw;
  min-height: 15rem;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/svg/hero-clouds-mob.svg) center top/100% auto no-repeat;
  pointer-events: none;
}

.hero-main .hero__logo {
  width: 100%;
  max-width: 34.3rem;
}

.hero-404.hero__logo,
.hero .hero__content {
  width: 24.6rem;
}

.hero__logo img {
  width: 100%;
}

.hero__anim {
  position: absolute;
  bottom: -15%;
  left: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.hero__anim svg,
.hero__anim img {
  width: 100%;
  height: 100%;
}

.hero__anim img {
  -o-object-fit: cover;
  object-fit: cover;
}

.hero__anim--desktop,
.hero__anim--tablet {
  display: none;
}

.hero__content {
  text-align: center;
  margin-top: 1.6rem;
  margin-bottom: 2rem;
}

.hero__content:first-child {
  margin-top: 0;
}

.hero__content:not(section):last-child {
  margin-bottom: 0;
}

.about {
  position: relative;
  z-index: 1;
  margin-bottom: 11rem;
}

.about__inner {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  padding: 1.6rem;
  background: var(--primary);
  position: relative;
}

.about__bg {
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  z-index: -1;
}

.about__bg--1 {
  background: url(../img/svg/about-bg-l.svg) center/contain no-repeat;
  left: 50%;
  -webkit-transform: translate(-50%, -16.5%);
  transform: translate(-50%, -16.5%);
}

.about__bg--2 {
  background: url(../img/svg/about-bg-r.svg) center/contain no-repeat;
  right: 50%;
  -webkit-transform: translate(50%, -83.5%);
  transform: translate(50%, -83.5%);
}

.about .page-content h1,
.about .page-content h2,
.about .page-content h3 {
  margin-top: 1.2rem;
}

.about + .section {
  position: relative;
  z-index: 1;
}

.partners .media-contain {
  padding-top: 60%;
}

.headliner {
  background: var(--blue);
}

.headliner__inner {
  min-height: 15rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  z-index: 1;
}

.headliner__name,
.headliner__date {
  font-size: clamp(5rem, 15.972vw, 23rem) !important;
  line-height: 0.7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.headliner__artist {
  width: clamp(41rem, 62%, 77rem);
  position: absolute;
  bottom: 0;
  left: 44%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
}

.headliner__place {
  margin-top: auto;
}

.headliner__date {
  -webkit-transform: translateY(0.1em);
  transform: translateY(0.1em);
}

.program .sec-top {
  padding: clamp(1rem, 1.111vw, 1.6rem);
  display: block;
  text-align: center;
  background: var(--beige);
  margin-bottom: 0;
}

.program .sec-top h2,
.program .sec-top .h2 {
  color: var(--secondary);
}

.program .grid-2col {
  gap: 0 !important;
}

.program .program__list:not(.active) .accordion__icon {
  -webkit-transform: none;
  transform: none;
}

.program__inner {
  padding-top: clamp(2rem, 2.777vw, 4rem);
  background: var(--secondary);
  border-radius: 1.6rem;
}

.program__col {
  height: 100%;
  padding: clamp(2rem, 2.777vw, 4rem) clamp(2rem, 1.805vw, 2.6rem);
  border-radius: 1.6rem;
  background: url(../img/svg/program-col-bg-1.svg) top 3rem center no-repeat, var(--secondary);
}

.program__col:nth-child(2n) {
  background: url(../img/svg/program-col-bg-2.svg) top 3rem center no-repeat, var(--primary);
}

.program__col-title {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  line-height: 0.9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.program__col-title span {
  font-size: clamp(2.4rem, 1.22rem + 1.53vw, 3.4rem);
}

.program__list-wrapper {
  padding-top: clamp(1.6rem, 2.604vw, 2rem);
}

.program__list {
  padding: clamp(1.6rem, 2.604vw, 2rem) 0;
  border-bottom: 1px solid var(--beige);
}

.program__list:first-child {
  border-top: 1px solid var(--beige);
}

.program__items {
  padding-top: clamp(1.6rem, 2.604vw, 2rem);
}

.item-program {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.item-program:not(section):last-child {
  margin-bottom: 0;
}

.item-program__date {
  min-width: clamp(4rem, 3.541vw, 5.1rem);
}

.item-program__content .page-content {
  margin-top: 0.8rem;
}

.item-program__content .page-content:first-child {
  margin-top: 0;
}

.item-program__content .page-content p,
.item-program__content .page-content li {
  font-size: clamp(1.2rem, 1.151rem + 0.13vw, 1.4rem);
}

.how-to-get__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: clamp(0.4rem, 1.302vw, 1rem);
  row-gap: 1rem;
}

.how-to-get__map {
  min-height: 100%;
  height: 36.6rem;
  overflow: hidden;
}

.gallery {
  overflow: hidden;
}

.gallery .swiper {
  overflow: visible;
}

.gallery .swiper:before,
.gallery .swiper:after {
  content: "";
  width: 100vw;
  min-width: 320px;
  height: 1.5rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(../img/svg/rect-bg.svg) left top/1.7rem 1.5rem repeat-x;
  pointer-events: none;
  z-index: 1;
}

.gallery .swiper:before {
  top: 0.5rem;
}

.gallery .swiper:after {
  bottom: 0;
}

.gallery .swiper-wrapper {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.gallery .swiper-slide {
  width: 91.83%;
}

.gallery .swiper-slide:nth-child(2n) {
  width: 66.76%;
}

.gallery .swiper-slide img {
  width: 100%;
}

.cookie {
  width: calc(100% - var(--container-offset) * 2);
  max-width: var(--content-width);
  position: fixed;
  bottom: var(--container-offset);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-transition: visibility 0.3s linear, opacity 0.3s linear, bottom 0.3s linear;
  transition: visibility 0.3s linear, opacity 0.3s linear, bottom 0.3s linear;
  z-index: 400;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  z-index: 501;
}

.cookie.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.cookie p {
  color: var(--beige);
}

.cookie p a {
  font-weight: 500;
  color: var(--beige);
  text-decoration: underline;
}

.cookie__inner {
  padding: 1rem 1.2rem;
  border-radius: 1.6rem;
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 1rem;
  background: rgba(var(--blue-rgb), 0.42);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  margin-left: auto;
}

.modal {
  visibility: hidden;
  opacity: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: rgba(23, 102, 199, 0.09);
  -webkit-backdrop-filter: blur(1rem);
  backdrop-filter: blur(1rem);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  overflow: auto;
  -webkit-transition: all 0.3s 0.1s ease-out;
  transition: all 0.3s 0.1s ease-out;
}

.modal.open {
  visibility: visible;
  opacity: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.modal.open .modal__content {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
  -webkit-transition: all 0.3s 0.1s ease-out;
  transition: all 0.3s 0.1s ease-out;
}

.modal .btn-cross.modal__close {
  width: 5rem;
  height: 5rem;
  border: 1px solid var(--beige);
  border-radius: 50%;
  position: absolute;
  right: 2rem;
  top: 2rem;
}

.modal .btn-cross.modal__close::before,
.modal .btn-cross.modal__close::after {
  left: calc(50% - 1.2rem);
  background: var(--beige);
}

.modal .btn-cross.modal__close:hover {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.modal .ui-checkbox a {
  color: var(--beige);
}

.modal__top {
  margin-bottom: 1.6rem;
  padding-right: 7rem;
}

.modal__top:not(section):last-child {
  margin-bottom: 0;
}

.modal__top .h3 {
  margin-bottom: 1.2rem;
}

.modal__top .h3:not(section):last-child {
  margin-bottom: 0;
}

.modal__content {
  width: 100%;
  max-width: 60.2rem;
  padding: 2rem;
  margin: auto;
  background: var(--blue);
  -webkit-box-shadow: 0 0.4rem 0.4rem 0 #005ac8;
  box-shadow: 0 0.4rem 0.4rem 0 #005ac8;
  border-radius: 1.6rem;
  position: relative;
  opacity: 0;
  -webkit-transform: translateY(3rem);
  transform: translateY(3rem);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.success-modal .modal__content,
.error-modal .modal__content {
  min-height: 41.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.success-modal .modal__top,
.error-modal .modal__top {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.error-modal .modal__content {
  background: var(--dark-red);
  -webkit-box-shadow: 0 0.4rem 0.4rem 0 #ce0723;
  box-shadow: 0 0.4rem 0.4rem 0 #ce0723;
}

.footer {
  padding: clamp(2rem, 2.083vw, 3rem) 0;
  background: var(--primary);
}

.footer--main .footer__logo {
  pointer-events: none;
}

.footer__top {
  display: grid;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  gap: 1rem;
  margin-bottom: 2.4rem;
}

.footer__top:not(section):last-child {
  margin-bottom: 0;
}

.footer__main .btn {
  margin-top: 1.6rem;
}

.footer__main .btn:first-child {
  margin-top: 0;
}

.footer__main p {
  margin-top: 0.8rem;
}

.footer__main p:first-child {
  margin-top: 0;
}

.footer__logo {
  width: 26.4rem;
  justify-self: center;
}

.footer__logo img,
.footer__logo svg {
  width: 100%;
}

.footer__contacts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.footer__text,
.footer__bottom {
  font-size: clamp(1.2rem, 1.151rem + 0.13vw, 1.4rem);
}

.footer__text p a:hover,
.footer__bottom p a:hover {
  color: var(--accent);
}

.footer__text p {
  margin-bottom: 0.6rem;
}

.footer__text p:not(section):last-child {
  margin-bottom: 0;
}

.footer__bottom {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem;
}

.footer__dev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.footer__dev img {
  width: clamp(5.5rem, 4.86vw, 7rem);
  -webkit-filter: invert(96%) sepia(8%) saturate(803%) hue-rotate(325deg) brightness(103%) contrast(92%);
  filter: invert(96%) sepia(8%) saturate(803%) hue-rotate(325deg) brightness(103%) contrast(92%);
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
}

.footer__dev:hover img {
  -webkit-filter: invert(71%) sepia(91%) saturate(744%) hue-rotate(356deg) brightness(98%) contrast(107%);
  filter: invert(71%) sepia(91%) saturate(744%) hue-rotate(356deg) brightness(98%) contrast(107%);
}

@media (min-width: 120.6875rem) {
  html {
    font-size: clamp(0.625rem, 0.625rem + 0.375 * (100vw - 120.625rem) / 35.625, 1rem);
  }
}

@media (min-width: 479.98px) {
  .hero__anim--mob {
    display: none;
  }

  .hero:not(:last-child) {
    margin-bottom: calc(3vw + 13rem);
  }

  .hero .container {
    min-height: 100vh;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .hero .h3 {
    font-size: 3.4rem;
  }

  .hero::before {
    background-image: url(../img/svg/hero-clouds-tablet.svg);
  }

  .hero-main .hero__logo {
    max-width: clamp(34.3rem, 65.104vw, 50rem);
  }

  .hero__anim {
    bottom: -10%;
  }

  .gallery .swiper-slide {
    width: 56%;
  }

  .gallery .swiper-slide:nth-child(2n) {
    width: 41%;
  }
}

@media (min-width: 767.98px) {
  .text-l {
    font-size: clamp(3.8rem, 0.71rem + 4.02vw, 6.4rem);
  }

  h1,
  .h1,
  h2,
  .h2 {
    font-size: clamp(3.8rem, 0.71rem + 4.02vw, 6.4rem);
  }

  .mob-only {
    display: none;
  }

  .sec-top {
    gap: 1.2rem;
  }

  .accordion__header {
    gap: 1.2rem;
  }

  .ui-input input,
  .ui-input textarea {
    padding: 1.2rem 1.6rem;
  }

  .form__grid {
    grid-template-columns: 1fr 1fr;
  }

  .feedback-form .form__grid .ui-input--textarea {
    grid-area: 1/2/4/3;
    height: 100%;
  }

  .feedback-form .form__grid .ui-input--textarea textarea {
    height: 100%;
    min-height: 100%;
  }

  .header .main-btn {
    font-size: clamp(3.4rem, 2.22rem + 1.53vw, 4.4rem);
  }

  .header__access span:first-child {
    font-size: clamp(4.4rem, 2.27rem + 2.77vw, 6.2rem);
  }

  .header__nav ul li a {
    font-size: clamp(3.4rem, 2.22rem + 1.53vw, 4.4rem);
  }

  .hero .main-btn {
    font-size: clamp(3.4rem, 2.22rem + 1.53vw, 4.4rem);
  }

  .hero .main-btn {
    min-width: 35.7rem;
  }

  .hero-404 .hero__logo,
  .hero .hero__content {
    width: 35.7rem;
  }

  .about__inner {
    padding: clamp(2rem, 2.777vw, 4rem);
  }

  .about__bg {
    max-width: none;
  }

  .about__bg--1 {
    width: 55.8rem;
    left: 0;
    -webkit-transform: translate(-55%, -12%);
    transform: translate(-55%, -12%);
  }

  .about__bg--2 {
    width: 45rem;
    right: 0;
    -webkit-transform: translate(60%, -31%);
    transform: translate(60%, -31%);
  }

  .about__inner {
    border-radius: 1.6rem;
  }

  .program__col-title {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
  }

  .item-program {
    gap: 1.2rem;
  }

  .item-program .page-content {
    margin-top: 0.8rem;
  }

  .item-program .page-content:first-child {
    margin-top: 0;
  }

  .item-program .page-content p,
  .item-program .page-content li {
    font-size: clamp(1.4rem, 1rem + 0.3125vw, 1.6rem);
  }

  .how-to-get__map {
    height: 40.4rem;
  }

  .gallery .swiper-slide {
    width: 35.39%;
  }

  .gallery .swiper-slide:nth-child(2n) {
    width: 25.68%;
  }

  .cookie__inner {
    padding: 1.2rem 1.6rem;
  }

  .cookie__inner {
    grid-template-columns: 1fr auto;
  }

  .footer__top {
    gap: 1.2rem;
  }

  .footer__top {
    margin-bottom: 7rem;
  }

  .footer__bottom {
    gap: 1.2rem;
  }

  .footer {
    background: url(../img/svg/footer-bg.svg) center bottom no-repeat, var(--primary);
    background-size: min(52.08%, 40rem);
  }

  .footer__top {
    grid-template-columns: 1fr auto 1fr;
  }

  .footer__main p {
    font-size: clamp(1.2rem, 1.151rem + 0.13vw, 1.4rem);
  }

  .footer__logo {
    width: clamp(16.5rem, 20.625vw, 29.7rem);
  }

  .footer__contacts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
}

@media (min-width: 767.98px) and (min-width: 1279.98px) {
  .about__inner {
    border-radius: 2rem;
  }
}

@media (min-width: 1023.98px) {
  .desktop-hidden {
    display: none;
  }

  .main-btn span,
  .stroke-btn span {
    padding: 1.1rem 2rem 0.8rem;
  }

  .grid-2col {
    grid-template-columns: 1fr 1fr;
  }

  .menu-show-btn span,
  .menu-close-btn span {
    min-width: 16.1rem;
  }

  .hero__anim--desktop {
    display: block;
  }

  .hero:not(:last-child) {
    margin-bottom: calc(3vw + 18rem) !important;
  }

  .hero::before {
    background-image: url(../img/svg/hero-clouds.svg);
  }

  .hero-main .hero__logo {
    max-width: clamp(50rem, 42.291vw, 60rem);
  }

  .program .sec-top {
    margin-bottom: 2.4rem;
  }

  .program .sec-top:not(section):last-child {
    margin-bottom: 0;
  }

  .program__col-header .btn-cross {
    display: none;
  }

  .program__col-body {
    display: block !important;
  }
}

@media (min-width: 1023.98px) and (min-width: 1279.98px) {
  .program .sec-top {
    margin-bottom: 4rem;
  }
}

@media (min-width: 1279.98px) {
  .text-l {
    font-size: clamp(6.4rem, 6.944vw, 10rem);
  }

  .section {
    margin-bottom: 17rem;
  }

  .sec-top {
    gap: 1.6rem;
  }

  .sec-top {
    margin-bottom: 2.4rem;
  }

  .page-content h1,
  .page-content h2,
  .page-content h3,
  .page-content hr {
    margin-top: 3.2rem;
  }

  .page-content hr,
  .page-content ol,
  .page-content ul {
    margin-bottom: 3.2rem;
  }

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

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

  .accordion__header {
    gap: 1.6rem;
  }

  .ui-input input,
  .ui-input textarea {
    padding: 1.6rem 2rem;
  }

  .ui-input input,
  .ui-input textarea {
    border-radius: 2rem;
  }

  .map {
    border-radius: 2rem;
  }

  .header__nav ul li {
    margin-bottom: 3.2rem;
  }

  .header__menu {
    background-size: min(24.35%, 35rem) auto;
  }

  .header__nav ul li {
    min-height: 7rem;
    margin-bottom: 0 !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .header__nav ul li a {
    position: relative;
  }

  .header__nav ul li a:before,
  .header__nav ul li a:after {
    content: "";
    width: 2.8rem;
    height: 2.8rem;
    border-radius: 50%;
    position: absolute;
    left: -0.6rem;
    -webkit-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
    visibility: hidden;
    opacity: 0;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }

  .header__nav ul li a:before {
    background: var(--secondary);
    top: 50%;
  }

  .header__nav ul li a:after {
    background: var(--accent);
    top: calc(50% - 0.3rem);
  }

  .header__nav ul li a:hover {
    font-size: 3.2rem;
  }

  .header__nav ul li a:hover::before,
  .header__nav ul li a:hover::after {
    visibility: visible;
    opacity: 1;
  }

  .breadcrumbs {
    margin-bottom: 2.4rem;
  }

  .about__bg--1 {
    -webkit-transform: translate(-55%, 1rem);
    transform: translate(-55%, 1rem);
  }

  .about__inner {
    grid-template-columns: 1fr 1fr;
  }

  .program__inner {
    border-radius: 2rem;
  }

  .program__col {
    border-radius: 2rem;
  }

  .item-program {
    gap: 1.6rem;
  }

  .gallery .swiper:before,
  .gallery .swiper:after {
    height: 2.8rem;
    background-size: 3.2rem 2.8rem;
  }

  .gallery .swiper-slide {
    width: 33.23%;
  }

  .gallery .swiper-slide:nth-child(2n) {
    width: 24.11%;
  }

  .cookie__inner {
    padding: 1.6rem 2rem;
  }

  .cookie__inner {
    border-radius: 2rem;
  }

  .modal__content {
    border-radius: 2rem;
  }

  .footer__top {
    gap: 1.6rem;
  }

  .footer__top {
    margin-bottom: 16rem;
  }

  .footer__bottom {
    gap: 1.6rem;
  }

  .footer {
    background-size: min(63.88%, 92rem);
  }

  .footer__contacts .link {
    margin-top: 2.4rem;
  }

  .footer__contacts .link:first-child {
    margin-top: 0;
  }

  .footer__main p {
    font-size: clamp(1.6rem, 1.55rem + 0.15vw, 1.8rem);
  }

  .footer__text,
  .footer__bottom {
    font-size: clamp(1.4rem, 1rem + 0.3125vw, 1.6rem);
  }
}

@media (min-width: 1279.98px) and (min-width: 767.98px) {
  .header__nav ul li a:hover {
    font-size: clamp(3.8rem, 0.71rem + 4.02vw, 6.4rem);
  }
}

@media (max-width: 1279.98px) {
  :root {
    --container-offset: clamp(2rem, 3.125vw, 4rem);
  }

  .about .page-content h3 {
    font-size: 3.2rem;
  }

  .about__inner {
    gap: 0.8rem;
  }

  .modal__content {
    max-width: 53.6rem;
  }
}

@media (max-width: 1023.98px) {
  :root {
    --container-offset: 1.6rem;
  }

  .desktop-only {
    display: none;
  }

  .header .main-btn {
    width: 100%;
  }

  .header__row {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  .header__row .menu-show-btn,
  .header__row .menu-close-btn {
    justify-self: end;
    grid-area: 1/2/2/3;
  }

  .header__logo,
  .header__row .main-btn {
    max-width: 36.4rem;
  }
}

@media (max-width: 767.98px) {
  .mob-hidden {
    display: none;
  }

  .header__menu {
    background-size: min(42.93%, 14rem) auto;
    background-position: bottom right -7%;
  }

  .header__logo,
  .header__row .main-btn {
    grid-column: 1/3;
    max-width: 25rem;
  }

  .header__row {
    gap: 0.6rem;
  }

  .header__logo img {
    margin-bottom: 0.6rem;
  }

  .header__logo img:not(section):last-child {
    margin-bottom: 0;
  }

  .header__nav ul li a {
    font-size: 3.2rem;
  }

  .breadcrumbs ul li {
    font-size: clamp(1.4rem, 1rem + 0.3125vw, 1.6rem);
  }

  .about .container {
    padding: 0;
  }

  .about__bg {
    width: 200%;
    max-width: 52rem;
  }

  .about__bg--1 {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 17%, 0 17%);
    clip-path: polygon(0 0, 100% 0, 100% 17%, 0 17%);
  }

  .about__bg--2 {
    top: 100%;
    -webkit-clip-path: polygon(0 83%, 100% 83%, 100% 100%, 0% 100%);
    clip-path: polygon(0 83%, 100% 83%, 100% 100%, 0% 100%);
  }

  .program .container {
    padding: 0;
  }

  .program__col-title {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 0.6rem;
  }

  .how-to-get__items .main-btn span {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .modal .btn-cross.modal__close {
    width: 4.4rem;
    height: 4.4rem;
  }

  .footer__top {
    gap: 3.2rem;
  }

  .footer__logo {
    width: 100%;
    max-width: 35rem;
  }
}

@media (max-width: 575.98px) {
  .modal {
    scrollbar-width: none;
  }

  .modal::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

@media (min-width: 575.98px) and (max-width: 767.98px) {
  :root {
    --container-offset: 4rem;
  }
}

@media (min-width: 767.98px) and (max-width: 1023.98px) {
  .header__access span:last-child {
    font-size: 2.8rem;
  }

  .header__info {
    font-size: 3.4rem;
  }

  .footer h2,
  .footer .h2 {
    font-size: 3rem;
  }
}

@media (max-width: 767.98px) and (min-width: 767.98px) {
  .header__nav ul li a {
    font-size: clamp(3.8rem, 0.71rem + 4.02vw, 6.4rem);
  }
}

@media (min-width: 479.98px) and (max-width: 1023.98px) {
  .hero__anim--tablet {
    display: block;
  }
}

@media (max-width: 1279.98px) and (min-width: 767.98px) {
  .about .page-content h3 {
    font-size: clamp(3.8rem, 0.71rem + 4.02vw, 6.4rem);
  }
}