@charset "UTF-8";
/**
  Нормализация блочной модели
 */
*,
::before,
::after {
  box-sizing: border-box;
}

/**
  Убираем внутренние отступы слева тегам списков,
  у которых есть атрибут class
 */
:where(ul, ol):where([class]) {
  padding-left: 0;
}

/**
  Убираем внешние отступы body и двум другим тегам,
  у которых есть атрибут class
 */
body,
:where(blockquote, figure):where([class]) {
  margin: 0;
}

/**
  Убираем внешние отступы вертикали нужным тегам,
  у которых есть атрибут class
 */
:where(h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl):where([class]) {
  margin-block: 0;
}

:where(dd[class]) {
  margin-left: 0;
}

:where(fieldset[class]) {
  margin-left: 0;
  padding: 0;
  border: none;
}

/**
  Убираем стандартный маркер маркированному списку,
  у которого есть атрибут class
 */
:where(ul[class]) {
  list-style: none;
}

:where(address[class]) {
  font-style: normal;
}

/**
  Обнуляем вертикальные внешние отступы параграфа,
  объявляем локальную переменную для внешнего отступа вниз,
  чтобы избежать взаимодействие с более сложным селектором
 */
p {
  --paragraphMarginBottom: 24px;
  margin-block: 0;
}

/**
  Внешний отступ вниз для параграфа без атрибута class,
  который расположен не последним среди своих соседних элементов
 */
p:where(:not([class]):not(:last-child)) {
  margin-bottom: var(--paragraphMarginBottom);
}

/**
  Упрощаем работу с изображениями и видео
 */
img,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

/**
  Наследуем свойства шрифт для полей ввода
 */
input,
textarea,
select,
button {
  font: inherit;
}

html {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  height: 100%;
  /**
    Убираем скачок интерфейса по горизонтали
    при появлении / исчезновении скроллбара
   */
  scrollbar-gutter: stable;
}

/**
  Плавный скролл
 */
html,
:has(:target) {
  scroll-behavior: smooth;
}

body {
  /**
    Пригодится в большинстве ситуаций
    (когда, например, нужно будет "прижать" футер к низу сайта)
   */
  min-height: 100%;
  /**
    Унифицированный интерлиньяж
   */
  line-height: 1.5;
}

/**
  Нормализация высоты элемента ссылки при его инспектировании в DevTools
 */
a:where([class]) {
  display: inline-flex;
}

/**
  Курсор-рука при наведении на элемент
 */
button,
label {
  cursor: pointer;
}

/**
  Приводим к единому цвету svg-элементы
 */
.replaced-svg [fill] {
  fill: currentColor;
}

.replaced-svg [stroke] {
  stroke: currentColor;
}

/**
  Чиним баг задержки смены цвета при взаимодействии с svg-элементами
 */
svg * {
  transition-property: fill, stroke;
}

/**
  Удаляем все анимации и переходы для людей,
  которые предпочитают их не использовать
 */
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gilroy";
  src: url("../fonts/Gilroy-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --wrapper: min(1920px, 100% - 50px);
  --font-family: "Gilroy", serif;
  --clr-light: #FFFFFF;
  --clr-blue: #001253;
  --clr-light-blue: #D0E4FF;
  --clr-dark: #0B1848;
  --clr-red: #FF5468;
  --gap: clamp(0.9375rem, 0.6904560811rem + 1.0135135135vw, 1.875rem);
  --grd-red: linear-gradient(180deg, #FF4601 0%, #991D1D 100%);
  --radius: 20px;
  --radius-hard: 300px 300px 0 300px;
  --box-shadow: 0 4px 21px 1px rgba(48, 123, 196, 0.1);
  --box-shadow-hard: 0 4px 21px 0 rgba(48, 123, 196, 0.3);
}
@media (max-width: 47.99875rem) {
  :root {
    --wrapper: min(1870px, 100% - 20px);
    --radius: 12px;
    --radius-hard: 100px 100px 0 100px;
  }
}

.wrapper {
  position: relative;
  width: var(--wrapper);
  margin-inline: auto;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
  clip-path: inset(100%) !important;
  clip: rect(0 0 0 0) !important;
  overflow: hidden !important;
}

@media (max-width: 47.99875rem) {
  .hidden-mobile {
    display: none !important;
  }
}

@media (min-width: 47.99875rem) {
  .visible-mobile {
    display: none !important;
  }
}

.w-100 {
  width: 100%;
}

.radius {
  border-radius: var(--radius);
  overflow: hidden;
}

.section {
  position: relative;
}

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

.box-shadow {
  box-shadow: var(--box-shadow);
}

.hidden {
  display: none !important;
}

html.is-lock {
  overflow: hidden;
}

html, body {
  color: var(--clr-light, #fff);
}

body {
  background: var(--clr-blue, #001253);
  display: flex;
  flex-direction: column;
  font-size: 18px;
  font-family: var(--font-family);
  font-weight: 400;
  line-height: 1.4;
  overflow-x: clip;
}
body.active {
  overflow: hidden;
}
body.active .header__mobile-btn span {
  background: var(--clr-blue);
}

main {
  flex-grow: 1;
  padding-top: clamp(0.625rem, -0.2972972973rem + 3.7837837838vw, 4.125rem);
  padding-bottom: clamp(1.875rem, 0.7221283784rem + 4.7297297297vw, 6.25rem);
}
.main main {
  padding-top: 0;
  padding-bottom: 0;
}

h1, .h1 {
  font-size: clamp(1.75rem, 1.5523648649rem + 0.8108108108vw, 2.5rem);
  color: var(--clr-light);
  text-transform: uppercase;
}

h2, .h2 {
  font-size: clamp(1.5rem, 1.3682432432rem + 0.5405405405vw, 2rem);
  color: var(--clr-blue);
}

h3, .h3 {
  font-size: clamp(1.375rem, 1.2761824324rem + 0.4054054054vw, 1.75rem);
  font-weight: 600;
}

h4, .h4 {
  font-size: clamp(1.125rem, 1.0920608108rem + 0.1351351351vw, 1.25rem);
  color: var(--clr-blue-light);
  font-weight: 600;
}

a, .link {
  display: inline-flex;
  color: inherit;
  text-decoration: none;
  transition: color 0.25s;
  cursor: pointer;
}
a:hover, .link:hover {
  color: var(--clr-blue);
}

img {
  max-width: 100%;
  height: auto;
}

video {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

input, textarea {
  -webkit-appearance: none;
  border: 0;
  border-radius: 8px;
  background: #F9FAFB;
  padding: 8px 12px;
  width: 100%;
  border: 1px solid #98BDE2;
}
input.error, textarea.error {
  border-color: var(--clr-red);
  box-shadow: inset 0 0 0 1px rgb(255, 0, 0);
}

textarea {
  padding: 12px;
}

ul:not([class]) {
  list-style: none;
  margin-left: 10px;
  padding: 0;
}
ul:not([class]) li {
  display: flex;
}
ul:not([class]) li::before {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 4px;
  height: 4px;
  background: var(--clr-black, #000);
  border-radius: 50%;
  margin-top: 5px;
  margin-right: 10px;
}

ul.list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  line-height: 1.2;
}
ul.list li::before {
  content: "•";
  margin-top: 7px;
  margin-right: 10px;
}

@property --color-gradient-start {
  syntax: "<color>";
  initial-value: #E12842;
  inherits: false;
}
@property --color-gradient-end {
  syntax: "<color>";
  initial-value: #FA8CA0;
  inherits: false;
}
@property --color-gradient-mid {
  syntax: "<color>";
  initial-value: #FB91A4;
  inherits: false;
}
.btn, .button, button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 15px;
  width: max-content;
  min-width: 140px;
  background: linear-gradient(96.53deg, var(--color-gradient-start) 25.39%, var(--color-gradient-mid) 49.69%, var(--color-gradient-end) 54.79%, var(--color-gradient-start) 79.53%);
  transition: --color-gradient-start 0.25s, --color-gradient-end 0.25s, --color-gradient-mid 0.25s, border-color 0.25s;
  box-shadow: 0px 3px 9.8px rgba(0, 0, 0, 0.7);
  border-radius: 10px;
  color: white;
  text-decoration: none;
  font-weight: 600;
  font-size: clamp(1rem, 0.9670608108rem + 0.1351351351vw, 1.125rem);
  text-transform: uppercase;
  text-shadow: 1px 1px 3.3px rgba(0, 0, 0, 0.7);
  border: 2px solid #C6B03E;
  overflow: hidden;
}
.btn::before, .btn::after, .button::before, .button::after, button::before, button::after {
  position: relative;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("../images/snow.svg") no-repeat center/contain;
  scale: 3;
}
.btn::before, .button::before, button::before {
  left: -14px;
}
.btn::after, .button::after, button::after {
  right: -14px;
}
.btn:hover, .button:hover, button:hover {
  --color-gradient-start: #C1112A;
  --color-gradient-end: #d8546a;
  --color-gradient-mid: #d8546a;
  color: #fff;
  border-color: var(--clr-red);
}

.button-prev, .button-next {
  color: #fff;
  font-size: 12px;
  padding: 20px;
  background: linear-gradient(66deg, rgba(14, 67, 116, 0.8) 0%, rgba(29, 113, 184, 0.8) 100%);
  border-radius: var(--radius);
  cursor: pointer;
}
.button-prev::before, .button-next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  content: "";
  width: 10px;
  height: 10px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  background: transparent;
  opacity: 1;
}

.button-prev {
  scale: -1;
}

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(0.875rem, 0.8420608108rem + 0.1351351351vw, 1rem);
  color: var(--clr-blue);
  margin-bottom: clamp(0.9375rem, 0.6904560811rem + 1.0135135135vw, 1.875rem);
}
.breadcrumbs__item:not(:last-child) {
  position: relative;
  display: flex;
  align-items: center;
}
.breadcrumbs__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  background: var(--clr-blue);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  margin: 3px 8px 0;
}
.breadcrumbs__link {
  color: inherit;
}
@media (max-width: 47.99875rem) {
  .breadcrumbs {
    display: flex;
    overflow-x: auto;
    white-space: nowrap;
    flex-wrap: nowrap;
    scrollbar-width: none;
  }
  .breadcrumbs::-webkit-scrollbar {
    display: none;
  }
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  z-index: 50;
  transition: 0.6s;
}
.overlay:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.2;
  z-index: -1;
}
.overlay.is-active {
  pointer-events: inherit;
  opacity: 1;
}

.section {
  position: relative;
  margin-top: clamp(2.5rem, 0.8530405405rem + 6.7567567568vw, 8.75rem);
}

.header {
  --_gap: clamp(0.625rem, 0.2956081081rem + 1.3513513514vw, 1.875rem);
  position: sticky;
  top: 0;
  padding: 12px 0;
  background: transparent;
  transition: background 0.25s;
  z-index: 99;
}
.header.scrolled {
  background: var(--clr-light);
}
.header .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--_gap);
}
.header__logo {
  display: block;
  flex: 0 0 324px;
}
.header__logo img {
  display: block;
  max-width: 324px;
  height: auto;
}
.header__navi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 20px;
  background: var(--clr-light-blue);
  min-width: 0;
  height: 100%;
  border-radius: var(--radius);
}
.header__navi li a {
  color: var(--clr-dark);
  text-decoration: none;
  white-space: nowrap;
}
.header__navi li a.active, .header__navi li a:hover {
  color: var(--clr-golden);
}
@media (max-width: 90.06125rem) {
  .header__navi {
    display: none;
  }
}
.header__center {
  position: relative;
  flex: 1;
  align-self: stretch;
  border-radius: var(--radius);
  overflow: clip;
}
.header__search-icon {
  display: flex;
  align-items: center;
  align-self: stretch;
  background: var(--clr-light-blue);
  border-radius: var(--radius);
  padding: 20px 26px;
  cursor: pointer;
  transition: background-color 0.25s;
}
.header__search-icon:hover {
  background: var(--clr-light-blue2);
}
.header__search-icon.is-active .svg {
  transform: rotate(90deg);
}
.header__search-icon.is-active .cross {
  opacity: 1 !important;
}
.header__search-icon.is-active .search {
  opacity: 0;
}
.header__search-icon .svg {
  transition: transform 0.25s;
}
.header__search-form {
  --left-border-width: 4px;
  position: absolute;
  top: 0;
  right: calc(-100% - var(--left-border-width));
  display: flex;
  flex-direction: row;
  flex: 1;
  gap: 0;
  width: calc(100% + var(--left-border-width));
  height: 100%;
  transition: right 0.25s;
  z-index: 2;
}
.header__search-form.is-active {
  right: 0;
}
.header__search-form input, .header__search-form button {
  background: var(--clr-light-blue);
  border-radius: 0;
  border: 0;
  outline: 0;
  color: var(--clr-blue);
}
.header__search-form input {
  border-left: var(--left-border-width) solid var(--clr-blue);
}
.header__search-form input::placeholder {
  font-size: 20px;
  color: var(--clr-blue);
}
.header__search-form button {
  font-size: 20px;
  padding-inline: clamp(0.625rem, 0.2956081081rem + 1.3513513514vw, 1.875rem);
}
.header__search-form button:hover {
  background: var(--clr-light-blue2);
}
.header__search-form button::before {
  display: none;
}
@media (max-width: 47.99875rem) {
  .header {
    --_gap: 30px;
    margin-top: 0;
  }
  .header__logo {
    flex: 1 1 auto;
  }
  .header__logo img {
    max-width: 100%;
  }
  .header__center, .header__search-icon {
    display: none;
  }
}

.burger-button {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  flex: 0 0 70px;
  height: 70px;
  color: var(--clr-cream);
  background-color: transparent;
  border: none;
  background: var(--clr-light-blue);
  border-radius: var(--radius);
  padding: 18px;
  cursor: pointer;
  transition: background-color 0.25s;
}
.burger-button:hover {
  background: var(--clr-light-blue2);
}
.burger-button.is-active .burger-button__line {
  width: 20px;
}
.burger-button.is-active .burger-button__line:first-child {
  rotate: 45deg;
  transform-origin: 0;
  translate: 0.15em 0.001em;
}
.burger-button.is-active .burger-button__line:nth-child(2) {
  width: 0;
}
.burger-button.is-active .burger-button__line:last-child {
  rotate: -45deg;
  transform-origin: 0;
  translate: 0.15em 0.001em;
}
.burger-button__line {
  width: 100%;
  height: 0.125rem;
  background-color: currentColor;
  border-radius: 1rem;
  transition-duration: 0.2s;
}
.burger-button__line:last-child {
  align-self: end;
}
@media (max-width: 90.06125rem) {
  .burger-button {
    display: flex;
  }
}
@media (max-width: 47.99875rem) {
  .burger-button {
    flex: 0 0 56px;
    height: 56px;
  }
}

.mobile-menu {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 20px 15px 0 rgba(23, 23, 23, 0.08);
  transition: all 0.3s ease;
  z-index: 98;
}
.mobile-menu:not(.is-active) {
  right: -100%;
  pointer-events: none;
}
.mobile-menu .header__navi {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-top: 20px;
  background: transparent;
}
.mobile-menu .header__navi li a {
  font-size: 22px;
  padding: 20px;
}
.mobile-menu .header__search-form {
  position: relative;
  right: 0;
  width: 100%;
  height: auto;
  border-radius: var(--radius);
  overflow: hidden;
}
.mobile-menu .header__search-form input {
  border: 0;
  font-size: 18px;
  line-height: 3;
}
.mobile-menu .mobile-menu-container {
  margin-top: 10vh;
}

.mobile-before-hero {
  position: fixed;
  opacity: 0;
  transform: translateY(-100%);
  transition: 0.25s;
  width: 100%;
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(2px);
  padding: 5px 0 10px;
  display: flex;
  justify-content: center;
}
@media (max-width: 47.99875rem) {
  .mobile-before-hero.scrolled {
    opacity: 1;
    transform: translateY(0);
    top: 0;
    z-index: 10;
  }
}

.hero {
  position: relative;
  margin-top: 0;
  margin-bottom: -50px;
}
@media (max-width: 47.99875rem) {
  .hero {
    display: flex;
    flex-direction: column;
    min-height: 96vh;
    padding-bottom: 100px;
    overflow: hidden;
  }
}
.hero__top {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  max-width: 1650px;
  margin-inline: auto;
  z-index: 10;
}
@media (max-width: 47.99875rem) {
  .hero__top {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
}
.hero__content {
  position: relative;
}
@media (max-width: 47.99875rem) {
  .hero__content {
    display: flex;
    flex-direction: column;
    flex: 1;
  }
}
.hero__logos {
  display: flex;
  gap: clamp(0.625rem, 0.4603040541rem + 0.6756756757vw, 1.25rem);
}
.hero__logos .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 139px;
  height: 173px;
  padding: 10px;
  background: url(../images/logo-bg.png) no-repeat center/cover;
}
.hero__logos .logo img {
  margin-top: -30px;
}
@media (max-width: 47.99875rem) {
  .hero__logos .logo {
    width: 75px;
    height: 100px;
  }
}
.hero__age {
  justify-self: end;
  margin-top: 60px;
}
@media (max-width: 47.99875rem) {
  .hero__age {
    margin-top: inherit;
  }
}
.hero__award-text {
  text-wrap: balance;
  font-size: 18px;
  text-align: center;
  max-width: 900px;
  margin: 30px auto 0;
}
.hero__award {
  position: absolute;
  top: -4%;
  right: 18%;
  z-index: 5;
}
@media (max-width: 119.99875rem) {
  .hero__award {
    transform: translateX(calc((100vw - 1920px) * -0.1));
  }
}
@media (max-width: 47.99875rem) {
  .hero__award {
    top: 25%;
    scale: 0.6;
  }
}
.hero__date {
  position: absolute;
  left: 20%;
  top: 4%;
  z-index: 5;
}
@media (max-width: 119.99875rem) {
  .hero__date {
    transform: translateX(calc((100vw - 1920px) * 0.2));
  }
}
@media (max-width: 47.99875rem) {
  .hero__date {
    top: 34%;
    left: 5%;
    transform: none;
    max-width: 210px;
  }
}
.hero__btn {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
}
@media (max-width: 47.99875rem) {
  .hero__btn {
    top: inherit;
    bottom: -100px;
  }
}
.hero__title {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9;
}
@media (max-width: 47.99875rem) {
  .hero__title {
    width: 90%;
  }
}
.hero__bg {
  position: relative;
  display: flex;
  justify-content: center;
  mix-blend-mode: lighten;
}
@media (max-width: 47.99875rem) {
  .hero__bg {
    scale: 2.6;
    transform-origin: bottom;
    margin-top: auto;
  }
}
.hero__tree {
  position: absolute;
  bottom: -100px;
  z-index: 2;
}
.hero__tree--left {
  left: 0;
}
.hero__tree--right {
  right: 0;
}
@media (max-width: 119.99875rem) {
  .hero__tree--left {
    transform: translateX(calc((100vw - 1920px) * 0.4));
    scale: 0.9;
  }
  .hero__tree--right {
    transform: translateX(calc((100vw - 1920px) * -0.4));
    scale: 0.9;
  }
}
@media (max-width: 47.99875rem) {
  .hero__tree--left {
    transform: translate(-70%, 0);
    scale: 0.7;
  }
  .hero__tree--right {
    transform: translate(70%, 0);
    scale: 0.7;
  }
}

.section-icons::before {
  content: "";
  position: absolute;
  top: -117px;
  left: 0;
  width: 100%;
  height: 117px;
  background: url(../images/section-icons-before.png) no-repeat 50% 100%;
  z-index: 3;
}
.section-icons::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 800px;
  background: linear-gradient(180deg, #2331AA 0%, #141A7D 51.47%, rgba(1, 18, 83, 0.5) 100%);
  z-index: 0;
}
.section-icons .wrapper {
  position: relative;
  z-index: 3;
}
.section-icons__list {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(1.875rem, 1.2162162162rem + 2.7027027027vw, 4.375rem);
  margin-left: clamp(3.125rem, -7.5802364865rem + 43.9189189189vw, 43.75rem);
  max-width: 1000px;
  z-index: 10;
}
@media (max-width: 90.06125rem) {
  .section-icons__list {
    margin-left: clamp(3.125rem, -2.6393581081rem + 23.6486486486vw, 25rem);
  }
}
@media (max-width: 47.99875rem) {
  .section-icons__list {
    margin-left: 0;
    gap: 50px;
  }
}
.section-icons .item {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 15px;
  padding: clamp(0.9375rem, 0.855152027rem + 0.3378378378vw, 1.25rem);
  background: rgba(255, 255, 255, 0.1);
  border-radius: 68px;
}
@media (max-width: 47.99875rem) {
  .section-icons .item {
    padding: 0;
    background: transparent;
    min-height: 70px;
  }
  .section-icons .item:nth-child(odd) {
    flex-direction: row-reverse;
  }
  .section-icons .item:nth-child(odd) .item__icon {
    position: absolute;
    right: -10%;
    top: -50%;
  }
  .section-icons .item:nth-child(odd) .item__text {
    padding-right: 80px;
  }
  .section-icons .item:nth-child(even) .item__icon {
    position: absolute;
    left: -10%;
    top: -50%;
  }
  .section-icons .item:nth-child(even) .item__text {
    padding-left: 80px;
  }
}
.section-icons .item__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 84px;
  height: 84px;
  background: radial-gradient(73.01% 73.01% at 30.83% 21.92%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.6) 26.28%, rgba(255, 255, 255, 0.35) 47.76%, rgba(255, 255, 255, 0.19327) 65.39%, rgba(255, 255, 255, 0.15) 82.74%, rgba(255, 255, 255, 0.35) 100%), linear-gradient(180deg, #7EB5E6 0%, #3A66A0 100%);
  border-radius: 50%;
}
.section-icons .item__text {
  display: flex;
  align-items: center;
  color: var(--clr-blue);
  background: radial-gradient(100.42% 115.24% at 30.83% 21.92%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.6) 26.28%, rgba(255, 255, 255, 0.35) 47.76%, rgba(255, 255, 255, 0.19327) 65.39%, rgba(255, 255, 255, 0.15) 82.74%, rgba(255, 255, 255, 0.35) 100%), linear-gradient(144.15deg, #7EB5E6 16.69%, #3A66A0 114.44%);
  border-radius: 80px;
  font-size: clamp(1.125rem, 1.0920608108rem + 0.1351351351vw, 1.25rem);
  font-weight: 600;
  padding: 10px 40px;
}
.section-icons .ball {
  position: absolute;
}
@media (max-width: 47.99875rem) {
  .section-icons .ball {
    display: none;
  }
}
.section-icons .ball.balls-1 {
  left: -50px;
  bottom: 0;
}
.section-icons .ball.balls-2 {
  left: 15%;
  bottom: 0;
}
.section-icons .ball.balls-3 {
  left: 25%;
  top: -25%;
}
.section-icons .ball.balls-4 {
  right: 0;
  bottom: -50px;
}
@media (max-width: 119.99875rem) {
  .section-icons .ball {
    scale: 0.9;
  }
}
@media (max-width: 90.06125rem) {
  .section-icons .ball {
    scale: 0.8;
  }
}
@media (max-width: 47.99875rem) {
  .section-icons .hero__award-text {
    text-align: left;
    font-size: 16px;
    margin-bottom: 80px;
  }
}

.section-about {
  overflow: hidden;
}
@media (max-width: 47.99875rem) {
  .section-about .wrapper {
    max-width: 100%;
    width: 100%;
  }
}
.section-about .about {
  display: flex;
  padding: clamp(2.1875rem, 0.4581925676rem + 7.0945945946vw, 8.75rem) clamp(2.1875rem, -0.859375rem + 12.5vw, 13.75rem);
}
@media (max-width: 119.99875rem) {
  .section-about .about {
    padding-inline: clamp(2.1875rem, -0.2005912162rem + 9.7972972973vw, 11.25rem);
  }
}
@media (max-width: 90.06125rem) {
  .section-about .about {
    padding-block: clamp(1.5625rem, -0.3315033784rem + 7.7702702703vw, 8.75rem);
    padding-inline: clamp(1.5625rem, 0.6566722973rem + 3.7162162162vw, 5rem);
  }
}
@media (max-width: 63.99875rem) {
  .section-about .about {
    flex-direction: column;
    padding-bottom: 70px;
  }
}
.section-about .about__video {
  position: relative;
  flex: 1 0 40vw;
  max-width: 750px;
  margin-top: -70px;
  z-index: 9;
}
.section-about .about__video video {
  border-radius: 20px;
  overflow: hidden;
}
@media (max-width: 63.99875rem) {
  .section-about .about__video {
    margin-top: 0;
  }
}
.section-about .about__content {
  position: relative;
  padding: 50px;
}
@media (max-width: 47.99875rem) {
  .section-about .about__content {
    padding: 0;
  }
}
.section-about .about__content::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% + 25vw);
  height: 100%;
  background: #fff;
  border-radius: 50px;
}
@media (max-width: 90.06125rem) {
  .section-about .about__content::before {
    width: 100%;
    height: calc(100% + 25vw);
    top: inherit;
    bottom: 0;
  }
}
@media (max-width: 47.99875rem) {
  .section-about .about__content::before {
    display: none;
  }
}
.section-about .about__title {
  position: relative;
  color: var(--clr-blue);
  margin-bottom: clamp(0.9375rem, 0.6904560811rem + 1.0135135135vw, 1.875rem);
}
@media (max-width: 47.99875rem) {
  .section-about .about__title {
    margin-top: 15px;
    text-align: left;
  }
}
.section-about .about__text {
  position: relative;
}
@media (max-width: 47.99875rem) {
  .section-about .snow-box__snow {
    opacity: 0.4;
  }
}

.video {
  position: relative;
  box-shadow: -7px -6px 12.8px -1px rgba(255, 255, 255, 0.8);
  border-radius: 20px;
}
.video__desc {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 20px 20px 0 0;
  text-align: center;
  font-size: clamp(1rem, 0.9341216216rem + 0.2702702703vw, 1.25rem);
  padding: 10px;
  backdrop-filter: blur(2px);
  text-wrap: balance;
}
@media (max-width: 47.99875rem) {
  .video__desc {
    position: relative;
    padding-top: 25px;
    margin-top: -15px;
    text-align: left;
    border-radius: 0 0 20px 20px;
    z-index: -1;
  }
}

.section-feature-cards .wrapper {
  max-width: 1440px;
}

.feature-cards {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 2.1706081081rem + 1.3513513514vw, 3.75rem);
}
.feature-cards__item {
  display: flex;
  align-items: center;
  gap: clamp(1.25rem, 0.9206081081rem + 1.3513513514vw, 2.5rem);
}
.feature-cards__item:nth-child(odd) {
  flex-direction: row-reverse;
  text-align: right;
}
@media (max-width: 47.99875rem) {
  .feature-cards__item:nth-child(odd) {
    text-align: left;
  }
}
.feature-cards__item:nth-child(odd) .feature-cards__content {
  align-items: end;
}
.feature-cards__item:nth-child(even) .feature-cards__content {
  align-items: start;
}
.feature-cards__item.item-cards-price {
  align-items: start;
}
@media (max-width: 47.99875rem) {
  .feature-cards__item {
    flex-direction: column !important;
  }
}
.feature-cards__image {
  flex-shrink: 0;
  max-width: 700px;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (max-width: 90.06125rem) {
  .feature-cards__image {
    max-width: 500px;
  }
}
.feature-cards__content {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.feature-cards__text {
  text-wrap: balance;
}
.feature-cards__list-title {
  color: var(--clr-red);
  font-weight: 600;
  margin-top: 15px;
}
.feature-cards__list li {
  margin-top: 10px;
}
.feature-cards__list li::before {
  content: "";
  display: inline-block;
  width: 12.84px;
  height: 12.92px;
  background: radial-gradient(73.01% 73.01% at 30.83% 21.92%, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.6) 26.28%, rgba(255, 255, 255, 0.35) 47.76%, rgba(255, 255, 255, 0.19327) 65.39%, rgba(255, 255, 255, 0.15) 82.74%, rgba(255, 255, 255, 0.35) 100%), linear-gradient(180deg, #F75673 0%, #EF3656 100%);
  border-radius: 50%;
  margin-right: 10px;
}
.feature-cards__price {
  color: var(--clr-red);
  font-size: 26px;
  font-weight: 600;
}

.discount-details {
  margin: 20px 0;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.discount-summary {
  padding: 16px 20px;
  background: transparent;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
  color: #fff;
  font-size: 18px;
  transition: all 0.3s ease;
}
.discount-summary:hover {
  background: rgba(255, 255, 255, 0.1);
}

.discount-summary::-webkit-details-marker {
  display: none;
}

.discount-arrow {
  transition: transform 0.3s ease;
  font-size: 14px;
  margin-left: 12px;
  color: #c6b03e;
}

.discount-details[open] .discount-arrow {
  transform: rotate(180deg);
}

.discount-content {
  padding: 0 20px 20px;
  background: transparent;
  color: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  line-height: 1.5;
}

.discount-list {
  margin: 12px 0 0;
  padding-left: 20px;
  text-align: left;
}
.discount-list li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 12px;
}
.discount-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #c6b03e;
  font-weight: bold;
}

@media (max-width: 47.99875rem) {
  .discount-summary {
    padding: 14px 16px;
  }
  .discount-content {
    padding: 0 16px 16px;
  }
  .discount-list li {
    margin-bottom: 6px;
  }
}
@media (max-width: 47.99875rem) {
  .item-cards-price .feature-cards__content {
    align-items: center !important;
    text-align: left;
  }
  .item-cards-price .feature-cards__text {
    font-size: 16px;
  }
}
.section-parents .wrapper {
  padding: clamp(1.875rem, 1.5456081081rem + 1.3513513514vw, 3.125rem) clamp(1.875rem, -0.1013513514rem + 8.1081081081vw, 9.375rem);
}
.section-parents .wrapper::after {
  content: url("../images/snow-bg-right.png");
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 50px;
  overflow: hidden;
  width: 1000px;
  height: 730px;
  z-index: -1;
}
@media (max-width: 47.99875rem) {
  .section-parents .wrapper::after {
    opacity: 0.6;
  }
}
@media (max-width: 90.06125rem) {
  .section-parents .wrapper {
    width: 100%;
    padding-inline: clamp(1.875rem, 1.0515202703rem + 3.3783783784vw, 5rem);
  }
}
.section-parents .h1 {
  margin-bottom: clamp(1.5625rem, 1.1507601351rem + 1.6891891892vw, 3.125rem);
}

.parent-container {
  --_row: 3;
  --_gap: clamp(1.875rem, 1.5456081081rem + 1.3513513514vw, 3.125rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--_gap);
}
@media (max-width: 90.06125rem) {
  .parent-container {
    --_row: 2;
  }
}
@media (max-width: 47.99875rem) {
  .parent-container {
    --_row: 1;
  }
}

.parent-item {
  position: relative;
  background: #D7E8F8;
  color: var(--clr-blue);
  border-radius: 20px;
  overflow: hidden;
  padding: 15px;
  width: calc((100% - var(--_gap) * (var(--_row) - 1)) / var(--_row));
}
.parent-item__title {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 60%;
  font-weight: 600;
  font-size: 20px;
  background: #D7E8F8;
  padding: 15px;
  border-radius: 0 0 20px 20px;
  overflow: hidden;
  z-index: 9;
}
.parent-item__image {
  position: relative;
  border-radius: 20px;
  background: #000;
  overflow: hidden;
}
.parent-item__image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: 0.25s;
}
.parent-item__text {
  padding: 15px;
}
.parent-item__btn {
  position: absolute;
  top: calc(50% + 20px);
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.25s;
  z-index: 9;
}
@media (max-width: 47.99875rem) {
  .parent-item__btn {
    position: relative;
    top: 0;
    left: 0;
    transform: none;
    opacity: 1;
  }
}
.parent-item:hover .parent-item__image img {
  opacity: 0.5;
}
.parent-item:hover .parent-item__btn {
  opacity: 1;
}

@media (max-width: 47.99875rem) {
  .section-photo .snow--right {
    opacity: 0.4;
  }
}
.section-photo .h1 {
  position: relative;
  color: var(--clr-blue);
  margin-bottom: 30px;
  z-index: 9;
}
.section-photo .snow-box {
  padding: clamp(2.1875rem, 1.1169763514rem + 4.3918918919vw, 6.25rem) clamp(2.1875rem, 0.2934966216rem + 7.7702702703vw, 9.375rem);
}
.section-photo .swiper {
  overflow: visible !important;
}
.section-photo .swiper-slide {
  height: 430px;
}
@media (max-width: 47.99875rem) {
  .section-photo .swiper-slide {
    height: 260px;
  }
}
.section-photo .swiper-slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.section-photo .photo__image {
  border-radius: 20px;
  overflow: hidden;
}

.footer {
  position: relative;
  margin-top: clamp(6.25rem, 3.7795608108rem + 10.1351351351vw, 15.625rem);
  margin-bottom: 50px;
}
.footer .wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(1.875rem, 1.5456081081rem + 1.3513513514vw, 3.125rem);
  background: #062B98 url("../images/snow-bg-left.png") no-repeat 0% 40%;
  border-radius: 30px;
  padding: clamp(1.5625rem, 1.1507601351rem + 1.6891891892vw, 3.125rem);
}
.footer .item {
  display: flex;
  align-items: center;
  gap: 15px;
}

.section-review {
  overflow: hidden;
  padding: clamp(2.5rem, 1.8412162162rem + 2.7027027027vw, 5rem) 0;
  perspective: 1500px;
}
.section-review .h1 {
  text-align: center;
}

.review-slider {
  overflow: visible !important;
  padding: 80px 0;
}
.review-slider .swiper-wrapper {
  align-items: center;
}
.review-slider .swiper-slide {
  background: rgb(255, 255, 255);
  border-radius: 30px;
  padding: clamp(1.5625rem, 1.3154560811rem + 1.0135135135vw, 2.5rem);
  min-height: 300px;
  width: 600px;
  max-width: 90vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.875rem, 0.8091216216rem + 0.2702702703vw, 1.125rem);
  line-height: 1.6;
  color: var(--clr-dark);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
  transition: opacity 0.4s ease;
  opacity: 0.6;
  z-index: 1;
  will-change: transform, opacity;
}
.review-slider .swiper-slide .review {
  opacity: 0;
  transition: opacity 0.25s ease;
}
.review-slider .swiper-slide-active {
  opacity: 1;
  z-index: 2;
}
.review-slider .swiper-slide-active .review {
  opacity: 1;
}
.review-slider .swiper-slide.leaving {
  opacity: 0.3;
}
.review-slider .swiper-slide-prev, .review-slider .swiper-slide-next {
  opacity: 0.6;
}

.section-partners {
  overflow: hidden;
}
.section-partners .h1 {
  text-align: center;
  margin-bottom: clamp(1.5625rem, 1.1507601351rem + 1.6891891892vw, 3.125rem);
}

.partners {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: clamp(0.625rem, 0.3779560811rem + 1.0135135135vw, 1.5625rem);
}
@media (max-width: 47.99875rem) {
  .partners {
    justify-content: start;
    scroll-snap-type: x mandatory;
    overflow-y: scroll;
    flex-wrap: nowrap;
    margin-inline: -20px;
    padding-inline: 20px;
    scroll-padding: 0 20px;
  }
}
.partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F0F7FF;
  border-radius: 40px;
  padding: 15px;
  min-width: 220px;
  min-height: 170px;
  scroll-snap-align: start;
}
@media (max-width: 47.99875rem) {
  .partners__item {
    border-radius: 20px;
  }
}

form, .form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
form .row, .form .row {
  display: flex;
  gap: 30px;
}
form .row .col, .form .row .col {
  flex: 1 1 auto;
}
form .row .col:first-child, .form .row .col:first-child {
  flex: 0 0 clamp(12.5rem, 7.5591216216rem + 20.2702702703vw, 31.25rem);
  text-align: right;
  padding-top: 8px;
}
form .row-title, .form .row-title {
  font-size: clamp(1.125rem, 1.0261824324rem + 0.4054054054vw, 1.5rem);
  font-weight: 700;
}
form .col-gap-20, .form .col-gap-20 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 63.99875rem) {
  form .row, .form .row {
    flex-direction: column;
    gap: 10px;
  }
  form .row .col:first-child, .form .row .col:first-child {
    flex: 1 0 auto;
    text-align: left;
  }
  form .row .col.empty, .form .row .col.empty {
    display: none;
  }
  form .row-title .col:last-child, .form .row-title .col:last-child {
    display: none;
  }
}

label.custom {
  display: flex;
  align-items: start;
}
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: 1px solid var(--clr-dark-blue);
  border-radius: 4px;
  position: relative;
  margin-right: 8px;
}
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: 16px;
  line-height: 1.2;
  color: var(--tekst);
  cursor: pointer;
  transition: 0.25s;
}
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: #F5F9FC;
  border-color: var(--clr-dark-blue);
}
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: 9px;
  width: 6px;
  height: 12px;
  border-right: 1px solid var(--clr-dark-blue);
  border-bottom: 1px solid var(--clr-dark-blue);
  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;
}
label.custom a {
  text-decoration: underline;
}

.form-container {
  margin: 30px 0;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 8px;
}
.form-container .h2 {
  margin-bottom: 20px;
  color: #333;
  font-size: 22px;
}

.upload-form {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: 20px;
}

.preview-container {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  display: none;
}

.preview-item {
  position: relative;
  width: 100px;
  height: 100px;
  border-radius: var(--radius);
  overflow: hidden;
}

.preview-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.delete-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  transition: background-color 0.3s;
}

.delete-btn:hover {
  background-color: rgba(255, 0, 0, 0.7);
}

.calendar-input-box {
  position: relative;
}
.calendar-input-box .calendar-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--clr-dark-blue);
  pointer-events: none;
}

.snow-box {
  position: relative;
  background: var(--clr-light-blue);
  color: var(--clr-dark);
  padding: clamp(2.1875rem, 0.4581925676rem + 7.0945945946vw, 8.75rem) clamp(2.1875rem, -0.859375rem + 12.5vw, 13.75rem);
  border-radius: 50px;
  overflow: hidden;
}
@media (max-width: 47.99875rem) {
  .snow-box {
    padding: 30px;
    border-radius: 20px;
  }
}
.snow-box .snow {
  position: absolute;
  will-change: top, bottom;
  transition: top 0.5s ease-out, bottom 0.5s ease-out;
}
.snow-box .snow--left {
  left: 0;
  bottom: -100%;
}
.snow-box .snow--right {
  right: 0;
  top: -100%;
}

@keyframes float {
  0%, 100% {
    translateY: 0;
  }
  50% {
    translateY: -30px;
  }
}
@keyframes rotate {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
@keyframes twinkle {
  0%, 100% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  }
}
.snow-big {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  animation: float 5s ease-in-out infinite, rotate 80s linear infinite, twinkle 3s ease-in-out infinite;
  will-change: transform, opacity;
  transform-origin: center;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5));
  transition: all 0.3s ease;
}

.floating-star {
  position: fixed;
  pointer-events: none;
  animation: float 3s ease-in-out infinite;
  pointer-events: none;
  z-index: 100;
}
.floating-star img {
  width: 100%;
  height: 100%;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

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