* {
  box-sizing: border-box;
}

@font-face {
  font-family: "Molodo";
  src: url("../fonts/molodo-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Droid Sans";
  src: url("../fonts/droidsans.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Droid Sans";
  src: url("../fonts/droidsans-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Typography / font families */
  --_typography---font-family--digits: "Droid Sans", sans-serif;
  --_typography---font-family--heading: Molodo, sans-serif;
  --_typography---font-family--subtitle: Montserrat, sans-serif;
  --_typography---font-family--text: Montserrat, sans-serif;

  /* Typography / font sizes */
  --_typography---font-size--text-xs: 12px;
  --_typography---font-size--group-title-s: 12px;
  --_typography---font-size--text-s: 14px;
  --_typography---font-size--group-title-m: 14px;
  --_typography---font-size--text-m: 16px;
  --_typography---font-size--group-title-l: 16px;
  --_typography---font-size--text-l: 18px;
  --_typography---font-size--subtitle-3: 18px;
  --_typography---font-size--headings-4: 24px;
  --_typography---font-size--subtitle-2: 22px;
  --_typography---font-size--headings-3: 32px;
  --_typography---font-size--subtitle-1: 28px;
  --_typography---font-size--headings-2: 40px;
  --_typography---font-size--headings-1: 48px;
  --_typography---font-size--subtitle-extra: 40px;
  --_typography---font-size--headings-extra: 88px;

  /* Typography / line heights */
  --_typography---line-height--text-xs: 18px;
  --_typography---line-height--group-title-s: 18px;
  --_typography---line-height--text-s: 22px;
  --_typography---line-height--group-title-m: 22px;
  --_typography---line-height--text-m: 24px;
  --_typography---line-height--group-title-l: 24px;
  --_typography---line-height--headings-4: 26px;
  --_typography---line-height--text-l: 26px;
  --_typography---line-height--subtitle-3: 26px;
  --_typography---line-height--headings-3: 36px;
  --_typography---line-height--subtitle-2: 32px;
  --_typography---line-height--headings-2: 44px;
  --_typography---line-height--subtitle-1: 42px;
  --_typography---line-height--headings-1: 48px;
  --_typography---line-height--subtitle-extra: 54px;
  --_typography---line-height--headings-extra: 96px;

  /* Colors / brand primary */
  --_colors---brand--primary-1: #fff3f0;
  --_colors---brand--primary-2: #ffccbf;
  --_colors---brand--primary-3: #ff9e8b;
  --_colors---brand--primary-4: #ff6e5c;
  --_colors---brand--primary-5: #f44739;
  --_colors---brand--primary-6: #dc0021;
  --_colors---brand--primary-7: #cf0021;
  --_colors---brand--primary-8: #c2001e;
  --_colors---brand--primary-9: #af001f;
  --_colors---brand--primary: #e51c21;

  /* Colors / neutral black alpha */
  --_colors---neutral--black--black-2: #01010105;
  --_colors---neutral--black--black-4: #0101010a;
  --_colors---neutral--black--black-9: #01010117;
  --_colors---neutral--black--black: #010101;
  --_colors---neutral--black--black-15: #01010126;
  --_colors---neutral--black--black-25: #01010140;
  --_colors---neutral--black--black-45: #01010173;
  --_colors---neutral--black--black-65: #010101a6;
  --_colors---neutral--black--black-85: #010101d9;

  /* Colors / neutral white alpha */
  --_colors---neutral--white--white-4: #ffffff0a;
  --_colors---neutral--white--white-9: #ffffff17;
  --_colors---neutral--white--white: #fff;
  --_colors---neutral--white--white-15: #ffffff26;
  --_colors---neutral--white--white-25: #ffffff40;
  --_colors---neutral--white--white-45: #ffffff73;
  --_colors---neutral--white--white-65: #ffffffa6;
  --_colors---neutral--white--white-85: #ffffffd9;

  /* Colors / neutral semantic */
  --_colors---neutral--text: var(--_colors---neutral--black--black-85);
  --_colors---neutral--heading: var(--_colors---neutral--black--black);
  --_colors---neutral--caption: var(--_colors---neutral--black--black-45);
  --_colors---neutral--label: var(--_colors---neutral--black--black);
  --_colors---neutral--text-error: #ed1c24;
  --_colors---neutral--text-disabled: var(--_colors---neutral--black--black-25);
  --_colors---neutral--link: var(--_colors---brand--primary);
  --_colors---neutral--avatar-icon: var(--_colors---brand--primary-4);
  --_colors---neutral--icon: var(--_colors---neutral--black--black);
  --_colors---neutral--border: var(--_colors---neutral--black--black-15);
  --_colors---neutral--border-disabled: var(--_colors---neutral--black--black-9);
  --_colors---neutral--border-input: var(--_colors---neutral--black--black-45);
  --_colors---neutral--border-focused: var(--_colors---neutral--black--black-65);
  --_colors---neutral--divider: var(--_colors---neutral--black--black-25);
  --_colors---neutral--focused: #e51c21a6;
  --_colors---neutral--progress-bar: var(--_colors---neutral--black--black-15);
  --_colors---neutral--table-header: var(--_colors---neutral--black--black-4);
  --_colors---neutral--table-row: var(--_colors---neutral--black--black-2);
  --_colors---neutral--transparent: #fff0;

  /* Colors / depth */
  --_colors---depth--depth-0: var(--_colors---neutral--white--white);
  --_colors---depth--depth-4: var(--_colors---neutral--white--white);
  --_colors---depth--depth-8: var(--_colors---neutral--white--white);
  --_colors---depth--depth-16: var(--_colors---neutral--white--white);
  --_colors---depth--depth-64: var(--_colors---neutral--white--white);

  /* Colors / background */
  --_colors---background--bg: var(--_colors---neutral--white--white);
  --_colors---background--bg-active: var(--_colors---neutral--black--black-4);
  --_colors---background--bg-selected: var(--_colors---brand--primary-1);
  --_colors---background--bg-disabled: var(--_colors---neutral--black--black-4);

  /* Spacing / static scale */
  --_spacing---static--0-25: 4px;
  --_spacing---static--0-5: 8px;
  --_spacing---static--0-75: 12px;
  --_spacing---static--1: 16px;
  --_spacing---static--1-25: 20px;
  --_spacing---static--1-5: 24px;
  --_spacing---static--1-75: 28px;
  --_spacing---static--2: 32px;
  --_spacing---static--2-25: 36px;
  --_spacing---static--2-5: 40px;
  --_spacing---static--2-75: 44px;
  --_spacing---static--3: 48px;

  /* Spacing / adaptive scale */
  --_spacing---adaptive--xxxs: 8px;
  --_spacing---adaptive--xxs: 16px;
  --_spacing---adaptive--xs: 24px;
  --_spacing---adaptive--s: 32px;
  --_spacing---adaptive--m: 40px;
  --_spacing---adaptive--l: 48px;
  --_spacing---adaptive--xl: 64px;
  --_spacing---adaptive--xxl: 96px;
  --_spacing---adaptive--xxxl: 144px;

  /* Grid */
  --_grid---general--gutter: 20px;
  --_grid---general--margin: 24px;

  /* Radii */
  --_dimensions---border-radius--rounded: 999px;
}

@media screen and (max-width: 1024px) {
  body {

    /* Spacing / adaptive scale */
    --_spacing---adaptive--xxxs: 6px;
    --_spacing---adaptive--xxs: 12px;
    --_spacing---adaptive--xs: 18px;
    --_spacing---adaptive--s: 24px;
    --_spacing---adaptive--m: 30px;
    --_spacing---adaptive--l: 36px;
    --_spacing---adaptive--xl: 48px;
    --_spacing---adaptive--xxl: 72px;
    --_spacing---adaptive--xxxl: 108px;

    /* Grid */
    --_grid---general--gutter: 16px;
    --_grid---general--margin: 20px;
  }
}

@media screen and (max-width: 767px) {
  body {
    /* Typography / font families */
    --_typography---font-family--heading: Molodo, sans-serif;
    --_typography---font-family--subtitle: Montserrat, sans-serif;
    --_typography---font-family--text: Montserrat, sans-serif;

    /* Typography / font sizes */
    --_typography---font-size--text-m: 16px;
    --_typography---font-size--subtitle-3: 16px;
    --_typography---font-size--headings-4: 20px;
    --_typography---font-size--subtitle-2: 18px;
    --_typography---font-size--headings-3: 24px;
    --_typography---font-size--subtitle-1: 22px;
    --_typography---font-size--headings-2: 32px;
    --_typography---font-size--headings-1: 40px;
    --_typography---font-size--subtitle-extra: 24px;
    --_typography---font-size--headings-extra: 48px;

    /* Typography / line heights */
    --_typography---line-height--text-m: 24px;
    --_typography---line-height--headings-4: 24px;
    --_typography---line-height--subtitle-3: 24px;
    --_typography---line-height--headings-3: 26px;
    --_typography---line-height--subtitle-2: 26px;
    --_typography---line-height--headings-2: 36px;
    --_typography---line-height--subtitle-1: 32px;
    --_typography---line-height--headings-1: 44px;
    --_typography---line-height--subtitle-extra: 32px;
    --_typography---line-height--headings-extra: 52px;

    /* Spacing / adaptive scale */
    --_spacing---adaptive--xxxs: 4px;
    --_spacing---adaptive--xxs: 8px;
    --_spacing---adaptive--xs: 12px;
    --_spacing---adaptive--s: 16px;
    --_spacing---adaptive--m: 20px;
    --_spacing---adaptive--l: 24px;
    --_spacing---adaptive--xl: 32px;
    --_spacing---adaptive--xxl: 48px;
    --_spacing---adaptive--xxxl: 72px;

    /* Grid */
    --_grid---general--gutter: 12px;
    --_grid---general--margin: 16px;
  }
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-family: sans-serif;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
}

a:active, a:hover {
  outline: 0;
}

/* ─── Typography ──────────────────────────────────────────────────────────── */

body {
  background-color: var(--_colors---brand--primary-9);
  font-family: var(--_typography---font-family--text), sans-serif;
  color: var(--_colors---neutral--text);
  font-size: var(--_typography---font-size--text-m);
  line-height: var(--_typography---line-height--text-m);
}

a {
  color: var(--_colors---brand--primary);
  font-weight: 700;
  text-decoration: none;
  transition: color 200ms ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--_colors---brand--primary-5);
  }
}

button {
  font-family: var(--_typography---font-family--text), sans-serif;
  font-size: var(--_typography---font-size--text-m);
  color: var(--_colors---neutral--text);
  line-height: var(--_typography---line-height--text-m);
  cursor: pointer;
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out, background-color 200ms ease-in-out;
}

.extra-heading {
  font-family: var(--_typography---font-family--heading), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--headings-extra);
  line-height: var(--_typography---line-height--headings-extra);
  letter-spacing: 1.76px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.extra-heading.white.top-margin, .extra-heading.top-margin {
  margin-top: var(--_spacing---static--1);
}

.extra-subtitle {
  font-family: var(--_typography---font-family--subtitle), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--subtitle-extra);
  line-height: var(--_typography---line-height--subtitle-extra);
  letter-spacing: 1.2px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

.headings-1 {
  font-family: var(--_typography---font-family--heading), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--headings-1);
  line-height: var(--_typography---line-height--headings-1);
  letter-spacing: .96px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.headings-1.bottom-margin {
  margin-bottom: var(--_spacing---static--1-75);
}

.subtitle-1 {
  font-family: var(--_typography---font-family--subtitle), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--subtitle-1);
  line-height: var(--_typography---line-height--subtitle-1);
  letter-spacing: .28px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

.headings-2 {
  font-family: var(--_typography---font-family--heading), sans-serif;
  font-size: var(--_typography---font-size--headings-2);
  line-height: var(--_typography---line-height--headings-2);
  letter-spacing: .8px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.subtitle-2 {
  font-family: var(--_typography---font-family--subtitle), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--subtitle-2);
  line-height: var(--_typography---line-height--subtitle-2);
  letter-spacing: .22px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

.headings-3 {
  font-family: var(--_typography---font-family--heading), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--headings-3);
  line-height: var(--_typography---line-height--headings-3);
  letter-spacing: .32px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.subtitle-3 {
  font-family: var(--_typography---font-family--subtitle), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--subtitle-3);
  line-height: var(--_typography---line-height--subtitle-3);
  letter-spacing: .18px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 700;
}

.subtitle-3.bottom-margin {
  margin-bottom: var(--_spacing---static--1-25);
}

.headings-4 {
  font-family: var(--_typography---font-family--heading), sans-serif;
  color: var(--_colors---neutral--heading);
  font-size: var(--_typography---font-size--headings-4);
  line-height: var(--_typography---line-height--headings-4);
  letter-spacing: .24px;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
}

.large-text {
  font-size: var(--_typography---font-size--text-l);
  line-height: var(--_typography---line-height--text-l);
  margin-top: 0;
  margin-bottom: 0;
}

.large-text.group-title {
  font-size: var(--_typography---font-size--group-title-l);
  line-height: var(--_typography---line-height--text-l);
  letter-spacing: .8px;
}

.large-text.group-title.white.bottom-margin {
  margin-bottom: var(--_spacing---static--1);
}

.small-text {
  font-size: var(--_typography---font-size--text-s);
  line-height: var(--_typography---line-height--text-s);
  margin-top: 0;
  margin-bottom: 0;
}

.small-text.group-title {
  font-size: var(--_typography---font-size--group-title-s);
  line-height: var(--_typography---line-height--group-title-s);
  letter-spacing: .6px;
}

.small-text.text-light {
  flex: 1;
}

.extra-small-text {
  font-size: var(--_typography---font-size--text-xs);
  line-height: var(--_typography---line-height--text-xs);
  margin-top: 0;
  margin-bottom: 0;
}

.group-title {
  color: var(--_colors---neutral--caption);
  font-size: var(--_typography---font-size--group-title-m);
  line-height: var(--_typography---font-size--group-title-m);
  letter-spacing: .7px;
  text-transform: uppercase;
  font-weight: 700;
}

/* ─── Utilities ───────────────────────────────────────────────────────────── */

b, strong, .bold {
  font-weight: 700;
}

.digits {
  font-family: var(--_typography---font-family--digits), sans-serif;
}

.white {
  color: var(--_colors---neutral--white--white);
}

.caption {
  color: var(--_colors---neutral--caption);
}

.text-center {
  text-align: center;
}

.bottom-margin {
  margin-bottom: var(--_spacing---static--1-75);
}

.top-margin {
  margin-top: var(--_spacing---static--1);
}

.right {
  object-fit: cover;
}

.primary {
  color: var(--_colors---brand--primary);
}

.text-light {
  color: var(--_colors---neutral--white--white-85);
}

[data-after-event-hide][hidden] {
  display: none !important;
}

/* ─── Focus visible ──────────────────────────────────────────────────────── */

*:focus:not(:focus-visible) {
  outline: none;
}

.btn:focus-visible,
.back-btn:focus-visible,
.menu-btn:focus-visible,
.close-btn:focus-visible,
.footer-label:focus-visible,
.social:focus-visible,
.race:focus-visible,
.search:focus-visible,
.partner:focus-visible,
.faq .question-header:focus-visible,
.rating .btn:focus-visible,
.nav-item:focus-visible,
.menu-nav-item:focus-visible,
.question-header:focus-visible {
  outline: 2px solid var(--_colors---neutral--focused);
  outline-offset: 4px;
  border-radius: 0;
}

@media (prefers-reduced-motion: reduce) {
  *:focus-visible {
    outline: 2px solid var(--_colors---neutral--focused);
    outline-offset: 3px;
  }
}

/* ─── Header ──────────────────────────────────────────────────────────────── */

.header {
  z-index: 999;
  border-style: solid;
  border-width: 1px;
  border-color: black black var(--_colors---neutral--white--white);
  background-color: var(--_colors---brand--primary-9);
  flex-direction: column;
  display: flex;
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
}

.header_wrapper {
  padding: var(--_spacing---static--1) var(--_grid---general--margin);
  justify-content: center;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.header_content {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1180px;
  display: flex;
  overflow: hidden;
}

.header_col {
  grid-column-gap: var(--_spacing---static--1-25);
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.header_col.wide {
  flex: 1;
  justify-content: center;
  align-items: center;
}

.header_logo {
  object-fit: fill;
  width: auto;
  height: 36px;
  overflow: hidden;
}

.header_nav {
  flex: 0 auto;
  justify-content: flex-start;
  align-items: center;
  height: 40px;
  display: flex;
  overflow: hidden;
}

.header_nav_item {
  padding: var(--_spacing---static--0-25) var(--_spacing---static--0-5);
  color: var(--_colors---neutral--white--white);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
  transition: color 200ms ease-in-out, box-shadow 200ms ease-in-out;
}


@media (hover: hover) and (pointer: fine) {
  .header_nav_item:hover {
    color: var(--_colors---neutral--white--white);
    box-shadow: inset 0 -2px 0 var(--_colors---neutral--white--white);
  }
}

.light {
  grid-column-gap: 8px;
  background-color: #fff;
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  padding: 8px 16px;
  text-decoration: none;
  display: flex;
}

.header_nav_menu {
  display: none;
}

/* ─── Buttons ─────────────────────────────────────────────────────────────── */

.bttn {
  min-height: 40px;
  padding: var(--_spacing---static--0-5) var(--_spacing---static--1);
  grid-column-gap: var(--_spacing---static--0-5);
  grid-row-gap: var(--_spacing---static--0-5);
  text-align: center;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out, background-color 200ms ease-in-out;
}

.bttn.primary {
  background-color: var(--_colors---brand--primary);
  color: var(--_colors---neutral--white--white);
}

.bttn.primary.light {
  background-color: var(--_colors---neutral--white--white);
  color: var(--_colors---brand--primary-9);
}

.bttn.large {
  height: 48px;
  padding: 11px var(--_spacing---static--1-25);
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  font-size: var(--_typography---font-size--text-l);
  line-height: var(--_typography---font-size--text-l);
}

.bttn.large.icon {
  width: 20px;
  height: 20px;
}

.bttn.ghost {
  border: 1px solid var(--_colors---brand--primary);
  background-color: var(--_colors---neutral--transparent);
  color: var(--_colors---brand--primary);
}

.bttn.wide {
  width: 100%;
}
.bttn.narrow {
  padding-right: 0;
  padding-left: 0;
}

.bttn.icon {
  grid-column-gap: 0;
  grid-row-gap: 0;
  width: 18px;
  height: 18px;
  min-height: auto;
  padding: 0;
  display: flex;
}

.bttn.clear {
  background-color: var(--_colors---neutral--transparent);
  border: none;
  color: var(--_colors---brand--primary);
}

.bttn.clear.light {
  color: var(--_colors---neutral--white--white);
}

.icon-bttn {
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  display: inline-flex;
  transition: color 200ms ease-in-out, border-color 200ms ease-in-out, background-color 200ms ease-in-out;
}

.icon-bttn.ghost {
  border: 1px solid var(--_colors---brand--primary);
  color: var(--_colors---brand--primary);
  position: relative;
}

.icon-bttn.ghost.light {
  border-color: var(--_colors---neutral--white--white-45);
  background-color: var(--_colors---neutral--transparent);
  color: var(--_colors---neutral--white--white-85);
  padding: 0;
}

.icon-bttn.small {
  width: 32px;
  height: 32px;
}

.icon-bttn.small.light {
  grid-column-gap: 0;
  min-height: auto;
  padding: 0;
  display: inline-flex;
}

.icon-bttn.icon, .icon-bttn svg {
  width: 18px;
  height: 18px;
}

.icon-bttn.small.icon, .icon-bttn.small svg {
  width: 16px;
  height: 16px;
}

.icon-bttn.clear {
  background-color: var(--_colors---neutral--transparent);
}

.icon-bttn.clear.light {
  padding: 0;
  color: var(--_colors---neutral--white--white);
}

@media (hover: hover) and (pointer: fine) {
  .bttn.primary:hover {
    background-color: var(--_colors---brand--primary-5);
  }

  .bttn.primary.light:hover {
    background-color: var(--_colors---brand--primary-5);
    color: var(--_colors---neutral--white--white);
  }

  .bttn.ghost:hover {
    border-bottom-color: var(--_colors---brand--primary-5);
    color: var(--_colors---brand--primary-5);
  }

  .bttn.clear.light:hover {
    color: var(--_colors---brand--primary-2);
  }

  .icon-bttn.small.light:hover {
    background-color: var(--_colors---brand--primary-5);
    color: var(--_colors---neutral--white--white);
  }

  .icon-bttn.clear.light:hover {
    color: var(--_colors---brand--primary-2);
  }
}

.icon-bttn_icon {
  width: 18px;
  height: 18px;
}

/* ─── Main ────────────────────────────────────────────────────────────────── */

.main {
  flex-flow: column;
  display: flex;
}

/* ─── Hero ────────────────────────────────────────────────────────────────── */

.hero {
  background-color: #af001f;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
  margin-bottom: -5px;
  z-index: 2;
}

.hero_wrapper {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
}

.hero_content {
  width: 100%;
  margin-right: var(--_grid---general--margin);
  margin-left: var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.hero_content_wrapper {
  grid-column-gap: var(--_spacing---adaptive--m);
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 1180px;
  min-height: 640px;
  display: flex;
}

.hero_col {
  padding-top: var(--_spacing---adaptive--xxl);
  padding-bottom: var(--_spacing---adaptive--xxl);
  flex-direction: column;
  flex: 0 0 630px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.hero_title {
  grid-column-gap: var(--_spacing---static--2-5);
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  text-decoration: none;
  display: flex;
}

.hero_event_bttn {
  position: absolute;
  bottom: 0;
  left: 256px;
}

.hero_mascot_wrapper {
  justify-content: center;
  align-items: flex-start;
  margin-top: 30px;
  text-decoration: none;
  display: flex;
}

.hero_actions {
  padding-top: var(--_spacing---adaptive--xl);
  grid-column-gap: var(--_spacing---static--1-25);
  grid-row-gap: var(--_spacing---static--0-5);
  flex: 0 auto;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}


.hero_counter {
  height: 48px;
  padding-right: var(--_spacing---static--1);
  padding-left: var(--_spacing---static--1);
  grid-column-gap: var(--_spacing---static--0-5);
  flex: 0 auto;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
  overflow: hidden;
}


.hero_counter_title {
  height: 30px;
  margin-bottom: var(--_spacing---static--0-5);
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.hero_subtitle {
  margin-top: var(--_spacing---static--1-5);
}

.hero_mascot {
  width: auto;
  height: 158px;
}

.hero_illustration {
  flex: 0 0 640px;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  position: relative;
}

.hero_illustration_stage {
  position: relative;
  flex: none;
  width: 640px;
  height: 640px;
}

.hero_picture {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
}

.hero_img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background-color: var(--_colors---brand--primary-2) ;
}


.hero_pixels {
  position: absolute;
  z-index: 20;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.hero_pixels svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hero_pixels rect {
  transform-box: fill-box;
  transform-origin: center;
  will-change: transform, opacity;
}


/* ─── Ornaments ───────────────────────────────────────────────────────────── */

.ornament_wrapper {
  width: 100%;
  display: flex;
  position: relative;
}

.ornament {
  width: 100%;
  height: 48px;
  transform-style: preserve-3d;
  background-image: url("../images/ornaments/ornament.svg");
  background-position: 50% 0;
  background-repeat: repeat;
  background-size: auto 48px;
  background-attachment: scroll;
}

.ornament.inverted {
  transform-style: preserve-3d;
  transform: rotateX(180deg)rotateY(0)rotateZ(0);
}

.ornament.primary {
  background-image: url("../images/ornaments/ornament-primary.svg");
}

.ornament.black {
  background-image: url("../images/ornaments/ornament-black.svg");
}

.ornament.white {
  background-image: url("../images/ornaments/ornament_white.svg");
}

.ornament.gray {
  background-image: url("../images/ornaments/ornament-gray.svg");
}

/* ─── Info ────────────────────────────────────────────────────────────────── */

.info {
  background-color: var(--_colors---depth--depth-0);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.info_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.info_grid {
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  max-width: 1180px;
  display: grid;
}

.info_grid_cell {
  padding: var(--_spacing---adaptive--m);
  grid-column-gap: var(--_spacing---static--1-25);
  grid-row-gap: var(--_spacing---static--1-25);
  background-color: var(--_colors---brand--primary-1);
  border: 1px solid var(--_colors---depth--depth-0);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.info_grid_cell.red {
  background-color: var(--_colors---brand--primary-5);
}

.info_grid_cell.bordo {
  background-color: var(--_colors---brand--primary-9);
}

.info_grid_cell_img {
  height: 48px;
}

.info_grid_cell_img.large {
  height: 64px;
}

/* ─── Divisions ───────────────────────────────────────────────────────────── */

.divisions {
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.divisions_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.divisions_content {
  grid-column-gap: var(--_spacing---adaptive--s);
  grid-row-gap: var(--_spacing---adaptive--s);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1180px;
  display: flex;
}

.divisions_cards {
  grid-column-gap: var(--_grid---general--gutter);
  grid-row-gap: var(--_grid---general--gutter);
  width: 100%;
  display: flex;
}

.divisions_card {
  background-color: var(--_colors---depth--depth-0);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.division_card_header {
  width: 100%;
  padding: var(--_spacing---static--1-5);
  grid-column-gap: var(--_spacing---static--1);
  border: 2px solid var(--_colors---depth--depth-0);
  background-color: var(--_colors---brand--primary);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.division_card_header.black {
  background-color: var(--_colors---neutral--black--black);
}

.division_card_header_icon {
  width: 32px;
  overflow: hidden;
}

.division_card_info {
  width: 100%;
  padding-top: var(--_spacing---static--1-5);
  padding-right: var(--_spacing---static--1-5);
  padding-left: var(--_spacing---static--1-5);
  grid-column-gap: var(--_spacing---static--0-5);
  grid-row-gap: var(--_spacing---static--0-5);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.division_card_info.last {
  padding-bottom: var(--_spacing---static--1-5);
}

.label {
  color: var(--_colors---neutral--label);
}

.division_card_body {
  flex-flow: column;
  flex: 1;
  display: flex;
}

/* ─── How to ──────────────────────────────────────────────────────────────── */

.how-to {
  background-color: var(--_colors---depth--depth-0);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.how-to_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.how-to_content {
  grid-column-gap: var(--_spacing---adaptive--s);
  grid-row-gap: var(--_spacing---adaptive--s);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1180px;
  display: flex;
}

.how-to_title {
  flex-flow: column;
  max-width: 960px;
  display: flex;
}

.how-to_card {
  width: 100%;
  padding: var(--_spacing---adaptive--m);
  border: 2px solid var(--_colors---neutral--border);
  background-color: var(--_colors---depth--depth-0);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
  overflow: hidden;
}

.how-to_cards {
  grid-column-gap: var(--_grid---general--gutter);
  grid-row-gap: var(--_grid---general--gutter);
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  display: flex;
}

.how-to_card_step {
  margin-bottom: var(--_spacing---static--2);
  flex: none;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.how-to_card_step_img {
  height: 96px;
}

.how-to_card_info {
  grid-column-gap: var(--_spacing---static--0-5);
  grid-row-gap: var(--_spacing---static--0-5);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.how-to_card_action {
  width: 100%;
  padding-top: var(--_spacing---adaptive--l);
  grid-column-gap: var(--_spacing---static--0-5);
  grid-row-gap: var(--_spacing---static--0-5);
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  text-decoration: none;
  display: flex;
}

.how-to_card_group {
  flex-flow: column;
  justify-content: center;
  display: flex;
}

/* ─── Participations ──────────────────────────────────────────────────────── */

.participations {
  background-color: #af001f;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.participations_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.participations_content {
  grid-column-gap: var(--_grid---general--gutter);
  grid-row-gap: var(--_grid---general--gutter);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 1180px;
  display: grid;
}

.huge-bttn {
  width: 100%;
  padding: var(--_spacing---static--1-5) var(--_spacing---static--1-25) var(--_spacing---static--1-5) var(--_spacing---static--1-5);
  grid-column-gap: var(--_spacing---static--1);
  grid-row-gap: var(--_spacing---static--1);
  background-color: var(--_colors---depth--depth-0);
  justify-content: space-between;
  align-items: center;
  display: flex;
  color: var(--_colors---brand--primary-9);
  transition: color 200ms ease-in-out, background-color 200ms ease-in-out;
}

.huge-bttn .subtitle-1 {
  color: var(--_colors---brand--primary-9);
}

@media (hover: hover) and (pointer: fine) {
  .huge-bttn:hover {
    background-color: var(--_colors---brand--primary-5);
    color: var(--_colors---neutral--white--white);
  }

  .huge-bttn:hover .subtitle-1 {
    color: var(--_colors---neutral--white--white);
  }
}

.participations_title {
  display: flex;
}

/* ─── Accordions ──────────────────────────────────────────────────────────── */

.accordions {
  background-color: var(--_colors---depth--depth-0);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.accordions_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.accordions_list {
  grid-column-gap: var(--_grid---general--gutter);
  grid-row-gap: var(--_grid---general--gutter);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  display: flex;
}

.accordions_content {
  grid-column-gap: var(--_spacing---adaptive--s);
  grid-row-gap: var(--_spacing---adaptive--s);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 980px;
  display: flex;
}

.accordion {
  border: 2px solid var(--_colors---neutral--border);
  background-color: var(--_colors---depth--depth-0);
  flex-flow: column;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.accordion_header {
  width: 100%;
  padding: var(--_spacing---static--1-25) var(--_spacing---static--1-5);
  grid-column-gap: var(--_spacing---static--1-25);
  grid-row-gap: var(--_spacing---static--0-25);
  flex: 1;
  grid-template-rows: auto;
  grid-template-columns: 1fr 2fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  display: grid;
  background-color: var(--_colors---depth--depth-0);
  border: none;
}

.accordion_header._2-col {
  grid-template-columns: 23.75fr .25fr;
}

.accordion_col {
  flex: 1;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
  text-align: left;
}

.accordion_col.center {
  justify-content: center;
  align-items: center;
}

.accordion_col.right {
  justify-content: flex-end;
  align-items: center;
}

.accordion_icon {
  width: 18px;
  height: 18px;
}

.accordion_icon-wrapper {
  background-color: var(--_colors---brand--primary);
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

@media (hover: hover) and (pointer: fine) {
  .accordion_header:hover .accordion_col .large-text.bold.label {
    color: var(--_colors---brand--primary);
  }
}

.accordion_content {
  overflow: hidden;
}

.accordion_content_wrapper {
  width: 100%;
  padding-right: var(--_spacing---static--1-5);
  padding-bottom: var(--_spacing---static--1-25);
  padding-left: var(--_spacing---static--1-5);
}

.program-item {
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.program-item:nth-child(odd) {
  background-color: var(--_colors---brand--primary-1);
}

.program_time {
  padding: var(--_spacing---static--0-75);
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.program_label {
  padding: var(--_spacing---static--0-75);
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.program {
  flex-flow: column;
  display: flex;
}

#program {
  border-top: 1px solid var(--_colors---neutral--border);
}

/* ─── Partners ────────────────────────────────────────────────────────────── */

.partners {
  background-color: var(--_colors---depth--depth-0);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
  overflow: hidden;
}

.partners.top-border {
  border-top: 1px solid var(--_colors---neutral--border);
}

.partners_wrapper {
  width: 100%;
  padding-right: var(--_grid---general--margin);
  padding-bottom: var(--_spacing---adaptive--xxl);
  padding-left: var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.partners_wrapper.top-padding {
  padding-top: var(--_spacing---adaptive--xxl);
}

.logos_grid {
  grid-column-gap: var(--_grid---general--gutter);
  grid-row-gap: var(--_grid---general--gutter);
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row dense;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.logos_grid.organizers {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  justify-content: center;
  align-items: flex-start;
}

.partners_content {
  grid-column-gap: var(--_spacing---adaptive--s);
  grid-row-gap: var(--_spacing---adaptive--s);
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  max-width: 980px;
  display: flex;
}

.logo {
  justify-content: center;
  align-items: center;
  width: calc(20% - 16px);
  height: 94px;
  display: flex;
  transition: transform 200ms ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  a.logo:hover {
    transform: scale(1.05);
  }
}

.logo.organizer {
  width: auto;
  height: 80px;
}

.logo_img {
  height: 100%;
}

/* ─── Footer ──────────────────────────────────────────────────────────────── */

.footer {
  background-color: var(--_colors---brand--primary-9);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.footer_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--m) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer_content {
  flex-flow: column;
  width: 100%;
  max-width: 1180px;
  display: flex;
}

.footer_docs {
  grid-column-gap: var(--_spacing---static--1);
  grid-row-gap: var(--_spacing---static--0-5);
  flex-flow: wrap;
  display: flex;
}

.footer_divider {
  padding-top: var(--_spacing---static--1-5);
  padding-bottom: var(--_spacing---static--1-5);
}

.hr-line {
  background-color: var(--_colors---neutral--white--white-85);
  height: 1px;
}

.footer_copywrite {
  grid-column-gap: var(--_spacing---static--1-25);
  grid-row-gap: var(--_spacing---static--1-25);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer_link {
  color: var(--_colors---neutral--white--white);
  padding: var(--_spacing---static--0-25) 0;
  transition: color 200ms ease-in-out, box-shadow 200ms ease-in-out;
}

@media (hover: hover) and (pointer: fine) {
  .footer_link:hover {
    box-shadow: inset 0 -2px 0 var(--_colors---neutral--white--white);
    color: var(--_colors---neutral--white--white);
  }
}

.footer_socials {
  grid-column-gap: var(--_spacing---static--0-5);
  grid-row-gap: var(--_spacing---static--0-5);
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.footer_links {
  grid-column-gap: var(--_spacing---adaptive--l);
  grid-row-gap: var(--_spacing---adaptive--l);
  flex-flow: wrap;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.footer_logo {
  height: 56px;
}

.footer_links_group {
  margin-bottom: var(--_spacing---static--1-25);
  flex-flow: column;
  display: flex;
  align-items: baseline;
}

.footer_links_group.last {
  margin-bottom: 0;
}

/* ─── Menu ────────────────────────────────────────────────────────────────── */

.menu {
  z-index: 998;
  position: fixed;
  inset: 72px 0 0;
  width: 100%;
  height: 100vh;
  background-color: var(--_colors---neutral--black--black-45);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms ease, visibility 0s linear 500ms;
  overscroll-behavior: contain;
}

.menu_content {
  background-color: var(--_colors---brand--primary-9);
  display: flex;
  flex-flow: column;
  transform: translateY(-120%);
  transition: transform 400ms ease-in-out;
  max-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.menu.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 200ms ease, visibility 0s;
}

.menu.is-open .menu_content {
  transform: translateY(0);
}

.menu_nav {
  padding: var(--_spacing---static--1-5);
  flex-flow: column;
  display: flex;
}

.menu_nav_item {
  height: 48px;
  color: var(--_colors---neutral--white--white);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.menu_action {
  padding: var(--_spacing---static--2) var(--_spacing---static--1-5) var(--_spacing---static--3);
  border-top: 1px solid var(--_colors---neutral--white--white);
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.menu_action_wrapper {
  flex: 1;
  max-width: 280px;
  display: flex;
}

body.modal-open {
  overflow: hidden;
}

body.modal-open {
  touch-action: none;
}

/* ─── Results ─────────────────────────────────────────────────────────────── */

.results {
  background-color: var(--_colors---depth--depth-0);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.results_wrapper {
  width: 100%;
  padding: var(--_spacing---adaptive--xxl) var(--_grid---general--margin);
  justify-content: center;
  align-items: center;
  display: flex;
}

.results_content {
  flex-flow: column;
  flex: 1;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  max-width: 980px;
  display: flex;
}

.results_widget {
  flex-flow: column;
  display: flex;
}

/* ─── Grid placement ──────────────────────────────────────────────────────── */

#info-cell-02 {
  grid-area: span 2 / span 1 / span 2 / span 1;
}

#info-cell-03 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#results-title {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

/* ─── Media: 1024px ───────────────────────────────────────────────────────── */

@media screen and (max-width: 1024px) {
  .header_wrapper {
    padding: var(--_spacing---static--0-5) var(--_spacing---static--0-75);
  }

  .header_wrapper.simple {
    padding-right: var(--_spacing---static--0-25);
    padding-left: var(--_spacing---static--0-25);
  }

  .header_logo {
    height: 36px;
  }

  .header_nav {
    display: none;
  }

  .text-center-responsive {
    text-align: center;
  }

  .bttn {
    min-height: 48px;
    padding: var(--_spacing---static--0-75) var(--_spacing---static--1-25);
  }

  .bttn.large {
    height: 56px;
    padding: 15px var(--_spacing---static--1-5);
  }

  .bttn.large.icon {
    padding: 0;
  }

  .header_nav_action {
    display: none;
  }

  .header_nav_menu {
    display: block;
  }

  .icon-bttn {
    width: 48px;
    height: 48px;
  }

  .icon-bttn.small {
    width: 40px;
    height: 40px;
  }

  .hero {
    margin-bottom: -4px;
  }

  .hero_content {
    margin-left: 0;
    margin-right: 0;
  }

  .hero_content_wrapper {
    flex-flow: column;
    flex: 1;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .hero_col {
    width: 100%;
    padding-right: var(--_grid---general--margin);
    padding-bottom: var(--_spacing---adaptive--l);
    padding-left: var(--_grid---general--margin);
    flex: 0 auto;
    justify-content: flex-start;
    align-items: center;
  }

  .hero_title {
    justify-content: center;
    align-items: flex-start;
  }

  .hero_event_bttn {
    position: static;
  }

  .hero_actions {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .hero_illustration {
    width: 100%;
    margin-top: var(--_spacing---static--1-5);
    flex-grow: 1;
    flex-basis: 100%;
    justify-content: center;
    align-items: flex-start;
  }

  .hero_illustration_stage {
    width: 720px;
    height: 432px;
  }

  .ornament {
    background-size: auto 40px;
    height: 40px;
  }

  .info_grid {
    grid-template-columns: 1fr 1fr;
  }

  .info_grid_cell {
    min-height: 200px;
  }

  .how-to_cards {
    flex-flow: column;
  }

  .how-to_card_step {
    width: 72px;
    margin-right: var(--_spacing---static--1-5);
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
  }

  .how-to_card_group {
    flex-flow: row;
  }

  .participations_content {
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
  }

  .participations_title {
    margin-bottom: var(--_spacing---static--1-75);
    text-align: center;
    justify-content: center;
    align-items: center;
  }

  .accordions_list {
    flex-flow: column;
  }

  .logos_grid {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .logos_grid.organizers {
    justify-content: center;
    align-items: flex-start;
  }

  .logo {
    width: calc(25% - 12px);
    height: 89px;
  }

  .logo.organizer {
    width: calc(33.3333% - 12px);
    height: 64px;
  }

  .footer_links {
    grid-template-columns: 1fr 1fr;
  }

  .menu {
    inset: 64px 0 0;
  }

  .results_content {
    grid-template-columns: 1fr 1fr;
  }

  #info-cell-02 {
    grid-area: 2 / 1 / 3 / 3;
  }

  #participants-title,
  #results-title,
  #results-bttn {
    grid-area: span 1 / span 2 / span 1 / span 2;
  }
}

/* ─── Media: 767px ────────────────────────────────────────────────────────── */

@media screen and (max-width: 767px) {
  .extra-heading {
    letter-spacing: .96px;
  }

  .extra-heading.top-margin {
    margin-top: var(--_spacing---static--0-75);
  }

  .extra-subtitle {
    letter-spacing: .72px;
  }

  .headings-1 {
    letter-spacing: .8px;
  }

  .headings-1.bottom-margin {
    margin-bottom: var(--_spacing---static--1-25);
  }

  .subtitle-1 {
    letter-spacing: .22px;
  }

  .headings-2 {
    letter-spacing: .64px;
  }

  .subtitle-2 {
    letter-spacing: .18px;
  }

  .headings-3 {
    letter-spacing: .24px;
  }

  .subtitle-3 {
    letter-spacing: .16px;
  }

  .subtitle-3.bottom-margin {
    margin-bottom: var(--_spacing---static--0-75);
  }

  .headings-4 {
    letter-spacing: .2px;
  }

  .header_col {
    grid-column-gap: var(--_spacing---static--1);
  }

  .header_logo {
    height: 28px;
  }

  .header_wrapper.simple .icon-bttn {
      width: 40px;
      height: 40px;
  }

  .header_wrapper.simple .icon-bttn svg {
    width: 16px;
    height: 16px;
  }

  .menu {
    inset: 56px 0 0;
  }

  .hero_col {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .hero_title {
    grid-column-gap: var(--_spacing---static--1-25);
  }

  .hero_mascot_wrapper {
    margin-top: 20px;
  }

  .hero_mascot {
    height: 87px;
  }

  .hero_illustration_stage {
    width: 480px;
    height: 288px;
  }

  .ornament {
    background-size: auto 32px;
    height: 32px;
  }

  .info_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .info_grid {
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 1fr;
  }

  .info_grid_cell.bordo {
    min-height: 180px;
  }

  .divisions_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .divisions_cards {
    flex-flow: column;
  }

  .division_card_header {
    padding: var(--_spacing---static--1-25);
  }

  .division_card_header_icon {
    width: 28px;
  }

  .division_card_info {
    padding-top: var(--_spacing---static--1-25);
    padding-right: var(--_spacing---static--1-25);
    padding-left: var(--_spacing---static--1-25);
  }

  .division_card_info.last {
    padding-bottom: var(--_spacing---static--1-25);
  }

  .how-to_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .how-to_card {
    justify-content: flex-start;
    align-items: center;
  }

  .how-to_cards {
    flex-flow: column;
  }

  .how-to_card_step {
    width: auto;
    margin-right: 0;
    margin-bottom: var(--_spacing---static--1-5);
  }

  .how-to_card_step_img {
    height: 64px;
  }

  .how-to_card_info {
    text-align: center;
    justify-content: flex-start;
    align-items: center;
  }

  .how-to_card_info.last, .how-to_card_action.last {
    padding-bottom: var(--_spacing---static--1-25);
  }

  .how-to_card_group {
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
  }

  .participations_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .huge-bttn {
    padding: var(--_spacing---static--1-25) var(--_spacing---static--1) var(--_spacing---static--1-25) var(--_spacing---static--1-25);
  }

  .huge-bttn svg {
    width: 24px;
    height: 24px;
  }

  .participations_title {
    margin-bottom: var(--_spacing---static--1-25);
  }

  .accordions_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .accordions_list {
    flex-flow: column;
  }

  .accordion {
    justify-content: flex-start;
    align-items: center;
  }

  .accordion_header {
    padding: var(--_spacing---static--1) var(--_spacing---static--1-25);
    grid-column-gap: var(--_spacing---static--1);
    grid-template-rows: auto auto;
    grid-template-columns: 3.75fr .25fr;
  }

  .accordion_header._2-col {
    grid-template-rows: auto;
  }

  .accordion_col {
    justify-content: flex-start;
    align-items: center;
  }

  .accordion_col.last {
    padding-bottom: var(--_spacing---static--1-25);
  }

  .accordion_col.center {
    justify-content: flex-start;
    align-items: center;
  }

  .accordion_date {
    text-align: center;
    justify-content: flex-start;
    align-items: center;
  }

  .accordion_date.last {
    padding-bottom: var(--_spacing---static--1-25);
  }

  .accordion_content_wrapper {
    padding-right: var(--_spacing---static--1-25);
    padding-bottom: var(--_spacing---static--1);
    padding-left: var(--_spacing---static--1-25);
  }

  .partners_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .logo {
    height: 64px;
  }

  .logo.organizer {
    height: 48px;
  }

  .footer_wrapper, .results_wrapper {
    padding-right: var(--_spacing---static--0-75);
    padding-left: var(--_spacing---static--0-75);
  }

  .results_content {
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 1fr;
  }

  #info-cell-02 {
    grid-row: 3 / 4;
    grid-column-end: 2;
  }

  .accordion_col.center,
  .accordion_col._1-col {
    grid-area: 2 / 1 / 3 / 2;
  }

  .accordion_col.right {
    grid-area: span 2 / span 1 / span 2 / span 1;
  }

}

/* ─── Media: 575px ────────────────────────────────────────────────────────── */

@media screen and (max-width: 575px) {
  .header_wrapper.simple {
    padding-right: var(--_spacing---static--0-75);
  }

  .header_col.mobile_hidden {
    display: none;
  }

  .ornament_wrapper {
    padding-top: 0;
  }

  .participations_content {
    grid-template-columns: 1fr;
  }

  .accordion_col {
    width: 100%;
  }

  .accordion_col.right {
    width: auto;
  }

  .logos_grid, .logos_grid.organizers {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .logo, .logo.organizer {
    width: calc(50% - 6px);
  }

  .footer_links {
    grid-template-columns: 1fr;
  }

  .footer_logo {
    height: 40px;
  }

  #participants-title,
  #results-title,
  #results-bttn {
    grid-column: span 1 / span 1;
  }

  .accordion_col,
  .accordion_col.center,
  .accordion_col._1-col {
    grid-column: span 2 / span 2;
  }

  .accordion_col.right {
    grid-column: 3 / 4;
  }

}