/* reDim 2026-08-12 — Footer wie Original (Wayback 17.05.2026):
   Sprechzeiten- und Jameda-Bereich auf weiss, nur die untere Leiste (Impressum/Datenschutz/Copyright) bordeaux. */

#sp-bottom,
#sp-jameda {
	background: #ffffff !important;
	color: #333333;
}

#sp-bottom .sp-module-title,
#sp-bottom h1,
#sp-bottom h2,
#sp-bottom h3,
#sp-bottom h4 {
	color: #990031;
}

#sp-bottom a {
	color: #990031;
}

#sp-bottom a:hover {
	color: #660021;
}

/* FontAwesome 4/5 -> 6: Alt-Icon-Namen aus dem SPPB-Content, die FA6 umbenannt hat.
   Die von Helix/SPPB geladenen v4-Shims sind FA5 und decken die v5->v6-Umbenennung nicht ab,
   daher rendern diese Icons ohne explizites Mapping nicht. */
/* Joomlas joomla-fontawesome.min.css setzt fuer diese Alt-Namen --fa:"" (nullt sie),
   weil Joomla nur eine FA-Teilmenge liefert. Wir setzen die FA6-Glyph-Variable zurueck
   (hoehere Spezifitaet gewinnt) und erzwingen die Solid-Familie. */
.fa.fa-info-circle,
.fa.fa-search-plus,
.fa.fa-automobile,
.fa.fa-subway,
.fa.fa-gear {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}
.fa.fa-info-circle { --fa: "\f05a"; }
.fa.fa-search-plus { --fa: "\f00e"; }
.fa.fa-automobile  { --fa: "\f1b9"; }
.fa.fa-subway      { --fa: "\f239"; }
.fa.fa-gear        { --fa: "\f013"; }
/* weitere in FA6 umbenannte Alt-Namen (Schliessen, Pfeile, Menue, Suche) */
.fa.fa-times, .fa.fa-remove, .fa.fa-close { --fa: "\f00d"; }
.fa.fa-angle-down  { --fa: "\f107"; }
.fa.fa-angle-up    { --fa: "\f106"; }
.fa.fa-bars        { --fa: "\f0c9"; }
.fa.fa-search      { --fa: "\f002"; }
.fa.fa-times::before, .fa.fa-remove::before, .fa.fa-close::before,
.fa.fa-angle-down::before, .fa.fa-angle-up::before,
.fa.fa-bars::before, .fa.fa-search::before {
	content: var(--fa) !important;
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
}
.fa.fa-envelope-o {
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 400 !important;
}
.fa.fa-envelope-o { --fa: "\f0e0"; }
/* Basis-Regel: bare .fa (FA4-Markup) bekommt in FA6 kein ::before-content — nachziehen */
.fa.fa-info-circle::before,
.fa.fa-search-plus::before,
.fa.fa-automobile::before,
.fa.fa-subway::before,
.fa.fa-gear::before,
.fa.fa-envelope-o::before {
	content: var(--fa) !important;
	font-size: inherit;
	line-height: inherit;
}

/* SPPB Icon-/Feature-Addon aus alter SPPB-Version: media-object-Markup (.sppb-media/.pull-left)
   brach im Bootstrap-5-Umfeld → Icon-Kreis wurde abgeschnitten. Layout wiederherstellen. */
.sppb-media {
	display: flex;
	align-items: flex-start;
	overflow: visible !important;
	width: auto !important;
}
.sppb-media > .pull-left,
.sppb-media > .sppb-media-left {
	float: none;
	margin-right: 20px;
	flex: 0 0 auto;
}
.sppb-media .sppb-icon,
.sppb-media .sppb-icon-container {
	width: auto;
	overflow: visible;
}
.sppb-media-body {
	flex: 1 1 auto;
	overflow: visible;
}

/* Hauptmenue (Desktop-Megamenue) in Grossbuchstaben wie Original */
.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span {
	text-transform: uppercase;
}

/* Container-Breite wie Original (1140px). Bootstrap 5 erweitert ab 1400px Viewport
   auf 1320px (xxl) - das gab es in Helix 3 / Bootstrap 3-4 nicht. Wieder deckeln. */
@media (min-width: 1400px) {
	.container,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		max-width: 1140px;
	}
}

/* ===== Offcanvas mobiles Menue: dunkles Original-Design (Helix 3) wiederherstellen ===== */
.offcanvas-menu {
	background: #2d2d2d !important;
	width: 320px !important;
}
.offcanvas-menu .close-offcanvas {
	color: #ffffff;
}
/* Suchmodul-Titel "Suche" (Original hatte h3.sp-module-title) */
.offcanvas-inner .sp-module > .sp-module-title,
.offcanvas-inner .sp-module > h3 {
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.1rem;
	margin: 0 0 0.75rem;
}
/* Falls die Modul-Chrome keinen Titel ausgibt: "Suche" per CSS ergaenzen */
.offcanvas-inner .header-modules {
	flex-wrap: wrap;
}
.offcanvas-inner .header-modules::before {
	content: "Suche";
	flex: 0 0 100%;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1.1rem;
	margin-bottom: 0.75rem;
}
/* Smart-Search-Feld (mod_finder, .js-finder-search-query in .awesomplete) dunkel stylen */
.offcanvas-inner .awesomplete {
	display: block;
	width: 100%;
	margin-bottom: 0.5rem;
}
/* Suchmodul-Wrapper hat rechts 20px Margin -> Feld nicht voll breit. Entfernen. */
.offcanvas-inner .sp-module {
	margin: 0 0 16px 0 !important;
	width: auto !important;
}
.offcanvas-inner .header-modules,
.offcanvas-inner .finder,
.offcanvas-inner .mod-finder,
.offcanvas-inner .awesomplete {
	width: 100% !important;
	max-width: 100% !important;
}
.offcanvas-inner .js-finder-search-query,
.offcanvas-inner input.form-control,
.offcanvas-inner .search .form-control {
	background: #3a3a3a !important;
	border: 1px solid #555 !important;
	border-color: #555 !important;
	--bs-border-color: #555;
	color: #ffffff !important;
	border-radius: 3px !important;
	height: 36px !important;
	padding: 4px 10px !important;
	font-size: 14px !important;
	width: 100% !important;
	box-shadow: none !important;
}
.offcanvas-inner .js-finder-search-query:focus,
.offcanvas-inner input.form-control:focus {
	background: #444 !important;
	border-color: #888 !important;
	color: #fff !important;
}
.offcanvas-inner .js-finder-search-query::placeholder,
.offcanvas-inner input.form-control::placeholder {
	color: #aaaaaa;
}

/* Menuepunkte: EXAKTE Original-Werte (Helix 3 template.css):
   font-size 14px, line-height 28px, padding 10px 20px, font-weight 500, uppercase, weiss. */
.offcanvas-menu .offcanvas-inner ul.menu > li > a,
.offcanvas-menu .offcanvas-inner ul.menu > li > span,
.offcanvas-menu .offcanvas-inner ul.menu > li > .menu-separator {
	color: #ffffff !important;
	text-transform: uppercase;
	font-size: 14px !important;
	line-height: 28px !important;
	font-weight: 500 !important;
	padding: 10px 50px 10px 20px !important;
}
/* Untermenue: gleiche Groesse, eingerueckt (Original padding-left 30px) */
.offcanvas-menu .offcanvas-inner ul.menu .menu-child > li > a {
	color: #ffffff !important;
	text-transform: uppercase !important;
	font-size: 14px !important;
	line-height: 28px !important;
	font-weight: 500 !important;
	padding: 10px 20px 10px 30px !important;
}
.offcanvas-inner .menu .menu-child a {
	color: #d8d8d8 !important;
	text-transform: none;
}
/* Alle Menuepunkt-Links als block -> gleichmaessige Hoehe/Abstand.
   (Helix macht Eltern-Items block, Nicht-Eltern inline -> ungleiche Abstaende.) */
.offcanvas-menu .offcanvas-inner ul.menu li > a,
.offcanvas-menu .offcanvas-inner ul.menu li > span:not(.menu-toggler) {
	display: block !important;
}

/* Original: kleiner Rechtspfeil (fa-angle-right) vor JEDEM Menuepunkt (alle Ebenen).
   NICHT auf .menu-toggler (der Toggler-Span hat seinen eigenen CSS-Pfeil). */
.offcanvas-menu .offcanvas-inner ul.menu li > a::before,
.offcanvas-menu .offcanvas-inner ul.menu li > span:not(.menu-toggler)::before {
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f105";
	margin-right: 8px;
	display: inline-block;
	color: inherit;
}
/* Trennlinie nur unter den Hauptpunkten (Ebene 1) */
.offcanvas-menu .offcanvas-inner ul.menu > li {
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
}
/* Submenu: KEINE Trennlinien, gleichmaessiger Abstand (Liste ohne Extra-Padding/Margin) */
.offcanvas-menu .offcanvas-inner ul.menu .menu-child,
.offcanvas-menu .offcanvas-inner ul.menu ul {
	margin: 0 !important;
	padding: 0 !important;
}
.offcanvas-menu .offcanvas-inner ul.menu .menu-child li,
.offcanvas-menu .offcanvas-inner ul.menu ul > li {
	border-bottom: 0 !important;
	margin: 0 !important;
}

/* aktives Item (Original zeigte es hell, nicht bordeaux auf dunklem Grund) */
.offcanvas-menu .offcanvas-inner ul.menu li.active > a,
.offcanvas-menu .offcanvas-inner ul.menu li.current > a {
	color: #ffffff !important;
}
.offcanvas-menu .offcanvas-inner ul.menu .fa,
.offcanvas-menu .offcanvas-inner ul.menu .fas {
	color: #ffffff !important;
}
.offcanvas-inner .menu > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.offcanvas-inner .menu a:hover,
.offcanvas-inner .menu a:focus {
	color: #e8a3b2 !important;
}
/* Toggler-Pfeil auf dunklem Grund gut sichtbar */
.offcanvas-inner .menu-toggler::before {
	border-color: #ffffff;
}

/* Offcanvas (mobiles Seitenmenue): Aufklapp-Toggler fuer Untermenues (Level 2),
   da die Top-Items teils Ueberschriften ohne Link sind. Toggler per JS injiziert. */
.offcanvas-inner .menu-parent {
	position: relative;
}
.offcanvas-inner li.menu-parent > .menu-toggler {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	width: 44px !important;
	height: 2.6em !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	z-index: 2;
}
/* Defensive: etwaige FA-Icons im Toggler (aus fruehen Cache-Staenden) ausblenden */
.offcanvas-inner .menu-toggler i,
.offcanvas-inner .menu-toggler .fa,
.offcanvas-inner .menu-toggler [class*="fa-"] {
	display: none !important;
}
/* Helix haengt via .menu-toggler::after einen FontAwesome-Pfeil an, der in diesem
   FA-Umfeld als Code-Kaestchen erscheint. Abschalten - unser CSS-Pfeil (::before) bleibt. */
.offcanvas-inner .menu-toggler::after {
	content: none !important;
	display: none !important;
}
/* Pfeil rein per CSS (kein FontAwesome-Abhaengigkeit) */
.offcanvas-inner .menu-toggler::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	margin: -6px 0 0 -5px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	opacity: 0.75;
}
.offcanvas-inner .menu-parent.menu-parent-open > .menu-toggler::before {
	margin-top: -2px;
	transform: rotate(-135deg);
}
.offcanvas-inner .menu-child {
	display: none;
}
.offcanvas-inner .menu-parent-open > .menu-child {
	display: block;
}

/* Rechts ausgerichtetes Megamenue an der rechten Item-Kante verankern
   (Helix positioniert sonst left:0 -> 400px-Dropdown laeuft aus dem Viewport) */
.sp-megamenu-parent > li > .sp-dropdown.sp-menu-right {
	left: auto !important;
	right: 0 !important;
}

/* Schnellzugriff-Megamenue: mehr Abstand zwischen den Download-Eintraegen */
.sp-dropdown-mega .sp-mega-group > li,
.sp-dropdown-mega li.module {
	padding: 6px 0;
}
.sp-dropdown-mega li.module + li.module {
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.sp-dropdown-mega .mod-custom,
.sp-dropdown-mega .custom {
	padding: 8px 4px;
	line-height: 1.5;
}

/* Untere Leiste: bordeaux, alles zentriert + gestapelt wie Original (nicht 6+6 nebeneinander) */
#sp-footer {
	background: #990031;
	color: #ffffff;
	text-align: center;
}
#sp-footer .row {
	justify-content: center;
}
#sp-footer [class*="col-lg-"],
#sp-footer [class*="col-md-"],
#sp-footer #sp-footer1,
#sp-footer #sp-footer2 {
	flex: 0 0 100%;
	max-width: 100%;
	width: 100%;
	text-align: center;
}
#sp-footer .sp-copyright {
	display: block;
	text-align: center;
	margin-top: 8px;
}
#sp-footer .custom p,
#sp-footer .sp-module-content p {
	margin: 0 0 6px;
}

#sp-footer a,
#sp-footer .sp-copyright {
	color: #ffffff;
}

#sp-footer a:hover {
	color: #f0dfe4;
}
