@charset "UTF-8";

/*!
 * Bootstrap  v5.3.7 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */

.body-xl-medium {
  font-size: 24px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-xl-medium {
    font-size: 40px;
    line-height: 100%;
    font-weight: 500;
    letter-spacing: -0.6px;
  }
}

.body-xl-semibold {
  font-size: 24px;
  line-height: 100%;
  font-weight: 600;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-xl-semibold {
    font-size: 40px;
    line-height: 100%;
    font-weight: 600;
    letter-spacing: -0.6px;
  }
}

.body-xl-bold {
  font-size: 24px;
  line-height: 100%;
  font-weight: 700;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-xl-bold {
    font-size: 40px;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: -0.6px;
  }
}

.body-l-medium {
  font-size: 20px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-l-medium {
    font-size: 28px;
    line-height: 100%;
    font-weight: 500;
    letter-spacing: -0.48px;
  }
}

.body-l-semibold {
  font-size: 20px;
  line-height: 100%;
  font-weight: 600;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-l-semibold {
    font-size: 28px;
    line-height: 100%;
    font-weight: 600;
    letter-spacing: -0.48px;
  }
}

.body-l-bold {
  font-size: 20px;
  line-height: 100%;
  font-weight: 700;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-l-bold {
    font-size: 28px;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: -0.48px;
  }
}

.body-default-medium {
  font-size: 16px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-default-medium {
    font-size: 20px;
    line-height: 24px;
    font-weight: 500;
    letter-spacing: -0.48px;
  }
}

.body-default-semibold {
  font-size: 16px;
  line-height: 100%;
  font-weight: 600;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-default-semibold {
    font-size: 20px;
    line-height: 100%;
    font-weight: 600;
    letter-spacing: -0.48px;
  }
}

.body-default-bold {
  font-size: 16px;
  line-height: 100%;
  font-weight: 700;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-default-bold {
    font-size: 20px;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: -0.48px;
  }
}

.body-big-medium {
  font-size: 18px;
  line-height: 120%;
  font-weight: 500;
  letter-spacing: -0.36px;
}

@media (min-width: 992px) {
  .body-big-medium {
    font-size: 24px;
    line-height: 120%;
    font-weight: 500;
    letter-spacing: -0.48px;
  }
}

.body-big-semibold {
  font-size: 18px;
  line-height: 120%;
  font-weight: 600;
  letter-spacing: -0.36px;
}

@media (min-width: 992px) {
  .body-big-semibold {
    font-size: 24px;
    line-height: 120%;
    font-weight: 600;
    letter-spacing: -0.48px;
  }
}

.body-big-bold {
  font-size: 18px;
  line-height: 120%;
  font-weight: 700;
  letter-spacing: -0.36px;
}

@media (min-width: 992px) {
  .body-big-bold {
    font-size: 24px;
    line-height: 120%;
    font-weight: 700;
    letter-spacing: -0.48px;
  }
}

.body-small-medium {
  font-size: 14px;
  line-height: 100%;
  font-weight: 500;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-small-medium {
    font-size: 16px;
    line-height: 100%;
    font-weight: 500;
    letter-spacing: -0.48px;
  }
}

.body-small-semibold {
  font-size: 14px;
  line-height: 100%;
  font-weight: 600;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-small-semibold {
    font-size: 16px;
    line-height: 100%;
    font-weight: 600;
    letter-spacing: -0.48px;
  }
}

.body-small-bold {
  font-size: 14px;
  line-height: 100%;
  font-weight: 700;
  letter-spacing: -0.48px;
}

@media (min-width: 992px) {
  .body-small-bold {
    font-size: 16px;
    line-height: 100%;
    font-weight: 700;
    letter-spacing: -0.48px;
  }
}

/* Temp fix for:
 * Issue #3233533: Core .placeholder class conflicts with new Bootstrap .placeholder class
 * https://www.drupal.org/project/drupal/issues/3233533
 * 
 * Issue #3246827: Fix em.placeholder style from Bootstrap 5 base styling with the Drupal core placeholder
 * https://www.drupal.org/i/3246827
 */

em.placeholder {
  cursor: unset !important;
  vertical-align: unset !important;
  opacity: unset !important;
  background-color: unset !important;
}

.form-group {
  margin-bottom: 1rem;
}

.form-required::after {
  content: "";
  vertical-align: super;
  display: inline-block;
  background-image: url(../../images/required.svg);
  background-repeat: no-repeat;
  background-size: calc(calc(1.5em + .75rem + calc(3px * 2)) * .1666666667) calc(calc(1.5em + .75rem + calc(3px * 2)) * .1666666667);
  width: calc(calc(1.5em + .75rem + calc(3px * 2)) * .1666666667);
  height: calc(calc(1.5em + .75rem + calc(3px * 2)) * .1666666667);
  margin: 0 .3em;
}

.ajax-progress {
  background-color: transparent !important;
  border: 0 !important;
}

.ajax-progress-throbber .throbber {
  background-color: transparent !important;
  border: 0 !important;
}

.ajax-progress-throbber .message {
  background-color: transparent !important;
  border: 0 !important;
}

.ajax-progress-fullscreen {
  background-color: transparent !important;
}

.hidden-anonymous,
.visible-admin,
.visible-logged-in {
  display: none !important;
}

body.user-logged-in .visible-admin,
body.user-logged-in .visible-logged-in,
body.user-logged-in .hidden-anonymous {
  display: inline-block !important;
}

body.user-logged-in .btn .visible-admin,
body.user-logged-in .btn .visible-logged-in,
body.user-logged-in .btn .hidden-anonymous {
  display: inline-block !important;
}

/* ---------- Mobile (default) ---------- */

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
}

@media (max-width: 991.98px) {
  h1:has(.highlight-yellow), h2:has(.highlight-yellow), h3:has(.highlight-yellow), h4:has(.highlight-yellow), h5:has(.highlight-yellow), h6:has(.highlight-yellow) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}

h1 {
  font-size: 32px;
  line-height: 32px; /* Figma shows 32px */
  letter-spacing: -2.4px; /* from Figma (mobile) */
}

h2 {
  font-size: 28px;
  line-height: 28px;
  letter-spacing: -1.92px; /* from Figma (mobile) */
}

h3 {
  font-size: 24px;
  line-height: 24px;
  letter-spacing: -1.44px; /* from Figma (mobile) */
}

/* H4 & H5 only have desktop values in your Figma — keep those desktop values for all viewports */

h4 {
  font-size: 32px; /* desktop value, applied on all sizes since only desktop was provided */
  line-height: 1.2; /* 120% as shown in Figma (unitless keeps it scalable) */
  letter-spacing: 0px; /* no value provided in Figma */
}

h5 {
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: 0px;
}

/* ---------- Desktop overrides ---------- */

@media (min-width: 992px) {
  h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
  }

  h1 {
    font-size: 48px;
    line-height: 48px; /* Figma shows 48px */
    letter-spacing: -2.88px; /* from Figma (desktop) */
  }

  h2 {
    font-size: 40px;
    line-height: 40px;
    letter-spacing: -2.4px; /* from Figma (desktop) */
  }

  h3 {
    font-size: 32px;
    line-height: 32px;
    letter-spacing: -1.92px; /* from Figma (desktop) */
  }/* h4 & h5 already set to desktop values above */
}

a {
  text-underline-offset: .25em;
}

.text-button {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: -0.6px;
}

@media (max-width: 991px) {
  .text-button {
    font-size: 16px;
    line-height: 16px;
    letter-spacing: -0.48px;
  }
}

