:root {
  --footer-logo-width: 172px;
  --footer-logo-height: 64px;
  --footer-logo-mb: 48px;
  --footer-contacts-fs: 20px;
  --footer-nav-fs: 20px;
  --footer-policy-fs: 18px;
}

@media (max-width: 700px) {
  :root {
    --footer-logo-width: 238px;
    --footer-logo-height: 88px;
    --footer-logo-mb: 60px;
  }
}

@media (max-width: 600px) {
  :root {
    --footer-contacts-fs: 20px;
    --footer-nav-fs: 20px;
    --footer-policy-fs: 18px;
  }
}

@media (max-width: 480px) {
  :root {
    --footer-logo-width: 135px;
    --footer-logo-height: 51px;
    --footer-logo-mb: 32px;
    --footer-contacts-fs: 16px;
    --footer-nav-fs: 16px;
    --footer-policy-fs: 12px;
  }
}

body.olympiad-page {
  --olympiad-page-gutter: 20px;
  --olympiad-header-offset: 80px;
  --olympiad-page-footer-gap: 120px;
  --olympiad-section-title-fs: 48px;
}

@media (max-width: 1200px) {
  body.olympiad-page {
    --olympiad-section-title-fs: 40px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-page-gutter: 10px;
    --olympiad-header-offset: 68px;
    --olympiad-section-title-fs: 30px;
  }
}

body.olympiad-page {
  --olympiad-button-fs: 20px;
  --olympiad-button-min-height: 66px;
  --olympiad-button-padding-block: 12px;
  --olympiad-button-padding-inline: 32px;
}

@media (max-width: 1200px) {
  body.olympiad-page {
    --olympiad-button-min-height: 70px;
    --olympiad-button-padding-block: 12px;
    --olympiad-button-padding-inline: 22px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-button-fs: 18px;
    --olympiad-button-padding-block: 10px;
  }
}

@media (max-width: 560px) {
  body.olympiad-page {
    --olympiad-button-min-height: 56px;
    --olympiad-button-padding-inline: 18px;
  }
}

@media (max-width: 360px) {
  body.olympiad-page {
    --olympiad-button-fs: 17px;
    --olympiad-button-min-height: 52px;
    --olympiad-button-padding-block: 9px;
    --olympiad-button-padding-inline: 12px;
  }
}

body.olympiad-page {
  --olympiad-format-padding-start: 104px;
  --olympiad-format-padding-end: 100px;
  --olympiad-format-title-fs: 48px;
  --olympiad-format-list-margin-start: 0px;
  --olympiad-format-list-padding-start: 45px;
  --olympiad-format-list-gap: 20px;
  --olympiad-format-card-margin-start: 48px;
  --olympiad-format-card-padding: 32px;
  --olympiad-format-number-fs: 26px;
  --olympiad-format-card-title-fs: 26px;
  --olympiad-format-description-margin-start: 11px;
  --olympiad-format-description-fs: 20px;
}

@media (max-width: 1100px) {
  body.olympiad-page {
    --olympiad-format-padding-start: 64px;
    --olympiad-format-padding-end: 33px;
    --olympiad-format-list-margin-start: 44px;
    --olympiad-format-list-padding-start: 0px;
    --olympiad-format-card-margin-start: 0px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-format-padding-start: 40px;
    --olympiad-format-padding-end: 59px;
    --olympiad-format-title-fs: 32px;
    --olympiad-format-list-margin-start: 20px;
    --olympiad-format-card-padding: 20px;
    --olympiad-format-number-fs: 20px;
    --olympiad-format-card-title-fs: 20px;
    --olympiad-format-description-margin-start: 8px;
    --olympiad-format-description-fs: 14px;
  }
}

body.olympiad-page {
  --olympiad-gallery-padding-start: 96px;
  --olympiad-gallery-padding-end: 80px;
  --olympiad-gallery-title-fs: 48px;
  --olympiad-gallery-header-gap: 48px;
  --olympiad-gallery-controls-gap: 32px;
  --olympiad-gallery-viewport-margin-start: 39px;
  --olympiad-gallery-dots-gap: 10px;
  --olympiad-gallery-dots-margin-start: 20px;
  --olympiad-gallery-card-width: 532.64px;
  --olympiad-gallery-card-height: 400px;
  --olympiad-gallery-card-radius: 32px;
  --olympiad-gallery-gap: 16px;
}

@media (max-width: 1200px) {
  body.olympiad-page {
    --olympiad-gallery-padding-start: 64px;
    --olympiad-gallery-padding-end: 60px;
    --olympiad-gallery-viewport-margin-start: 29px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-gallery-padding-start: 40px;
    --olympiad-gallery-padding-end: 38px;
    --olympiad-gallery-title-fs: 32px;
    --olympiad-gallery-viewport-margin-start: 20px;
    --olympiad-gallery-dots-gap: 5px;
    --olympiad-gallery-dots-margin-start: 10px;
    --olympiad-gallery-card-width: 266.32px;
    --olympiad-gallery-card-height: 200px;
    --olympiad-gallery-card-radius: 16px;
    --olympiad-gallery-gap: 8px;
  }
}

body.olympiad-page {
  --olympiad-goals-padding-start: 64px;
  --olympiad-goals-padding-end: 120px;
  --olympiad-goals-title-fs: 50px;
  --olympiad-goals-text-fs: 20px;
  --olympiad-goals-wrapper-gap: 44px;
  --olympiad-goals-list-margin-start: 44px;
  --olympiad-goals-marker-size: 29px;
  --olympiad-goals-marker-gap: 16px;
  --olympiad-goals-row-gap: 40px;
  --olympiad-goals-illustration-margin-start: 101px;
  --olympiad-goals-illustration-margin-end: 0px;
}

@media (max-width: 1119px) {
  body.olympiad-page {
    --olympiad-goals-padding-start: 64px;
    --olympiad-goals-padding-end: 64px;
    --olympiad-goals-title-fs: clamp(32px, calc(11.86px + 5.126vw), 50px);
    --olympiad-goals-text-fs: clamp(14px, calc(7.278px + 1.71vw), 20px);
    --olympiad-goals-list-margin-start: clamp(21px, calc(8.68px + 3.135vw), 32px);
    --olympiad-goals-marker-size: clamp(24px, calc(18.416px + 1.42vw), 29px);
    --olympiad-goals-marker-gap: clamp(8px, calc(-0.949px + 2.277vw), 16px);
    --olympiad-goals-row-gap: clamp(10px, calc(-23.59px + 8.547vw), 40px);
    --olympiad-goals-illustration-margin-start: 0px;
    --olympiad-goals-illustration-margin-end: clamp(32px, calc(91.36px - 7.984vw), 60px);
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-goals-padding-start: 40px;
    --olympiad-goals-padding-end: 40px;
  }
}

body.olympiad-page {
  --olympiad-hero-wrapper-gap: 64px;
  --olympiad-hero-wrapper-padding-start: 0px;
  --olympiad-hero-values-fs: 28px;
  --olympiad-hero-meta-gap: 32px;
  --olympiad-hero-meta-margin-end: 34px;
  --olympiad-hero-meta-padding-inline: 24px;
  --olympiad-hero-meta-fs: 20px;
  --olympiad-hero-title-fs: 50px;
  --olympiad-hero-button-margin-start: 41px;
  --olympiad-hero-no-images-wrapper-padding-start: 60px;
  --olympiad-hero-no-images-meta-margin-end: 34px;
  --olympiad-hero-no-images-title-fs: 76px;
  --olympiad-hero-no-images-button-margin-start: 42px;
  --olympiad-hero-flow-padding-block: 40px;
  --olympiad-hero-flow-meta-margin-end: 34px;
}

@media (max-width: 1100px) {
  body.olympiad-page {
    --olympiad-hero-wrapper-gap: 48px;
    --olympiad-hero-wrapper-padding-start: 40px;
    --olympiad-hero-meta-margin-end: 50px;
    --olympiad-hero-button-margin-start: 46px;
    --olympiad-hero-no-images-wrapper-padding-start: 32px;
    --olympiad-hero-no-images-meta-margin-end: 50px;
    --olympiad-hero-no-images-title-fs: 50px;
  }
}

@media (max-width: 560px) {
  body.olympiad-page {
    --olympiad-hero-wrapper-gap: 32px;
    --olympiad-hero-wrapper-padding-start: 0px;
    --olympiad-hero-meta-gap: 10px;
    --olympiad-hero-meta-margin-end: 34px;
    --olympiad-hero-meta-padding-inline: 12px;
    --olympiad-hero-meta-fs: 14px;
    --olympiad-hero-title-fs: 32px;
    --olympiad-hero-button-margin-start: 30px;
    --olympiad-hero-no-images-meta-margin-end: 22px;
    --olympiad-hero-no-images-title-fs: 32px;
    --olympiad-hero-no-images-button-margin-start: 30px;
    --olympiad-hero-flow-meta-margin-end: 22px;
  }
}

body.olympiad-page {
  --olympiad-registration-padding-start: 101px;
  --olympiad-registration-padding-end: 99px;
  --olympiad-registration-column-gap: 56px;
  --olympiad-registration-title-fs: 50px;
  --olympiad-registration-price-margin-start: 53px;
  --olympiad-registration-price-fs: 26px;
  --olympiad-registration-description-margin-start: 20px;
  --olympiad-registration-description-details-margin-start: 18px;
  --olympiad-registration-description-fs: 20px;
  --olympiad-registration-form-margin-start: 100px;
  --olympiad-registration-form-gap: 16px;
  --olympiad-registration-agreement-margin-start: 5px;
  --olympiad-registration-agreement-gap: 8px;
  --olympiad-registration-agreement-fs: 15px;
  --olympiad-registration-flow-form-margin-start: 40px;
}

@media (max-width: 1100px) {
  body.olympiad-page {
    --olympiad-registration-padding-start: 61px;
    --olympiad-registration-padding-end: 58px;
    --olympiad-registration-price-margin-start: 28px;
    --olympiad-registration-form-margin-start: 30px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-registration-padding-start: 41px;
    --olympiad-registration-padding-end: 40px;
    --olympiad-registration-title-fs: 32px;
    --olympiad-registration-price-margin-start: 22px;
    --olympiad-registration-price-fs: 20px;
    --olympiad-registration-description-margin-start: 15px;
    --olympiad-registration-description-details-margin-start: 15px;
    --olympiad-registration-description-fs: 14px;
    --olympiad-registration-form-margin-start: 21px;
    --olympiad-registration-form-gap: 12px;
    --olympiad-registration-agreement-margin-start: 0px;
    --olympiad-registration-agreement-fs: 14px;
    --olympiad-registration-flow-form-margin-start: 28px;
  }
}

body.olympiad-page {
  --olympiad-results-padding-start: 120px;
  --olympiad-results-padding-end: 120px;
  --olympiad-results-content-padding: 60px 60px 57.625px;
  --olympiad-results-content-padding-no-images-start: 60px;
  --olympiad-results-title-fs: 49.2px;
  --olympiad-results-title-lh: 57px;
  --olympiad-results-group-margin-start: 44px;
  --olympiad-results-next-group-margin-start: 36px;
  --olympiad-results-subtitle-fs: 35.3px;
  --olympiad-results-subtitle-lh: 43.2px;
  --olympiad-results-list-gap: 11px;
  --olympiad-results-list-margin-start: 20px;
  --olympiad-results-list-fs: 20px;
}

@media (max-width: 1199px) {
  body.olympiad-page {
    --olympiad-results-content-padding:
      min(710.34px, calc(100.269% - 35.66px))
      20px
      57.625px;
    --olympiad-results-group-margin-start: 32px;
  }
}

@media (max-width: 729px) {
  body.olympiad-page {
    --olympiad-results-padding-start: 72px;
    --olympiad-results-padding-end: 72px;
    --olympiad-results-content-padding:
      calc(113.741% + 22.8px)
      20px
      61.45px;
    --olympiad-results-title-fs: 31px;
    --olympiad-results-title-lh: 1.2;
    --olympiad-results-group-margin-start: 18px;
    --olympiad-results-next-group-margin-start: 17px;
    --olympiad-results-subtitle-fs: 28px;
    --olympiad-results-subtitle-lh: 1.2;
    --olympiad-results-list-margin-start: 12px;
    --olympiad-results-list-fs: 14px;
  }
}

/* Font sizes */
:root {
  /*titles*/
  --h1-font-size: 78px;
  --h1-font-size-school: 83px;
  --h1-font-size-directions: 86px;
  --h2-font-size: 60px;
  --h2-font-size-opportunities: 60px;
  --h3-font-size: 50px;
  --h4-font-size: 48px;

  /*scale*/
  --font-scale: 1;
}

body[data-font-size="small"] {
  --font-scale: 0.6;
}

body[data-font-size="large"] {
  --font-scale: 1.3;
}

body[data-font-size="xlarge"] {
  --font-scale: 1.5;
}

@media (max-width: 1300px) {
  :root {
    --h1-font-size: 94px;
    --h4-font-size: 40px;
    --h1-font-size-directions: 86px;
  }
}

@media (max-width: 1124px) {
  :root {
    --h2-font-size-opportunities: 54px;
  }
}
@media (max-width: 800px) {
  :root {
    --h1-font-size-directions: 70px;
  }
}
@media (max-width: 700px) {
  :root {
    --h1-font-size-school: 70px;
  }
}
@media (max-width: 640px) {
  :root {
    --h1-font-size: 60px;
    --h2-font-size: 50px;
    --h2-font-size-opportunities: 50px;
    --h3-font-size: 40px;
    --h4-font-size: 36px;
    --h1-font-size-school: 60px;

    --h1-font-size-directions: 60px;
  }
}
@media (max-width: 540px) {
  :root {
    --h1-font-size-directions: 48px;
  }
}

@media (max-width: 500px) {
  :root {
    --h1-font-size: 50px;
    --h2-font-size: 34px;
    --h2-font-size-opportunities: 34px;
    --h3-font-size: 34px;
    --h4-font-size: 34px;
    --h1-font-size-school: 48px;
  }
}

@media (max-width: 400px) {
  :root {
    --h1-font-size: 40px;
    --h3-font-size: 28px;
    --h2-font-size: 28px;
    --h2-font-size-opportunities: 28px;
    --h4-font-size: 28px;
    --h1-font-size-school: 40px;

    --h1-font-size-directions: 40px;
  }
}
