:root {
  --size-1: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
  --size-2: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  --size-3: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  --size-4: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  --size-5: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  --size-6: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  --size-7: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
  --size-8: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
  --size-9: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
  --size-10: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

@font-face {
  font-family: "Parkinsans";
  src: url("/fonts/Parkinsans-Bold.woff2") format("woff2"), url("/fonts/Parkinsans-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Parkinsans";
  src: url("/fonts/Parkinsans-Medium.woff2") format("woff2"), url("/fonts/Parkinsans-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Parkinsans";
  src: url("/fonts/Parkinsans-Regular.woff2") format("woff2"), url("/fonts/Parkinsans-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Parkinsans";
  src: url("/fonts/Parkinsans-SemiBold.woff2") format("woff2"), url("/fonts/Parkinsans-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
:root {
  --neutral-100: white;
  --neutral-200: #EDECE2;
  --neutral-900: black;
  --accent-400: #FDB718;
  --accent-500: #F47D38;
  --primary-300: #92D0DB;
  --primary-400: #009CDA;
  --primary-500: #403C98;
  --primary-900: #202752;
  --white-opacity-50: rgba(255, 255, 255, 0.05);
  --white-opacity-100: rgba(255, 255, 255, 0.1);
  --white-opacity-200: rgba(255, 255, 255, 0.2);
  --white-opacity-300: rgba(255, 255, 255, 0.3);
  --white-opacity-400: rgba(255, 255, 255, 0.4);
  --white-opacity-500: rgba(255, 255, 255, 0.5);
  --white-opacity-600: rgba(255, 255, 255, 0.6);
  --white-opacity-700: rgba(255, 255, 255, 0.7);
  --white-opacity-800: rgba(255, 255, 255, 0.8);
  --white-opacity-900: rgba(255, 255, 255, 0.9);
  --black-opacity-50: rgba(0, 0, 0, 0.05);
  --black-opacity-100: rgba(0, 0, 0, 0.1);
  --black-opacity-200: rgba(0, 0, 0, 0.2);
  --black-opacity-300: rgba(0, 0, 0, 0.3);
  --black-opacity-400: rgba(0, 0, 0, 0.4);
  --black-opacity-500: rgba(0, 0, 0, 0.5);
  --black-opacity-600: rgba(0, 0, 0, 0.6);
  --black-opacity-700: rgba(0, 0, 0, 0.7);
  --black-opacity-800: rgba(0, 0, 0, 0.8);
  --black-opacity-900: rgba(0, 0, 0, 0.9);
  --success-400: #279053;
  --danger-300: #F37F95;
  --danger-400: #EE2638;
  --danger-500: #A31D47;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
  font-weight: unset;
  font-size: unset;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

body.preload,
body.preload *,
body.preload *::before,
body.preload *::after {
  transition: none !important;
}

body {
  font-family: "Parkinsans";
  font-weight: 400;
  font-size: clamp(1rem, 0.9489rem + 0.2273vw, 1.125rem);
  color: var(--neutral-900);
  background-color: var(--neutral-200);
}

main {
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 100px;
}

h1, h2, h3, h4 {
  text-wrap: balance;
}

p {
  line-height: 1.5;
  text-wrap: pretty;
}

a {
  display: block;
  color: inherit;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul[data-type=list] {
  list-style: disc;
  padding: 0;
  padding-left: 2.5rem;
  display: grid;
  gap: 0.6rem;
  line-height: 1.5;
}

ol {
  margin: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) 0;
  padding-left: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
ol li {
  line-height: 1.6;
}

table {
  width: 100%;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-collapse: collapse;
}
table th {
  font-weight: 700;
}
table td, table th {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  padding: 10px;
  text-align: center;
  display: grid;
  place-content: center;
  min-width: 150px;
}
table tr {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}

.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body.preview header,
body.preview footer {
  display: none !important;
}
body.preview main {
  padding-top: 0;
}
body.preview #generic-page.news-article .page-wrapper {
  grid-template-columns: 1fr;
  max-width: 850px;
}
body.preview #generic-page .page-navigation {
  opacity: 0;
}

.button {
  -webkit-user-select: none;
  user-select: none;
  color: var(--button-color);
  background-color: transparent;
  outline-style: none;
  border: none;
  appearance: none;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  text-decoration: none;
  display: grid;
  width: fit-content;
  justify-self: start;
  position: relative;
  --button-stroke-width: 60;
  -webkit-tap-highlight-color: transparent;
  transition: scale 0.15s cubic-bezier(0.4, 0, 0.2, 1);
}
.button::after {
  content: "";
  display: block;
  position: absolute;
  inset: -0.125em;
  border-radius: 100vw;
  transition: box-shadow 0.3s cubic-bezier(0.32, 0.72, 0, 1);
  pointer-events: none;
  z-index: 1;
}
.button:is(:focus-visible)::after {
  box-shadow: 0 0 0 0.125em var(--button-color);
}
.button:active {
  scale: 0.955 0.925;
}
.button[data-type=primary] {
  --button-color: var(--neutral-100);
  --button-color-background: var(--primary-400);
  --button-hover-color: var(--neutral-900);
  --button-hover-color-background: var(--accent-400);
}
.button[data-type=secondary] {
  --button-color: var(--neutral-900);
  --button-color-background: var(--primary-300);
  --button-hover-color: var(--neutral-900);
  --button-hover-color-background: var(--accent-400);
}
.button[data-type=accent] {
  --button-color: var(--neutral-900);
  --button-color-background: var(--accent-400);
  --button-hover-color: var(--neutral-100);
  --button-hover-color-background: var(--primary-400);
}
.button[data-type=danger] {
  --button-color: var(--neutral-100);
  --button-color-background: var(--danger-400);
  --button-hover-color: var(--neutral-100);
  --button-hover-color-background: var(--primary-400);
}
.button[data-type=white] {
  --button-color: var(--neutral-900);
  --button-color-background: var(--neutral-200);
  --button-hover-color: var(--neutral-100);
  --button-hover-color-background: var(--primary-400);
}
.button[data-type=white-white] {
  --button-color: var(--neutral-900);
  --button-color-background: var(--neutral-100);
  --button-hover-color: var(--neutral-900);
  --button-hover-color-background: var(--neutral-100);
}
.button[data-type=programme] {
  --button-color: var(--programme-btn-text, var(--neutral-100));
  --button-color-background: var(--programme-colour, var(--primary-400));
  --button-hover-color: var(--neutral-900);
  --button-hover-color-background: var(--accent-400);
}

.button-inner {
  pointer-events: none;
  z-index: 1;
  overflow: clip;
  border-radius: 100vw;
  grid-area: 1/1;
  place-items: center;
  display: grid;
  position: relative;
}

.button-text {
  width: 100%;
  height: 100%;
  padding: 0.8em 1.2em;
  grid-area: 1/1;
  display: block;
  font-weight: 600;
}

.button-text.is-hover {
  color: var(--button-hover-color);
  z-index: 2;
  justify-content: center;
  align-items: center;
  display: flex;
}

.button:not([data-button]) .button-text.is-hover {
  display: none;
}

.button:not([data-button]) .button-svg-overlay {
  display: none;
}

.button-svg {
  aspect-ratio: 2;
  flex: none;
  width: 100%;
  height: auto;
  position: absolute;
  overflow: visible;
}
.button-svg path {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(1.25);
}

.button-svg-object {
  width: 100%;
}

.button-svg-inner {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.button-svg-text-wrap {
  width: 100%;
  height: auto;
  padding: 0.8em 1.2em;
  justify-content: center;
  align-items: center;
  display: flex;
}

.button-svg-text {
  white-space: nowrap;
  line-height: inherit;
  font-weight: 600;
}

.button-svg-overlay {
  z-index: 1;
  aspect-ratio: 2;
  width: 100%;
  height: auto;
  color: var(--button-hover-color-background);
  flex: none;
  position: absolute;
  overflow: visible !important;
}
.button-svg-overlay path {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(1.25);
}

.button-bg {
  pointer-events: none;
  background-color: var(--button-color-background);
  border-radius: 100vw;
  grid-area: 1/1;
  place-self: center;
  width: calc(100% - 1px);
  height: calc(100% - 1px);
  padding: 0;
}

.button[data-icon] .button-text.is-default {
  display: flex;
  align-items: center;
  gap: 0.7em;
}
.button[data-icon] .button-svg-text-wrap {
  justify-content: center;
  gap: 0.7em;
}
.button[data-icon] svg:not(.button-svg):not(.button-svg-overlay):not([data-button-svg]) {
  position: relative;
  z-index: 1;
  flex: none;
}
.button[data-icon] svg:not(.button-svg):not(.button-svg-overlay):not([data-button-svg]) path {
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

@media (hover: none) and (pointer: coarse) {
  .button:active {
    scale: 1.045 1.075;
  }

  .button-svg-object {
    display: none;
  }
}
.text-draw {
  position: relative;
  cursor: pointer;
  text-decoration: none;
}

.text-draw-span {
  margin-bottom: 0;
}

.text-draw-box {
  color: var(--danger-400);
  width: 100%;
  height: 0.625em;
  position: absolute;
  bottom: -0.625em;
  pointer-events: none;
}

.text-draw-box svg {
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: visible !important;
}

.arrow-btn {
  width: 50px;
  height: 50px;
}
.arrow-btn path:not(.circle):not(.icon-btn-ink) {
  stroke: var(--neutral-900);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}
.arrow-btn[data-type=accent]:not([data-icon-btn]) .circle {
  fill: var(--accent-400);
}
.arrow-btn[data-type=white]:not([data-icon-btn]) .circle {
  fill: var(--neutral-100);
}
.arrow-btn[data-flip] {
  transform: scaleX(-1);
}
@media (hover: hover) and (pointer: fine) {
  .arrow-btn:hover[data-type=accent]:not([data-icon-btn]) .circle {
    fill: var(--primary-400);
  }
  .arrow-btn:hover[data-type=accent]:not([data-icon-btn]) path:not(.circle) {
    stroke: var(--neutral-100);
  }
}

[data-icon-btn] {
  --button-stroke-width: 60;
}
[data-icon-btn][data-type=accent] {
  --icon-btn-color: var(--neutral-900);
  --icon-btn-background: var(--accent-400);
  --icon-btn-hover-color: var(--neutral-100);
  --icon-btn-hover-background: var(--primary-400);
}
[data-icon-btn][data-type=white] {
  --icon-btn-color: var(--neutral-900);
  --icon-btn-background: var(--neutral-200);
  --icon-btn-hover-color: var(--neutral-100);
  --icon-btn-hover-background: var(--primary-400);
}
[data-icon-btn] > .circle {
  fill: var(--icon-btn-background);
}

.icon-btn-ink {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(1.25);
}

.icon-btn-hover {
  color: var(--icon-btn-hover-color);
}
.icon-btn-hover .circle {
  fill: var(--icon-btn-hover-background);
}

[data-icon-btn] .icon-btn-hover path:not(.circle):not([fill]) {
  stroke: currentColor;
}

.underline-link {
  display: inline-block;
  justify-self: start;
  color: var(--primary-400);
  line-height: 1.5;
  text-decoration: none;
  position: relative;
}
.underline-link::before, .underline-link::after {
  content: "";
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
  height: 0.0625em;
  background-color: var(--primary-400);
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
.underline-link::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}
.underline-link::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}
@media (hover: hover) and (pointer: fine) {
  .underline-link:hover::before {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }
  .underline-link:hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
  }
}

.news-card p {
  padding-top: 0.7em;
}
.news-card h3 {
  padding-top: 0.1em;
}
.news-card img.default-logo {
  max-width: 50%;
  max-height: 50%;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.news-card svg.arrow-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  margin: 1rem;
  transform: translateX(-5px) rotate(-5deg) scale(0.9);
  transform-origin: bottom left;
  opacity: 0;
  transition: 0.2s cubic-bezier(0.625, 0.05, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  .news-card:hover svg.arrow-btn {
    transform: translateX(0px) rotate(0) scale(1);
    opacity: 1;
  }
}

.programme-card {
  position: relative;
}
.programme-card h3 {
  padding-top: 0.5em;
}
.programme-card img.programme-logo {
  position: absolute;
  max-width: 50%;
  max-height: 50%;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}
.programme-card svg.arrow-btn {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  margin: 1rem;
  transform: translateX(-5px) rotate(-5deg) scale(0.9);
  transform-origin: bottom left;
  opacity: 0;
  transition: 0.2s cubic-bezier(0.625, 0.05, 0, 1);
  z-index: 4;
}
.programme-card img.default-logo {
  max-width: 50%;
  max-height: 50%;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.programme-card.background .aspect-ratio-3-2::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
}
@media (hover: hover) and (pointer: fine) {
  .programme-card:hover svg.arrow-btn {
    transform: translateX(0px) rotate(0) scale(1);
    opacity: 1;
  }
}

[data-scrolling-started=true][data-scrolling-direction=down] header {
  transform: translateY(-100%);
}

header {
  transition: 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  height: 100px;
  display: grid;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
header .logo svg {
  width: 150px;
}
header .nav-links-wrapper {
  display: none;
  padding: 0.8em 1.5em;
}
@media screen and (min-width: 62em) {
  header .nav-links-wrapper {
    display: block;
  }
  header .burger-wrap {
    display: none;
  }
}

li.section-link {
  position: relative;
}
li.section-link .section-nav-link {
  cursor: pointer;
  display: flex;
  gap: 0.3em;
  align-items: center;
}
li.section-link .section-nav-link svg.arrow {
  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
}
li.section-link .nav-dropdown-content {
  width: 15em;
  padding-top: 1.5rem;
  position: absolute;
  z-index: 10;
  pointer-events: none;
  transform: translate(-2rem, 0.5rem);
  transition: all 0.3s cubic-bezier(0.625, 0.05, 0, 1);
  opacity: 0;
  transform-origin: top center;
}
li.section-link .nav-dropdown-content .inner {
  padding: 2rem;
}
li.section-link .nav-dropdown-content .inner ul {
  justify-items: start;
}
li.section-link:hover .section-nav-link svg.arrow {
  transform: rotate(180deg);
}
li.section-link:hover .nav-dropdown-content {
  pointer-events: all;
  transform: translate(-2rem, 0%);
  opacity: 1;
}

.burger-wrap {
  position: relative;
  display: grid;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.2em;
  cursor: pointer;
}
.burger-wrap svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.burger {
  transform: scale(0.4);
  transition: all 0.7s, font-size 0s;
  transition-timing-function: cubic-bezier(0.68, -0.35, 0.265, 1.35);
}
.burger > div {
  transition: all 0.1s 0.3s, font-size 0s;
  width: 3.5rem;
  height: 0.5rem;
  border-radius: 1em;
  background: var(--primary-400);
}
.burger > div::before, .burger > div::after {
  transition: all 0.3s 0.2s, font-size 0s;
  content: "";
  display: block;
  position: absolute;
  width: 3.5rem;
  height: 0.5rem;
  background: var(--primary-400);
  border-radius: 1em;
}
.burger > div::before {
  margin-top: -1.5rem;
}
.burger > div::after {
  margin-top: 1.5rem;
}
.burger.toggled {
  transform: rotate(180deg) scale(0.4);
}
.burger.toggled > div::before {
  transform: rotate(45deg) translate(1.1rem, 1rem);
}
.burger.toggled > div {
  background: transparent;
}
.burger.toggled > div::after {
  transform: rotate(-45deg) translate(1.1rem, -1rem);
}

#mobile-menu {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -20%) rotate(-5deg);
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
  background-color: var(--primary-400);
  font-size: clamp(1.728rem, 1.536rem + 0.8532vw, 2.1973rem);
  font-weight: 500;
  text-align: center;
  padding: 0.8rem;
  width: min(90%, 350px);
  border-radius: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  will-change: transform;
  transition: 0.7s cubic-bezier(0.68, -0.35, 0.265, 1.35);
}
#mobile-menu ul {
  display: grid;
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  background-color: var(--neutral-100);
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  padding: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem) 5%;
}
#mobile-menu a {
  text-decoration: none;
  line-height: 1.2;
}
#mobile-menu[data-status=not-active] {
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -20%) rotate(-5deg);
}
#mobile-menu[data-status=active] {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) rotate(0);
}

#main-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  transition: 0.7s cubic-bezier(0.68, -0.35, 0.265, 1.35);
}
#main-overlay[data-status=not-active] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
#main-overlay[data-status=active] {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

footer {
  position: relative;
  z-index: 2;
}
footer .logo {
  width: 150px;
}

a {
  text-decoration: none;
}

.input-wrapper {
  display: grid;
}
.input-wrapper label {
  padding-bottom: 0.8em;
  font-size: clamp(0.8333rem, 0.8061rem + 0.1212vw, 0.9rem);
}
.input-wrapper input, .input-wrapper select, .input-wrapper textarea {
  background-color: var(--neutral-100);
  border: 1px solid var(--black-opacity-50);
  outline: none;
  padding: 0.8em 1em;
  border-radius: 0.15em;
}
.input-wrapper input:focus, .input-wrapper select:focus, .input-wrapper textarea:focus {
  border: 1px solid var(--black-opacity-300);
}
.input-wrapper textarea {
  resize: vertical;
}
.input-wrapper.required label::after {
  content: "*";
  color: var(--danger-400);
  padding-left: 0.1em;
}
.input-wrapper.required .error-text {
  font-size: clamp(0.8333rem, 0.8061rem + 0.1212vw, 0.9rem);
  color: var(--danger-400);
  padding-top: 0.6em;
}
.input-wrapper.required.error input, .input-wrapper.required.error select, .input-wrapper.required.error textarea {
  border: 1px solid var(--danger-400);
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 20.5C16.0228 20.5 20.5 16.0228 20.5 10.5C20.5 4.97715 16.0228 0.5 10.5 0.5C4.97715 0.5 0.5 4.97715 0.5 10.5C0.5 16.0228 4.97715 20.5 10.5 20.5Z' fill='%23FFF2F1' stroke='%23FF1100' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M10.5 5.5V12.8846' stroke='%23FF1100'/%3E%3Cpath d='M10.5 15.7314V14.1929' stroke='%23FF1100' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) 50%;
}

.aspect-ratio-3-2 {
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
}
.aspect-ratio-3-2 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.aspect-ratio-16-9 {
  aspect-ratio: 16/9;
  position: relative;
  overflow: hidden;
}
.aspect-ratio-16-9 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 1;
}

.page-blocks {
  display: grid;
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.page-blocks a:not(.button) {
  color: var(--programme-colour, var(--primary-400));
}
.page-blocks .block video {
  max-width: 100%;
}
.page-blocks .block.image {
  overflow: hidden;
  aspect-ratio: 3/2;
  position: relative;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.page-blocks .block.image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-blocks .block.image-text {
  display: grid;
  gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  align-items: start;
}
.page-blocks .block.image-text .image {
  overflow: hidden;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
@media (min-width: 600px) {
  .page-blocks .block.image-text {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-blocks .block.image-text.reverse .image {
    order: 2;
  }
  .page-blocks .block.image-text.reverse .text {
    order: 1;
  }
}
@media screen and (min-width: 62em) {
  .page-blocks .block.image-text {
    grid-template-columns: 1fr;
  }
  .page-blocks .block.image-text[data-type=reverse] .image {
    order: unset;
  }
  .page-blocks .block.image-text[data-type=reverse] .text {
    order: unset;
  }
}
@media (min-width: 1200px) {
  .page-blocks .block.image-text {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-blocks .block.image-text[data-type=reverse] .image {
    order: 2;
  }
  .page-blocks .block.image-text[data-type=reverse] .text {
    order: 1;
  }
}
.page-blocks .block.file {
  justify-self: start;
}
.page-blocks .block.gallery .f-carousel__slide {
  position: relative;
  overflow: hidden;
  aspect-ratio: 3/2;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.page-blocks .block.gallery .f-carousel__slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (hover: hover) and (pointer: fine) {
  .page-blocks .block.gallery:hover .f-button {
    opacity: 1;
  }
}
.page-blocks .block.quote svg {
  width: 100%;
  max-width: 4rem;
}
.page-blocks .block.quote svg path {
  fill: var(--programme-colour, var(--primary-400));
}
.page-blocks .block.quote svg:last-of-type {
  transform: scale(-1);
}
.page-blocks .block.quote .text {
  font-size: clamp(1.2rem, 1.1156rem + 0.375vw, 1.4063rem);
  font-weight: 600;
  padding-top: 0.5em;
}
.page-blocks .block.quote span {
  display: block;
  padding-top: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
  padding-bottom: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.page-blocks .block.youtube {
  overflow: hidden;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.page-blocks .block.youtube.aspect-ratio-9by16 {
  text-align: center;
}
.page-blocks .block.youtube.aspect-ratio-9by16 iframe {
  aspect-ratio: 9/16;
  width: 100%;
  max-width: 400px;
}
.page-blocks .block.youtube.aspect-ratio-16by9 iframe {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}
.page-blocks .block.carousel .carousel-header {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  justify-content: space-between;
  align-items: center;
  margin-bottom: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.page-blocks .block.carousel .carousel-header h2 {
  margin: 0;
}
.page-blocks .block.carousel .carousel-nav {
  display: flex;
  gap: 0.8em;
  justify-content: flex-end;
}
.page-blocks .block.carousel .carousel-nav button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
.page-blocks .block.carousel .carousel-nav button svg {
  width: 50px;
  height: 50px;
}
.page-blocks .block.carousel .previous-button.disabled, .page-blocks .block.carousel .next-button.disabled {
  pointer-events: none;
  opacity: 0.3;
}
.page-blocks .block.carousel .f-carousel {
  --f-carousel-slide-width: calc((100% - 15px) / 1.01);
  --f-carousel-gap: 15px;
  clip-path: inset(0 -100vw 0 0);
}
@media screen and (min-width: 48em) {
  .page-blocks .block.carousel .f-carousel {
    --f-carousel-slide-width: calc((100% - 25px) / 2);
    --f-carousel-gap: 25px;
  }
}
@media screen and (min-width: 62em) {
  .page-blocks .block.carousel .f-carousel {
    --f-carousel-slide-width: calc((100% - 15px) / 1.5);
  }
}
@media screen and (min-width: 75em) {
  .page-blocks .block.carousel .f-carousel {
    --f-carousel-slide-width: calc((100% - 25px) / 2);
  }
}
.page-blocks .block.carousel .f-carousel__viewport {
  overflow: visible;
}
.page-blocks .block.carousel .f-carousel__slide .slide-image {
  aspect-ratio: 3/2;
  overflow: hidden;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  margin-bottom: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.page-blocks .block.carousel .f-carousel__slide .slide-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-blocks .f-thumbs {
  --f-thumb-clip-width: 35px;
  margin-top: calc(-1 * clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem));
}
.page-blocks .f-button {
  opacity: 0;
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
  width: auto;
  height: auto;
  --f-arrow-pos: 20px;
}
.page-blocks .f-button svg {
  stroke: unset;
  width: 50px;
  height: 50px;
}
@media (hover: hover) and (pointer: fine) {
  .page-blocks .f-button:hover .circle {
    fill: var(--accent-400);
  }
}

.wysiwyg {
  display: grid;
}
.wysiwyg h2 {
  font-size: clamp(1.728rem, 1.536rem + 0.8532vw, 2.1973rem);
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
  padding-top: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.wysiwyg h3 {
  font-size: clamp(1.44rem, 1.31rem + 0.5778vw, 1.7578rem);
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
  padding-top: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.wysiwyg h4 {
  font-size: clamp(1.2rem, 1.1156rem + 0.375vw, 1.4063rem);
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
  padding-top: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.wysiwyg ul {
  list-style: disc;
  margin: 0;
  padding: 0;
  padding-left: 2.5rem;
  display: grid;
  gap: 0.6rem;
  line-height: 1.5;
  padding-top: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.wysiwyg ol {
  margin: 0;
  padding: 0;
  padding-left: 2.5rem;
  display: grid;
  gap: 0.6rem;
  line-height: 1.5;
  padding-top: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.wysiwyg strong {
  font-weight: 600;
}
.wysiwyg p {
  padding-top: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.wysiwyg p:has(> .button) {
  padding-top: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.wysiwyg > *:first-child {
  padding-top: 0;
}
.wysiwyg a:not(.button) {
  display: inline-block;
  justify-self: start;
  color: var(--programme-colour, var(--primary-400));
  line-height: 1.5;
  text-decoration: none;
  position: relative;
}
.wysiwyg a:not(.button)::before, .wysiwyg a:not(.button)::after {
  content: "";
  position: absolute;
  bottom: 0em;
  left: 0;
  width: 100%;
  height: 0.0625em;
  background-color: var(--programme-colour, var(--primary-400));
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
.wysiwyg a:not(.button)::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}
.wysiwyg a:not(.button)::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}
@media (hover: hover) and (pointer: fine) {
  .wysiwyg a:not(.button):hover::before {
    transform-origin: right;
    transform: scaleX(0) rotate(0.001deg);
    transition-delay: 0s;
  }
  .wysiwyg a:not(.button):hover::after {
    transform-origin: left;
    transform: scaleX(1) rotate(0.001deg);
    transition-delay: 0.3s;
  }
}

.pager-wrapper ol.pager .page-no span, .pager-wrapper ol.pager a,
.pager-wrapper ol.pager .ellipses span {
  display: grid;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.pager-wrapper {
  display: grid;
  justify-content: center;
  padding-top: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.pager-wrapper ol.pager {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.8em;
}
.pager-wrapper ol.pager li {
  width: 35px;
  height: 35px;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
@media (hover: hover) and (pointer: fine) {
  .pager-wrapper ol.pager li:has(a):hover {
    background-color: var(--black-opacity-100);
  }
}
.pager-wrapper ol.pager a,
.pager-wrapper ol.pager .ellipses span {
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.05);
}
.pager-wrapper ol.pager .page-no span {
  background-color: var(--neutral-900);
  color: var(--neutral-100);
  line-height: 1;
}

.page-navigation {
  overflow: hidden;
  background-color: var(--programme-colour, var(--primary-400));
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  margin-bottom: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
  color: var(--neutral-100);
}
.page-navigation span.section-name {
  color: var(--programme-nav-text, var(--neutral-100));
  font-size: clamp(1.44rem, 1.31rem + 0.5778vw, 1.7578rem);
  font-weight: 600;
  display: flex;
  flex-wrap: wrap;
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) 0 clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  justify-content: space-between;
  align-items: center;
}
.page-navigation span.section-name svg.arrow-btn {
  opacity: 1;
  transform: rotate(90deg);
}
.page-navigation .links {
  background-color: var(--neutral-100);
  color: var(--neutral-900);
  border-radius: 0.5em;
  margin: 0.5rem;
}
.page-navigation .sub-section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 0.4em 1rem 0.4em 1.4rem;
  border-radius: 100vw;
}
.page-navigation .sub-section-title.active {
  background-color: var(--neutral-200);
}
.page-navigation .sub-section-title.active svg.arrow-btn {
  opacity: 1;
  transform: rotate(90deg);
}
.page-navigation .sub-section-dropdown {
  display: grid;
}
.page-navigation .sub-section-dropdown ul {
  display: grid;
  justify-items: start;
  margin: 0;
}
.page-navigation .sub-section-dropdown ul li:last-of-type {
  margin-bottom: 0.8em;
}
.page-navigation .sub-section-dropdown ul li:first-of-type {
  margin-top: 0.5em;
}
.page-navigation .sub-section-dropdown ul a {
  padding: 0.6em 1.4rem;
  font-size: clamp(0.8333rem, 0.8061rem + 0.1212vw, 0.9rem);
}
.page-navigation svg.arrow-btn {
  width: 40px;
  height: 40px;
  opacity: 0;
}
.page-navigation ul {
  display: grid;
  gap: 0.3em;
  margin-inline: 1rem;
}
.page-navigation ul li {
  color: var(--neutral-900);
  border-radius: 100vw;
}
.page-navigation ul li:first-of-type {
  margin-top: 1em;
}
.page-navigation ul li:last-of-type {
  margin-bottom: 1em;
}
.page-navigation ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  padding: 0.4em 1rem 0.4em 1.4rem;
  line-height: 1.4;
  border-radius: 100vw;
}
.page-navigation ul li a h3 {
  line-height: 1.5;
}
.page-navigation ul li a.sub-section-title {
  color: var(--neutral-100);
}
@media (hover: hover) and (pointer: fine) {
  .page-navigation ul li.page:hover {
    background-color: var(--neutral-200);
  }
  .page-navigation ul li.page:hover a svg.arrow-btn {
    opacity: 1;
  }
  .page-navigation ul li:hover .sub-section-title {
    background-color: var(--neutral-200);
  }
  .page-navigation ul li:hover .sub-section-title svg.arrow-btn {
    opacity: 1;
  }
}
.page-navigation ul li.active {
  background-color: var(--neutral-200);
}
.page-navigation ul li.active svg.arrow-btn {
  opacity: 1;
}
.page-navigation ul li.sub-active {
  border-bottom: 1px solid var(--black-opacity-100);
  border-radius: unset;
  background-color: transparent;
}
.page-navigation ul li.sub-active .sub-section-title {
  background-color: var(--neutral-200);
}
.page-navigation ul li.sub-active svg.arrow-btn {
  opacity: 1;
}
.page-navigation ul li.sub-active .sub-section-dropdown {
  grid-template-rows: 1fr;
}
.page-navigation ul li.sub-active .sub-section-dropdown ul {
  visibility: visible;
}
@media screen and (min-width: 62em) {
  .page-navigation {
    align-self: flex-start;
  }
  .page-navigation span.section-name {
    padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem) calc(clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem) + .8rem + 1.4rem);
  }
  .page-navigation span.section-name .burger-wrap {
    display: none;
  }
  .page-navigation .links {
    margin: 0 0.8rem 0.8rem 0.8rem;
    padding: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  }
  .page-navigation .sub-section-title {
    padding: 0.4em 1rem 0.4em 1.4rem;
  }
  .page-navigation ul {
    margin-inline: 0;
  }
  .page-navigation ul li:last-of-type {
    margin-bottom: 0;
  }
  .page-navigation ul li:first-of-type {
    margin-top: 0;
  }
  .page-navigation ul li a {
    padding: 0.4em 1rem 0.4em 1.4rem;
  }
  .page-navigation ul li h3 {
    line-height: 1.2;
  }
}

.news-sidebar {
  overflow: hidden;
  background-color: var(--primary-400);
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  margin-bottom: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
  color: var(--neutral-100);
}
.news-sidebar .title {
  font-size: clamp(1.728rem, 1.536rem + 0.8532vw, 2.1973rem);
  font-weight: 600;
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem) calc(clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem) + .8rem);
}
.news-sidebar .inner {
  background-color: var(--neutral-100);
  color: var(--neutral-900);
  margin: 0 0.8rem 0.8rem 0.8rem;
  padding-inline: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.news-sidebar .news-card {
  border-bottom: 1px solid var(--black-opacity-100);
  padding-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.news-sidebar .news-card:last-of-type {
  border-bottom: 0;
}
.news-sidebar .news-card p {
  padding-top: 0;
}
@media (hover: hover) and (pointer: fine) {
  .news-sidebar .news-card:hover h3 {
    color: var(--primary-400);
  }
}

.breadcrumb {
  padding-bottom: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.6em;
  font-size: clamp(0.8333rem, 0.8061rem + 0.1212vw, 0.9rem);
}
.breadcrumb h4 {
  color: var(--black-opacity-500);
}
.breadcrumb span {
  color: var(--black-opacity-300);
}
.breadcrumb a {
  text-decoration: none;
  line-height: 1;
}
@media (hover) {
  .breadcrumb a:hover {
    color: var(--accent-400);
  }
}
.breadcrumb svg {
  width: 1rem;
  margin-top: 0.1rem;
}
.breadcrumb svg path {
  fill: var(--neutral-900);
}
@media (hover) {
  .breadcrumb svg:hover path {
    fill: var(--accent-400);
  }
}

.image-stack {
  position: relative;
  max-width: 550px;
}
.image-stack svg.circle {
  position: relative;
  width: 100%;
  z-index: 2;
}
.image-stack img.bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
  height: 110%;
  object-fit: cover;
  z-index: 1;
  clip-path: circle(45% at 50% 50%);
}
.image-stack img.overflow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110%;
  height: 110%;
  object-fit: cover;
  z-index: 3;
}

/**
 * AUTO-GRID LAYOUT
 *
 * This CSS utility creates a responsive grid layout that automatically adjusts the number of columns
 * based on the available space and specified constraints. It aims to fit as many cells as possible
 * in a single row, while respecting minimum cell width and maximum columns constraints.
 *
 * Customizable Properties:
 * --auto-grid-min-size: Sets the minimum width for each cell in the grid.
 *                       Default is 10rem.
 * --auto-grid-max-columns: Sets the maximum number of columns in the grid.
 *                          Default is 'infinity' (as many as can fit).
 * --auto-grid-gap: Sets the horizontal gap between grid cells. It also sets
 *                  the vertical gap if --auto-grid-gap-vertical is not defined.
 *                  Default is 1rem.
 * --auto-grid-gap-vertical: Specifically sets the vertical gap between rows
 *                           of cells. If not set, it falls back to the value
 *                           of '--auto-grid-gap'.
 *
 * The grid utilizes CSS 'display: grid' with the 'auto-fit' feature and the 'minmax()'
 * function to ensure that cells expand to fill available space while maintaining
 * the set minimum size.
 *
 * Example Usage:
 * <div class="auto-grid" style="--auto-grid-min-size: 10rem; --auto-grid-max-columns: 3; --auto-grid-gap: 0.5rem;">
 *   <!-- grid items here -->
 * </div>
 *
 * The above example will create a grid with a minimum cell width of 10rem, a maximum
 * of 3 columns, and a gap of 0.5rem between both rows and columns.
 */
.auto-grid {
  --auto-grid-max-column-width: 100% / var(--auto-grid-max-columns, infinity) - var(--auto-grid-gap);
  --auto-grid-column-width: max(
      var(--auto-grid-max-column-width),
      min(var(--auto-grid-min-size, 10rem), 100%)
  );
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--auto-grid-column-width), 1fr));
  /* vertical gap falls back to general gap then falls back to 1rem*/
  gap: var(--auto-grid-gap-vertical, var(--auto-grid-gap, 1rem)) var(--auto-grid-gap, 1rem);
}
@media screen and (min-width: 48em) {
  .auto-grid[data-type=reverse] div:last-of-type {
    order: -1;
  }
}

.flex {
  display: flex;
  flex-wrap: wrap;
  width: fit-content;
  align-items: center;
}
.flex.justify-space-between {
  justify-content: space-between;
  width: 100%;
}

.grid {
  display: grid;
}

.justify-self-end {
  justify-self: end;
}

.justify-self-center {
  justify-self: center;
}

.pile {
  display: grid;
  grid-template-areas: "pile";
  place-content: center;
}
.pile > * {
  grid-area: pile;
}

.clr-neutral-100 {
  color: var(--neutral-100);
}

.bg-neutral-100 {
  background-color: var(--neutral-100);
}

.clr-neutral-200 {
  color: var(--neutral-200);
}

.bg-neutral-200 {
  background-color: var(--neutral-200);
}

.clr-neutral-900 {
  color: var(--neutral-900);
}

.bg-neutral-900 {
  background-color: var(--neutral-900);
}

.clr-accent-400 {
  color: var(--accent-400);
}

.bg-accent-400 {
  background-color: var(--accent-400);
}

.clr-accent-500 {
  color: var(--accent-500);
}

.bg-accent-500 {
  background-color: var(--accent-500);
}

.clr-primary-300 {
  color: var(--primary-300);
}

.bg-primary-300 {
  background-color: var(--primary-300);
}

.clr-primary-400 {
  color: var(--primary-400);
}

.bg-primary-400 {
  background-color: var(--primary-400);
}

.clr-primary-500 {
  color: var(--primary-500);
}

.bg-primary-500 {
  background-color: var(--primary-500);
}

.clr-primary-900 {
  color: var(--primary-900);
}

.bg-primary-900 {
  background-color: var(--primary-900);
}

.clr-white-opacity-50 {
  color: var(--white-opacity-50);
}

.bg-white-opacity-50 {
  background-color: var(--white-opacity-50);
}

.clr-white-opacity-100 {
  color: var(--white-opacity-100);
}

.bg-white-opacity-100 {
  background-color: var(--white-opacity-100);
}

.clr-white-opacity-200 {
  color: var(--white-opacity-200);
}

.bg-white-opacity-200 {
  background-color: var(--white-opacity-200);
}

.clr-white-opacity-300 {
  color: var(--white-opacity-300);
}

.bg-white-opacity-300 {
  background-color: var(--white-opacity-300);
}

.clr-white-opacity-400 {
  color: var(--white-opacity-400);
}

.bg-white-opacity-400 {
  background-color: var(--white-opacity-400);
}

.clr-white-opacity-500 {
  color: var(--white-opacity-500);
}

.bg-white-opacity-500 {
  background-color: var(--white-opacity-500);
}

.clr-white-opacity-600 {
  color: var(--white-opacity-600);
}

.bg-white-opacity-600 {
  background-color: var(--white-opacity-600);
}

.clr-white-opacity-700 {
  color: var(--white-opacity-700);
}

.bg-white-opacity-700 {
  background-color: var(--white-opacity-700);
}

.clr-white-opacity-800 {
  color: var(--white-opacity-800);
}

.bg-white-opacity-800 {
  background-color: var(--white-opacity-800);
}

.clr-white-opacity-900 {
  color: var(--white-opacity-900);
}

.bg-white-opacity-900 {
  background-color: var(--white-opacity-900);
}

.clr-black-opacity-50 {
  color: var(--black-opacity-50);
}

.bg-black-opacity-50 {
  background-color: var(--black-opacity-50);
}

.clr-black-opacity-100 {
  color: var(--black-opacity-100);
}

.bg-black-opacity-100 {
  background-color: var(--black-opacity-100);
}

.clr-black-opacity-200 {
  color: var(--black-opacity-200);
}

.bg-black-opacity-200 {
  background-color: var(--black-opacity-200);
}

.clr-black-opacity-300 {
  color: var(--black-opacity-300);
}

.bg-black-opacity-300 {
  background-color: var(--black-opacity-300);
}

.clr-black-opacity-400 {
  color: var(--black-opacity-400);
}

.bg-black-opacity-400 {
  background-color: var(--black-opacity-400);
}

.clr-black-opacity-500 {
  color: var(--black-opacity-500);
}

.bg-black-opacity-500 {
  background-color: var(--black-opacity-500);
}

.clr-black-opacity-600 {
  color: var(--black-opacity-600);
}

.bg-black-opacity-600 {
  background-color: var(--black-opacity-600);
}

.clr-black-opacity-700 {
  color: var(--black-opacity-700);
}

.bg-black-opacity-700 {
  background-color: var(--black-opacity-700);
}

.clr-black-opacity-800 {
  color: var(--black-opacity-800);
}

.bg-black-opacity-800 {
  background-color: var(--black-opacity-800);
}

.clr-black-opacity-900 {
  color: var(--black-opacity-900);
}

.bg-black-opacity-900 {
  background-color: var(--black-opacity-900);
}

.clr-success-400 {
  color: var(--success-400);
}

.bg-success-400 {
  background-color: var(--success-400);
}

.clr-danger-300 {
  color: var(--danger-300);
}

.bg-danger-300 {
  background-color: var(--danger-300);
}

.clr-danger-400 {
  color: var(--danger-400);
}

.bg-danger-400 {
  background-color: var(--danger-400);
}

.clr-danger-500 {
  color: var(--danger-500);
}

.bg-danger-500 {
  background-color: var(--danger-500);
}

.fs-200 {
  font-size: clamp(0.6944rem, 0.684rem + 0.0465vw, 0.72rem);
}

.fs-300 {
  font-size: clamp(0.8333rem, 0.8061rem + 0.1212vw, 0.9rem);
}

.fs-400 {
  font-size: clamp(1rem, 0.9489rem + 0.2273vw, 1.125rem);
}

.fs-500 {
  font-size: clamp(1.2rem, 1.1156rem + 0.375vw, 1.4063rem);
}

.fs-600 {
  font-size: clamp(1.44rem, 1.31rem + 0.5778vw, 1.7578rem);
}

.fs-700 {
  font-size: clamp(1.728rem, 1.536rem + 0.8532vw, 2.1973rem);
  line-height: 1.2;
}

.fs-800 {
  font-size: clamp(2.0736rem, 1.7983rem + 1.2236vw, 2.7466rem);
  line-height: 1.2;
}

.fs-900 {
  font-size: clamp(2.4883rem, 2.1018rem + 1.718vw, 3.4332rem);
  line-height: 1.2;
}

.fs-1000 {
  font-size: clamp(2.986rem, 2.4519rem + 2.3737vw, 4.2915rem);
  line-height: 1.2;
}

.section-padding {
  padding-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.mx-auto {
  margin-inline: auto;
}

.push-right {
  margin-left: auto;
}

.margin-1 {
  margin: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-top-1 {
  margin-block-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-bottom-1 {
  margin-block-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-block-1 {
  margin-block: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-left-1 {
  margin-inline-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-right-1 {
  margin-inline-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-inline-1 {
  margin-inline: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.padding-1 {
  padding: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-top-1 {
  padding-block-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-bottom-1 {
  padding-block-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-block-1 {
  padding-block: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-left-1 {
  padding-inline-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-right-1 {
  padding-inline-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-inline-1 {
  padding-inline: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.margin-2 {
  margin: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-top-2 {
  margin-block-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-bottom-2 {
  margin-block-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-block-2 {
  margin-block: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-left-2 {
  margin-inline-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-right-2 {
  margin-inline-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-inline-2 {
  margin-inline: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.padding-2 {
  padding: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-top-2 {
  padding-block-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-bottom-2 {
  padding-block-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-block-2 {
  padding-block: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-left-2 {
  padding-inline-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-right-2 {
  padding-inline-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-inline-2 {
  padding-inline: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.margin-3 {
  margin: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-top-3 {
  margin-block-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-bottom-3 {
  margin-block-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-block-3 {
  margin-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-left-3 {
  margin-inline-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-right-3 {
  margin-inline-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-inline-3 {
  margin-inline: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.padding-3 {
  padding: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-top-3 {
  padding-block-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-bottom-3 {
  padding-block-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-block-3 {
  padding-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-left-3 {
  padding-inline-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-right-3 {
  padding-inline-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-inline-3 {
  padding-inline: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.margin-4 {
  margin: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-top-4 {
  margin-block-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-bottom-4 {
  margin-block-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-block-4 {
  margin-block: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-left-4 {
  margin-inline-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-right-4 {
  margin-inline-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-inline-4 {
  margin-inline: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.padding-4 {
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-top-4 {
  padding-block-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-bottom-4 {
  padding-block-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-block-4 {
  padding-block: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-left-4 {
  padding-inline-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-right-4 {
  padding-inline-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-inline-4 {
  padding-inline: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.margin-5 {
  margin: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-top-5 {
  margin-block-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-bottom-5 {
  margin-block-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-block-5 {
  margin-block: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-left-5 {
  margin-inline-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-right-5 {
  margin-inline-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-inline-5 {
  margin-inline: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.padding-5 {
  padding: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-top-5 {
  padding-block-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-bottom-5 {
  padding-block-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-block-5 {
  padding-block: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-left-5 {
  padding-inline-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-right-5 {
  padding-inline-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-inline-5 {
  padding-inline: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.margin-6 {
  margin: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-top-6 {
  margin-block-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-bottom-6 {
  margin-block-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-block-6 {
  margin-block: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-left-6 {
  margin-inline-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-right-6 {
  margin-inline-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-inline-6 {
  margin-inline: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.padding-6 {
  padding: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-top-6 {
  padding-block-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-bottom-6 {
  padding-block-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-block-6 {
  padding-block: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-left-6 {
  padding-inline-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-right-6 {
  padding-inline-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-inline-6 {
  padding-inline: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.margin-7 {
  margin: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-top-7 {
  margin-block-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-bottom-7 {
  margin-block-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-block-7 {
  margin-block: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-left-7 {
  margin-inline-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-right-7 {
  margin-inline-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-inline-7 {
  margin-inline: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.padding-7 {
  padding: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-top-7 {
  padding-block-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-bottom-7 {
  padding-block-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-block-7 {
  padding-block: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-left-7 {
  padding-inline-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-right-7 {
  padding-inline-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-inline-7 {
  padding-inline: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.margin-8 {
  margin: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-top-8 {
  margin-block-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-bottom-8 {
  margin-block-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-block-8 {
  margin-block: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-left-8 {
  margin-inline-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-right-8 {
  margin-inline-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-inline-8 {
  margin-inline: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.padding-8 {
  padding: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-top-8 {
  padding-block-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-bottom-8 {
  padding-block-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-block-8 {
  padding-block: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-left-8 {
  padding-inline-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-right-8 {
  padding-inline-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-inline-8 {
  padding-inline: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.margin-9 {
  margin: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-top-9 {
  margin-block-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-bottom-9 {
  margin-block-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-block-9 {
  margin-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-left-9 {
  margin-inline-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-right-9 {
  margin-inline-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-inline-9 {
  margin-inline: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.padding-9 {
  padding: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-top-9 {
  padding-block-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-bottom-9 {
  padding-block-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-block-9 {
  padding-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-left-9 {
  padding-inline-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-right-9 {
  padding-inline-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-inline-9 {
  padding-inline: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.margin-10 {
  margin: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-top-10 {
  margin-block-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-bottom-10 {
  margin-block-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-block-10 {
  margin-block: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-left-10 {
  margin-inline-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-right-10 {
  margin-inline-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-inline-10 {
  margin-inline: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.padding-10 {
  padding: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-top-10 {
  padding-block-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-bottom-10 {
  padding-block-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-block-10 {
  padding-block: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-left-10 {
  padding-inline-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-right-10 {
  padding-inline-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-inline-10 {
  padding-inline: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.container {
  --max-width: 90rem;
  width: min(90%, var(--max-width));
  margin-inline: auto;
}

.container[data-type=small] {
  --max-width: 70rem;
}

.container[data-type=large] {
  --max-width: 90%;
}

.container[data-type=full-bleed] {
  --max-width: 100%;
}

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.gap-1 {
  gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.gap-2 {
  gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.gap-3 {
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.gap-4 {
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.gap-5 {
  gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.gap-6 {
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.gap-7 {
  gap: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.gap-8 {
  gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.gap-9 {
  gap: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.gap-10 {
  gap: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.gap-y-1 {
  row-gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.gap-y-2 {
  row-gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.gap-y-3 {
  row-gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.gap-y-4 {
  row-gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.gap-y-5 {
  row-gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.gap-y-6 {
  row-gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.gap-y-7 {
  row-gap: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.gap-y-8 {
  row-gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.gap-y-9 {
  row-gap: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.gap-y-10 {
  row-gap: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.standard-gap {
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

:root {
  --standard-gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.ff-base {
  font-family: "Parkinsans";
}

.ff-accent {
  font-family: serif;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-underline {
  text-decoration: underline;
}

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

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

.box-shadow-1 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.012), 0px 22px 18px rgba(0, 0, 0, 0.018), 0px 100px 80px rgba(0, 0, 0, 0.03);
}

.box-shadow-2 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.016), 0px 22px 18px rgba(0, 0, 0, 0.024), 0px 100px 80px rgba(0, 0, 0, 0.04);
}

.box-shadow-3 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.02), 0px 22px 18px rgba(0, 0, 0, 0.03), 0px 100px 80px rgba(0, 0, 0, 0.05);
}

.box-shadow-4 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.03), 0px 22px 18px rgba(0, 0, 0, 0.042), 0px 100px 80px rgba(0, 0, 0, 0.07);
}

.box-shadow-5 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.04), 0px 22px 18px rgba(0, 0, 0, 0.06), 0px 100px 80px rgba(0, 0, 0, 0.1);
}

.heading-hero {
  font-size: clamp(2.986rem, 2.4519rem + 2.3737vw, 4.2915rem);
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}

.heading-1 {
  font-size: clamp(2.4883rem, 2.1018rem + 1.718vw, 3.4332rem);
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}

.heading-2 {
  font-size: clamp(2.0736rem, 1.7983rem + 1.2236vw, 2.7466rem);
  font-weight: 600;
  line-height: 1.2;
  text-wrap: balance;
}

.heading-3 {
  font-size: clamp(1.44rem, 1.31rem + 0.5778vw, 1.7578rem);
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

.heading-4 {
  font-size: clamp(1.2rem, 1.1156rem + 0.375vw, 1.4063rem);
  font-weight: 600;
  line-height: 1.3;
  text-wrap: balance;
}

.round {
  border-radius: 50%;
  aspect-ratio: 1/1;
}

.border-1 {
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.border-2 {
  border-radius: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.border-100 {
  border-radius: 100vw;
}

main#home-page section.hero-section {
  height: calc(100vh - 100px - 5vw);
  height: calc(100svh - 100px - 5vw);
}
main#home-page section.hero-section .container {
  height: 100%;
  position: relative;
  z-index: 6;
}
main#home-page section.hero-section .hero-wrapper {
  position: relative;
  display: grid;
  align-content: end;
  padding-bottom: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  height: 100%;
  background-color: black;
  color: var(--neutral-100);
  border-radius: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  overflow: hidden;
}
main#home-page section.hero-section .hero-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  pointer-events: none;
}
main#home-page section.hero-section img.background {
  position: absolute;
  top: -20%;
  left: 0;
  z-index: 1;
  object-fit: cover;
  object-position: 50% 10%;
  width: 100%;
  height: 120%;
  pointer-events: none;
}
main#home-page section.hero-section img.cutout {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  object-fit: cover;
  object-position: 85% 10%;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
main#home-page section.hero-section svg.logo-outline {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  height: 150%;
  transform: translate(40%, 3%);
  transform-origin: top;
  pointer-events: none;
}
main#home-page section.hero-section h1 {
  max-width: 18ch;
}
@media screen and (min-width: 48em) {
  main#home-page section.hero-section .hero-wrapper {
    align-content: center;
    padding-bottom: 0;
  }
  main#home-page section.hero-section .hero-wrapper::after {
    z-index: 2;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}
main#home-page section.about-section {
  overflow: hidden;
}
main#home-page section.about-section .about-grid {
  display: grid;
  gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
  position: relative;
}
main#home-page section.about-section .circle-image {
  width: 100%;
}
main#home-page section.about-section .pink {
  display: none;
}
main#home-page section.about-section span.line {
  white-space: nowrap;
  position: relative;
  display: inline-block;
}
main#home-page section.about-section span.line .line-svg {
  position: absolute;
  bottom: -0.3em;
  left: 0;
  width: 100%;
  height: auto;
  overflow: visible;
}
@media screen and (min-width: 48em) {
  main#home-page section.about-section .about-grid {
    gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
    grid-template-columns: repeat(12, 1fr);
  }
  main#home-page section.about-section .about-grid .title-block {
    grid-column: 1/13;
  }
  main#home-page section.about-section .about-grid .text-block {
    grid-column: 7/13;
    align-self: center;
    max-width: 45ch;
  }
  main#home-page section.about-section .about-grid .orange {
    grid-column: 1/7;
    grid-row: 2/3;
    align-self: flex-end;
    transform: translate(-20%, 10%);
  }
}
@media screen and (min-width: 62em) {
  main#home-page section.about-section .about-grid .title-block {
    grid-column: 1/9;
  }
  main#home-page section.about-section .about-grid .text-block {
    grid-column: 6/13;
    align-self: center;
    max-width: 45ch;
  }
  main#home-page section.about-section .about-grid .circle-image {
    width: 35vw;
  }
  main#home-page section.about-section .about-grid .pink {
    display: block;
    grid-column: 9/13;
    transform: translate(25%, -20%);
  }
  main#home-page section.about-section .about-grid .orange {
    grid-column: 1/5;
    grid-row: 2/3;
    align-self: flex-end;
    transform: translate(-25%, 0%);
  }
}
main#home-page section.programme-section {
  overflow: hidden;
}
main#home-page section.programme-section .count {
  display: flex;
  align-items: center;
  gap: 0.8em;
  color: var(--black-opacity-300);
}
main#home-page section.programme-section .count .next-button, main#home-page section.programme-section .count .previous-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}
main#home-page section.programme-section #programme-carousel {
  --f-carousel-slide-width: calc((100% - 15px) / 1.01);
  --f-carousel-gap: 15px;
}
main#home-page section.programme-section #programme-carousel .f-carousel__viewport {
  overflow: visible;
}
main#home-page section.programme-section #programme-carousel .f-carousel__slide {
  text-decoration: none;
}
@media screen and (min-width: 48em) {
  main#home-page section.programme-section .container {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 427 427' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M213.575 56.3346C249.978 56.3346 284.441 63.7958 310.645 77.3492L311.307 77.6952L311.984 78.0261C316.617 80.2675 321.055 82.9902 325.207 86.119L325.838 86.6004L326.485 87.0667C327.974 88.1197 329.494 89.3682 331.028 90.7823L331.434 91.1583L331.84 91.5193C335.721 94.9641 338.805 98.4239 340.986 101.793L341.633 102.786L342.31 103.749C345.153 107.765 347.635 112.068 349.681 116.55L350.087 117.423L350.508 118.28C363.505 144.274 370.65 178.135 370.65 213.62C370.65 249.106 363.189 284.501 349.636 310.69L349.29 311.352L348.959 312.029C347.033 316.015 344.747 319.866 342.175 323.492L341.513 324.409L340.896 325.357C339.286 327.824 337.15 330.381 334.578 332.938L334.097 333.42L333.615 333.916C330.787 336.865 327.944 339.271 325.191 341.046L324.199 341.693L323.236 342.37C319.535 344.988 315.594 347.304 311.503 349.245L310.781 349.591L310.074 349.952C283.945 363.325 249.662 370.68 213.56 370.68C177.458 370.68 144.515 363.595 118.581 350.719L117.694 350.283L116.791 349.876C112.233 347.816 107.841 345.288 103.719 342.37L102.756 341.693L101.763 341.046C98.3938 338.865 94.9491 335.797 91.5043 331.931L91.1282 331.509L90.7522 331.103C89.3081 329.539 88.0445 327.989 86.9765 326.485L86.5101 325.823L86.0288 325.176C82.93 321.055 80.2223 316.632 77.996 312.029L77.6651 311.352L77.3191 310.69C63.7657 284.486 56.3046 250.023 56.3046 213.62C56.3046 177.217 63.7657 142.739 77.3191 116.55L77.6651 115.888L77.996 115.211C79.9365 111.195 82.2531 107.314 84.8555 103.659L85.5474 102.696L86.1943 101.703C87.9693 98.9805 90.346 96.1826 93.2643 93.3846L93.7156 92.9484L94.1518 92.5122C96.6188 90.0301 99.0557 87.9843 101.402 86.4349L102.335 85.8182L103.238 85.1714C107.013 82.4486 111.015 80.0418 115.151 78.0411L115.828 77.7102L116.49 77.3642C142.694 63.8108 177.157 56.3497 213.56 56.3497M213.575 0C166.507 0 123.5 10.3042 90.6168 27.3174C83.4565 30.7923 76.6422 34.8688 70.2491 39.5019C64.6833 43.2024 59.3582 47.64 54.2738 52.7395C48.3169 58.4707 43.2024 64.5329 39.0507 70.8959C34.6131 77.1085 30.6719 83.7273 27.3174 90.6619C10.3042 123.53 0 166.537 0 213.62C0 260.704 10.3042 303.696 27.3174 336.579C31.1683 344.536 35.7714 352.058 41.0363 359.052C43.5334 362.572 46.3313 366.002 49.4 369.327C56.1692 376.953 63.4648 383.346 71.1667 388.325C78.1615 393.274 85.6377 397.592 93.5351 401.157C126.027 417.282 167.876 427 213.575 427C259.275 427 302.974 416.861 335.751 400.089C342.791 396.734 349.5 392.793 355.818 388.325C362.272 384.144 368.454 378.969 374.261 372.922C379.616 367.612 384.249 362.016 388.07 356.164C392.462 349.997 396.358 343.438 399.683 336.564C416.696 303.681 427 260.674 427 213.605C427 166.537 417.177 125.621 400.901 93.0687C397.366 85.3519 393.139 78.0261 388.28 71.1817C383.286 63.4648 376.878 56.1541 369.236 49.3699C365.972 46.3463 362.587 43.5935 359.128 41.1416C352.088 35.8315 344.521 31.1834 336.519 27.3174C303.666 10.3042 260.659 0 213.575 0Z' fill='%2392D0DB'/></svg>");
    background-repeat: no-repeat;
    background-position: 65% 10%;
    background-size: min(40%, 550px);
  }
  main#home-page section.programme-section #programme-carousel {
    --f-carousel-slide-width: calc((100% - 25px) / 2);
    --f-carousel-gap: 25px;
  }
}
@media screen and (min-width: 62em) {
  main#home-page section.programme-section #programme-carousel {
    --f-carousel-slide-width: calc((100% - 50px) / 3);
  }
}
@media screen and (min-width: 48em) {
  main#home-page section.news-section {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 427 427' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M213.575 56.3346C249.978 56.3346 284.441 63.7958 310.645 77.3492L311.307 77.6952L311.984 78.0261C316.617 80.2675 321.055 82.9902 325.207 86.119L325.838 86.6004L326.485 87.0667C327.974 88.1197 329.494 89.3682 331.028 90.7823L331.434 91.1583L331.84 91.5193C335.721 94.9641 338.805 98.4239 340.986 101.793L341.633 102.786L342.31 103.749C345.153 107.765 347.635 112.068 349.681 116.55L350.087 117.423L350.508 118.28C363.505 144.274 370.65 178.135 370.65 213.62C370.65 249.106 363.189 284.501 349.636 310.69L349.29 311.352L348.959 312.029C347.033 316.015 344.747 319.866 342.175 323.492L341.513 324.409L340.896 325.357C339.286 327.824 337.15 330.381 334.578 332.938L334.097 333.42L333.615 333.916C330.787 336.865 327.944 339.271 325.191 341.046L324.199 341.693L323.236 342.37C319.535 344.988 315.594 347.304 311.503 349.245L310.781 349.591L310.074 349.952C283.945 363.325 249.662 370.68 213.56 370.68C177.458 370.68 144.515 363.595 118.581 350.719L117.694 350.283L116.791 349.876C112.233 347.816 107.841 345.288 103.719 342.37L102.756 341.693L101.763 341.046C98.3938 338.865 94.9491 335.797 91.5043 331.931L91.1282 331.509L90.7522 331.103C89.3081 329.539 88.0445 327.989 86.9765 326.485L86.5101 325.823L86.0288 325.176C82.93 321.055 80.2223 316.632 77.996 312.029L77.6651 311.352L77.3191 310.69C63.7657 284.486 56.3046 250.023 56.3046 213.62C56.3046 177.217 63.7657 142.739 77.3191 116.55L77.6651 115.888L77.996 115.211C79.9365 111.195 82.2531 107.314 84.8555 103.659L85.5474 102.696L86.1943 101.703C87.9693 98.9805 90.346 96.1826 93.2643 93.3846L93.7156 92.9484L94.1518 92.5122C96.6188 90.0301 99.0557 87.9843 101.402 86.4349L102.335 85.8182L103.238 85.1714C107.013 82.4486 111.015 80.0418 115.151 78.0411L115.828 77.7102L116.49 77.3642C142.694 63.8108 177.157 56.3497 213.56 56.3497M213.575 0C166.507 0 123.5 10.3042 90.6168 27.3174C83.4565 30.7923 76.6422 34.8688 70.2491 39.5019C64.6833 43.2024 59.3582 47.64 54.2738 52.7395C48.3169 58.4707 43.2024 64.5329 39.0507 70.8959C34.6131 77.1085 30.6719 83.7273 27.3174 90.6619C10.3042 123.53 0 166.537 0 213.62C0 260.704 10.3042 303.696 27.3174 336.579C31.1683 344.536 35.7714 352.058 41.0363 359.052C43.5334 362.572 46.3313 366.002 49.4 369.327C56.1692 376.953 63.4648 383.346 71.1667 388.325C78.1615 393.274 85.6377 397.592 93.5351 401.157C126.027 417.282 167.876 427 213.575 427C259.275 427 302.974 416.861 335.751 400.089C342.791 396.734 349.5 392.793 355.818 388.325C362.272 384.144 368.454 378.969 374.261 372.922C379.616 367.612 384.249 362.016 388.07 356.164C392.462 349.997 396.358 343.438 399.683 336.564C416.696 303.681 427 260.674 427 213.605C427 166.537 417.177 125.621 400.901 93.0687C397.366 85.3519 393.139 78.0261 388.28 71.1817C383.286 63.4648 376.878 56.1541 369.236 49.3699C365.972 46.3463 362.587 43.5935 359.128 41.1416C352.088 35.8315 344.521 31.1834 336.519 27.3174C303.666 10.3042 260.659 0 213.575 0Z' fill='%23EE2638'/></svg>");
    background-repeat: no-repeat;
    background-position: 101% 10%;
    background-size: min(30%, 550px);
  }
}
main#home-page section.cta-section .mobile {
  transform: translateY(10%);
  position: relative;
  z-index: 1;
  justify-self: center;
}
main#home-page section.cta-section .mobile img {
  width: 80%;
  margin-inline: auto;
}
@media screen and (min-width: 48em) {
  main#home-page section.cta-section .mobile {
    justify-self: end;
  }
  main#home-page section.cta-section .mobile img {
    width: unset;
  }
}

main#contact-page .confirmation {
  font-weight: 500;
  color: white;
  background: var(--success-400);
  padding: 0.8em 3em 0.8em 1em;
  border-radius: 0.5em;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 22 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.75 20.75C16.2728 20.75 20.75 16.2728 20.75 10.75C20.75 5.22715 16.2728 0.75 10.75 0.75C5.22715 0.75 0.75 5.22715 0.75 10.75C0.75 16.2728 5.22715 20.75 10.75 20.75Z' stroke='white' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M6.75 10.75L9.75 13.75L14.75 8.75' stroke='white' stroke-width='1.5' stroke-miterlimit='10' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) 50%;
  background-size: 1.5em;
}
main#contact-page form {
  display: grid;
  gap: 1.5em;
}
main#contact-page form button {
  background-color: transparent;
  cursor: pointer;
  border: 0;
  padding: 0;
  margin-top: -1.5em;
}
main#contact-page form input, main#contact-page form textarea {
  border-radius: 0.5em;
  background-color: var(--neutral-200);
}
main#contact-page .map {
  aspect-ratio: 16/9;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  overflow: hidden;
}
main#contact-page .map iframe {
  width: 100%;
  height: 100%;
}
main#contact-page .contact-card {
  border-radius: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  display: flex;
  flex-direction: column;
}
main#contact-page .contact-card .title {
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) calc(clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) + 1rem) clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
main#contact-page .contact-card .inner {
  height: 100%;
  background-color: var(--neutral-100);
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  margin: 1rem;
  border-radius: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
main#contact-page .contact-card .inner .links {
  padding-top: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  display: grid;
  gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  justify-items: start;
}

:root {
  --c-text: #5A5A64;
  --c-text-light: #A1A1B6;
  --c-text-selection: rgb(198, 18, 42);
  --c-background-selection: rgba(198, 18, 42, 0.15);
  --c-shadow: rgba(41, 41, 86, 0.06);
  --c-shadow-active: rgba(198, 18, 42, 0.15);
}

main#login-page {
  display: grid;
  align-items: center;
  margin-left: unset;
}
main#login-page h1 {
  padding-bottom: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
main#login-page section.login-form .container {
  width: min(90%, 600px);
  margin-inline: auto;
}
main#login-page section.login-form .container form {
  display: grid;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
main#login-page section.login-form .container form .remember-wrapper {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
main#login-page section.login-form .container form .flex {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
}
main#login-page section.login-form .container form .flex button {
  display: unset;
  padding: 0;
  background-color: transparent;
  margin: 0;
  width: 100%;
  border: 0;
  max-width: 100%;
}
main#login-page section.login-form .container form .flex button div {
  text-align: center;
  justify-content: center;
}
main#login-page section.login-form .container form .flex a {
  text-decoration: none;
}

main#generic-page {
  overflow: hidden;
}
main#generic-page section.hero-section {
  height: min(100vh - 100px - 5vw, 500px);
}
main#generic-page section.hero-section .container {
  height: 100%;
}
main#generic-page section.hero-section .hero-wrapper {
  display: grid;
  align-items: center;
  position: relative;
  height: 100%;
  background-color: black;
  color: var(--neutral-100);
  border-radius: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  overflow: hidden;
}
main#generic-page section.hero-section .hero-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
}
main#generic-page section.hero-section .hero-wrapper .text {
  position: relative;
  z-index: 3;
  height: 100%;
}
main#generic-page section.hero-section img:not(.page-logo) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: cover;
}
main#generic-page section.hero-section img.page-logo {
  position: static;
  margin-inline: auto;
  margin-bottom: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  max-width: min(60%, 20rem);
  max-height: 5rem;
  object-fit: contain;
  z-index: 3;
}
@media screen and (min-width: 48em) {
  main#generic-page section.hero-section img.page-logo {
    position: absolute;
    bottom: 0;
    right: 0;
    margin-inline: unset;
    margin-right: 5%;
  }
}
main#generic-page section.hero-section .breadcrumb {
  position: absolute;
  bottom: 0;
}
main#generic-page section.hero-section .breadcrumb path {
  fill: var(--neutral-100);
}
main#generic-page section.hero-section .breadcrumb span {
  color: var(--white-opacity-300);
}
main#generic-page section.hero-section .breadcrumb h4 {
  color: var(--white-opacity-500);
}
main#generic-page section.page-content img.page-logo {
  width: 100%;
  max-width: 16rem;
  max-height: 5rem;
  object-fit: contain;
}
main#generic-page section.page-content .page-wrapper .news-sidebar {
  display: none;
}
@media screen and (min-width: 62em) {
  main#generic-page section.page-content .page-wrapper {
    display: grid;
    gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
    grid-template-columns: 1fr 2fr;
    align-items: start;
  }
  main#generic-page section.page-content .page-wrapper .news-sidebar {
    display: block;
  }
}

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