/* Final cross-browser overrides loaded after the shared bundles. */
@font-face {
  font-family: "Faktum Test";
  src: url("../fonts/FaktumTest-Regular.woff2") format("woff2"),
    url("../fonts/FaktumTest-Regular.woff") format("woff"),
    url("../fonts/FaktumTest-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Use the complete Font Awesome file; the old woff2 subset omitted service icons. */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.woff?v=4.7.0") format("woff"),
    url("../fonts/fontawesome-webfont.ttf?v=4.7.0") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* Restore icon mappings removed by the legacy optimized Font Awesome CSS. */
.fa-volume-up::before { content: "\f028"; }
.fa-sliders::before { content: "\f1de"; }
.fa-tags::before { content: "\f02c"; }
.fa-picture-o::before { content: "\f03e"; }
.fa-cloud-upload::before { content: "\f0ee"; }
.fa-pencil-square-o::before { content: "\f044"; }
.fa-video-camera::before { content: "\f03d"; }
.fa-line-chart::before { content: "\f201"; }

@font-face {
  font-family: "Faktum Test";
  src: url("../fonts/FaktumTest-Bold.woff2") format("woff2"),
    url("../fonts/FaktumTest-Bold.woff") format("woff"),
    url("../fonts/FaktumTest-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
  font-family: "Faktum Test", Arial, sans-serif;
  font-synthesis: none;
}

body #headband.innerBannerName {
  background-color: #152943;
  min-height: clamp(420px, 60svh, 720px) !important;
  padding: clamp(112px, 10vw, 150px) 0 48px !important;
  overflow: hidden;
  clip-path: none !important;
  transform: none !important;
  isolation: isolate;
}

body #headband.innerBannerName::before,
body #headband.innerBannerName::after {
  animation: none !important;
  transform: none !important;
  will-change: auto;
}

body #headband.innerBannerName .wrapper,
body #headband.innerBannerName .texte_headband {
  transform: none !important;
}

@media screen and (max-width: 767px) {
  .home-frankfurt-page .frankfurt-marquee,
  .home-frankfurt-page .event-hero__content,
  .home-frankfurt-page .event-hero__content p,
  .home-frankfurt-page .event-hero__content span {
    font-family: "Faktum Test", Arial, sans-serif;
  }

  .home-frankfurt-page .event-hero__title {
    max-width: 100%;
    margin: 8px auto 10px;
    padding-right: 0.18em;
    padding-left: 0.18em;
    font-family: "Faktum Test", Arial, sans-serif;
    font-size: clamp(46px, 15.5vw, 68px);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.045em;
    white-space: nowrap;
  }

  body:not(.home-frankfurt-page) > header {
    top: 31px;
  }

  body #headband.innerBannerName {
    min-height: clamp(400px, 62svh, 560px) !important;
    padding: 112px 0 40px !important;
  }

  body #headband.innerBannerName::before {
    background:
      radial-gradient(circle at 92% 18%, rgba(130, 70, 185, 0.34) 0, rgba(130, 70, 185, 0) 48%),
      radial-gradient(circle at 12% 8%, rgba(0, 214, 195, 0.48) 0, rgba(0, 214, 195, 0) 42%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  body #headband.innerBannerName::after {
    background:
      radial-gradient(circle at 18% 78%, rgba(0, 202, 190, 0.46) 0, rgba(0, 202, 190, 0) 43%),
      radial-gradient(circle at 88% 72%, rgba(95, 54, 151, 0.24) 0, rgba(95, 54, 151, 0) 52%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }

  .brandsBar {
    gap: 24px 12px;
    padding: 0 8px;
    margin: 36px 0 54px !important;
  }

  .brandsBarDiv {
    display: flex;
    flex: 0 0 calc(50% - 6px);
    width: calc(50% - 6px) !important;
    min-height: 74px;
    align-items: center;
    justify-content: center;
  }

  .brandsBarDiv img {
    width: min(100%, 150px) !important;
    height: 68px;
    object-fit: contain;
    scale: 1;
  }

  .brandsBarDiv:nth-child(5) img {
    scale: 1;
  }

  .row.main-boxSlider.slick-initialized.slick-slider {
    display: block;
    margin-right: 0;
    margin-left: 0;
    padding-bottom: 42px;
  }

  .row.main-boxSlider.slick-initialized.slick-slider .slick-track {
    display: flex;
    flex-direction: row;
  }

  .row.main-boxSlider.slick-initialized.slick-slider .slick-slide {
    flex: 0 0 auto !important;
    height: auto;
    padding-right: 8px;
    padding-left: 8px;
  }

  .main-boxSlider .slick-slide > .main-box {
    height: 100%;
    margin: 0;
    transform: none !important;
  }

  .main-boxSlider .slick-dots {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .main-boxSlider .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0;
  }

  .main-boxSlider .slick-dots button {
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.38);
    color: transparent;
    font-size: 0;
    cursor: pointer;
  }

  .main-boxSlider .slick-dots button::before {
    display: none !important;
    content: none !important;
  }

  .main-boxSlider .slick-dots .slick-active button {
    width: 24px;
    border-radius: 999px;
    background: #08d7b1;
  }

  .main-boxSlider .slick-dots .slick-active {
    width: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body #headband.innerBannerName,
  body #headband.innerBannerName::before,
  body #headband.innerBannerName::after {
    animation: none !important;
    transition: none !important;
  }
}
