/* ==========================================================================
   HOCHHAUS-RING – USER.CSS
   Cassiopeia Extended

   Aufbau
   00  Basis: Schriften & Grundtypografie
   01  Header & Navigation (Desktop / Mobile)
   02  Globale Bausteine (Seiten-Hero, Footer, Back-to-top)
   03  Startseite
   04  Rennbahn
   05  News
   06  Fuhrpark
   07  Rennkalender
   08  Galerie
   09  Login
   10  Fahrerbereich
   11  Hall of Fame
   12  Ergebnisse
   13  Statistiken

   Hauptfarbe Kupfer: #AA7941
   Mobile Breakpoint: 767.98px
   Navigation Breakpoint: 991.98px
   ========================================================================== */


/* ==========================================================================
   00 – BASIS – SCHRIFTEN & GRUNDTYPOGRAFIE
   ========================================================================== */

/* Racing Sans One */
@font-face {
  font-family: "Racing Sans One";
  src: url("../fonts/RacingSansOne-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Courier Prime */
@font-face {
  font-family: "Courier Prime";
  src: url("../fonts/CourierPrime-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("../fonts/CourierPrime-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("../fonts/CourierPrime-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("../fonts/CourierPrime-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Grundtypografie */
body {
  font-family: "Courier Prime", "Courier New", monospace;
}

/* Überschriften und Bedienelemente */
h1, h2, h3, h4, h5, h6,
.site-title,
.navbar-nav,
.metismenu,
.btn {
  font-family: "Racing Sans One", sans-serif;
  font-weight: 400;
}


/* ==========================================================================
   01 – HEADER & NAVIGATION
   Desktop-Menü, Dropdowns und mobiles Vollbild-Menü
   ========================================================================== */

/* =========================
   HOCHHAUS-RING HEADER
   ========================= */

.container-header {
  background: #000;
  box-shadow: none;

  display: flex;
  align-items: center;
  gap: 3rem;

  min-height: 86px;
  padding: 0 max(2rem, calc((100vw - 1440px) / 2));
}

/* Die beiden Cassiopeia-Grid-Container zurücksetzen */
.container-header > .grid-child {
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}

/* Logo */
.container-header > .grid-child:first-child {
  flex: 0 0 auto;
}

.container-header .navbar-brand {
  margin: 0;
  padding: 0;
}

.container-header .brand-logo {
  display: block;
}

.container-header .brand-logo img {
  display: block;
  width: auto;
  height: auto;
  max-height: 44px;
}

/* Navigation */
.container-header .container-nav {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: auto;
}

.container-header .mod-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

/* Hauptmenü */
.container-header .mod-menu > li {
  position: relative;
}

.container-header .mod-menu > li > a {
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  padding: 0.75rem 0;
  transition: color 0.2s ease;
}

/* Hover + aktiver Menüpunkt */
.container-header .mod-menu > li > a:hover,
.container-header .mod-menu > li.current > a,
.container-header .mod-menu > li.active > a {
  color: #AA7941;
}

/* Kupferlinie unter aktivem Menüpunkt */
.container-header .mod-menu > li.current > a::after,
.container-header .mod-menu > li.active > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.35rem;
  height: 2px;
  background: #AA7941;
}

/* Pfeil beim Fuhrpark */
.container-header .mod-menu__toggle-sub {
  color: #fff;
}

.container-header .mod-menu__toggle-sub:hover {
  color: #AA7941;
}

/* =========================
   MOBILE MENÜ – UNTERMENÜS
   ========================= */

@media (max-width: 991.98px) {

  /* Jede Hauptmenü-Zeile als Bezugspunkt */
  .container-header .mod-menu > li {
    position: relative;
    width: 100%;
  }

  /* Link bekommt rechts Platz für den Pfeil */
  .container-header .mod-menu > li.parent > a {
    display: block;
    width: 100%;
    padding-right: 4rem;
  }

  /* Joomla / Metismenu Toggler */
  .container-header .mod-menu > li > .mm-toggler {
    position: absolute;
    top: 0;
    right: 0;

    width: 3.5rem;
    height: 100%;

    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    background: transparent;
    color: #fff;

    z-index: 5;
  }

  /* Verhindert, dass der Button in die nächste Zeile rutscht */
  .container-header .mod-menu > li > .mm-toggler-link {
    position: absolute;
  }

  /* Untermenü immer unter der zugehörigen Zeile */
  .container-header .mod-menu > li > .mm-collapse {
    width: 100%;
    margin: 0;
    padding: 0 0 .75rem;
  }

  /* Untermenü-Einträge */
  .container-header .mod-menu > li > .mm-collapse > li > a {
    display: block;
    padding: .75rem 1rem .75rem 1.5rem;

    color: rgba(255,255,255,.7);
    font-family: "Racing Sans One", sans-serif;
    text-decoration: none;
  }

  .container-header .mod-menu > li > .mm-collapse > li > a:hover,
  .container-header .mod-menu > li > .mm-collapse > li.current > a {
    color: #AA7941;
  }
}

/* =========================
   MOBILE MENÜ – UNTERMENÜ
   ========================= */

@media (max-width: 991.98px) {

  /* Aufgeklapptes Untermenü */
  .container-header .mod-menu .mm-collapse {
    position: static !important;

    width: 100%;
    margin: 0;
    padding: .5rem 0 1rem;

    background: #000 !important;
    border: 0;
    box-shadow: none;
  }


  /* Untermenü-Liste */
  .container-header .mod-menu .mm-collapse > ul,
  .container-header .mod-menu ul.mod-menu__sub {
    margin: 0;
    padding: 0;

    background: #000;
    list-style: none;
  }


  /* Untermenü-Einträge */
  .container-header .mod-menu .mm-collapse li,
  .container-header .mod-menu ul.mod-menu__sub > li {
    width: 100%;
    margin: 0;
    padding: 0;

    border-top: 1px solid rgba(255,255,255,.08);
  }


  /* Untermenü-Links */
  .container-header .mod-menu .mm-collapse li > a,
  .container-header .mod-menu ul.mod-menu__sub > li > a {
    display: block;

    width: 100%;
    padding: 1rem 1.5rem;

    background: #000;
    color: rgba(255,255,255,.7);

    font-family: "Racing Sans One", sans-serif;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.2;

    text-decoration: none;
  }


  /* Hover / aktiv */
  .container-header .mod-menu .mm-collapse li > a:hover,
  .container-header .mod-menu .mm-collapse li.current > a,
  .container-header .mod-menu .mm-collapse li.active > a,
  .container-header .mod-menu ul.mod-menu__sub > li > a:hover,
  .container-header .mod-menu ul.mod-menu__sub > li.current > a {
    background: #000;
    color: #AA7941;
  }

}

/* =========================
   FUHRPARK DROPDOWN
   ========================= */

.container-header .mod-menu > li.deeper {
  position: relative;
}

.container-header .mod-menu__sub {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin: 0;
  padding: 0.75rem 0;
  background: #000;
  border-top: 2px solid #AA7941;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  z-index: 1000;
}

.container-header .mod-menu__sub li a {
  display: block;
  padding: 0.7rem 1rem;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  text-decoration: none;
  white-space: nowrap;
}

.container-header .mod-menu__sub li a:hover,
.container-header .mod-menu__sub li.current > a,
.container-header .mod-menu__sub li.active > a {
  color: #AA7941;
  background: rgba(255,255,255,0.04);
}

/* =========================
   HOCHHAUS-RING MOBILE MENU
   ========================= */

@media (max-width: 991.98px) {

  /* Header */
  .container-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 0 1.25rem;
    background: #000;
    z-index: 1100;
  }

  .container-header > .grid-child {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* Logo */
  .container-header .navbar-brand {
    margin: 0;
    padding: 0;
  }

  .container-header .brand-logo img {
    display: block;
    width: auto;
    max-height: 34px;
  }

  /* Navigationscontainer */
  .container-header .container-nav {
    position: static;
    display: block;
    flex: 0 0 auto;
    width: auto;
    min-height: 0;
  }

  .container-header .navbar {
    position: static;
    padding: 0;
  }

  /* Hamburger */
  .container-header .navbar-toggler {
    margin: 0;
    padding: 0.5rem;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.8rem;
  }

  .container-header .navbar-toggler:focus {
    box-shadow: none;
  }

  /* Aufgeklapptes Hauptmenü */
  .container-header .navbar-collapse {
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    width: 100vw;
    height: calc(100vh - 72px);
    overflow-y: auto;

    background: #000;
    padding: 2rem 1.5rem 3rem;

    border-top: 1px solid rgba(170, 121, 65, 0.45);
    box-shadow: none;

    z-index: 1090;
  }

  /* Menü-Liste */
  .container-header .mod-menu_dropdown-metismenu {
    display: block;
    width: 100%;
    max-width: 520px;
    margin: 0 auto;
    padding: 0;
  }

  /* Hauptmenüpunkte */
  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1 {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;

    border-bottom: 1px solid rgba(255,255,255,0.08);
  }

  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1
  > a {
    display: block;
    width: 100%;

    padding: 1rem 2.75rem 1rem 0;

    color: #fff;
    font-family: "Racing Sans One", sans-serif;
    font-size: 1.35rem;
    line-height: 1.2;
    text-align: left;
    text-decoration: none;
  }

  /* Aktiv / Hover */
  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1.current
  > a,

  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1.active
  > a,

  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1
  > a:hover {
    color: #AA7941;
  }

  /* Keine Desktop-Unterstreichung */
  .container-header
  .mod-menu_dropdown-metismenu
  > .metismenu-item.level-1
  > a::after {
    display: none;
  }

  /* Fuhrpark-Pfeil */
  .container-header .mm-toggler {
    position: absolute;
    top: 0.75rem;
    right: 0;

    width: 42px;
    height: 42px;

    color: #fff;
  }

  /* Untermenü */
  .container-header .mm-collapse {
    position: static;
    width: 100%;
    min-width: 0;

    margin: 0;
    padding: 0 0 0.75rem 1rem;

    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .container-header .mm-collapse .metismenu-item {
    display: block;
    width: 100%;
  }

  .container-header .mm-collapse .metismenu-item a {
    display: block;
    padding: 0.65rem 0;

    color: #fff;
    font-family: "Racing Sans One", sans-serif;
    font-size: 1.05rem;
    text-decoration: none;
  }

  .container-header .mm-collapse .metismenu-item a:hover,
  .container-header .mm-collapse .metismenu-item.current a {
    color: #AA7941;
  }
}


/* ==========================================================================
   02 – GLOBALE BAUSTEINE
   ========================================================================== */

/* =========================
   SEITEN – HERO
   ========================= */

.hhr-pagehero {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 6rem 0 4rem;
}

.hhr-pagehero__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-pagehero h1 {
  margin: 0;
  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: .92;
  font-weight: 400;
}

.hhr-pagehero__lead {
  max-width: 760px;
  margin: 2rem 0 0;
  color: #171717;
  font-family: "Courier Prime", monospace;
  font-size: 1.1rem;
  line-height: 1.7;
}

@media (max-width: 767.98px) {
  .hhr-pagehero {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 3rem;
  }

  .hhr-pagehero__lead {
    font-size: 1rem;
  }
}

/* =========================================================
   FOOTER
   ========================================================= */

.container-footer {
  margin: 0 !important;
  padding: 0 !important;

  background: #000;
  color: #fff;
  border: 0;
}


/* Gesamter Footer-Inhalt */

.container-footer > .grid-child {
  width: min(1200px, calc(100% - 4rem));
  max-width: none;
  margin: 0 auto;
  padding: 2rem 0 2.5rem;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 4rem;

  border-top: 1px solid rgba(170,121,65,.25);
}


/* =========================
   Logo / Copyright
   ========================= */

.hhr-footer__brand {
  min-width: 0;
}

.hhr-footer__logo {
  display: inline-block;
  margin: 0;
}

.hhr-footer__logo img {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
}

.hhr-footer__copy {
  margin: 1.5rem 0 0;
  padding-top: 1.25rem;

  max-width: 520px;

  border-top: 1px solid rgba(255,255,255,.08);

  color: rgba(255,255,255,.4);
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  line-height: 1.5;
}


/* =========================
   Footer-Menü
   ========================= */

.container-footer ul.mod-menu,
.container-footer .mod-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap;

  gap: 1.75rem;

  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;

  list-style: none;
}

.container-footer .mod-menu > li {
  display: block;
  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;
}

.container-footer .mod-menu > li > a {
  display: inline-block;

  padding: 0 !important;

  color: rgba(255,255,255,.75);
  font-family: "Racing Sans One", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;

  transition: color .2s ease;
}

.container-footer .mod-menu > li > a:hover,
.container-footer .mod-menu > li.current > a,
.container-footer .mod-menu > li.active > a {
  color: #AA7941;
}


/* Keine Hauptmenü-Unterstreichung im Footer */

.container-footer .mod-menu > li > a::after {
  display: none !important;
}


/* =========================================================
   FOOTER – MOBILE
   ========================================================= */

@media (max-width: 767.98px) {

  .container-footer > .grid-child {
    width: calc(100% - 2.5rem);
    margin: 0 auto;
    padding: 2rem 0;

    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0;
  }


  /* Joomla-Hülle des Custom-Moduls auflösen */
  .container-footer .mod-custom {
    display: contents !important;
  }

  /* Brand-Hülle ebenfalls auflösen */
  .hhr-footer__brand {
    display: contents !important;
  }


  /* 1. Logo */
  .hhr-footer__logo {
    order: 1;
    display: block;
    margin: 0 0 1.75rem;
  }

  .hhr-footer__logo img {
    width: 170px;
    height: auto;
  }


  /* 2. Footer-Menü */
  .container-footer ul.mod-menu,
  .container-footer .mod-menu {
    order: 2;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;

    justify-content: flex-start !important;
    align-items: center !important;

    width: 100% !important;

    margin: 0 0 1.75rem !important;
    padding: 0 !important;

    gap: .75rem 1.5rem;

    list-style: none;
  }

  .container-footer .mod-menu > li {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .container-footer .mod-menu > li > a {
    display: inline-block;
    padding: 0 !important;

    font-size: .95rem;
    line-height: 1.2;
    white-space: nowrap;
  }


  /* 3. Copyright */
  .hhr-footer__copy {
    order: 3;

    width: 100%;
    max-width: none;

    margin: 0;
    padding: 1.25rem 0 0;

    border-top: 1px solid rgba(255,255,255,.08);

    font-size: .72rem;
    line-height: 1.5;
  }
}

/* =========================================================
   BACK TO TOP
   Hochhaus-Ring
   ========================================================= */

.back-to-top-link {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #000;
    border: 1px solid #AA7941;
    border-radius: 0;

    color: #AA7941;

    box-shadow: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


/* Pfeil */
.back-to-top-link svg {
    width: 18px;
    height: 18px;

    fill: currentColor;
}


/* Hover */
.back-to-top-link:hover,
.back-to-top-link:focus {
    background: #AA7941;
    border-color: #AA7941;
    color: #000;

    transform: translateY(-3px);
}


/* Tastatur-Fokus */
.back-to-top-link:focus-visible {
    outline: 2px solid #AA7941;
    outline-offset: 3px;
}


/* Mobile etwas kompakter */
@media (max-width: 767px) {

    .back-to-top-link {
        width: 42px;
        height: 42px;
    }

    .back-to-top-link svg {
        width: 16px;
        height: 16px;
    }
}

/* =========================================================
   FEHLERSEITE / 404
   ========================================================= */

.hhr-error {
  min-height: 62vh;

  display: flex;
  align-items: center;

  background: #fff;
}

.hhr-error__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 7rem 0;
}

.hhr-error__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-error h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(5rem, 10vw, 10rem);
  font-weight: 400;
  line-height: .82;
}

.hhr-error h2 {
  max-width: 820px;
  margin: 1.75rem 0 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-error__text {
  max-width: 620px;
  margin: 2rem 0 0;

  color: #555;
  font-family: "Courier Prime", monospace;
  font-size: 1rem;
  line-height: 1.7;
}

.hhr-error__link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;

  margin-top: 2rem;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1rem;
  text-decoration: none;
}

.hhr-error__link span {
  transition: transform .2s ease;
}

.hhr-error__link:hover {
  color: #000;
}

.hhr-error__link:hover span {
  transform: translateX(.35rem);
}

@media (max-width: 767.98px) {

  .hhr-error {
    min-height: 60vh;
  }

  .hhr-error__inner {
    width: calc(100% - 2.5rem);
    padding: 5rem 0;
  }
}

/* ==========================================================================
   03 – STARTSEITE
   ========================================================================== */

/* =========================
   STARTSEITE – HERO
   ========================= */

.hhr-hero {
  position: relative;
  min-height: 68vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #000;
}

.hhr-hero__image {
  position: absolute;
  inset: 0;
}

.hhr-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.hhr-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,0.82) 0%,
      rgba(0,0,0,0.55) 42%,
      rgba(0,0,0,0.12) 75%,
      rgba(0,0,0,0.05) 100%
    );
}

.hhr-hero__content {
  position: relative;
  z-index: 2;
  width: min(1440px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 4.5rem;
  color: #fff;
}

.hhr-hero__eyebrow {
  margin: 0 0 0.8rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hhr-hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.95;
  font-weight: 400;
  text-transform: uppercase;
}

.hhr-hero__button {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;

  margin-top: 2rem;
  padding: 1rem 1.4rem;

  background: #AA7941;
  color: #000;

  font-family: "Racing Sans One", sans-serif;
  font-size: 1rem;
  text-decoration: none;

  transition: background 0.2s ease, color 0.2s ease;
}

.hhr-hero__arrow {
  font-family: "Courier Prime", monospace;
  font-size: 1.3rem;
  line-height: 1;
}

.hhr-hero__button:hover,
.hhr-hero__button:focus {
  background: #fff;
  color: #000;
}

/* Mobile */
@media (max-width: 767.98px) {

  .hhr-hero {
    min-height: 72vh;
  }

  .hhr-hero__overlay {
    background:
      linear-gradient(
        0deg,
        rgba(0,0,0,0.88) 0%,
        rgba(0,0,0,0.60) 50%,
        rgba(0,0,0,0.18) 100%
      );
  }

  .hhr-hero__content {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  .hhr-hero__eyebrow {
    font-size: 0.8rem;
  }

.hhr-hero h1 {
  max-width: 1000px;
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.3rem, 10vw, 3.5rem);
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
}

  .hhr-hero__button {
    margin-top: 1.5rem;
  }
}

/* =========================
   STARTSEITE – INTRO
   ========================= */

.hhr-intro {
  width: min(850px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 7rem 0;
}

.hhr-intro__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hhr-intro h2 {
  margin: 0 0 2rem;
  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 1;
  font-weight: 400;
}

.hhr-intro__text {
  max-width: 760px;
  color: #171717;
  font-family: "Courier Prime", monospace;
  font-size: 1.05rem;
  line-height: 1.75;
}

.hhr-intro__text p {
  margin: 0 0 1.4rem;
}

.hhr-textlink {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  margin-top: 0.75rem;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.05rem;
  text-decoration: none;
}

.hhr-textlink:hover,
.hhr-textlink:focus {
  color: #000;
}

.hhr-textlink span {
  transition: transform 0.2s ease;
}

.hhr-textlink:hover span {
  transform: translateX(4px);
}

@media (max-width: 767.98px) {

  .hhr-intro {
    width: calc(100% - 2.5rem);
    padding: 4.5rem 0;
  }

  .hhr-intro h2 {
    margin-bottom: 1.5rem;
  }

  .hhr-intro__text {
    font-size: 1rem;
    line-height: 1.65;
  }
}

/* =========================
   STARTSEITE – NEWS POSITION
   ========================= */

/* bottom-a über die komplette Joomla-Gridbreite */
.site-grid > .container-bottom-a {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* schwarzer Abschnitt über volle Breite */
.hhr-news {
  width: 100%;
  margin: 0;
  padding: 6rem 0;

  background: #000;
  border: 0;
  border-radius: 0;
  color: #fff;
  box-shadow: none;
}

/* Inhalt wieder auf 1200 px begrenzen */
.hhr-news > .card-header,
.hhr-news > .card-body {
  width: min(1200px, calc(100% - 4rem));
  margin-left: auto;
  margin-right: auto;
}

/* Modultitel */
.hhr-news .card-header {
  margin-bottom: 2.5rem;
  padding: 0;
  border: 0;
  background: transparent;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-news .card-header::before {
  content: "NEWS";
  display: block;
  margin-bottom: 0.75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.hhr-news .card-body {
  padding: 0;
}

/* Drei Karten */
.hhr-news .mod-articles-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
}

.hhr-news .mod-articles-items > li {
  display: block;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hhr-news .mod-articles-item {
  height: 100%;
  margin: 0;
  background: #171717;
}

.hhr-news .mod-articles-item-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Reihenfolge */
.hhr-news .mod-articles-image {
  order: 1;
  margin: 0;
  overflow: hidden;
}

.hhr-news .mod-articles-title {
  order: 2;
  margin: 0;
  padding: 1.4rem 1.4rem 0.75rem;
}

.hhr-news .mod-articles-item-content > p:not(.readmore) {
  order: 3;
  margin: 0;
  padding: 0 1.4rem 1rem;
}

.hhr-news .readmore {
  order: 4;
  margin: auto 0 0;
  padding: 0 1.4rem 1.4rem;
}

/* Bilder */
.hhr-news .mod-articles-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Titel */
.hhr-news .mod-articles-title {
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.45rem;
  line-height: 1.1;
}

.hhr-news .mod-articles-link {
  color: #fff;
  text-decoration: none;
}

.hhr-news .mod-articles-link:hover {
  color: #AA7941;
}

/* Text */
.hhr-news .mod-articles-item-content > p:not(.readmore) {
  color: rgba(255,255,255,0.75);
  font-size: 0.95rem;
  line-height: 1.55;
}

/* Weiterlesen */
.hhr-news .readmore .btn {
  padding: 0;
  border: 0;
  background: transparent;
  color: #AA7941;
  box-shadow: none;
}

.hhr-news .readmore .btn:hover {
  background: transparent;
  color: #fff;
}

/* Tablet */
@media (max-width: 991.98px) {
  .hhr-news .mod-articles-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 767.98px) {
  .hhr-news {
    padding: 4rem 0;
  }

  .hhr-news > .card-header,
  .hhr-news > .card-body {
    width: calc(100% - 2.5rem);
  }

  .hhr-news .mod-articles-items {
    grid-template-columns: 1fr;
  }
}

/* =========================
   STARTSEITE – RENNBAHN
   ========================= */

.site-grid > .container-bottom-b {
  grid-column: 1 / -1;
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.container-bottom-b > .card {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}

.hhr-track {
  background: #fff;
  color: #171717;
  padding: 7rem 0;
}

.hhr-track__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;

  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 5rem;
  align-items: center;
}

.hhr-track__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.hhr-track h2 {
  margin: 0 0 1.5rem;
  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.8rem, 4.5vw, 4.8rem);
  line-height: 0.95;
  font-weight: 400;
}

.hhr-track__content > p:not(.hhr-track__eyebrow) {
  max-width: 600px;
  margin: 0 0 1.5rem;
  font-size: 1.05rem;
  line-height: 1.7;
}

.hhr-track__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hhr-track__visual img {
  display: block;
  width: min(100%, 620px);
  height: auto;
}

@media (max-width: 991.98px) {
  .hhr-track {
    padding: 5rem 0;
  }

  .hhr-track__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .hhr-track__visual {
    justify-content: flex-start;
  }

  .hhr-track__visual img {
    width: min(100%, 520px);
  }
}

@media (max-width: 767.98px) {
  .hhr-track {
    padding: 4rem 0;
  }

  .hhr-track__inner {
    width: calc(100% - 2.5rem);
  }
}

/* =========================
   STARTSEITE – NÄCHSTES EVENT
   ========================= */

.hhr-next-event {
  padding: 6rem 0;
  background: #000;
  color: #fff;
  box-shadow: none;
}

.hhr-next-event > .card-header,
.hhr-next-event > .card-body {
  width: min(1200px, calc(100% - 4rem));
  margin-left: auto;
  margin-right: auto;
}

/* Überschrift */
.hhr-next-event .card-header {
  margin: 0 0 2rem;
  padding: 0;
  border: 0;
  background: transparent;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 1;
}

.hhr-next-event .card-header::before {
  content: "RENNKALENDER";
  display: block;
  margin-bottom: 0.75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

/* Joomla-Grundlayout zurücksetzen */
.hhr-next-event .card-body {
  padding: 0;
}

.hhr-next-event .mod-articles-items {
  margin: 0;
  padding: 0;
}

.hhr-next-event .mod-articles-items > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Eventtitel */
.hhr-next-event .mod-articles-title {
  margin: 0;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.95;
}

.hhr-next-event .mod-articles-link {
  color: #AA7941;
  text-decoration: none;
}

.hhr-next-event .mod-articles-link:hover {
  color: #fff;
}

/* Mobile */
@media (max-width: 767.98px) {

  .hhr-next-event {
    padding: 4rem 0;
  }

  .hhr-next-event > .card-header,
  .hhr-next-event > .card-body {
    width: calc(100% - 2.5rem);
  }
}

/* =========================
   STARTSEITE – FUHRPARK
   ========================= */

.hhr-fleet {
  background: #fff;
  color: #171717;
  padding: 7rem 0;
  border: 0;
  border-radius: 0;
}

.hhr-fleet__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
}

.hhr-fleet__head {
  max-width: 760px;
  margin-bottom: 3rem;
}

.hhr-fleet__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.hhr-fleet h2 {
  margin: 0 0 1.5rem;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.8rem, 4.5vw, 4.8rem);
  line-height: 0.95;
  color: #000;
}

.hhr-fleet__head > p:not(.hhr-fleet__eyebrow) {
  margin: 0;
  max-width: 650px;
  font-size: 1.05rem;
  line-height: 1.7;
}

.hhr-fleet__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.hhr-fleet__card {
  position: relative;
  min-height: 420px;
  overflow: hidden;
  background: #000;
  color: #fff;
  text-decoration: none;
}

.hhr-fleet__card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.hhr-fleet__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.35) 55%,
    rgba(0,0,0,0.05) 100%
  );
}

.hhr-fleet__content {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 2;
}

.hhr-fleet__content span {
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: 0.8rem;
  font-weight: 700;
}

.hhr-fleet__content h3 {
  margin: 0.4rem 0 0.4rem;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.hhr-fleet__content p {
  margin: 0;
  color: rgba(255,255,255,0.75);
  font-size: 0.9rem;
}

.hhr-fleet__card:hover img {
  transform: scale(1.04);
}

.hhr-fleet__card:hover h3 {
  color: #AA7941;
}

@media (max-width: 767.98px) {
  .hhr-fleet {
    padding: 4rem 0;
  }

  .hhr-fleet__inner {
    width: calc(100% - 2.5rem);
  }

  .hhr-fleet__grid {
    grid-template-columns: 1fr;
  }

  .hhr-fleet__card {
    min-height: 340px;
  }
}

/* =========================
   STARTSEITE – ABSCHLUSS
   ========================= */

.hhr-closing {
  margin: 0;
  padding: 5rem 0;
  border: 0;
  border-radius: 0;
  background: #000;
  color: #fff;
}

.hhr-closing__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
}

.hhr-closing__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .14em;
}

.hhr-closing__claim {
  margin: 0;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  line-height: 1;
  color: #fff;
}

.hhr-closing__sub {
  margin: 1.25rem 0 0;
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  color: rgba(255,255,255,.5);
}

@media (max-width: 767.98px) {
  .hhr-closing {
    padding: 3.5rem 0;
  }

  .hhr-closing__inner {
    width: calc(100% - 2.5rem);
  }
}


/* ==========================================================================
   04 – RENNBAHN
   ========================================================================== */

/* =========================
   RENNBAHN – STRECKENDATEN
   ========================= */

.hhr-trackfacts {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 2rem 0 7rem;

  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 5rem;
  align-items: center;
}

/* Streckenplan */

.hhr-trackfacts__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hhr-trackfacts__visual img {
  display: block;
  width: min(100%, 650px);
  height: auto;
}

/* Text */

.hhr-trackfacts__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-trackfacts h2 {
  margin: 0 0 2.5rem;
  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: .95;
  font-weight: 400;
}

/* Kennzahlen */

.hhr-trackfacts__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.hhr-trackfacts__item {
  padding-top: 1rem;
  border-top: 2px solid #AA7941;
}

.hhr-trackfacts__item strong {
  display: block;
  margin-bottom: .35rem;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 400;
}

.hhr-trackfacts__item span {
  color: #555;
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  line-height: 1.4;
}


/* Tablet / Mobile */

@media (max-width: 991.98px) {

  .hhr-trackfacts {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .hhr-trackfacts__visual {
    justify-content: flex-start;
  }

  .hhr-trackfacts__visual img {
    width: min(100%, 600px);
  }
}

@media (max-width: 767.98px) {

  .hhr-trackfacts {
    width: calc(100% - 2.5rem);
    padding: 1rem 0 4.5rem;
  }

  .hhr-trackfacts__grid {
    gap: 1.5rem 1rem;
  }
}

/* =========================
   RENNBAHN – RENNKOSMOS
   ========================= */

.hhr-raceworld {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 2rem 0 7rem;
}

.hhr-raceworld__intro {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 4rem;
  align-items: start;
  margin-bottom: 3rem;
}

.hhr-raceworld__eyebrow {
  grid-column: 1 / -1;

  margin: 0 0 -2rem;
  color: #AA7941;

  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-raceworld h2 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 400;
}

.hhr-raceworld__text {
  max-width: 650px;
}

.hhr-raceworld__text p {
  margin: 0 0 1.3rem;
  font-size: 1rem;
  line-height: 1.7;
}

.hhr-raceworld__claim {
  margin-top: 2rem !important;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.35rem !important;
  line-height: 1.25 !important;
}

/* großes Hauptbild */

.hhr-raceworld__hero {
  margin: 0 0 1.5rem;
  overflow: hidden;
}

.hhr-raceworld__hero img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  object-fit: cover;
}

/* zwei Detailbilder */

.hhr-raceworld__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.hhr-raceworld__details figure {
  margin: 0;
  overflow: hidden;
}

.hhr-raceworld__details img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Mobile */

@media (max-width: 991.98px) {

  .hhr-raceworld__intro {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .hhr-raceworld__eyebrow {
    margin-bottom: 0;
  }
}

@media (max-width: 767.98px) {

  .hhr-raceworld {
    width: calc(100% - 2.5rem);
    padding: 1rem 0 4.5rem;
  }

  .hhr-raceworld__hero img {
    aspect-ratio: 4 / 3;
  }

  .hhr-raceworld__details {
    grid-template-columns: 1fr;
  }
}

/* =========================
   RENNBAHN – ABSCHLUSS
   ========================= */

.hhr-racetrack-outro {
  position: relative;

  margin-top: 0;
  margin-bottom: 0;
  padding: 6rem 0;

  background: #000;
  color: #fff;

  /* Hintergrund bis zu den Browserkanten verlängern */
  box-shadow: 0 0 0 100vmax #000;
  clip-path: inset(0 -100vmax);
}

.hhr-racetrack-outro__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
}

.hhr-racetrack-outro__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-racetrack-outro h2 {
  margin: 0 0 3.5rem;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 400;
}

.hhr-racetrack-outro__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.hhr-racetrack-outro__link {
  position: relative;
  display: grid;
  padding: 2rem 0;

  color: #fff;
  text-decoration: none;

  border-top: 1px solid #AA7941;

  transition: transform .2s ease;
}

.hhr-racetrack-outro__link:hover {
  color: #fff;
  transform: translateY(-4px);
}

.hhr-racetrack-outro__number {
  margin-bottom: 2rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
}

.hhr-racetrack-outro__title {
  font-family: "Racing Sans One", sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.hhr-racetrack-outro__text {
  margin-top: .75rem;

  color: #aaa;
  font-family: "Courier Prime", monospace;
  font-size: .95rem;
}

.hhr-racetrack-outro__arrow {
  position: absolute;
  top: 2rem;
  right: 0;

  color: #AA7941;
  font-size: 1.6rem;

  transition: transform .2s ease;
}

.hhr-racetrack-outro__link:hover .hhr-racetrack-outro__arrow {
  transform: translateX(6px);
}

@media (max-width: 767.98px) {

  .hhr-racetrack-outro {
    padding: 4.5rem 0;
  }

  .hhr-racetrack-outro__inner {
    width: calc(100% - 2.5rem);
  }

  .hhr-racetrack-outro__links {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}


/* ==========================================================================
   05 – NEWS
   Menü-ID 106
   ========================================================================== */

/* =========================
   NEWS – ÜBERSICHT
   ========================= */

.com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding-bottom: 6rem;
}

/* News-Raster */

.com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

/* Einzelner Beitrag */

.com-content-category-blog__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #f5f5f5;
}

.com-content-category-blog__item .item-image {
  float: none;
  width: 100%;
  margin: 0;
  overflow: hidden;
}

.com-content-category-blog__item .item-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform .35s ease;
}

.com-content-category-blog__item:hover .item-image img {
  transform: scale(1.025);
}

.com-content-category-blog__item .item-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem;
}

/* Titel */

.com-content-category-blog__item .page-header {
  margin: 0;
  padding: 0;
  border: 0;
}

.com-content-category-blog__item .page-header h2 {
  margin: 0 0 .75rem;

  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.05;
}

.com-content-category-blog__item .page-header a {
  color: #000;
  text-decoration: none;
}

.com-content-category-blog__item .page-header a:hover {
  color: #AA7941;
}

/* Datum */

.com-content-category-blog__item .article-info {
  margin: 0 0 1rem;
  color: #AA7941 !important;

  font-family: "Courier Prime", monospace;
  font-size: .75rem;
}

.com-content-category-blog__item .article-info-term {
  display: none;
}

.com-content-category-blog__item .published {
  margin: 0;
}

.com-content-category-blog__item .published .icon-calendar {
  display: none;
}

/* Intro */

.com-content-category-blog__item .item-content > p:not(.readmore) {
  margin: 0 0 1.25rem;
  line-height: 1.6;
}

/* Weiterlesen */

.com-content-category-blog__item .readmore {
  margin: auto 0 0;
}

.com-content-category-blog__item .readmore .btn {
  padding: 0;
  border: 0;
  background: transparent;
  color: #AA7941;
  box-shadow: none;

  font-family: "Racing Sans One", sans-serif;
}

.com-content-category-blog__item .readmore .btn:hover {
  background: transparent;
  color: #000;
}

/* =========================
   NEWS – ÜBERSICHT
   Nur Menüpunkt News (Itemid 106)
   ========================= */


/* Neuester Beitrag = Aufmacher */

body.itemid-106 .com-content-category-blog__item:first-child {
  grid-column: 1 / -1;

  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  background: #000;
  color: #fff;
}

body.itemid-106 .com-content-category-blog__item:first-child .item-image {
  height: 100%;
}

body.itemid-106 .com-content-category-blog__item:first-child .item-image img {
  height: 100%;
  min-height: 420px;
  aspect-ratio: auto;
}

body.itemid-106 .com-content-category-blog__item:first-child .item-content {
  justify-content: center;
  padding: 3rem;
}

body.itemid-106 .com-content-category-blog__item:first-child .page-header h2 {
  font-size: clamp(2.5rem, 4vw, 4rem);
}

body.itemid-106 .com-content-category-blog__item:first-child .page-header a {
  color: #fff;
}

body.itemid-106 .com-content-category-blog__item:first-child .page-header a:hover {
  color: #AA7941;
}

body.itemid-106 .com-content-category-blog__item:first-child .item-content > p:not(.readmore) {
  color: rgba(255,255,255,.75);
}

body.itemid-106 .com-content-category-blog__item:first-child .readmore .btn:hover {
  color: #fff;
}


/* Pagination */

body.itemid-106 .com-content-category-blog__navigation {
  margin-top: 4rem;
}

body.itemid-106 .com-content-category-blog__counter {
  color: #777;
  font-size: .8rem;
}

body.itemid-106 .com-content-category-blog__pagination .page-link {
  border: 0;
  background: transparent;
  color: #000;

  font-family: "Racing Sans One", sans-serif;
}

body.itemid-106 .com-content-category-blog__pagination .active .page-link {
  background: #AA7941;
  color: #000;
}

body.itemid-106 .com-content-category-blog__pagination .page-link:hover {
  background: #000;
  color: #fff;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-106 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 4rem;
  }

  body.itemid-106 .com-content-category-blog__items {
    grid-template-columns: 1fr;
  }

  body.itemid-106 .com-content-category-blog__item:first-child {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  body.itemid-106 .com-content-category-blog__item:first-child .item-image img {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  body.itemid-106 .com-content-category-blog__item:first-child .item-content {
    padding: 1.5rem;
  }
}

/* =========================
   NEWS – DETAILSEITE
   ========================= */

/* Artikelbreite */

body.view-article.itemid-106 .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 6rem;
}


/* Titel */

body.view-article.itemid-106 .com-content-article > .page-header {
  max-width: 950px;
  margin: 0;
  padding: 0;
  border: 0;
}

body.view-article.itemid-106 .com-content-article > .page-header::before {
  content: "AKTUELLES VOM RING";

  display: block;
  margin-bottom: 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.view-article.itemid-106 .com-content-article > .page-header h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .92;
}


/* Datum */

body.view-article.itemid-106 .com-content-article > .article-info {
  margin: 1.5rem 0 4rem;

  color: #AA7941 !important;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
}

body.view-article.itemid-106 .article-info-term,
body.view-article.itemid-106 .published .icon-calendar {
  display: none;
}

body.view-article.itemid-106 .published {
  margin: 0;
}


/* Lesebereich */

body.view-article.itemid-106 .com-content-article__body {
  max-width: 820px;
}

body.view-article.itemid-106 .com-content-article__body > p {
  line-height: 1.75;
}

body.view-article.itemid-106 .com-content-article__body > h2 {
  margin: 0 0 2rem;

  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 400;
  line-height: 1;
}

body.view-article.itemid-106 .com-content-article__body > h4 {
  margin: 3.5rem 0 1rem;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
}


/* Erster Absatz = Intro */

body.view-article.itemid-106 .com-content-article__body > p:first-child {
  margin-bottom: 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
  font-weight: 700;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.view-article.itemid-106 .com-content-article {
    width: calc(100% - 2.5rem);
    padding: 4rem 0;
  }

  body.view-article.itemid-106 .com-content-article > .article-info {
    margin-bottom: 3rem;
  }
}

/* =========================
   INTERNER BEREICH – NEWS
   ========================= */

.hhr-event-login,
.hhr-event-internal {
  margin-top: 4rem;
  padding: 0;
  border: 0;
  background: transparent;
}

.hhr-event-login__inner,
.hhr-event-internal__inner {
  padding: 2.5rem;
  background: #000;
  color: #fff;
}

.hhr-event-login__eyebrow,
.hhr-event-internal__eyebrow {
  margin: 0 0 .75rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-event-login h3,
.hhr-event-internal h3 {
  margin: 0 0 1rem;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
}

.hhr-event-login p,
.hhr-event-internal p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.75);
  line-height: 1.6;
}

.hhr-event-login__button {
  display: inline-block;
  margin-top: 1.5rem;
  padding: .9rem 1.25rem;

  background: #AA7941;
  color: #000;

  font-family: "Racing Sans One", sans-serif;
  text-decoration: none;
}

.hhr-event-login__button:hover,
.hhr-event-login__button:focus {
  background: #fff;
  color: #000;
}

@media (max-width: 767.98px) {
  .hhr-event-login__inner,
  .hhr-event-internal__inner {
    padding: 2rem 1.5rem;
  }
}

/* =========================
   INTERNER INHALT
   ========================= */

.hhr-internal-field {
  max-width: 820px;
  margin: 4rem 0 0;
  padding: 2.5rem;

  background: #000;
  color: #fff;
}

.hhr-internal-field__eyebrow {
  margin: 0 0 .75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-internal-field__content h2,
.hhr-internal-field__content h3,
.hhr-internal-field__content h4 {
  margin-top: 0;
  color: #fff;
}

.hhr-internal-field__content h3 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.hhr-internal-field__content p {
  color: rgba(255,255,255,.75);
  line-height: 1.6;
}

.hhr-internal-field__content p:last-child {
  margin-bottom: 0;
}

.hhr-internal-field__content a {
  color: #AA7941;
}

.hhr-internal-field__content a:hover {
  color: #fff;
}

@media (max-width: 767.98px) {
  .hhr-internal-field {
    padding: 2rem 1.5rem;
  }
}

/* =========================
   NEWS – BEITRAGSNAVIGATION
   ========================= */

body.view-article.itemid-106 .pagenavigation {
  max-width: 820px;
  margin: 4rem 0 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(0,0,0,.12);
}

body.view-article.itemid-106 .pagenavigation .pagination {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  width: 100%;
}

body.view-article.itemid-106 .pagenavigation .btn {
  display: inline-flex;
  align-items: center;
  gap: .6rem;

  max-width: 48%;
  padding: 0;

  border: 0;
  background: transparent;
  box-shadow: none;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1rem;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
}

body.view-article.itemid-106 .pagenavigation .btn:hover,
body.view-article.itemid-106 .pagenavigation .btn:focus {
  background: transparent;
  color: #000;
}

body.view-article.itemid-106 .pagenavigation .previous {
  margin-right: auto;
}

body.view-article.itemid-106 .pagenavigation .next {
  margin-left: auto;
  text-align: right;
}

@media (max-width: 767.98px) {

  body.view-article.itemid-106 .pagenavigation {
    margin-top: 3rem;
  }

  body.view-article.itemid-106 .pagenavigation .pagination {
    flex-direction: column;
    align-items: stretch;
  }

  body.view-article.itemid-106 .pagenavigation .btn {
    max-width: 100%;
  }

  body.view-article.itemid-106 .pagenavigation .next {
    margin-left: 0;
    text-align: left;
  }
}


/* ==========================================================================
   06 – FUHRPARK
   Übersicht, Klassen und Fahrzeugkarten
   ========================================================================== */

/* =========================
   FUHRPARK – FAHRZEUGKARTEN
   ========================= */

.hhr-car-card {
  height: 100%;
  overflow: hidden;
  background: #000;
  color: #fff;
}

.hhr-car-card__image {
  display: block;
  background: #f3f3f3;
  overflow: hidden;
}

.hhr-car-card__image figure {
  margin: 0;
}

.hhr-car-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .35s ease;
}

.hhr-car-card:hover .hhr-car-card__image img {
  transform: scale(1.02);
}

.hhr-car-card__content {
  padding: 1.5rem;
}

.hhr-car-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;

  margin-bottom: .9rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hhr-car-card__title {
  margin: 0 0 1.5rem;

  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(1.6rem, 2.2vw, 2.2rem);
  line-height: 1;
}

.hhr-car-card__title a {
  color: #fff;
  text-decoration: none;
}

.hhr-car-card__title a:hover {
  color: #AA7941;
}

.hhr-car-card__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;

  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.12);
}

.hhr-car-card__facts strong {
  display: block;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1;
}

.hhr-car-card__facts span {
  display: block;
  margin-top: .35rem;

  color: rgba(255,255,255,.5);
  font-family: "Courier Prime", monospace;
  font-size: .7rem;
}

/* Eigenlackierung */

.hhr-car-card__visual {
  position: relative;
}

.hhr-car-card__custom {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;

  padding: .45rem .7rem;

  background: #AA7941;
  color: #000;

  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

/* =========================
   FUHRPARK – GT
   ========================= */

body.itemid-117 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 7rem;
}

body.itemid-117 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

.hhr-fleet-category-head__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-fleet-category-head h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .92;
}

.hhr-fleet-category-head__lead {
  max-width: 720px;
  margin: 2rem 0 0;

  font-family: "Courier Prime", monospace;
  font-size: 1.05rem;
  line-height: 1.7;
}

.hhr-fleet-category-head__meta {
  margin: 1.5rem 0 0;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
}


/* Fahrzeugraster */

body.itemid-117 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-117 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-117 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 4.5rem;
  }

  body.itemid-117 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-117 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* =========================
   FUHRPARK – NÄCHSTE KLASSE
   ========================= */

/* Joomla-Modulhülle neutralisieren */

.hhr-fleet-next-module,
.hhr-fleet-next-module.card,
.hhr-fleet-next-module .card-body {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #000 !important;
  box-shadow: none !important;
}


/* Full-Width-Hintergrund */

.hhr-fleet-next {
  position: relative;
  margin: 0;
  padding: 0;

  background: #000;
  color: #fff;

  box-shadow: 0 0 0 100vmax #000;
  clip-path: inset(0 -100vmax);
}

.hhr-fleet-next__inner {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0;
}

.hhr-fleet-next__eyebrow {
  margin: 0 0 1.25rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-fleet-next__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 4rem;

  padding-top: 2rem;
  border-top: 1px solid rgba(170,121,65,.65);
}

.hhr-fleet-next h2 {
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  font-weight: 400;
  line-height: .95;
}

.hhr-fleet-next__text {
  margin: 1.25rem 0 0;

  color: rgba(255,255,255,.65);
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
}

.hhr-fleet-next__link {
  display: inline-flex;
  align-items: center;
  gap: 1rem;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap;
}

.hhr-fleet-next__link:hover {
  color: #fff;
}

.hhr-fleet-next__link span {
  transition: transform .2s ease;
}

.hhr-fleet-next__link:hover span {
  transform: translateX(.35rem);
}


/* Abstand Fahrzeugraster → Abschluss reduzieren */

body.itemid-117 .com-content-category-blog.blog {
  padding-bottom: 2.5rem;
}


/* Mobile */

@media (max-width: 767.98px) {

  .hhr-fleet-next__inner {
    width: calc(100% - 2.5rem);
    padding: 4rem 0;
  }

  .hhr-fleet-next__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .hhr-fleet-next__link {
    font-size: 1.1rem;
  }
}

/* =========================
   FUHRPARK – PROCAR
   ========================= */

body.itemid-164 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.itemid-164 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-164 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-164 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}

@media (max-width: 767.98px) {

  body.itemid-164 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  body.itemid-164 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-164 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* =========================
   FUHRPARK – SAFETY CAR
   ========================= */

body.itemid-130 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.itemid-130 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-130 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-130 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}

@media (max-width: 767.98px) {

  body.itemid-130 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  body.itemid-130 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-130 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* =========================
   FUHRPARK – TRUCK
   ========================= */

body.itemid-163 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.itemid-163 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-163 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-163 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}

@media (max-width: 767.98px) {

  body.itemid-163 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  body.itemid-163 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-163 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* =========================
   FUHRPARK – CLUBMODELLE
   ========================= */

body.itemid-140 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.itemid-140 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-140 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-140 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}

@media (max-width: 767.98px) {

  body.itemid-140 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  body.itemid-140 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-140 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* Fahrerfahrzeuge – Fahrer */

.hhr-car-card__driver {
  display: flex;
  align-items: baseline;
  gap: .75rem;
  margin: -.5rem 0 1.5rem;
}

.hhr-car-card__driver span {
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.hhr-car-card__driver strong {
  color: rgba(255,255,255,.75);
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  font-weight: 400;
}

/* =========================
   FUHRPARK – FAHRERFAHRZEUGE
   ========================= */

body.itemid-181 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 2.5rem;
}

body.itemid-181 .hhr-fleet-category-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-181 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

body.itemid-181 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}

@media (max-width: 767.98px) {

  body.itemid-181 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 2.5rem;
  }

  body.itemid-181 .hhr-fleet-category-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-181 .com-content-category-blog__items {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

/* =========================
   FUHRPARK – ÜBERSICHT
   ========================= */

.hhr-fleet-overview-head,
.hhr-fleet-overview {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
}

.hhr-fleet-overview-head {
  padding: 5rem 0 4rem;
  max-width: 1200px;
}

.hhr-fleet-overview-head__eyebrow,
.hhr-fleet-overview__group-title {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-fleet-overview-head h1 {
  margin: 0;
  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: .92;
  font-weight: 400;
}

.hhr-fleet-overview-head__lead {
  max-width: 760px;
  margin: 2rem 0 0;
  font-size: 1.05rem;
  line-height: 1.7;
}

.hhr-fleet-overview {
  padding-bottom: 7rem;
}

.hhr-fleet-overview__group {
  margin-top: 4rem;
}

.hhr-fleet-overview__group:first-child {
  margin-top: 0;
}

.hhr-fleet-overview__grid {
  display: grid;
  gap: 1.5rem;
}

.hhr-fleet-overview__grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hhr-fleet-overview__grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hhr-fleet-overview__grid--one {
  grid-template-columns: 1fr;
}

.hhr-fleet-overview__card {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  background: #000;
  color: #fff;
  text-decoration: none;
}

.hhr-fleet-overview__card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.hhr-fleet-overview__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0,0,0,.9) 0%,
    rgba(0,0,0,.35) 55%,
    rgba(0,0,0,.05) 100%
  );
}

.hhr-fleet-overview__content {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 2;
}

.hhr-fleet-overview__content span {
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
}

.hhr-fleet-overview__content h2 {
  margin: .4rem 0;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.hhr-fleet-overview__content p {
  margin: 0;
  color: rgba(255,255,255,.7);
  font-size: .9rem;
}

.hhr-fleet-overview__card:hover img {
  transform: scale(1.04);
}

.hhr-fleet-overview__card:hover h2 {
  color: #AA7941;
}

@media (max-width: 991.98px) {

  .hhr-fleet-overview__grid--three {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px) {

  .hhr-fleet-overview-head,
  .hhr-fleet-overview {
    width: calc(100% - 2.5rem);
  }

  .hhr-fleet-overview-head {
    padding: 4rem 0 3rem;
  }

  .hhr-fleet-overview {
    padding-bottom: 4.5rem;
  }

  .hhr-fleet-overview__grid--three,
  .hhr-fleet-overview__grid--two,
  .hhr-fleet-overview__grid--one {
    grid-template-columns: 1fr;
  }

  .hhr-fleet-overview__card {
    min-height: 320px;
  }
}

/* =========================
   FUHRPARK – automatische Kategorienliste ausblenden
   ========================= */

body.itemid-116 .com-content-categories__items {
  display: none;
}


/* ==========================================================================
   07 – RENNKALENDER
   Menü-ID 105
   ========================================================================== */

/* =========================
   RENNKALENDER – EVENTKARTEN
   ========================= */

body.itemid-105 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding-bottom: 6rem;
}

body.itemid-105 .com-content-category-blog__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

body.itemid-105 .com-content-category-blog__item {
  margin: 0;
  min-width: 0;
  background: transparent;
}


/* Karte */

.hhr-event-card {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);

  min-height: 260px;
  height: 100%;

  background: #000;
  color: #fff;
}


/* Datum */

.hhr-event-card__date {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 1.5rem;

  border-right: 1px solid rgba(170,121,65,.55);
  color: #AA7941;
}

.hhr-event-card__date strong {
  display: block;

  font-family: "Racing Sans One", sans-serif;
  font-size: 4rem;
  font-weight: 400;
  line-height: .8;
}

.hhr-event-card__date span {
  margin-top: .75rem;

  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.hhr-event-card__date small {
  margin-top: .2rem;

  color: rgba(255,255,255,.45);
  font-family: "Courier Prime", monospace;
}


/* Inhalt */

.hhr-event-card__content {
  display: flex;
  flex-direction: column;
  padding: 2rem;
}

.hhr-event-card__type {
  margin: 0 0 .75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hhr-event-card__title {
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(1.8rem, 2.5vw, 2.6rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-event-card__time {
  margin: 1rem 0 0;

  color: rgba(255,255,255,.6);
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
}

.hhr-event-card__link {
  display: inline-flex;
  gap: .65rem;
  align-items: center;

  margin-top: auto;
  padding-top: 2rem;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  text-decoration: none;
}

.hhr-event-card__link:hover {
  color: #fff;
}

.hhr-event-card__link span {
  transition: transform .2s ease;
}

.hhr-event-card__link:hover span {
  transform: translateX(.35rem);
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-105 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 4rem;
  }

  body.itemid-105 .com-content-category-blog__items {
    grid-template-columns: 1fr;
  }

  .hhr-event-card {
    grid-template-columns: 95px minmax(0, 1fr);
    min-height: 230px;
  }

  .hhr-event-card__date {
    padding: 1rem;
  }

  .hhr-event-card__date strong {
    font-size: 3rem;
  }

  .hhr-event-card__content {
    padding: 1.5rem;
  }
}

/* =========================
   RENNKALENDER – EINSTIEG
   ========================= */

body.itemid-105 .hhr-calendar-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

.hhr-calendar-head__eyebrow {
  margin: 0 0 1rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-calendar-head h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .92;
}

.hhr-calendar-head__lead {
  max-width: 720px;
  margin: 2rem 0 0;
  font-size: 1.05rem;
  line-height: 1.7;
}

.hhr-calendar-head__note {
  margin: 1.5rem 0 0;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  font-weight: 700;
}

/* =========================
   RENNKALENDER – NÄCHSTES EVENT
   ========================= */

/* Nur der führende Joomla-Beitrag */
body.itemid-105 .com-content-category-blog__items.items-leading {
  display: block;
  margin-bottom: 1.5rem;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.com-content-category-blog__item {
  width: 100%;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card {
  grid-template-columns: 180px minmax(0, 1fr);
  min-height: 340px;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__date {
  padding: 2rem;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__date strong {
  font-size: 5.5rem;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__content {
  justify-content: center;
  padding: 3rem;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__content::before {
  content: "NÄCHSTES EVENT";

  display: block;
  margin-bottom: 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__title {
  max-width: 850px;
  font-size: clamp(2.8rem, 5vw, 5rem);
}

body.itemid-105 .com-content-category-blog__items.items-leading
.hhr-event-card__time {
  font-size: 1rem;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-105 .com-content-category-blog__items.items-leading
  .hhr-event-card {
    grid-template-columns: 95px minmax(0, 1fr);
    min-height: 260px;
  }

  body.itemid-105 .com-content-category-blog__items.items-leading
  .hhr-event-card__date {
    padding: 1rem;
  }

  body.itemid-105 .com-content-category-blog__items.items-leading
  .hhr-event-card__date strong {
    font-size: 3rem;
  }

  body.itemid-105 .com-content-category-blog__items.items-leading
  .hhr-event-card__content {
    padding: 1.5rem;
  }
}

/* =========================
   RENNKALENDER – KEINE TERMINE
   ========================= */

.hhr-calendar-empty {
  margin: 0 0 6rem;
  padding: 4rem 3rem;

  background: #000;
  color: #fff;
}

.hhr-calendar-empty__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-calendar-empty h2 {
  margin: 0 0 1rem;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-calendar-empty > p:last-child {
  max-width: 650px;
  margin: 0;

  color: rgba(255,255,255,.7);
  line-height: 1.6;
}

@media (max-width: 767.98px) {

  .hhr-calendar-empty {
    margin-bottom: 4rem;
    padding: 2.5rem 1.5rem;
  }
}

/* =========================
   RENNKALENDER – TEILNEHMER
   ========================= */

.hhr-participants {
  max-width: 820px;
  margin: 4rem 0 0;
  padding: 2.5rem;

  background: #000;
  color: #fff;
}

.hhr-participants__eyebrow {
  margin: 0 0 .75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-participants__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;

  margin-bottom: 2rem;
}

.hhr-participants__head h2 {
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-participants__head p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: .8rem;
}

.hhr-participants__grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.hhr-participant {
  min-width: 0;
}

.hhr-participant__image {
  overflow: hidden;
  background: #171717;
  aspect-ratio: 3 / 4;
}

.hhr-participant__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hhr-participant__name {
  margin: .75rem 0 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 1rem;
  line-height: 1.1;
}

.hhr-participant--free {
  display: flex;
  flex-direction: column;
}

.hhr-participant__free-icon {
  display: flex;
  align-items: center;
  justify-content: center;

  aspect-ratio: 3 / 4;

  border: 1px dashed rgba(170,121,65,.7);

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  font-size: 3rem;
}

.hhr-participant--free .hhr-participant__name {
  color: rgba(255,255,255,.5);
}


/* Mobile */

@media (max-width: 767.98px) {

  .hhr-participants {
    padding: 2rem 1.5rem;
  }

  .hhr-participants__head {
    display: block;
  }

  .hhr-participants__head p {
    margin-top: .75rem;
  }

  .hhr-participants__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================
   RENNKALENDER – LOGINHINWEIS
   ========================= */

.hhr-participants-login {
  max-width: 820px;
  margin: 4rem 0 0;
  padding: 2.5rem;

  background: #000;
  color: #fff;
}

.hhr-participants-login__eyebrow {
  margin: 0 0 .75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-participants-login h2 {
  margin: 0 0 1rem;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-participants-login > p:not(.hhr-participants-login__eyebrow) {
  max-width: 600px;
  margin: 0;

  color: rgba(255,255,255,.7);
  line-height: 1.6;
}

.hhr-participants-login__link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;

  margin-top: 1.5rem;

  color: #AA7941;
  font-family: "Racing Sans One", sans-serif;
  text-decoration: none;
}

.hhr-participants-login__link:hover {
  color: #fff;
}

.hhr-participants-login__link span {
  transition: transform .2s ease;
}

.hhr-participants-login__link:hover span {
  transform: translateX(.35rem);
}

@media (max-width: 767.98px) {

  .hhr-participants-login {
    padding: 2rem 1.5rem;
  }
}

/* =========================
   RENNKALENDER – EVENT DETAIL HEADER
   ========================= */

body.itemid-105.view-article .hhr-event-head {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);

  width: min(1200px, calc(100% - 4rem));
  margin: 5rem auto 4rem;

  background: #000;
  color: #fff;
}

.hhr-event-head__date {
  display: flex;
  flex-direction: column;
  justify-content: center;

  padding: 2rem;

  border-right: 1px solid rgba(170,121,65,.55);
  color: #AA7941;
}

.hhr-event-head__date strong {
  font-family: "Racing Sans One", sans-serif;
  font-size: 5.5rem;
  font-weight: 400;
  line-height: .8;
}

.hhr-event-head__date span {
  margin-top: .8rem;

  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .1em;
}

.hhr-event-head__date small {
  margin-top: .2rem;

  color: rgba(255,255,255,.45);
  font-family: "Courier Prime", monospace;
}

.hhr-event-head__content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  min-height: 340px;
  padding: 3rem;
}

.hhr-event-head__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.hhr-event-head__content h1 {
  max-width: 850px;
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 400;
  line-height: .95;
}

.hhr-event-head__time {
  margin: 1.25rem 0 0;

  color: rgba(255,255,255,.65);
  font-family: "Courier Prime", monospace;
  font-size: 1rem;
}

@media (max-width: 767.98px) {

  body.itemid-105.view-article .hhr-event-head {
    grid-template-columns: 95px minmax(0, 1fr);

    width: calc(100% - 2.5rem);
    margin: 4rem auto 3rem;
  }

  .hhr-event-head__date {
    padding: 1rem;
  }

  .hhr-event-head__date strong {
    font-size: 3rem;
  }

  .hhr-event-head__content {
    min-height: 260px;
    padding: 1.5rem;
  }
}

.hhr-event-table {
  width: 100%;
  max-width: 700px;
  margin: 1rem 0 2.5rem;
  border-collapse: collapse;
}

.hhr-event-table td {
  padding: .45rem 0;
  border: 0;
  vertical-align: top;
}

.hhr-event-table td:first-child {
  width: 2.5rem;
  padding-right: 1rem;
  color: #AA7941;
  text-align: center;
}

.hhr-event-table td:last-child {
  font-family: "Courier Prime", monospace;
}

/* =========================
   RENNKALENDER – DETAIL INHALT
   ========================= */

body.itemid-105.view-article .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding-bottom: 6rem;
}

body.itemid-105.view-article .com-content-article > figure.item-image,
body.itemid-105.view-article .com-content-article > .com-content-article__body {
  margin-top: 0;
}

/* Bild + Inhalt nebeneinander */

body.itemid-105.view-article .com-content-article {
  display: grid;
  grid-template-columns: 420px minmax(0, 1fr);
  column-gap: 3rem;
}

/* Event-Header wieder über volle Breite */

body.itemid-105.view-article .hhr-event-head {
  grid-column: 1 / -1;
}

/* Komplettes Beitragsbild */

body.itemid-105.view-article .item-image {
  grid-column: 1;
  margin: 0;
}

body.itemid-105.view-article .item-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* Beitragsinhalt */

body.itemid-105.view-article .com-content-article__body {
  grid-column: 2;
  max-width: none;
}

body.itemid-105.view-article .com-content-article__body > p:first-child {
  margin-top: 0;
}

/* Teilnehmerbereich darunter wieder volle Breite */

body.itemid-105.view-article .hhr-participants,
body.itemid-105.view-article .hhr-participants-login {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-105.view-article .com-content-article {
    width: calc(100% - 2.5rem);
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }

  body.itemid-105.view-article .hhr-event-head,
  body.itemid-105.view-article .item-image,
  body.itemid-105.view-article .com-content-article__body,
  body.itemid-105.view-article .hhr-participants,
  body.itemid-105.view-article .hhr-participants-login {
    grid-column: 1;
  }

  body.itemid-105.view-article .item-image {
    max-width: 100%;
  }
}

/* Eventstatus */

.hhr-event-card {
  position: relative;
}

.hhr-event-card__badge {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 2;

  padding: .45rem .7rem;

  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}

/* Noch Plätze verfügbar */

.hhr-event-card__badge--free {
  background: #AA7941;
  color: #000;
}

/* Alle Plätze belegt */

.hhr-event-card__badge--full {
  border: 1px solid rgba(255,255,255,.25);
  background: #171717;
  color: rgba(255,255,255,.6);
}


/* ==========================================================================
   08 – GALERIE
   Menü-ID 111
   ========================================================================== */

/* =========================
   GALERIE – KARTEN
   ========================= */

/* Galerie-Raster */

/* Galerie-Raster – unabhängig vom Joomla-Spaltenlayout */

body.itemid-111 .blog-items {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;

  width: 100%;
}

/* Joomla-/Bootstrap-Spaltenwerte neutralisieren */

body.itemid-111 .blog-items > .blog-item {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}


/* Karte */

body.itemid-111 .hhr-gallery-card {
  height: 100%;
  margin: 0;
  background: #000;
  overflow: hidden;
}


/* Gesamte Karte klickbar */

body.itemid-111 .hhr-gallery-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;

  color: #fff;
  text-decoration: none;
}


/* Bild */

body.itemid-111 .hhr-gallery-card__image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #111;
}

body.itemid-111 .hhr-gallery-card__image img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .45s ease,
    opacity .45s ease;
}


/* Inhalt */

body.itemid-111 .hhr-gallery-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;

  padding: 2rem;
}


/* Meta / Typ */

body.itemid-111 .hhr-gallery-card__meta {
  display: flex;
  align-items: center;
  gap: .75rem;

  margin-bottom: 1rem;
}

body.itemid-111 .hhr-gallery-card__type {
  color: #AA7941;

  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}


/* INTERN Badge */

body.itemid-111 .hhr-gallery-card__internal {
  padding: .3rem .55rem;

  border: 1px solid rgba(170, 121, 65, .65);

  color: #AA7941;

  font-family: "Courier Prime", monospace;
  font-size: .65rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1em;
}


/* Titel */

body.itemid-111 .hhr-gallery-card__title {
  margin: 0;

  color: #fff;

  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1;
}


/* Beschreibung */

body.itemid-111 .hhr-gallery-card__text {
  margin-top: 1rem;

  color: rgba(255,255,255,.6);

  font-family: "Courier Prime", monospace;
  font-size: .9rem;
  line-height: 1.6;
}

body.itemid-111 .hhr-gallery-card__text p {
  margin: 0;
}


/* CTA */

body.itemid-111 .hhr-gallery-card__cta {
  display: flex;
  align-items: center;
  gap: .6rem;

  margin-top: auto;
  padding-top: 2rem;

  color: #AA7941;

  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .05em;
}

body.itemid-111 .hhr-gallery-card__cta span {
  font-size: 1.2rem;

  transition: transform .25s ease;
}


/* =========================
   GALERIE – HOVER
   ========================= */

@media (hover: hover) {

  body.itemid-111 .hhr-gallery-card__link:hover {
    color: #fff;
  }

  body.itemid-111 .hhr-gallery-card__link:hover
  .hhr-gallery-card__image img {
    transform: scale(1.035);
    opacity: .82;
  }

  body.itemid-111 .hhr-gallery-card__link:hover
  .hhr-gallery-card__cta span {
    transform: translateX(.35rem);
  }
}


/* =========================
   GALERIE – MOBILE
   ========================= */

@media (max-width: 767.98px) {

  body.itemid-111 .blog-items {
    grid-template-columns: 1fr !important;
    gap: 1rem;
  }

  body.itemid-111 .hhr-gallery-card__content {
    padding: 1.5rem;
  }

  body.itemid-111 .hhr-gallery-card__title {
    font-size: 2rem;
  }

  body.itemid-111 .hhr-gallery-card__cta {
    padding-top: 1.5rem;
  }
}

/* =========================
   GALERIE – SEITENKOPF
   ========================= */

body.itemid-111 .hhr-gallery-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-111 .hhr-gallery-head__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.itemid-111 .hhr-gallery-head h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .92;
}

body.itemid-111 .hhr-gallery-head__lead {
  max-width: 720px;
  margin: 2rem 0 0;

  color: #555;
  font-size: 1.05rem;
  line-height: 1.7;
}


/* Alten Joomla-Seitentitel ausblenden */

body.itemid-111 .com-content-category-blog > .page-header {
  display: none;
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-111 .hhr-gallery-head {
    padding: 4rem 0 3rem;
  }
}

/* =========================
   GALERIE – DETAILSEITE
   ========================= */

body.itemid-111.view-article .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 7rem;
}

body.itemid-111.view-article .com-content-article > .page-header {
  margin-bottom: 1rem;
}

body.itemid-111.view-article .com-content-article > .page-header h1,
body.itemid-111.view-article .com-content-article > .page-header h2 {
  margin: 0;

  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 400;
  line-height: .95;
}

/* Galerie – Introtext auf Detailseite ausblenden */

body.itemid-111.view-article
.com-content-article__body > p:first-child {
  display: none;
}

/* etwas Luft über der SIGE-Galerie */

body.itemid-111.view-article .com-content-article__body .sigProContainer,
body.itemid-111.view-article .com-content-article__body .sige {
  margin-top: 2rem;
}

/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-111.view-article .com-content-article {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 5rem;
  }
}

.hhr-gallery-back {
  margin-top: 3rem;
}

.hhr-gallery-back a {
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  text-decoration: none;
}

.hhr-gallery-back a:hover {
  color: #000;
}

/* =========================
   GALERIE – VIDEOS
   ========================= */

.hhr-video-gallery {
  display: grid;
  gap: 5rem;
  margin-top: 3rem;
}

.hhr-video {
  margin: 0;
}

.hhr-video__eyebrow {
  margin: 0 0 .75rem !important;

  color: #AA7941 !important;
  font-family: "Courier Prime", monospace;
  font-size: .75rem !important;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-video h2 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 400;
  line-height: 1;
}

.hhr-video__text {
  margin: .8rem 0 1.5rem !important;

  color: #555 !important;
  font-family: "Courier Prime", monospace;
  font-size: .9rem !important;
  line-height: 1.6;
}

.hhr-video__player {
  width: 100%;
  overflow: hidden;
  background: #000;
}

.hhr-video__player iframe,
.hhr-video__player video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
}

@media (max-width: 767.98px) {

  .hhr-video-gallery {
    gap: 3.5rem;
    margin-top: 2.5rem;
  }
}

/* =========================
   GALERIE – DETAIL EYEBROW
   ========================= */

body.itemid-111.view-article .hhr-gallery-detail__eyebrow {
  margin: 0 0 .8rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

body.itemid-111.view-article
.hhr-gallery-detail__eyebrow + .page-header {
  margin-top: 0;
}


/* ==========================================================================
   09 – LOGIN
   Menü-ID 118
   ========================================================================== */

/* =========================
   LOGIN – INTRO
   ========================= */

body.itemid-118.view-login .container-top-a {
  width: min(720px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 0;
}


/* Joomla-Card neutralisieren */

body.itemid-118.view-login .container-top-a .top-a.card,
body.itemid-118.view-login .container-top-a .card-body {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}


/* Intro */

body.itemid-118.view-login .hhr-login-intro {
  margin: 0 0 2.5rem;
}


/* Eyebrow */

body.itemid-118.view-login .hhr-login-intro__eyebrow {
  margin: 0 0 .9rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}


/* Überschrift */

body.itemid-118.view-login .hhr-login-intro h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 400;
  line-height: .95;
}


/* Einleitung */

body.itemid-118.view-login .hhr-login-intro__lead {
  margin: 1rem 0 0;

  color: #555;
  font-family: "Courier Prime", monospace;
  font-size: .95rem;
  line-height: 1.6;
}


/* =========================
   LOGIN – FORMULAR
   ========================= */

body.itemid-118.view-login .com-users-login {
  width: min(720px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 7rem;
}


/* Login-Box */

body.itemid-118.view-login .com-users-login__form {
  margin: 0;
  padding: 2.5rem;

  border: 0;
  border-radius: 0;
  background: #000;
  color: #fff;
  box-shadow: none;
}

body.itemid-118.view-login .com-users-login__form fieldset {
  margin: 0;
  padding: 0;
}


/* Labels */

body.itemid-118.view-login .com-users-login label {
  margin-bottom: .5rem;

  color: #fff;
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
}


/* Eingabefelder */

body.itemid-118.view-login .com-users-login__input {
  margin-bottom: 1.5rem;
}

body.itemid-118.view-login .com-users-login .form-control {
  min-height: 3.25rem;

  border: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  background: #171717;
  color: #fff;
}

body.itemid-118.view-login .com-users-login .form-control:focus {
  border-color: #AA7941;
  background: #171717;
  color: #fff;
  box-shadow: none;
}


/* Passwort-Auge */

body.itemid-118.view-login .input-password-toggle {
  border: 1px solid rgba(255,255,255,.2);
  border-left: 0;
  border-radius: 0;
  background: #171717;
  color: rgba(255,255,255,.65);
}

body.itemid-118.view-login .input-password-toggle:hover {
  background: #AA7941;
  color: #000;
}


/* Angemeldet bleiben */

body.itemid-118.view-login .com-users-login__remember {
  margin: .5rem 0 1.5rem;
}


/* Anmelden-Button */

body.itemid-118.view-login .com-users-login__submit .btn {
  width: 100%;
  padding: .9rem 1.5rem;

  border: 0;
  border-radius: 0;
  background: #AA7941;
  color: #000;

  font-family: "Racing Sans One", sans-serif;
  font-size: 1.1rem;
}

body.itemid-118.view-login .com-users-login__submit .btn:hover {
  background: #fff;
  color: #000;
}


/* Passwort / Benutzername vergessen */

body.itemid-118.view-login .com-users-login__options {
  margin-top: 1rem;

  border: 0;
  border-radius: 0;
}

body.itemid-118.view-login .com-users-login__options .list-group-item {
  padding: .8rem 0;

  border: 0;
  border-bottom: 1px solid rgba(0,0,0,.12);
  background: transparent;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
}

body.itemid-118.view-login .com-users-login__options .list-group-item:hover {
  color: #000;
}


/* =========================
   LOGIN – MOBILE
   ========================= */

@media (max-width: 767.98px) {

  body.itemid-118.view-login .container-top-a,
  body.itemid-118.view-login .com-users-login {
    width: calc(100% - 2.5rem);
  }

  body.itemid-118.view-login .container-top-a {
    padding-top: 4rem;
  }

  body.itemid-118.view-login .hhr-login-intro {
    margin-bottom: 2rem;
  }

  body.itemid-118.view-login .com-users-login {
    padding-bottom: 5rem;
  }

  body.itemid-118.view-login .com-users-login__form {
    padding: 2rem 1.5rem;
  }
}


/* ==========================================================================
   10 – FAHRERBEREICH
   Menü-ID 142
   ========================================================================== */

/* =========================
   FAHRERBEREICH – DRIVER CARD
   ========================= */

body.itemid-142 .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 7rem;
}

.hhr-driver__intro {
  max-width: 850px;
  margin-bottom: 3rem;
}

.hhr-driver__eyebrow,
.hhr-driver-card__eyebrow {
  margin: 0 0 .8rem;
  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-driver__intro h1 {
  margin: 0;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: .92;
  font-weight: 400;
}

.hhr-driver__lead {
  margin: 1.5rem 0 0;
  color: #555;
  font-family: "Courier Prime", monospace;
}

.hhr-driver-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);

  background: #000;
  color: #fff;
}

.hhr-driver-card__content {
  padding: 3rem;
}

.hhr-driver-card h2 {
  margin: 0 0 2.5rem;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 1;
  font-weight: 400;
}

.hhr-driver-card__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.hhr-driver-card__stats div {
  padding-top: 1rem;
  border-top: 1px solid rgba(170,121,65,.65);
}

.hhr-driver-card__stats strong {
  display: block;
  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: 2rem;
  line-height: 1;
  font-weight: 400;
}

.hhr-driver-card__stats span {
  display: block;
  margin-top: .4rem;
  color: rgba(255,255,255,.5);
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
}

.hhr-driver-card__note,
.hhr-driver-card__last {
  margin: 2rem 0 0;
  color: rgba(255,255,255,.65);
  font-family: "Courier Prime", monospace;
  font-size: .85rem;
  line-height: 1.6;
}

.hhr-driver-card__last {
  margin-top: 1rem;
}

.hhr-driver-card__last strong {
  color: #fff;
}

.hhr-driver-card__portrait {
  min-height: 520px;
  overflow: hidden;
}

.hhr-driver-card__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767.98px) {

  body.itemid-142 .com-content-article {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 5rem;
  }

  .hhr-driver-card {
    grid-template-columns: 1fr;
  }

  .hhr-driver-card__portrait {
    order: -1;
    min-height: 0;
    aspect-ratio: 3 / 4;
  }

  .hhr-driver-card__content {
    padding: 2rem 1.5rem;
  }

  .hhr-driver-card__stats {
    gap: 1.5rem;
  }
}

/* Driver Card – Teams */

.hhr-driver-card__teams {
  margin-top: 2.5rem;
  padding-top: 1.5rem;

  border-top: 1px solid rgba(255,255,255,.15);
}

.hhr-driver-card__teams > p {
  margin: 0 0 .75rem;

  color: rgba(255,255,255,.45);
  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hhr-driver-card__teams ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.hhr-driver-card__teams li {
  position: relative;

  margin: .4rem 0;
  padding-left: 1.25rem;

  color: #fff;
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
}

.hhr-driver-card__teams li::before {
  content: "→";

  position: absolute;
  left: 0;

  color: #AA7941;
}

/* Driver Card – BoP Hinweis */

.hhr-driver-card__bop small {
  display: block;
  margin-top: .65rem;

  color: rgba(255,255,255,.45);
  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.4;
}

/* =========================
   FAHRERBEREICH – DASHBOARD
   ========================= */

.hhr-driver-dashboard {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 6rem 0 7rem;
}


/* Kopf */

.hhr-driver-dashboard__head {
  max-width: 720px;
  margin-bottom: 3rem;
}

.hhr-driver-dashboard__eyebrow {
  display: block;
  margin-bottom: .8rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
}

.hhr-driver-dashboard__head h2 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 400;
  line-height: .95;
}

.hhr-driver-dashboard__head p {
  margin: 1.25rem 0 0;

  color: #666;
  font-family: "Courier Prime", monospace;
  font-size: .95rem;
  line-height: 1.6;
}


/* Grid */

.hhr-driver-dashboard__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}


/* Karte */

.hhr-driver-dashboard__card {
  position: relative;

  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 1.5rem;

  min-height: 220px;
  padding: 2rem;

  background: #000;
  color: #fff;

  text-decoration: none;

  transition:
    transform .25s ease,
    background-color .25s ease;
}


/* Nummer */

.hhr-driver-dashboard__number {
  color: rgba(255,255,255,.25);
  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;
}


/* Eyebrow */

.hhr-driver-dashboard__label {
  display: block;
  margin-bottom: .75rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .12em;
}


/* Titel */

.hhr-driver-dashboard__card h3 {
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 400;
  line-height: 1;
}


/* Beschreibung */

.hhr-driver-dashboard__card p {
  max-width: 420px;
  margin: 1rem 0 0;

  color: rgba(255,255,255,.5);
  font-family: "Courier Prime", monospace;
  font-size: .82rem;
  line-height: 1.55;
}


/* Pfeil */

.hhr-driver-dashboard__arrow {
  align-self: end;

  color: #AA7941;
  font-size: 1.4rem;

  transition: transform .25s ease;
}


/* Hover */

@media (hover: hover) {

  .hhr-driver-dashboard__card:hover {
    transform: translateY(-4px);
  }

  .hhr-driver-dashboard__card:hover
  .hhr-driver-dashboard__arrow {
    transform: translateX(.35rem);
  }
}


/* =========================
   FAHRERBEREICH – DASHBOARD MOBILE
   ========================= */

@media (max-width: 767.98px) {

  .hhr-driver-dashboard {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 5rem;
  }

  .hhr-driver-dashboard__head {
    margin-bottom: 2rem;
  }

  .hhr-driver-dashboard__grid {
    grid-template-columns: 1fr;
  }

  .hhr-driver-dashboard__card {
    min-height: 190px;
    padding: 1.5rem;
    gap: 1rem;
  }
}

/* =========================
   FAHRERBEREICH – LOGOUT
   ========================= */

.hhr-driver-logout {
  width: min(1200px, calc(100% - 4rem));
  margin: -3rem auto 0;
  padding: 0 0 7rem;

  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.hhr-driver-logout__text {
  color: #777;

  font-family: "Courier Prime", monospace;
  font-size: .75rem;
}

.hhr-driver-logout__form {
  margin: 0;
}

.hhr-driver-logout__button {
  display: inline-flex;
  align-items: center;
  gap: .6rem;

  padding: 0;

  border: 0;
  background: transparent;

  color: #AA7941;

  font-family: "Courier Prime", monospace;
  font-size: .75rem;
  font-weight: 700;

  cursor: pointer;
}

.hhr-driver-logout__button span {
  font-size: 1rem;
  transition: transform .2s ease;
}

@media (hover: hover) {

  .hhr-driver-logout__button:hover {
    color: #000;
  }

  .hhr-driver-logout__button:hover span {
    transform: translateX(.25rem);
  }
}


/* Mobile */

@media (max-width: 767.98px) {

  .hhr-driver-logout {
    width: calc(100% - 2.5rem);
    margin-top: -2rem;
    padding-bottom: 5rem;

    justify-content: flex-start;
  }
}


/* ==========================================================================
   11 – HALL OF FAME
   Menü-ID 136
   ========================================================================== */

/* =========================
   HALL OF FAME – ÜBERSICHT
   ========================= */

body.itemid-136 .com-content-category-blog.blog {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 0 0 7rem;
}


/* Standard-Seitentitel ausblenden */

body.itemid-136 .com-content-category-blog > .page-header {
  display: none;
}


/* =========================
   HALL OF FAME – SEITENKOPF
   ========================= */

body.itemid-136 .hhr-hof-head {
  max-width: 850px;
  padding: 5rem 0 4rem;
}

body.itemid-136 .hhr-hof-head__eyebrow {
  margin: 0 0 1rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.itemid-136 .hhr-hof-head h1 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3.5rem, 7vw, 7rem);
  font-weight: 400;
  line-height: .92;
}

body.itemid-136 .hhr-hof-head__lead {
  max-width: 720px;
  margin: 2rem 0 0;

  color: #555;
  font-size: 1.05rem;
  line-height: 1.7;
}


/* =========================
   HALL OF FAME – GRID
   ========================= */

body.itemid-136 .blog-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

body.itemid-136 .blog-item {
  margin: 0;
  min-width: 0;
}


/* =========================
   HALL OF FAME – KARTE
   ========================= */

body.itemid-136 .hhr-hof-card {
  height: 100%;
  margin: 0;
  overflow: hidden;

  background: #000;
}

body.itemid-136 .hhr-hof-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;

  color: #fff;
  text-decoration: none;
}


/* Bild */

body.itemid-136 .hhr-hof-card__image {
  position: relative;
  overflow: hidden;
  background: #111;
}

body.itemid-136 .hhr-hof-card__image::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      to top,
      rgba(0,0,0,.28),
      rgba(0,0,0,0) 55%
    );

  pointer-events: none;
}

body.itemid-136 .hhr-hof-card__image img {
  display: block;
  width: 100%;
  height: auto;

  transition:
    transform .45s ease,
    opacity .45s ease;
}


/* Karteninhalt */

body.itemid-136 .hhr-hof-card__content {
  display: flex;
  flex-direction: column;
  flex: 1;

  min-height: 220px;
  padding: 2rem;
}

body.itemid-136 .hhr-hof-card__eyebrow {
  margin: 0 0 .8rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
}

body.itemid-136 .hhr-hof-card__title {
  margin: 0;

  color: #fff;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(2.2rem, 3vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
}


/* CTA */

body.itemid-136 .hhr-hof-card__cta {
  display: flex;
  align-items: center;
  gap: .65rem;

  margin-top: auto;
  padding-top: 2rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
}

body.itemid-136 .hhr-hof-card__cta span {
  font-size: 1.2rem;

  transition: transform .25s ease;
}


/* =========================
   HALL OF FAME – HOVER
   ========================= */

@media (hover: hover) {

  body.itemid-136 .hhr-hof-card__link:hover
  .hhr-hof-card__image img {
    transform: scale(1.035);
    opacity: .85;
  }

  body.itemid-136 .hhr-hof-card__link:hover
  .hhr-hof-card__cta span {
    transform: translateX(.35rem);
  }
}


/* =========================
   HALL OF FAME – MOBILE
   ========================= */

@media (max-width: 767.98px) {

  body.itemid-136 .com-content-category-blog.blog {
    width: calc(100% - 2.5rem);
    padding-bottom: 5rem;
  }

  body.itemid-136 .hhr-hof-head {
    padding: 4rem 0 3rem;
  }

  body.itemid-136 .blog-items {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  body.itemid-136 .hhr-hof-card__content {
    min-height: 190px;
    padding: 1.5rem;
  }
}

/* =========================
   HALL OF FAME – DETAIL
   ========================= */

body.view-article .hhr-hof-detail__eyebrow {
  margin: 0 0 .8rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}


/* ==========================================================================
   12 – ERGEBNISSE
   Menü-ID 145
   ========================================================================== */

/* =========================
   ERGEBNISSE – ARCHIV
   Menü-ID 145
   ========================= */


/* Seitenbreite */

body.itemid-145 .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 7rem;
}


/* =========================
   ERGEBNISSE – SEITENKOPF
   ========================= */

body.itemid-145 .com-content-article > .page-header {
  margin: 0 0 1rem;
}

body.itemid-145 .com-content-article > .page-header h1,
body.itemid-145 .com-content-article > .page-header h2 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 400;
  line-height: .95;
}


/* Archiv-Überschrift */

body.itemid-145 .com-content-article__body > h2:first-child,
body.itemid-145 .com-content-article__body > h3:first-child {
  margin: 0 0 2rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}


/* =========================
   ERGEBNISSE – ACCORDION
   ========================= */

body.itemid-145 .accordion {
  margin: 0;
  border: 0;
}

body.itemid-145 .accordion-item {
  margin: 0 0 .75rem;

  border: 0;
  border-radius: 0;
  overflow: hidden;

  background: #000;
}


/* Saisonkopf */

body.itemid-145 .accordion-button {
  padding: 1.5rem 1.75rem;

  border: 0;
  border-radius: 0 !important;
  box-shadow: none !important;

  background: #000;
  color: #fff;

  font-family: "Racing Sans One", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}


/* Geöffnet */

body.itemid-145 .accordion-button:not(.collapsed) {
  background: #000;
  color: #AA7941;
}


/* Bootstrap-Pfeil */

body.itemid-145 .accordion-button::after {
  filter: invert(1);
  opacity: .65;
}

body.itemid-145 .accordion-button:not(.collapsed)::after {
  filter:
    invert(52%)
    sepia(35%)
    saturate(800%)
    hue-rotate(350deg)
    brightness(90%);
}


/* =========================
   ERGEBNISSE – ACCORDION-INHALT
   ========================= */

body.itemid-145 .accordion-body {
  padding: .5rem 1.75rem 1.75rem;

  background: #000;
  color: #fff;
}


/* PDF-Liste */

body.itemid-145 .accordion-body ul {
  margin: 0;
  padding: 0;

  list-style: none;
}

body.itemid-145 .accordion-body li {
  margin: 0;
  padding: 0;

  border-top: 1px solid rgba(255,255,255,.12);
}


/* PDF-Link */

body.itemid-145 .accordion-body li a {
  position: relative;

  display: block;
  padding: 1rem 2.5rem 1rem 0;

  color: rgba(255,255,255,.72);
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.4;

  text-decoration: none;

  transition:
    color .2s ease,
    padding-left .2s ease;
}


/* Pfeil rechts */

body.itemid-145 .accordion-body li a::after {
  content: "→";

  position: absolute;
  top: 50%;
  right: 0;

  color: #AA7941;
  font-size: 1.1rem;

  transform: translateY(-50%);
  transition: transform .2s ease;
}


/* Hover */

@media (hover: hover) {

  body.itemid-145 .accordion-body li a:hover {
    padding-left: .5rem;
    color: #fff;
  }

  body.itemid-145 .accordion-body li a:hover::after {
    transform:
      translate(.25rem, -50%);
  }
}


/* =========================
   ERGEBNISSE – MOBILE
   ========================= */

@media (max-width: 767.98px) {

  body.itemid-145 .com-content-article {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 5rem;
  }

  body.itemid-145 .accordion-button {
    padding: 1.25rem;
    font-size: 1.2rem;
  }

  body.itemid-145 .accordion-body {
    padding:
      .25rem
      1.25rem
      1.25rem;
  }

  body.itemid-145 .accordion-body li a {
    padding:
      .9rem
      2rem
      .9rem
      0;

    font-size: .8rem;
  }
}


/* ==========================================================================
   13 – STATISTIKEN
   Menü-ID 141
   ========================================================================== */

/* =========================
   STATISTIKEN – ARCHIV
   Menü-ID 141
   ========================= */

body.itemid-141 .com-content-article {
  width: min(1200px, calc(100% - 4rem));
  margin: 0 auto;
  padding: 5rem 0 7rem;
}


/* Seitenkopf */

body.itemid-141 .com-content-article > .page-header {
  margin: 0 0 1rem;
}

body.itemid-141 .com-content-article > .page-header h1,
body.itemid-141 .com-content-article > .page-header h2 {
  margin: 0;

  color: #000;
  font-family: "Racing Sans One", sans-serif;
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 400;
  line-height: .95;
}


/* ARCHIV */

body.itemid-141 .com-content-article__body > h2:first-child,
body.itemid-141 .com-content-article__body > h3:first-child {
  margin: 0 0 2rem;

  color: #AA7941;
  font-family: "Courier Prime", monospace;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}


/* Accordion */

body.itemid-141 .accordion {
  margin: 0;
  border: 0;
}

body.itemid-141 .accordion-item {
  margin: 0 0 .75rem;

  border: 0;
  border-radius: 0;
  overflow: hidden;

  background: #000;
}


/* Saisonkopf */

body.itemid-141 .accordion-button {
  padding: 1.5rem 1.75rem;

  border: 0;
  border-radius: 0 !important;
  box-shadow: none !important;

  background: #000;
  color: #fff;

  font-family: "Racing Sans One", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
}

body.itemid-141 .accordion-button:not(.collapsed) {
  background: #000;
  color: #AA7941;
}

body.itemid-141 .accordion-button::after {
  filter: invert(1);
  opacity: .65;
}

body.itemid-141 .accordion-button:not(.collapsed)::after {
  filter:
    invert(52%)
    sepia(35%)
    saturate(800%)
    hue-rotate(350deg)
    brightness(90%);
}


/* Inhalt */

body.itemid-141 .accordion-body {
  padding: 1rem 1.75rem 1.75rem;

  background: #000;
  color: #fff;

  font-family: "Courier Prime", monospace;
  font-size: .9rem;
  line-height: 1.6;
}


/* Listen */

body.itemid-141 .accordion-body ul {
  margin: 0 0 1.5rem;
  padding: 0;

  list-style: none;
}

body.itemid-141 .accordion-body li {
  margin: 0;
  padding: 0;

  border-top: 1px solid rgba(255,255,255,.12);
}


/* Links */

body.itemid-141 .accordion-body li a {
  position: relative;

  display: block;
  padding: 1rem 2.5rem 1rem 0;

  color: rgba(255,255,255,.72);
  font-family: "Courier Prime", monospace;
  font-size: .9rem;
  text-decoration: none;

  transition:
    color .2s ease,
    padding-left .2s ease;
}

body.itemid-141 .accordion-body li a::after {
  content: "→";

  position: absolute;
  top: 50%;
  right: 0;

  color: #AA7941;
  font-size: 1.1rem;

  transform: translateY(-50%);
  transition: transform .2s ease;
}


/* Freitext wie Streckenrekord */

body.itemid-141 .accordion-body p {
  margin: 1rem 0 0;

  color: rgba(255,255,255,.72);
}

body.itemid-141 .accordion-body strong {
  color: #fff;
}


/* Hover */

@media (hover: hover) {

  body.itemid-141 .accordion-body li a:hover {
    padding-left: .5rem;
    color: #fff;
  }

  body.itemid-141 .accordion-body li a:hover::after {
    transform:
      translate(.25rem, -50%);
  }
}


/* Mobile */

@media (max-width: 767.98px) {

  body.itemid-141 .com-content-article {
    width: calc(100% - 2.5rem);
    padding: 4rem 0 5rem;
  }

  body.itemid-141 .accordion-button {
    padding: 1.25rem;
    font-size: 1.2rem;
  }

  body.itemid-141 .accordion-body {
    padding:
      .75rem
      1.25rem
      1.25rem;
  }

  body.itemid-141 .accordion-body li a {
    padding:
      .9rem
      2rem
      .9rem
      0;

    font-size: .8rem;
  }
}
