/* GENERATED by tools/lib/footer-css.js -- do not edit.
   The footer on the mirrored pages, cut from site-src/css/event.css so the
   two can never drift apart. Change the footer there. */

:root {
  --crs-container: 1480px;
  --crs-font: "Rajdhani", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --crs-footer: #242425;
  --crs-red: #de0b14;
  --crs-step--1: 0.875rem;
  --crs-text: #ffffff;
  --crs-weight-bold: 600;
  --crs-weight-light: 300;
}

/* ---------- Footer ---------- */

/* ONE footer on every page, generated and mirrored alike (2026-10-14).

   The vendor's footer is the reference and these rules are its measured
   rendering, not its stylesheet: every value below was read with
   getComputedStyle off /nl/ at 390px and 1280px and checked again on ours.
   #242425, 30px top and bottom, 14px white text at weight 600, the logo 250 x 66
   in a 76px box, the 15 / 30 / 60px container gutters, and a bottom strip under
   a half-pixel hairline that holds the terms link and the credit at 40%.

   Below 768px everything stacks and centres; from 768px it is one row --
   logo left, contact in the middle, socials right -- with the bottom strip
   flush right.

   This section is ALSO the mirrored pages' footer stylesheet: footer-css.js cuts
   it out verbatim, between this marker and the next, into
   assets/site-footer.css. Two consequences:
   - only `.site-footer` selectors here, because the vendor's stylesheet is
     loaded next to it and none of its class names are ours;
   - every property the vendor's reset would otherwise supply is spelled out,
     because over there it does: its `a` is red, weight 600 and underlined, and
     its `p` and `ul` carry margins. */
.site-footer {
  position: relative;
  /* Above the home page's positioned photography, below the sticky header
     (99). The vendor had 999, which put the footer over the header in a short
     landscape viewport and over its own contact modal. */
  z-index: 1;
  overflow: hidden;
  padding: 30px 0;
  background: var(--crs-footer);
  color: var(--crs-text);
  font-family: var(--crs-font);
  font-size: var(--crs-step--1);
  font-weight: var(--crs-weight-light);
  line-height: 1.5;
  text-align: center;
}
.site-footer__inner {
  max-width: var(--crs-container);
  margin: 0 auto;
  padding: 0 15px;
}
@media (min-width: 480px) { .site-footer__inner { padding: 0 30px; } }
@media (min-width: 1000px) { .site-footer__inner { padding: 0 60px; } }

.site-footer a {
  color: var(--crs-text);
  font-weight: var(--crs-weight-bold);
  text-decoration: none;
}

/* The logo in a fixed 76px box, nudged 5px down inside it, as the vendor has
   it: the box, not the image, sets the row's height. */
.site-footer__logo {
  display: flex;
  align-items: center;
  width: 250px;
  height: 76px;
  margin: 0 auto 25px;
  overflow: hidden;
}
.site-footer__logo img {
  display: block;
  width: 250px;
  max-width: none;
  height: auto;
  transform: translateY(5px);
}

/* Mail above phone, each line 22px. */
.site-footer__contact { margin: 0 0 1.5em; }
.site-footer__contact-link {
  display: flex;
  justify-content: center;
  align-items: baseline;
  line-height: 1;
}
.site-footer__contact-link > svg,
.site-footer__contact-link span { display: block; line-height: 22px; }
.site-footer__contact-link span { padding-left: 10px; }

/* The -15px is the vendor's, an artefact of a float layout that the flex row
   kept; it shifts the pair 7px left of centre on a phone, and that is how the
   home page looks. */
.site-footer__social {
  display: flex;
  justify-content: center;
  margin: 0 0 0 -15px;
  padding: 0;
  list-style: none;
}
.site-footer__social li { margin-left: 5px; padding: 5px; line-height: 21px; }
.site-footer__social-link { display: block; }

.site-footer__icon { display: block; fill: currentColor; }
.site-footer__icon--email { width: 16px; height: 11px; }
.site-footer__icon--phone { width: 16px; height: 15px; }
.site-footer__icon--facebook { width: 7px; height: 16px; }
.site-footer__icon--instagram { width: 16px; height: 16px; }
.site-footer__social-link:hover,
.site-footer__social-link:focus-visible { color: var(--crs-red); }

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px 24px;
  width: 100%;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 0.5px solid rgb(0 0 0 / 0.5);
}
.site-footer__terms,
.site-footer__legal { display: block; line-height: 1; }
/* Dimmed, and full strength under the pointer, as the vendor's credit was. */
.site-footer__credit {
  display: block;
  padding-top: 3px;
  font-size: 12px;
  line-height: 18px;
  opacity: 0.4;
  transition: opacity 0.4s ease;
}
.site-footer__credit:hover,
.site-footer__credit:focus-visible { opacity: 1; }

@media (min-width: 768px) {
  .site-footer { text-align: left; }
  .site-footer__upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .site-footer__logo { margin: 0 0 30px; }
  .site-footer__contact-link,
  .site-footer__social { justify-content: left; }
  .site-footer__bottom { justify-content: flex-end; margin-top: 0; }
}
@media (min-width: 1000px) { .site-footer__contact { margin-bottom: 0; } }

@media (prefers-reduced-motion: reduce) {
  .site-footer__credit { transition: none; }
}
