/*
Theme Name: Slalom Manual - EN/FR
Theme URI: https://slalomlille.com/
Description: Child theme of Slalom New with editable homepage media, optional mobile media, grayscale control, and manual English/French fixed texts without Weglot.
Author: Slalom
Template: slalom-new
Version: 1.4.17
Text Domain: slalom-manual
*/

/* The parent Webflow theme hard-codes grayscale on the hero wrapper. The
   manual option is authoritative: colour by default, grayscale only when the
   saved option adds `.slalom-hero--grayscale`. */
.hero-section-copy {
  filter: none;
}

.hero-section-copy.slalom-hero--grayscale {
  filter: grayscale(1);
}

.slalom-hero--grayscale > video,
.slalom-hero--grayscale > img {
  filter: grayscale(1);
}

/* Exact geometry of Webflow's .w-background-video > video for image/video
   combinations selected from the manual homepage media controls. */
.hero-section-copy > .slalom-hero-choice {
  position: absolute;
  inset: -100%;
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: cover;
  z-index: -100;
}

.hero-section-copy > .slalom-hero-choice--mobile {
  display: none;
}

@media (max-width: 767px) {
  .hero-section-copy > .slalom-hero-choice--desktop {
    display: none;
  }

  .hero-section-copy > .slalom-hero-choice--mobile {
    display: block;
  }
}

/* Pixel-matched replacement for the current Weglot vertical_expand switcher. */
.slalom-manual-language-container {
  display: block;
  width: auto;
  height: 22px;
  margin: 0;
  padding: 0;
}

.slalom-manual-language-switcher {
  position: relative;
  inset: 0;
  display: block;
  width: max-content;
  min-width: 0;
  height: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  overflow: visible;
}

.slalom-manual-language-switcher .language-option {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  height: 0;
  margin: 0;
  padding: 0 8.25px;
  border: 0;
  border-radius: 0 0 2.75px 2.75px;
  background-color: #fff;
  color: #fff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 7.7px;
  font-weight: 700;
  line-height: 11.55px;
  opacity: 0;
  cursor: pointer;
  transition: height .2s, opacity .2s;
}

.slalom-manual-language-switcher .active-language {
  height: 22px;
  border-radius: 2.75px;
  opacity: 1;
}

.slalom-manual-language-switcher .language-option a {
  display: flex;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: #fff;
  color: #000;
  font: inherit;
  line-height: 11.55px;
  text-decoration: none;
  opacity: 1;
  cursor: pointer;
  transition: opacity .2s;
}

.slalom-manual-language-switcher .language-list {
  position: absolute;
  inset: 0 0 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 0;
  margin: 22px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0 0 2.75px 2.75px;
  background: transparent;
  overflow: visible;
}

.slalom-manual-language-switcher:hover .active-language,
.slalom-manual-language-switcher:focus-within .active-language {
  border-radius: 2.75px 2.75px 0 0;
}

.slalom-manual-language-switcher:hover .language-list,
.slalom-manual-language-switcher:focus-within .language-list,
.slalom-manual-language-switcher:hover .language-list .language-option,
.slalom-manual-language-switcher:focus-within .language-list .language-option {
  height: 22px;
  opacity: 1;
}

.slalom-manual-language-switcher .language-option:hover a,
.slalom-manual-language-switcher .language-option:focus-within a {
  opacity: .7;
}

.slalom-manual-language-switcher .language-list .language-option:hover,
.slalom-manual-language-switcher .language-list .language-option:focus-within,
.slalom-manual-language-switcher .language-list .language-option:hover a,
.slalom-manual-language-switcher .language-list .language-option:focus-within a {
  background-color: #2ad181;
  color: #fff;
}

.slalom-maintenance-body {
  margin: 0;
  background: #050505;
  overflow: hidden;
}

.slalom-maintenance {
  position: relative;
  display: grid;
  min-height: 100vh;
  min-height: 100svh;
  place-items: center;
  overflow: hidden;
  color: #fff;
}

.slalom-maintenance-background,
.slalom-maintenance-overlay,
.slalom-maintenance-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.slalom-maintenance-media {
  display: block;
  object-fit: cover;
  filter: grayscale(1);
}

.slalom-maintenance-overlay {
  background: rgba(0, 0, 0, .46);
}

.slalom-maintenance-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(22px, 4vw, 48px);
  width: min(78vw, 760px);
  text-align: center;
}

.slalom-maintenance-title {
  margin: 0;
  color: #fff;
  font: inherit;
  font-size: clamp(16px, 2vw, 28px);
  font-weight: 500;
  letter-spacing: .16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.slalom-maintenance-logo {
  width: min(72vw, 620px);
  height: auto;
}
