﻿html, body {
  margin: 0;
  padding: 0;
  overflow: hidden; /* verhindert äußere Scrollleiste */
  height: 100%;
}
/* Navigation */
nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  scrollbar-width: auto; /* Firefox */
}

nav::-webkit-scrollbar {
  width: 14px; /* Breitere Scrollbar in Chrome/Safari */
}

nav::-webkit-scrollbar-thumb {
  background-color: #888;
  border-radius: 6px;
}

nav::-webkit-scrollbar-track {
  background-color: #f0f0f0;
}

nav a {
  color: #000000;
  text-decoration: none;
}

nav a:visited {
  color: #000000;
}

nav a:active {
  color: #000000;
}

nav a:hover {
  color: #666666;
}

nav .nolink {
  font-weight: bold;
  color: #000000;
}

nav hr {
  margin: 6px 0;
  border: none;
  border-top: 1px solid #ccc;
}

/* Header Links */
header a {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  color: #FFFFFF;
  text-decoration: none;
  margin: 0 8px;
}

header a:visited {
  color: #FFFFFF;
}

header a:hover {
  color: #999999;
}

header a:active {
  color: #FFFFFF;
}

/* Navigation optimiert */
nav {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4;
  overflow-y: scroll;
  overflow-x: hidden;
}
nav a, nav .nolink {
  color: #000000;
  text-decoration: none;
}
nav a:hover {
  color: #999999;
  text-decoration: none;
}
nav::-webkit-scrollbar {
  width: 14px;
}
nav::-webkit-scrollbar-thumb {
  background-color: #ccc;
}
/* Header Links */
header a {
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}
header a:hover {
  color: #999999;
  text-decoration: none;
}
/* Footer */
footer a {
  text-decoration: none;
}
footer a:hover {
  color: #999999;
  text-decoration: none;
}
footer .footer-center p {
  margin: 2px 0;
  line-height: 1.2;
}

footer a {
  color: #FFFFFF;
  text-decoration: none;
}
footer a:hover {
  color: #999999;
  text-decoration: none;
}




#sidenav, nav.sidenav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  overflow-x: hidden;
  white-space: normal;
}
#sidenav ul, #sidenav li, nav.sidenav ul, nav.sidenav li {
  list-style: none;
  margin: 0;
  padding: 0;
}
#sidenav a, #sidenav .nolink, nav.sidenav a, nav.sidenav .nolink {
  display: block;
  font-weight: normal;
  color: #000000 !important;
  text-decoration: none;
  padding: 2px 0;
  line-height: 1.3;
}
#sidenav a:visited, nav.sidenav a:visited {
  color: #000000 !important;
  text-decoration: none;
}
#sidenav a:active, nav.sidenav a:active {
  color: #000000 !important;
  text-decoration: none;
}
#sidenav a:hover, nav.sidenav a:hover {
  color: #999999 !important;
  text-decoration: none;
  font-size: 14px !important;
  font-weight: normal !important;
  font-family: Arial, Helvetica, sans-serif !important;
}
#sidenav hr, nav.sidenav hr {
  margin: 8px 0;
  border: none;
  border-top: 1px solid #ccc;
}
/* Header links */
header a, header a:link, header a:visited {
  color: #FFFFFF !important;
  text-decoration: none;
}
header a:hover, header a:focus {
  color: #C0C0C0 !important;
  text-decoration: underline;
}
header a:active {
  color: #FFFFFF !important;
}
/* Footer links */
footer a, footer a:link, footer a:visited {
  color: #FFFFFF !important;
  text-decoration: none;
}
footer a:hover, footer a:focus {
  color: #CCCCCC !important;
  text-decoration: underline;
}
footer a:active {
  color: #FFFFFF !important;
}
/* Global: kein Browser-Standardrand */
html, body { margin: 0; padding: 0; }

/* Content-Abstand setzt dein JS am Seitenende → hier nicht verdoppeln */
.content { margin-top: 0 !important; padding-top: 0 !important; }

/* Header-Tabellen: keine versteckten Abstände/Spacings */
header, header * { border-spacing: 0 !important; }
header table { border-collapse: collapse !important; margin: 0 !important; }
header tr, header td { padding: 0 !important; margin: 0 !important; border: 0 !important; }

/* UL-Standard-Margen entfernen → verhindert „weiße Schiene“ unter schwarzem Balken */
.nav-list {
  margin: 0 !important;      /* killt den großen Standard-Top-Margin von UL */
  padding: 0 0 0 12px;        /* linker Einzug wie gehabt */
  list-style: none;           /* keine Punkte */
}

/* Navigation ein paar Pixel nach unten „atmen“ lassen (fein justierbar) */
nav { padding-top: 4px; }     /* bei Bedarf 0–8px anpassen */
body {
  overflow-x: hidden;
}



#sidenav p { margin: 0; padding: 0; display: block; }
#sidenav p::marker { content: none; }



/* --- ATM Global Overrides (layout + navigation + header links) --- */
:root{ --header-h: 145px; --footer-h: 38px; --nav-w: 200px; }

html, body { height:100%; }

body { margin:0 !important; overflow:hidden !important; background:#FFFFFF !important; display:block !important; }

header {
  position:fixed !important;
  top:0; left:0; right:0;
  height: var(--header-h);
  z-index: 1000;
}

nav {
  position: fixed !important;
  top: var(--header-h);
  left: 0;
  bottom: var(--footer-h);
  width: var(--nav-w);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px 12px 12px 16px;
  box-sizing: border-box;
  background: #FFFFFF;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: auto; /* Firefox (auto is wider than thin) */
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  border-right: 1px solid #ccc;
}

nav a, nav .nolink {
  display:block;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: bold !important;
  color: #000000 !important;
  text-decoration: none !important;
  margin: 3px 0 !important;
}

nav a:visited, nav a:active {
  color: #000000 !important;
}

nav a:hover {
  color: #777777 !important;
}

nav hr {
  margin: 8px 0 !important;
  border: none !important;
  border-top: 1px solid #ccc !important;
}

/* Make sure long items wrap and don't create horizontal scroll */
nav, nav a, nav .nolink {
  white-space: normal !important;
  word-break: break-word;
}

/* Chrome/Edge scrollbar */
nav::-webkit-scrollbar { width: 12px; }
nav::-webkit-scrollbar-track { background: transparent; }
nav::-webkit-scrollbar-thumb { background: #bbbbbb; border-radius: 8px; }
nav::-webkit-scrollbar-thumb:hover { background: #999999; }

main {
  position: fixed !important;
  top: var(--header-h);
  left: var(--nav-w);
  right: 0;
  bottom: var(--footer-h);
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 16px;
  box-sizing: border-box;
  background: #FFFFFF;
}

/* Footer pinned */
footer {
  position: fixed !important;
  bottom: 0; left: 0; right: 0;
  height: var(--footer-h);
  z-index: 999;
}

/* Header links readable and uniform across browsers */
header a {
  color: #FFFFFF !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
header a:hover { color:#CCCCCC !important; }

/* Defensive reset for header */
header * { box-sizing: border-box; }

/* Remove default list bullets if any list used in nav */
nav ul, nav ol { list-style: none; padding-left: 0; margin: 0; }

/* Ensure legacy tables don't overlap */
table { border-collapse: collapse; }

/* Slight indent so nav text isn't flush with the left border */
nav { padding-left: 12px; }



  /* Ensure nav list renders correctly and non-links don't hover */
  nav .nav-list { list-style: none; margin: 0; padding: 0 0 0 10px; }
  nav .nav-item { margin: 0; padding: 2px 0; }
  nav .nolink { font-weight: 700; color: #000; }
  nav .nolink:hover { color: inherit; text-decoration: none; cursor: default; }



/* ===== OVERRIDES: Navigation & Links (auf Basis index_4_up.html) ===== */

/* NAV: Einheitlicher Font, GrÃ¶ÃŸe, AbstÃ¤nde, nur Farb-Hover, Scrollbar-Tweaks */
nav {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  overflow-y: auto !important;   /* zeigt die Leiste, wenn nÃ¶tig */
  overflow-x: hidden !important; /* horizontale Leiste weg */
  scrollbar-width: thin !important; /* Firefox: schmal */
}

nav a,
nav .nolink {
  display: block !important;
  font-weight: bold !important;
  color: #000000 !important;
  line-height: 1.5 !important;
  margin: 0 0 6px 0 !important;
  text-decoration: none !important;
  padding: 0 4px 0 4px !important; /* leicht vom Rand absetzen */
}

/* LinkzustÃ¤nde in der Nav vereinheitlichen */
nav a:link,
nav a:visited,
nav a:active {
  color: #000000 !important;
  text-decoration: none !important;
}

/* Hover: nur Farbe Ã¤ndern, keine GrÃ¶ÃŸen-/LayoutÃ¤nderung */
nav a:hover,
nav a:focus {
  color: #666666 !important;
  text-decoration: none !important;
  font-size: 14px !important; /* verhindert das â€œSpringenâ€ */
}

/* Chrome/Edge: Scrollbar schmaler (nur vertikal) */
nav::-webkit-scrollbar {
  width: 8px;  /* vorher grÃ¶ÃŸer, jetzt schlanker */
}
nav::-webkit-scrollbar-thumb {
  background: #cccccc;
}
nav::-webkit-scrollbar-track {
  background: #f5f5f5;
}

/* Kleiner Feinschliff: In Blink/WebKit den Text noch minimal nÃ¤her an den linken Rand rÃ¼cken */
@supports (-webkit-appearance: none) {
  nav a,
  nav .nolink {
    padding-left: 8px !important; /* Chrome/Edge einen Tick weiter links */
  }
}

/* HEADER-LINKS: WeiÃŸ, 12px, Hover in Grau â€“ ohne Unterstreichung */
header a,
header a:link,
header a:visited,
header a:active {
  color: #FFFFFF !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
header a:hover,
header a:focus {
  color: #C0C0C0 !important;
  text-decoration: none !important;
}

/* FOOTER-LINKS: WeiÃŸ, Hover grau â€“ ohne Unterstreichung */
footer a,
footer a:link,
footer a:visited,
footer a:active {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
footer a:hover,
footer a:focus {
  color: #CCCCCC !important;
  text-decoration: none !important;
}

/* Hinweis: In deiner Datei gibt es eine globale Regel a:hover mit font-size:16px.
   Diese Nav-/Header-/Footer-spezifischen Regeln neutralisieren das bewusst. */



.auto-style18 {
	background-color: #008080;
}

.auto-style38 {
	border-width: 0;
	white-space: nowrap;
	text-align: justify;
	background-color: #008080;
}
.auto-style2 {
	border-width: 0;
	white-space: nowrap;
}
 .auto-style6 {
	border-width: 0;
	text-align: center;
	white-space: nowrap;
	font-family: Arial, Helvetica, sans-serif;
	color: #0000FF;
	font-size: xx-large;
	background-color: #008080;
}
.auto-style39 {
	border-color: #FFFFFF;
	border-width: 0;
	background-color: #000000;
	font-size: xx-small;
}
.auto-style43 {
	text-align: center;
	color: #000000;
	font-size: xx-small;
	background-color: #FFFFFF;
}
.auto-style85 {
	border-width: 0;
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: large;
	color: #FFFFFF;
	white-space: normal;
}
.auto-style87 {
	border-width: 0;
	text-align: left;
	white-space: nowrap;
	font-size: large;
	line-height: 107%;
	font-family: "Arial Unicode MS";
	color: #FFFFFF;
	background-color: #008080;
}
.auto-style88 {
	border-width: 0;
	text-align: right;
	white-space: nowrap;
	font-family: "Arial Unicode MS";
	font-size: medium;
	background-color: #008080;
}
.auto-style122 {
	margin-bottom: 0;
}
.auto-style123 {
	margin-top: 5px;
	margin-bottom: 12px;
}
.auto-style124 {
	margin-top: 2px;
	margin-bottom: 2px;
}
.auto-style127 {
	line-height: 100%;
	margin-bottom: 3px;
	margin-top: 7px;
}
.auto-style133 {
	text-align: right;
	font-size: small;
	white-space: normal;
	color: #FFFFFF;
	font-weight: normal;
	font-family: Arial, Helvetica, sans-serif;
}
.auto-style147 {
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: medium;
	color: #FFFFFF;
	white-space: nowrap;
}
.auto-style151 {
	font-family: Arial;
	font-size: 13pt;
}
.auto-style152 {
	line-height: 100%;
	margin-top: 5px;
	margin-bottom: 5px;
}
.auto-style153 {
	line-height: 100%;
	margin-top: 3px;
	margin-bottom: 3px;
}
.auto-style154 {
	font-size: small;
}
.auto-style158 {
	font-weight: normal;
}
.auto-style159 {
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #FFFFFF;
	white-space: nowrap;
}
.auto-style160 {
	text-decoration: none;
}
.auto-style161 {
	vertical-align: bottom;
}
.auto-style3 {
	border-color: #FF00FF;
	border-collapse: collapse;
	}
.auto-style17 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: x-large;
	background-color: #FFFFCC;
}
.auto-style18 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: normal;
	background-color: #CCCCCC;
}
.auto-style19 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: nowrap;
	background-color: #CCCCCC;
}
.auto-style21 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
}
.auto-style22 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: nowrap;
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
}
.auto-style23 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: nowrap;
}
.auto-style24 {
	font-weight: normal;
}
.auto-style26 {
	font-family: Calibri;
}
.auto-style27 {
	font-family: Georgia, "Times New Roman", Times, serif;
}
.auto-style29 {
	text-align: center;
	border: 0 solid #CCCCCC;
	white-space: nowrap;
	font-family: Arial, Helvetica, sans-serif;
	font-size: medium;
	}
.auto-style32 {
	text-align: center;
	border: 0 solid #FFFFFF;
	white-space: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: x-large;
	background-color: #FFFFFF;
}
.auto-style1002 {
	font-size: small;
	font-family: "Times New Roman", Times, serif;
}
.auto-style1004 {
	font-size: x-large;
	margin-bottom: 0;
	font-weight: normal;
}



.auto-style1 {
	background-color: #008080;
}
.auto-style2 {
	font-family: Arial, Helvetica, sans-serif;
}
.auto-style3 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
}
.auto-style4 {
	font-size: x-small;
	color: #FFFFFF;
}
.auto-style5 {
	font-family: Arial, Helvetica, sans-serif;
	text-align: right;
}
.auto-style7 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	text-align: right;
	white-space: nowrap;
	color: #FFFFFF;
}
.auto-style8 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	white-space: nowrap;
	color: #FFFFFF;
}
.auto-style9 {
	text-align: center;
	white-space: nowrap;
}
.auto-style11 {
	text-decoration: none;
}
.auto-style13 {
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
}
.auto-style14 {
	color: #FFFFFF;
}
a {
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	color: #FFFFFF;
}
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	color: #FFFFFF;
}
a:link {
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	color: #FFFFFF;
}
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	color: #FFFFFF;
}
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-small;
	font-weight: normal;
	font-style: normal;
	font-variant: normal;
	text-transform: none;
	color: #CCCCCC;
}
.auto-style17 {
	color: #FFFFFF;
	font-family: Arial, Helvetica, sans-serif;
}
.auto-style1009 {
	font-weight: normal;
	color: #000000;
}
.auto-style1010 {
	color: #000000;
}
.auto-style1011 {
	white-space: nowrap;
	font-family: Arial, Helvetica, sans-serif;
	font-size: medium;
	border-width: 0;
	background-color: #008080;
}
.auto-style1012 {
	text-decoration: none;
	font-size: small;
}
.auto-style1013 {
	line-height: 20px;
	margin-top: 15px;
	margin-bottom: 0px;
}
.auto-style1015 {
	text-align: right;
	border: 0 solid #FFFFFF;
	white-space: normal;
	font-family: Arial, Helvetica, sans-serif;
	font-size: x-large;
	background-color: #FFFFFF;
}



/* ===== OVERRIDES: Navigation & Links (auf Basis index_4_up.html) ===== */

/* NAV: Einheitlicher Font, GrÃ¶ÃŸe, AbstÃ¤nde, nur Farb-Hover, Scrollbar-Tweaks */
nav {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  overflow-y: auto !important;   /* zeigt die Leiste, wenn nÃ¶tig */
  overflow-x: hidden !important; /* horizontale Leiste weg */
  scrollbar-width: thin !important; /* Firefox: schmal */
}

nav a,
nav .nolink {
  display: block !important;
  font-weight: bold !important;
  color: #000000 !important;
  line-height: 1.5 !important;
  margin: 0 0 6px 0 !important;
  text-decoration: none !important;
  padding: 0 4px 0 4px !important; /* leicht vom Rand absetzen */
}

/* LinkzustÃ¤nde in der Nav vereinheitlichen */
nav a:link,
nav a:visited,
nav a:active {
  color: #000000 !important;
  text-decoration: none !important;
}

/* Hover: nur Farbe Ã¤ndern, keine GrÃ¶ÃŸen-/LayoutÃ¤nderung */
nav a:hover,
nav a:focus {
  color: #666666 !important;
  text-decoration: none !important;
  font-size: 14px !important; /* verhindert das â€œSpringenâ€ */
}

/* Chrome/Edge: Scrollbar schmaler (nur vertikal) */
nav::-webkit-scrollbar {
  width: 8px;  /* vorher grÃ¶ÃŸer, jetzt schlanker */
}
nav::-webkit-scrollbar-thumb {
  background: #cccccc;
}
nav::-webkit-scrollbar-track {
  background: #f5f5f5;
}

/* Kleiner Feinschliff: In Blink/WebKit den Text noch minimal nÃ¤her an den linken Rand rÃ¼cken */
@supports (-webkit-appearance: none) {
  nav a,
  nav .nolink {
    padding-left: 2px !important; /* Chrome/Edge einen Tick weiter links */
  }
}

/* HEADER-LINKS: WeiÃŸ, 12px, Hover in Grau â€“ ohne Unterstreichung */
header a,
header a:link,
header a:visited,
header a:active {
  color: #FFFFFF !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
header a:hover,
header a:focus {
  color: #C0C0C0 !important;
  text-decoration: none !important;
}

/* FOOTER-LINKS: WeiÃŸ, Hover grau â€“ ohne Unterstreichung */
footer a,
footer a:link,
footer a:visited,
footer a:active {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
footer a:hover,
footer a:focus {
  color: #CCCCCC !important;
  text-decoration: none !important;
}

/* Hinweis: In deiner Datei gibt es eine globale Regel a:hover mit font-size:16px.
   Diese Nav-/Header-/Footer-spezifischen Regeln neutralisieren das bewusst. */



/* === PATCH: Navigation / Header / Footer â€“ 2025-09-01 === */
nav {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: bold !important;
  line-height: 1.45 !important;
  display: block !important;
  overflow-y: scroll !important; /* always show vertical scrollbar */
  overflow-x: hidden !important; /* never show horizontal */
  box-sizing: border-box !important;
  padding: 0 6px 0 8px !important; /* slight left padding */
  margin: 0 !important;
}

/* Normalize list-style if <ul>/<li> are used inside nav */
nav ul, nav ol { list-style: none !important; margin: 0 !important; padding-left: 0 !important; }
nav li { margin: 0 !important; padding: 2px 0 !important; line-height: inherit !important; }

/* Links and non-links look the same in nav */
nav a, nav .nolink {
  display: block !important;
  color: #000000 !important;
  text-decoration: none !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: bold !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 2px 0 !important;
}

/* visited/active consistent */
nav a:link, nav a:visited, nav a:active { 
  color: #000000 !important;
  text-decoration: none !important;
}

/* hover only color change */
nav a:hover { 
  color: #999999 !important; 
  text-decoration: none !important; 
}

/* separator lines */
nav hr {
  margin: 8px 0 !important;
  border: none !important;
  border-top: 1px solid #ccc !important;
}

/* Scrollbar tuning */
nav { scrollbar-width: thin !important; }            /* Firefox */
nav::-webkit-scrollbar { width: 8px; height: 8px; }  /* Chrome/Edge */
nav::-webkit-scrollbar-thumb { background: #c0c0c0; }
nav::-webkit-scrollbar-track { background: transparent; }

/* Header link readability: white + grey hover, 12px */
header a, header a:link, header a:visited, header a:active {
  color: #FFFFFF !important;
  text-decoration: none !important;
  font-size: 12px !important;
}
header a:hover { color: #C0C0C0 !important; text-decoration: none !important; }

/* Footer links: keep white, no underline on hover */
footer a, footer a:link, footer a:visited, footer a:active { 
  color: #FFFFFF !important; 
  text-decoration: none !important; 
}
footer a:hover { color: #CCCCCC !important; text-decoration: none !important; }

/* Footer spacing â€“ tighten the two center lines */
.footer-center p { margin: 2px 0 !important; line-height: 1.2 !important; }

/* Main layout guards to ensure main sits to the right of nav and is fully visible */
main { 
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

/* Fix any accidental underlines app-wide on hover */
a:hover { text-decoration: none !important; }

/* Align Macau/Hongkong lines if they had odd padding */
nav a[data-country=Macau], nav a[data-country=Hongkong], nav .nolink[data-country=Macau], nav .nolink[data-country=Hongkong] {
  padding-left: 0 !important;
  margin-left: 0 !important;
}
.auto-style1017 {
	margin-top: 0;
	margin-bottom: 0;
}
/* --- Footer Links korrigiert --- */
footer a,
footer a:visited {
  color: #ffffff;      /* weiÃŸ */
  text-decoration: none;
  font-size: 10px;
}

footer a:hover {
  color: #999999;      /* grau beim Hover */
  text-decoration: none;
}

footer a:active {
  color: #cccccc;      /* etwas helleres Grau beim Klick */
  text-decoration: none;
  font-size: 10px;     /* verhindert Sprung */
}
.auto-style1018 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
}
.auto-style1019 {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
}
.auto-style1020 {
	font-size: 10px;
	color: #FFFFFF;
}
.auto-style1021 {
	font-size: 10px;
}
/* Main-Bereich (iframe) */
#contentFrame {
  width: 100%;
  border: none;
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden; /* verhindert Scrollleisten */
}
/* Footer-Links einheitlich */
footer a,
footer a:visited,
footer a:hover,
footer a:active {
  font-size: 10px;
  font-weight: 0;
  color: white;
  text-decoration: none !important;
}
iframe {
  padding-top: 0;
  margin-top: 0;
}
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden; /* verhindert äußere Scrollleiste */
}

main {
  height: calc(100% - 100px); /* Platz minus Header/Footer, evtl. anpassen */
  overflow: hidden;
}

main iframe {
  width: 100%;
  height: 100%;
  border: none;
}
/* --- Platz schaffen, damit Footer nicht überlappt --- */
.content {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
}

main {
  flex: 1;
  padding-bottom: 150px; /* Platz für Footer */
  box-sizing: border-box;
}

main iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
/* --- Fix: Scrollbar sichtbar bis ganz unten --- */
main {
  padding-bottom: 125px !important; /* Platz für den Footer schaffen */
  box-sizing: border-box;
}

main iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
  padding-bottom: 125px; /* verhindert Überlappung beim Scrollen */
  box-sizing: border-box;
}
/* --- Scrollleisten in Firefox immer sichtbar machen --- */
* {
  scrollbar-width: auto;       /* auto = normale breite Leiste */
  scrollbar-color: auto;       /* Standardfarbe verwenden */
}
/* Einheitliche Scrollleisten in Chrome + Firefox */
* {
  scrollbar-width: auto !important;      /* in Firefox volle Breite */
  scrollbar-color: #999 #fff !important; /* Daumen = grau, Hintergrund = weiß */
}

/* Chrome, Edge, Safari */
*::-webkit-scrollbar {
  width: 14px;              /* Breite der Scrollleiste */
}

*::-webkit-scrollbar-track {
  background: #fff;          /* Hintergrund */
}

*::-webkit-scrollbar-thumb {
  background-color: #999;    /* Farbe des Schiebers */
  border-radius: 6px;        /* abgerundet */
  border: 3px solid #fff;    /* Abstand zum Rand */
}
footer {
  position: relative;
  bottom: 0;
  width: 100%;
  background-color: #008080; /* deine Hintergrundfarbe */
  padding-bottom: 0px; /* Abstand nach unten */
}
/* ===========================
   Footer – zentral gesteuert
   (ersetzt alten Inline-Style im Footer)
   =========================== */

/* Footer-Links: keine Größenänderung beim Klicken, kein Unterstreichen beim Hover */
footer a {
  text-decoration: none;
  color: #ffffff;
  font-size: inherit;
}

footer a:hover {
  text-decoration: none;
  color: gray;
}

footer a:active {
  font-size: inherit; /* verhindert "Springen" beim Drücken */
  text-decoration: none;
}

/* Der grüne Footer-Hintergrund (ersetzt .auto-style1022 im HTML-<style>) */
.auto-style1022 {
  background-color: #008080;
  margin-bottom: 5px; /* vorhandene Optik beibehalten */
}

/* Footer unten etwas „Luft“ geben, ohne das Layout zu ändern */
footer {
  position: relative;
  bottom: 0;
  width: 100%;
  /* keine feste Höhe – die Tabelle steuert die Höhe */
  padding-bottom: 40px; /* Abstand zum unteren Browserrand */
}

/* Damit dein Hauptbereich nicht hinter dem Footer verschwindet */
.content {
  /* Falls .content existiert: zusätzlicher Innenabstand – überschreibt nichts Kritisches */
  padding-bottom: 40px;
  box-sizing: border-box;
}

/* Iframe-Scrollen bleibt sichtbar bis ganz unten */
main iframe {
  width: 100%;
  height: 100%;
  border: none;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: 125px; /* dein bewährter Wert gegen Footer-Überlappung */
  box-sizing: border-box;
}

/* Firefox: Scrollleisten normal breit (falls du das noch nicht unten drin hast) */
* {
  scrollbar-width: auto;
  scrollbar-color: #888 #f1f1f1;
}
/* Chrome/Safari/Edge – optisches Angleichen (falls du’s magst) */
::-webkit-scrollbar       { width: 12px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #888; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #555; }
/* === Fix: Footer nicht künstlich erhöhen === */
footer {
  padding-bottom: 0 !important;  /* vorher 40px → jetzt 0 */
}

/* Falls wir der content-Umgebung extra Platz gegeben hatten: raus damit */
.content {
  padding-bottom: 0 !important;
}

/* Unser Schutz gegen Überlappung bleibt im iframe bestehen,
   daher ist der Fußzeilen-Abstand hier nicht mehr nötig. */


/* === Fix: Header wieder kompakt halten === */
header {
  padding: 0 10px !important;    /* obere/untere Polsterung auf 0 */
}

/* Tabellenabstände im Header eliminieren */
header table {
  border-collapse: collapse;
  border-spacing: 0;
}

header td {
  padding: 0 !important;
}

/* Zeilen in den Header-Textblöcken enger setzen */
header p {
  margin: 0;
  line-height: 2.0;  /* bei Bedarf auf 1.0 reduzieren */
}
/* === Header feinjustieren (Höhe & volle Breite) === */

/* 1) Vertikales Padding steuert die Gesamthöhe des Headers */
header {
  padding: 16px 0 !important;   /* <— diesen Wert (4px) kannst du selbst erhöhen/verringern */
}

/* 2) Header-Inhalt wirklich randlos auf 100% Breite */
header table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}

/* Falls du eine Trennlinie/Divider-Tabelle nutzt, ebenfalls auf volle Breite */
.divider,
.nav-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

/* 3) Zeilenabstand der mehrzeiligen Header-Texte */
header p {
  margin: 0;
  line-height: 1.1;            /* feinjustierbar: 1.05 … 1.2 */
}
/* === Header exakt einstellen === */
header {
  /* 16px oben/unten (tune nur diesen Wert bei Bedarf) */
  padding: 16px 0 !important;
  background-color: #008080 !important; /* Header-Grün auch im Padding-Bereich */
  position: relative;
  z-index: 4; /* über Nav/Main */
}

/* Header-Tabellen bündig & vollflächig grün */
header table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
  background-color: #008080 !important;
}

header td {
  padding: 0 !important;
  background-color: #008080 !important;
}

/* Gleiche Zeilenabstände für beide Textblöcke im Header */
header p,
header .header-line {
  margin: 0 !important;
  line-height: 1.1 !important;  /* bei Bedarf 1.05–1.2 justieren */
  color: #fff !important;        /* Sicherheit: weiße Schrift */
}
/* Stapelreihenfolge korrigieren, damit Nav immer klickbar ist */
nav {
  position: relative;
  z-index: 3;
}

.content {
  position: relative;
  z-index: 2;
}

main {
  position: relative;
  z-index: 1;
}

main iframe {
  position: relative;
  z-index: 1; /* bleibt unter Nav */
  display: block;
}/* Nur den oberen Bereich im Header grün machen */
header table:first-of-type,
header table:first-of-type td {
  background-color: #008080 !important;
}

/* Den unteren Link-Balken schwarz halten */
header table.auto-style39 {
  background-color: #000000 !important;
  height: 40px !important;  /* Höhe fixieren */
}

header table.auto-style39 td {
  background-color: #000000 !important;
  padding: 0 !important;
  height: 40px !important;
  vertical-align: middle !important;
}
/* === Header-Layering & Abstände exakt wie im Original === */

/* 0) Header selbst NICHT grün einfärben, damit kein Grün „durchscheint“ */
header {
  background-color: transparent !important;
  padding-bottom: 0 !important; /* keine Extra-Höhe am Header-Ende */
}

/* 1) Oberer Header-Block (mit Bildern/Text) bleibt grün */
header table:first-of-type,
header table:first-of-type td {
  background-color: #008080 !important;
}

/* 2) Weißer, schmaler Trennstreifen zwischen oben (grün) und unten (schwarz) */
.divider {
  width: 100% !important;
  height: 5px !important;       /* gewünschte Streifenhöhe */
  background: #ffffff !important;
  border-collapse: collapse;
  border-spacing: 0;
}

/* 3) Unterer Link-Balken wieder schwarz & kompakt */
header table.auto-style39,
header table.auto-style39 td {
  background-color: #000000 !important;
  height: 40px !important;      /* Balkenhöhe fixieren */
  padding: 0 !important;
  vertical-align: middle !important;
}

/* 4) Sicherstellen, dass der Content/NAV NICHT unter dem Header liegt */
/*    Summiere: oberer Header 60px + weißer Streifen 5px + schwarzer Balken 40px = 105px */
.content {
  margin-top: 105px !important; /* NAV/MAIN sauber unterhalb vom Header beginnen lassen */
  position: relative;
  z-index: 2;
}

nav {
  position: relative;
  z-index: 3; /* NAV über dem iframe */
}

main,
main iframe {
  position: relative;
  z-index: 1;
}

/* 5) Zeilenabstände im oberen Header links & rechts angleichen */
header p,
header .header-line {
  margin: 0 !important;
  line-height: 1.1 !important; /* ggf. 1.08 oder 1.12 feintunen */
  color: #ffffff !important;
}

/* Optional: wenn du 16px „Luft“ im oberen Header willst, SO und nicht anders setzen: */
header table:first-of-type {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
/* === Header-Layering & Abstände exakt wie im Original === */

/* 0) Header selbst NICHT grün einfärben, damit kein Grün „durchscheint“ */
header {
  background-color: transparent !important;
  padding-bottom: 0 !important; /* keine Extra-Höhe am Header-Ende */
}

/* 1) Oberer Header-Block (mit Bildern/Text) bleibt grün */
header table:first-of-type,
header table:first-of-type td {
  background-color: #008080 !important;
}

/* 2) Weißer, schmaler Trennstreifen zwischen oben (grün) und unten (schwarz) */
.divider {
  width: 100% !important;
  height: 5px !important;       /* gewünschte Streifenhöhe */
  background: #ffffff !important;
  border-collapse: collapse;
  border-spacing: 0;
}

/* 3) Unterer Link-Balken wieder schwarz & kompakt */
header table.auto-style39,
header table.auto-style39 td {
  background-color: #000000 !important;
  height: 40px !important;      /* Balkenhöhe fixieren */
  padding: 0 !important;
  vertical-align: middle !important;
}

/* 4) Sicherstellen, dass der Content/NAV NICHT unter dem Header liegt */
/*    Summiere: oberer Header 60px + weißer Streifen 5px + schwarzer Balken 40px = 105px */
.content {
  margin-top: 105px !important; /* NAV/MAIN sauber unterhalb vom Header beginnen lassen */
  position: relative;
  z-index: 2;
}

nav {
  position: relative;
  z-index: 3; /* NAV über dem iframe */
}

main,
main iframe {
  position: relative;
  z-index: 1;
}

/* 5) Zeilenabstände im oberen Header links & rechts angleichen */
header p,
header .header-line {
  margin: 0 !important;
  line-height: 1.1 !important; /* ggf. 1.08 oder 1.12 feintunen */
  color: #ffffff !important;
}

/* Optional: wenn du 16px „Luft“ im oberen Header willst, SO und nicht anders setzen: */
header table:first-of-type {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}
/* ===== Header-Korrekturen: weißer Streifen, schwarze Linkleiste, kein Weiß oben ===== */

/* 0) Header selbst nicht paddingen/margen → verhindert weißen Streifen am Seitenanfang */
header { 
  padding: 0 !important; 
  margin: 0 !important; 
}

/* 1) Oberer Header-Block (mit Bildern/Text) bleibt grün */
header table:first-of-type,
header table:first-of-type td {
  background-color: #008080 !important;
}

/* 2) Weißer Trennstreifen = zweite Tabelle im Header */
header table:nth-of-type(2) {
  width: 100% !important;
  height: 3px !important;              /* ← gewünschte Dicke des weißen Streifens */
  background: #ffffff !important;
  border-collapse: collapse;
  border-spacing: 0;
}
header table:nth-of-type(2) td {
  height: 3px !important;
  padding: 0 !important;
  background: #ffffff !important;
}

/* 3) Schwarzer Link-Balken kompakter machen */
header table.auto-style39,
header table.auto-style39 td {
  background-color: #000000 !important;
  height: 32px !important;              /* ← vorher 40px; hier kleiner einstellen */
  padding: 0 !important;
  vertical-align: middle !important;
}

/* 4) NAV/Main exakt unter dem gesamten Header starten lassen
      Formel:   grün (60px) + weiß (5px) + schwarz (34px) = 99px
      → Bitte anpassen, falls du oben Werte änderst. */
.content {
  margin-top: 99px !important;
}

/* 5) Nur den NAV-Bereich ein paar Pixel weiter nach unten „atmen“ lassen */
nav {
  padding-top: 4px;                      /* bei Bedarf 0–8px feinjustieren */
}

/* 6) Z-Index: NAV/Main nicht vom Header überdecken lassen */
nav        { position: relative; z-index: 3; }
.content   { position: relative; z-index: 2; }
main       { position: relative; z-index: 1; }
main iframe{ position: relative; z-index: 1; display: block; }
/* ===== Header Feinanpassungen ===== */

/* 1) Oberer Header (grün mit Bildern) höher machen */
header table:first-of-type,
header table:first-of-type td {
  background-color: #008080 !important;
  height: 80px !important;              /* vorher 60px → jetzt +20px */
  padding-top: 7px !important;         /* Abstand oben */
  padding-bottom: 5px !important;      /* Abstand unten */
}

/* 2) Unerwünschten weißen Streifen unter schwarzem Header entfernen */
header table.auto-style39,
header table.auto-style39 td {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}
header table.auto-style39 {
  border-collapse: collapse;
}

/* 3) Main direkt unter Header beginnen lassen:
      grün (80px) + weiß (5px) + schwarz (34px) = 119px */
.content {
  margin-top: 115px !important;
}
/* Abstand zwischen schwarzem Header und Main reduzieren */
header + .content {
  margin-top: 0 !important;    /* entfernt evtl. Standardabstand */
  padding-top: 0 !important;   /* entfernt zusätzliches Padding */
}

/* Sicherstellen, dass Main direkt unter dem schwarzen Header beginnt */
.content {
  margin-top: calc(var(--header-green-height, 80px) + 3px + 32px) !important;
}
/* Header: jegliche Restabstände/Tabellenabstände killen */
header, header * {
  border-spacing: 0 !important;
}

header table {
  border-collapse: collapse !important;
  margin: 0 !important;
}

header tr, header td {
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Content nicht statisch nach unten schieben (übernimmt gleich JS) */
.content {
  margin-top: 0 !important;
}
/* Header/Tabellen: keine versteckten Abstände */
header, header * { border-spacing: 0 !important; }
header table { border-collapse: collapse !important; margin: 0 !important; }
header tr, header td { padding: 0 !important; margin: 0 !important; border: 0 !important; }

/* Content-Startabstand übernimmt das Script – statische Werte aus! */
.content { margin-top: 0 !important; padding-top: 0 !important; }
/* ---- Harte Abschaltung aller Header-Restabstände ---- */
html, body { margin: 0 !important; padding: 0 !important; }

header, header * { border-spacing: 0 !important; }
header table { border-collapse: collapse !important; margin: 0 !important; }
header tr, header td { padding: 0 !important; margin: 0 !important; border: 0 !important; }

/* UL-Default-Abstände in der Navigation entfernen (kann „Schienen“ erzeugen) */
.nav-list { margin: 0 !important; padding: 0 0 0 12px !important; list-style: none !important; }

/* Content-Abstand NICHT statisch setzen – das übernimmt JS */
.content { margin-top: 0 !important; padding-top: 0 !important; position: relative; z-index: 1; }

/* Header liegt sicher darüber */
header { position: relative; z-index: 2; }
/* 100% bündig: kein Extra-Abstand direkt unter dem schwarzen Header */
nav {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* UL in der Navi: keine Standardabstände, kein Einschub */
.nav-list {
  margin-top: 0 !important;
  padding-top: 0 !important;
  /* linker Einzug beibehalten, falls gewünscht: */
  /* padding-left: 8px !important; */
}

/* Main ebenfalls ohne oberen Abstand */
main {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Schwarzer Balken-Table sicher ohne Unterkante-Abstand */
header table.auto-style39,
header table.auto-style39 td {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* --- Header-Gap-Killer --- */
header table { margin: 0 !important; border-collapse: collapse !important; border-spacing: 0 !important; }
header tr, header td, header th { padding: 0 !important; border: 0 !important; line-height: 1 !important; }
.content { margin-top: 0 !important; }
nav, main { margin-top: 0 !important; }
/* ===== Fix 1: Weißer Streifen unter dem schwarzen Header ===== */
/* Verhindert, dass die erste Kind-Margin (ul) nach oben "rausfällt" */
.content { 
  display: flow-root;           /* eigener Block-Formatting-Context -> kein Margin-Collapsing */
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ul hat im Browser standardmäßig margin-top: 16px → auf 0 setzen */
.nav-list {
  margin-top: 0 !important;
  margin-bottom: 0;             /* optional */
  padding-left: 0;              /* falls du keine Einrückung willst */
}

/* ===== Fix 2: Äußeren Scrollbalken abschalten, inneren beibehalten ===== */
html, body {
  height: 100%;
  overflow-y: hidden;           /* verhindert den äußeren (rechten) Scrollbalken */
}


/* Innen scrollen: Nav (immer), Main/iframe je nach Seite */
nav {
  height: 100%;
  overflow-y: auto;             /* vertikaler Scroll in der linken Spalte */
  overflow-x: hidden;           /* keine horizontale Leiste */
}

main {
  height: 100%;
  margin: 0; 
  padding: 0;
  overflow: hidden;             /* keine äußere Leiste im Main, nur ggf. im iframe */
}

/* Sicherheit: alle Tabellen im Header absolut spaltfrei */
header table { 
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
header tr, header td, header th {
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
}
/* ===== Hard-Fix: Header + Footer fixieren, Content exakt dazwischen ===== */

/* Grundreset, damit kein Außen-Scrollbalken mehr entsteht */
html, body {
  height: 100%;
  margin: 0;
  overflow: hidden;   /* äußeren Scrollbalken abschalten */
}

/* Höhe Header-Gesamt: Grün (60) + Weiß (3) + Schwarz (32) = 95px */
:root {
    --nav-width: 210px;    /* deine linke Spaltenbreite */
}

/* Header kleben */
header {
  position: fixed;
  top: 0;
  left: 0; right: 0;
  z-index: 1000;
}

/* Footer kleben */
footer {
  position: fixed;
  bottom: 0;
  left: 0; right: 0;
  height: var(--footer-height);
  z-index: 1000;
}


/* Linke Navigation: eigener (innerer) Scroll */
.content nav {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: var(--nav-width);
  overflow-y: auto;      /* vertikal scrollen in NAV */
  overflow-x: hidden;    /* niemals horizontal */
}

/* Main rechts daneben, nimmt den Rest ein */
.content main {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  left: var(--nav-width);     /* Platz für NAV */
  margin: 0; padding: 0;
  overflow: hidden;           /* kein äußerer Scroll im Main */
}

/* Iframe füllt den Main-Bereich pixelgenau */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* Sicherheitsnetz gegen 1–2px-Zwischenräume in header-Tabellen */
header table { 
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
header tr, header td, header th {
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
}

/* Falls ul einen Standardabstand hatte → neutralisieren */
.nav-list {
  margin: 0 !important;
  padding-left: 0;
}
/* ===== Robust-Fix: Content dynamisch zwischen Header & Footer ===== */

/* außen nie scrollen */
html, body {
  height: 100%;
  margin: 0;
  overflow: hidden; /* äußerer Balken aus */
}

/* .content wird per JS exakt positioniert (top/bottom), hier Grundlayout */
.content {
  position: fixed;
  left: 0;
  right: 0;
  /* top/bottom werden per JS gesetzt */
  margin: 0 !important;
  padding: 0 !important;
}

/* Spalten innen */
.content nav {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 210px;             /* deine Nav-Breite */
  overflow-y: auto;         /* innerer Scroll in Nav */
  overflow-x: hidden;       /* keine horizontale */
  -webkit-overflow-scrolling: touch;
}

.content main {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  left: 210px;              /* Platz für Nav */
  margin: 0; padding: 0;
  overflow: hidden;         /* Main selbst ohne äußere Leiste */
}

/* iframe füllt Main pixelgenau */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* Sicherheitsnetz gegen 1–2px-Lücken im Header-Tabellenbereich */
header table { 
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
header tr, header td, header th {
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
}

/* Verhindert „weißem Streifen“ durch Margin-Collapsing der Liste */
.nav-list {
  margin-top: 0 !important;
  margin-bottom: 0;
  padding-left: 0;
}
/* ===== Robust-Fix: Content exakt zwischen fixem Header & Footer ===== */
html, body {
  height: 100%;
  margin: 0;
  overflow: hidden !important; /* äußerer Scrollbalken aus */
}

/* .content wird zwischen Header/ Footer fix positioniert */
.content {
  position: fixed !important;
  left: 0;
  right: 0;
  /* top/bottom kommen dynamisch per JS */
  margin: 0 !important;
  padding: 0 !important;
}

/* Spalten in .content */
.content nav {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 210px;                  /* deine Nav-Breite */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}

.content main {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  left: 210px;                   /* Platz für Nav */
  margin: 0; padding: 0;
  overflow: hidden;              /* keine äußere Leiste im Main */
}

/* iframe füllt Main pixelgenau */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* Header-Tabellen sauber schließen (keine „weiße Linie“) */
header table { 
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}
header tr, header td, header th {
  padding: 0 !important;
  border: 0 !important;
  line-height: 1 !important;
}

/* Verhindert Margin-Collapsing der Nav-Liste */
.nav-list {
  margin: 0 !important;
  padding-left: 0;
}
/* ===== FESTES LAYOUT: Header (95+3+32) / Content / Footer (30) ===== */

/* Äußeren Scrollbalken ausschalten */
html, body {
  margin: 0;
  height: 100%;
  overflow: hidden !important;
}

/* Globale Box-Sizing, verhindert Überläufe durch Padding/Borders */
* { box-sizing: border-box; }

/* HEADER & FOOTER fixieren */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
}

/* Falls deine drei Header-Zeilen Klassen haben, Höhe darüber steuern.
   Wenn nicht, ist das egal — entscheidend ist, dass der GESAMTE Header
   physisch 130px hoch ist. */
.header-top  { height: 95px; }
.header-gap  { height: 3px; }
.header-bar  { height: 32px; }

footer {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 30px;              /* Footer exakt */
  z-index: 1000;
}

/* CONTENT exakt zwischen Header (130px) und Footer (30px) einklemmen */
.content {
  position: fixed;
  left: 0; right: 0;
  top: 130px;                 /* 95 + 3 + 32 */
  bottom: 30px;               /* Footer */
  margin: 0;
  padding: 0;
}

/* NAV links: interner Scroll, keine horizontale Leiste, 15px nach unten */
.content nav {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 210px;               /* deine Nav-Breite */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-top: 15px;          /* gewünschte Absenkung */
}

/* MAIN rechts: füllt restliche Breite, kein äußerer Scroll */
.content main {
  position: absolute;
  left: 210px; right: 0;
  top: 0; bottom: 0;
  overflow: hidden;           /* keine äußere Leiste im Main */
  margin: 0;
  padding: 0;
}

/* Iframe pixelgenau in Main */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* Header-Tabellen neutralisieren, um weiße/extra Linien zu vermeiden */
header table {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  width: 100%;
}
header tr, header td, header th {
  padding: 0;
  border: 0;
  line-height: 1;
}

/* NAV-Liste: Standardabstände entfernen, damit nichts „hochschiebt“ */
.nav-list {
  margin: 0;
  padding-left: 0;
}

/* Optional: Scrollbar-Optik (Chrome/FF) */
.content nav::-webkit-scrollbar { width: 12px; }
.content nav::-webkit-scrollbar-thumb { background: #bbb; }
.content nav::-webkit-scrollbar-track { background: #eee; }
.content nav { scrollbar-width: thin; scrollbar-color: #bbb #eee; }
/* ===== Layout-Fix: fester Header (60+3+32=95px) + Footer (25px) ===== */

/* 1) Äußere Scrollbar aus, volle Höhe nutzen */
html, body {
  height: 100vh;
  overflow: hidden;           /* verhindert die äußere (rechte) Scrollleiste */
  margin: 0;
  padding: 0;
}

/* 2) Content unter Header schieben und über Footer enden lassen */
.content {
  display: flex;
  align-items: flex-start;
  height: calc(100vh - 95px - 25px); /* 95 Header gesamt, 25 Footer */
  margin: 0;
  padding: 0;
}

/* 3) Navigation links: eigene vertikale Scrollbar */
.content nav {
  flex: 0 0 200px;            /* feste Breite wie bei dir */
  height: 100%;
  overflow-y: auto;           /* innere Scrollleiste */
  overflow-x: hidden;         /* keine waagrechte Leiste */
  margin: 0;
  padding: 0;
}

/* 4) Main rechts: iFrame füllt den Bereich komplett */
.content main {
  flex: 1 1 auto;
  height: 100%;
  margin: 0;
  padding: 0;
}

/* 5) iFrame selbst: keine äußere Scrollbar, Inhalte scrollen im iFrame */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}

/* 6) Sicherheitsnetz: keine ungewollten Abstände */
header, footer, table {
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
}/* ===== FINAL LAYOUT OVERRIDE (stand: 95/3/32 header, 30 footer, 210 nav) ===== */
:root{
  --header-green: 95px;
  --header-white: 3px;
  --header-black: 32px;
  --header-total: calc(95px + 3px + 32px); /* = 130px */
  --footer-h: 30px;
  --nav-w: 210px;
}

/* Äußeren Scrollbalken AUS, volle Höhe der Seite nutzen */
html, body {
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh !important;
  overflow: hidden !important;  /* verhindert die rechte Außen-Scrollbar */
}

/* Header & Footer fix – Inhalte dazwischen */
header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1000;
}

footer {
  position: fixed !important;
  bottom: 0; left: 0; right: 0;
  height: var(--footer-h) !important;     /* 30px */
  z-index: 1000;
}

/* Content exakt zwischen Header (130px) und Footer (30px) einklemmen */
.content {
  position: fixed !important;
  top: var(--header-total) !important;     /* 130px */
  bottom: var(--footer-h) !important;      /* 30px */
  left: 0 !important; right: 0 !important;
  margin: 0 !important; padding: 0 !important;
  display: block !important;
}

/* Navigation links – interner Scroll, keine horizontale Leiste */
.content nav {
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; left: 0 !important;
  width: var(--nav-w) !important;          /* 210px */
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  padding: 15px 8px 8px 10px !important;   /* 15px nach unten wie gewünscht */
  box-sizing: border-box !important;
  z-index: 3 !important;                   /* sicher über dem iFrame */
}

/* Main rechts – füllt Rest, kein äußerer Scroll */
.content main {
  position: absolute !important;
  top: 0 !important; bottom: 0 !important; right: 0 !important;
  left: var(--nav-w) !important;           /* Platz für Nav */
  margin: 0 !important; padding: 0 !important;
  overflow: hidden !important;             /* kein äußerer Scroll hier */
  box-sizing: border-box !important;
  z-index: 1 !important;
}

/* iFrame füllt Main pixelgenau */
#contentFrame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  overflow: hidden !important;             /* Startseite ohne innere Scrollleiste */
}

/* NAV-Scrollbar-Optik (Chrome/Edge/Safari + Firefox) – optional, aber konsistent */
.content nav { scrollbar-width: auto !important; scrollbar-color: #999 #fff !important; }
.content nav::-webkit-scrollbar { width: 12px; }
.content nav::-webkit-scrollbar-track { background: #fff; }
.content nav::-webkit-scrollbar-thumb { background-color: #999; border-radius: 6px; border: 3px solid #fff; }

/* Sicherheit: keine „weißen Linien“ durch Tabellen-Abstände im Header */
header table { border-collapse: collapse !important; border-spacing: 0 !important; width: 100% !important; margin: 0 !important; }
header tr, header td, header th { padding: 0 !important; border: 0 !important; line-height: 1 !important; }

/* UL-Default-Abstände in der Navigation raus (verhindert extra Lücke oben) */
.nav-list { margin: 0 !important; padding: 0 0 0 10px !important; list-style: none !important; }

/* Footer-Links – niemals Größe ändern, kein Unterstreichen */
footer a, footer a:link, footer a:visited, footer a:hover, footer a:active {
  color: #fff !important;
  text-decoration: none !important;
  font-size: inherit !important;
}
footer a:hover { color: #999 !important; }

/* Header-Links – konsistent */
header a, header a:link, header a:visited, header a:active {
  color: #fff !important; text-decoration: none !important; font-size: 12px !important;
}
header a:hover { color: #C0C0C0 !important; text-decoration: none !important; }
/* ===== FINAL PATCH: Footer genau 25px, Content bis an den Footer ===== */

/* 1) Footer-Höhe systemweit angleichen */
:root{
  --footer-h: 25px; /* war teils 30px -> jetzt exakt wie deine Footer-Tabelle */
}

/* 2) Footer selbst: exakt 25px hoch, keine Extramargen */
footer {
  height: var(--footer-h) !important;
}

.auto-style1022 {
  /* Tabelle im Footer: keine Margins, exakt 25px */
  margin: 0 !important;
  height: var(--footer-h) !important;
}

/* 3) Content unten exakt bis an den Footer laufen lassen */
.content {
  bottom: var(--footer-h) !important; /* war teils 30px */
}

/* 4) Main/iframe wirklich bis zur Content-Unterkante strecken */
.content main {
  top: 0 !important;
  bottom: 0 !important;
  overflow: hidden !important;   /* kein äußerer Scroll im Main */
}

#contentFrame {
  height: 100% !important;
  padding-bottom: 0 !important;  /* falls ältere Regeln hier noch „Luft“ lassen */
  margin: 0 !important;
  border: none !important;
  display: block !important;
}
/* ===== FINAL FIX: Content exakt zwischen Header (130px) und Footer (25px) ===== */

/* 1) Fixe Offsets setzen und alle alten Berechnungen/Abstände übersteuern */
.content {
  position: fixed !important;
  left: 0; right: 0;
  top: 130px !important;      /* 95 + 3 + 32 = 130 */
  bottom: 25px !important;    /* Footer exakt 25px */
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
}

/* 2) Main und iFrame wirklich vollflächig bis zur Unterkante strecken */
.content main {
  position: absolute !important;
  top: 0; bottom: 0; left: 210px; right: 0;   /* 210px = deine Navbreite */
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;                /* keine äußere Scrollleiste */
  height: auto !important;
}

/* 3) iFrame füllt Main komplett – ohne Zusatz-“Luft” */
#contentFrame, 
.content main iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;        /* WICHTIG: frühere 125/150px hiermit neutralisiert */
  overflow: hidden;             /* äußere Leiste aus; innere Scolls kommen aus dem Inhalt */
}

/* 4) Jede alte „Sicherheits-Luft“ löschen, die das iFrame künstlich verkürzt */
main { padding-bottom: 0 !important; }
main iframe { padding-bottom: 0 !important; }

/* 5) Footer auf 25px festnageln, ohne Extra-Margins */
footer { height: 25px !important; }
.auto-style1022 { margin: 0 !important; height: 25px !important; }
/* ===== FINAL BOTTOM-GAP FIX (Header 95px, Footer 25px) ===== */
:root{
  --header-total: 95px;   /* grün 60 + weiß 3 + schwarz 32 */
  --footer-total: 25px;
  --nav-width: 210px;     /* wie bei dir genutzt */
}

/* Außen niemals scrollen */
html, body{
  height: 100vh;
  margin: 0;
  padding: 0;
  overflow: hidden !important;
}

/* Header/ Footer bleiben fix */
header{
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
}
footer{
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 1000;
  height: var(--footer-total);
}

/* Content exakt dazwischen einklemmen */
.content{
  position: fixed !important;
  top: var(--header-total);
  bottom: var(--footer-total);
  left: 0; right: 0;
  margin: 0 !important;
  padding: 0 !important;
}

/* NAV links: interner Scroll bis zum Footer */
.content nav{
  position: absolute; left: 0; top: 0; bottom: 0;
  width: var(--nav-width);
  overflow-y: auto;
  overflow-x: hidden;
  margin: 0 !important;
  /* deine gewünschte kleine Absenkung im Nav kannst du hier wieder setzen */
  /* padding-top: 15px; */
}

/* MAIN rechts: füllt komplett, kein äußerer Scroll */
.content main{
  position: absolute; top: 0; bottom: 0; right: 0; left: var(--nav-width);
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;   /* Scrollen passiert NUR im iframe */
  border: 0 !important;
}

/* IFRAME füllt Main pixelgenau und scrollt bis an den Footer */
#contentFrame{
  display: block;
  width: 100%;
  height: 100%;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: auto !important;     /* innere Scrollleiste im Main-Inhalt */
}

/* ===== Neutralisierung alter „Abstand“-Hacks ===== */
.content{ padding-bottom: 0 !important; }
main{ padding-bottom: 0 !important; height: auto !important; }
main iframe{ padding-bottom: 0 !important; height: 100% !important; }
#contentFrame{ padding-bottom: 0 !important; }

/* Falls deine Footer-Tabelle (auto-style1022) unten Extra-Abstand hatte */
.auto-style1022{ margin-bottom: 0 !important; }

/* Sicherheitsnetz gegen 1–2px-Linien in Header-Tabellen */
header table{
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important; width: 100%;
}
header tr, header td, header th{
  padding: 0 !important; border: 0 !important; line-height: 1 !important;
}

/* UL-Defaults im Nav neutralisieren – verhindert „Luft“ oben */
.nav-list{ margin: 0 !important; padding-left: 0 !important; list-style: none; }
/* === HARTE KORREKTUR: Main/iframe exakt zwischen Header (130px) & Footer (25px) === */

.content {
  position: fixed !important;
  top: 130px !important;     /* Höhe Header */
  bottom: 25px !important;   /* Höhe Footer */
  left: 0; right: 0;
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

.content nav {
  flex: 0 0 210px !important;   /* feste Nav-Breite */
  height: 100% !important;
  overflow-y: auto !important;  /* eigene Scrollbar */
  overflow-x: hidden !important;
  padding-top: 15px !important; /* deine gewünschte Absenkung */
}

.content main {
  flex: 1 1 auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important; /* kein doppelter Scroll */
}

#contentFrame {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: auto !important;   /* Scrollen nur hier */
}

/* Alle alten „Störenfriede“ deaktivieren */
main, main iframe, #contentFrame {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  height: 100% !important;
}
/* === NAV & MAIN exakte Trennung, keine gegenseitige Beeinflussung === */

.content {
  position: fixed !important;
  top: 130px !important;    /* Header gesamt */
  bottom: 25px !important;  /* Footer */
  left: 0; right: 0;
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

.content nav {
  flex: 0 0 210px !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-top: 15px !important;  /* deine gewünschte Absenkung */
  padding-bottom: 0 !important;  /* verhindert weiße Lücke nach unten */
  box-sizing: border-box !important;
}

.content main {
  flex: 1 1 auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

#contentFrame {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: auto !important;   /* Scrollen nur hier */
}

/* ALLE alten Störenfriede neutralisieren */
main, main iframe, #contentFrame {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  height: 100% !important;
}
/* === HARDFIX: Main bündig bis Footer === */

/* Content füllt den Bereich zwischen Header (130px) und Footer (25px) */
.content {
  position: fixed !important;
  top: 130px !important;   /* Header total */
  bottom: 25px !important; /* Footer */
  left: 0; right: 0;
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Navigation links */
.content nav {
  flex: 0 0 210px !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-top: 15px !important;  /* Feinjustierung */
  padding-bottom: 0 !important;
  box-sizing: border-box !important;
}

/* Main rechts */
.content main {
  flex: 1 1 auto !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Iframe exakt füllen */
#contentFrame {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: auto !important;
}

/* Alte Stör-Regeln neutralisieren */
main,
main iframe,
#contentFrame {
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* === Main bündig wie Nav === */
.content main {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 210px !important;   /* Platz für Nav */
  right: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  height: auto !important;  /* keine künstliche Höhe */
}

/* Iframe wirklich voll ausfüllen */
#contentFrame {
  position: absolute !important;
  top: 0; bottom: 0; left: 0; right: 0;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: auto !important;
}
/* === Fix Main/Footer Höhe – Stand 18.09.25 === */
main {
  position: fixed !important;
  top: 130px !important;   /* Headerhöhe */
  left: 200px !important;  /* Nav-Breite */
  right: 0 !important;
  bottom: 25px !important; /* Footerhöhe */
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

#contentFrame {
  width: 100% !important;
  height: calc(100vh - 85px) !important; /* Header+Footer abziehen */
  border: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* === Feinjustierung: NAV-Text links bündiger === */
nav a,
nav .nolink {
  padding-left: 0px !important;   /* Text näher an den Rand */
  margin-left: 0 !important;      /* evtl. vorhandene Abstände killen */
}
/* === Desktop-Layout stabilisieren (Header kollisionsfrei) === */
:root { --page-min: 1200px; } /* bei Bedarf 1150–1300 feinjustieren */

html, body {
  min-width: var(--page-min);
  overflow-x: auto;      /* erlaubt horizontales Scrollen, falls schmaler */
  overflow-y: hidden;    /* äußere vertikale Leiste bleibt weg (wie bisher) */
}
header, .content, footer {
  min-width: var(--page-min);
}

/* Sicherheit: Header-Texte nicht in Nachbarspalten „drücken“ */
header td { overflow: hidden; }
header p, header span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
/* === Fix: Content exakt zwischen Header (130px) und Footer (25px) klemmen === */
html, body {
  height: 100%;
  margin: 0;
  overflow: hidden; /* keine äußere Scrollleiste */
}

/* Header oben bleibt klebend – ohne zusätzliche Polster */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  margin: 0 !important;
  padding: 0 !important;
}
header table { border-collapse: collapse !important; margin: 0 !important; }
header td    { padding: 0 !important; }

/* Content fix zwischen Header und Footer */
.content {
  position: fixed !important;
  left: 0; right: 0;
  top: 130px !important;    /* 95 + 3 + 32 */
  bottom: 25px !important;  /* Footer-Höhe */
  margin: 0 !important;
  padding: 0 !important;
}

/* Spalten im Content: Nav links, Main rechts */
.content nav {
  position: absolute;
  top: 0; bottom: 0; left: 0;
  width: 210px;               /* deine Nav-Breite */
  overflow-y: auto;
  overflow-x: hidden;
}

.content main {
  position: absolute;
  top: 0; bottom: 0; right: 0;
  left: 210px;                /* Platz für Nav */
  margin: 0; padding: 0;
  overflow: hidden;           /* keine äußere Leiste – Scroll passiert im iframe */
}

/* iFrame füllt den Main-Bereich pixelgenau */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;               /* WICHTIG: 100% statt irgendeiner calc(..) */
  border: none;
  overflow: auto;             /* innere Scrollleiste für Länder-Seiten */
}
/* Feinjustierung: Nav-Text näher an den linken Rand */
.content nav { padding-left: 6px !important; }   /* vorher evtl. 12–18px */
nav a, nav .nolink { padding-left: 2px !important; margin-left: 0 !important; }
/* === Responsive Fix: linker Header-Spacer schrumpfen, ohne Desktop zu ändern === */
@media (max-width: 1400px) {
  header .auto-style38 { width: 120px !important; }  /* sanft reduzieren */
}
@media (max-width: 1200px) {
  header .auto-style38 { width: 60px !important; }   /* weiter reduzieren */
}
@media (max-width: 1000px) {
  header .auto-style38 { width: 0 !important; }      /* bei schmalen Fenstern bündig links */
}

/* Optional: auch den linken Platzhalter im schwarzen Link-Balken verkleinern */
@media (max-width: 1200px) {
  header .auto-style85 { width: 60px !important; }
}
@media (max-width: 1000px) {
  header .auto-style85 { width: 0 !important; }
}
/* === Responsive Fix: Header-Platzhalter schrittweise verkleinern === */
/* Linker Spacer im grünen Header (die leere Zelle ganz links) */
@media (max-width: 1400px) {
  header .auto-style38 { width: 120px !important; }
}
@media (max-width: 1200px) {
  header .auto-style38 { width: 60px !important; }
}
@media (max-width: 1000px) {
  header .auto-style38 { width: 0 !important; }
}

/* Linker Spacer im schwarzen Link-Balken (erste Zelle) */
@media (max-width: 1200px) {
  header .auto-style85 { width: 60px !important; }
}
@media (max-width: 1000px) {
  header .auto-style85 { width: 0 !important; }
}

/* (Optional) Rechter Spacer im schwarzen Link-Balken (letzte Zelle) */
@media (max-width: 1200px) {
  header .auto-style147 { width: 24px !important; }
}
@media (max-width: 1000px) {
  header .auto-style147 { width: 0 !important; }
}

/* (Optional) Minimale Innenabstände der Header-Textblöcke bei sehr schmalen Viewports,
   damit sich Text nicht über die Nachbarbilder schiebt */
@media (max-width: 1000px) {
  header .auto-style88,
  header .auto-style87 {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}
/* === Responsive: Schwarzer Link-Balken (Header .auto-style39) === */
/* Desktop bleibt unverändert – Anpassungen greifen nur bei kleineren Breiten */

/* Grundsicherungen (kein „Springen“ beim Hover/Klick) */
header .auto-style39 a:hover,
header .auto-style39 a:active {
  font-size: inherit !important;
  text-decoration: none !important;
}

/* Höhe und vertikale Zentrierung stabil halten */
header .auto-style39,
header .auto-style39 td {
  height: 32px !important;
  vertical-align: middle !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 1) Breite ≤ 1400px: leicht kompakter */
@media (max-width: 1400px) {
  header .auto-style39 a {
    font-size: 12px !important;
    letter-spacing: 0.2px;
  }
  header .auto-style39 td {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* 2) Breite ≤ 1200px: noch etwas enger */
@media (max-width: 1200px) {
  header .auto-style39 a {
    font-size: 11px !important;
    letter-spacing: 0.1px;
  }
  header .auto-style39 td {
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
}

/* 3) Breite ≤ 1100px: kompakt, damit nichts überlappt */
@media (max-width: 1100px) {
  header .auto-style39 a {
    font-size: 10px !important;
    letter-spacing: 0;
  }
  header .auto-style39 td {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
}

/* 4) Breite ≤ 1000px: minimalste Variante */
@media (max-width: 1000px) {
  header .auto-style39 a {
    font-size: 9.5px !important;
  }
  header .auto-style39 td {
    padding-left: 1px !important;
    padding-right: 1px !important;
  }
}

/* Ergänzung zu deinem vorhandenen Spacer-Abbau (aus dem letzten Schritt):
   – linker grüner Header-Spacer, linker/rechter Spacer im schwarzen Balken */
@media (max-width: 1400px) { header .auto-style38 { width: 120px !important; } }
@media (max-width: 1200px) { header .auto-style38 { width: 60px !important; } }
@media (max-width: 1000px) { header .auto-style38 { width: 0 !important; } }

@media (max-width: 1200px) { header .auto-style85  { width: 60px !important; } }
@media (max-width: 1000px) { header .auto-style85  { width: 0 !important;  } }
@media (max-width: 1200px) { header .auto-style147 { width: 24px !important; } }
@media (max-width: 1000px) { header .auto-style147 { width: 0 !important;  } }
/* === Header Linkbar fix: konstante Schriftgröße, nur Abstände anpassen === */

/* 0) Einheitliche Basis – alle Zustände gleich groß (stoppt das "Home wird größer") */
header .auto-style39 a,
header .auto-style39 a:link,
header .auto-style39 a:visited,
header .auto-style39 a:hover,
header .auto-style39 a:active {
  font-size: 12px !important;      /* immer 12px */
  line-height: 1 !important;        /* sauber vertikal zentriert */
  text-decoration: none !important; /* keine Unterstreichung auf Hover */
  letter-spacing: 0 !important;     /* Basis */
  word-spacing: 0 !important;       /* Basis */
}

/* 1) Link-Zellen vertikal mittig halten und keine Extraräume zulassen */
header .auto-style39,
header .auto-style39 td {
  height: 32px !important;
  vertical-align: middle !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border: 0 !important;
}

/* 2) Größere Bildschirme – normale Innenabstände */
header .auto-style39 td {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* 3) Schrittweise Komprimierung NUR über Abstände/Spacing – keine Font-Änderung */
@media (max-width: 1400px) {
  header .auto-style39 td { padding-left: 6px !important; padding-right: 6px !important; }
  header .auto-style39 a  { letter-spacing: 0.1px !important; }   /* minimal „enger“ */
}

@media (max-width: 1200px) {
  header .auto-style39 td { padding-left: 4px !important; padding-right: 4px !important; }
  header .auto-style39 a  { letter-spacing: 0px !important; word-spacing: -0.1ch !important; }
}

@media (max-width: 1100px) {
  header .auto-style39 td { padding-left: 2px !important; padding-right: 2px !important; }
  header .auto-style39 a  { letter-spacing: -0.1px !important; word-spacing: -0.15ch !important; }
}

@media (max-width: 1000px) {
  header .auto-style39 td { padding-left: 1px !important; padding-right: 1px !important; }
  header .auto-style39 a  { letter-spacing: -0.15px !important; word-spacing: -0.2ch !important; }
}

/* 4) Spacer-Zellen kleinschrittig verkleinern (nur Abstände, keine Fonts) */
@media (max-width: 1400px) { header .auto-style38 { width: 120px !important; } }
@media (max-width: 1200px) { header .auto-style38 { width: 60px !important; } }
@media (max-width: 1000px) { header .auto-style38 { width: 0 !important; } }

@media (max-width: 1200px) { header .auto-style85  { width: 60px  !important; } }
@media (max-width: 1000px) { header .auto-style85  { width: 0    !important; } }
@media (max-width: 1200px) { header .auto-style147 { width: 24px !important; } }
@media (max-width: 1000px) { header .auto-style147 { width: 0    !important; } }
/* === Header: linker Abstandshalter bei kleiner Breite zusammenschieben === */

/* Standard: Darf schrumpfen, wenn der Viewport schmaler wird */
header table.auto-style18 td.auto-style38 {
  width: clamp(0px, 10vw, 200px) !important; /* max 200px, darf bis 0 schrumpfen */
  min-width: 0 !important;
  padding: 0 !important;
}

/* Sicherheit: bei sehr schmalen Breiten komplett einklappen */
@media (max-width: 1200px) {
  header table.auto-style18 td.auto-style38 { width: 60px !important; }
}
@media (max-width: 1000px) {
  header table.auto-style18 td.auto-style38 { width: 0 !important; }
}

/* Das Bild-Feld rechts daneben darf frei wachsen */
header table.auto-style18 td.auto-style1011 {
  width: auto !important;
}
/* === Responsive Fix: linker Header-Spacer schrumpfen, ohne Desktop zu ändern === */
@media (max-width: 1400px) {
  header .auto-style38 { width: 120px !important; }  /* sanft reduzieren */
}
@media (max-width: 1200px) {
  header .auto-style38 { width: 60px !important; }   /* weiter reduzieren */
}
@media (max-width: 1000px) {
  header .auto-style38 { width: 0 !important; }      /* bei schmalen Fenstern bündig links */
}

/* Optional: auch den linken Platzhalter im schwarzen Link-Balken verkleinern */
@media (max-width: 1200px) {
  header .auto-style85 { width: 60px !important; }
}
@media (max-width: 1000px) {
  header .auto-style85 { width: 0 !important; }
}
/* === HEADER: linker Spacer darf bei schmalen Viewports wirklich schrumpfen === */

/* 1) Header-Top-Tabelle auf fixed-Layout: CSS-Breiten werden strikt beachtet */
header table.auto-style18 {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
}

/* 2) Linke Spacer-Zelle: Breite über Inline-Style stellen, Inhalt neutralisieren */
header table.auto-style18 td.auto-style38 {
  width: 200px !important;       /* Desktop bleibt optisch unverändert */
  max-width: 200px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  white-space: normal !important;
  font-size: 0 !important;       /* &nbsp; hat dann keine Breite mehr */
}

/* 3) Progressiv schrumpfen, bis auf 0 – jetzt greift es wirklich */
@media (max-width: 1400px) {
  header table.auto-style18 td.auto-style38 { width: 120px !important; max-width: 120px !important; }
}
@media (max-width: 1200px) {
  header table.auto-style18 td.auto-style38 { width: 60px !important;  max-width: 60px !important; }
}
@media (max-width: 1000px) {
  header table.auto-style18 td.auto-style38 { width: 0 !important;     max-width: 0 !important; }
}

/* 4) Im schwarzen Link-Balken ebenfalls den linken Spacer mit schrumpfen */
header table.auto-style39 td.auto-style85 {
  width: 140px !important;       /* wie im jetzigen Layout */
  max-width: 140px !important;
  padding: 0 !important;
  border: 0 !important;
}
@media (max-width: 1200px) {
  header table.auto-style39 td.auto-style85 { width: 60px !important; max-width: 60px !important; }
}
@media (max-width: 1000px) {
  header table.auto-style39 td.auto-style85 { width: 0 !important;    max-width: 0 !important; }
}

/* 5) Sicherheit: Die Bildzelle daneben darf nach links „durchlaufen“ */
header table.auto-style18 td.auto-style1011 {
  width: auto !important;
  max-width: none !important;
}
/* === FINAL: linker Header-Spacer kollabieren (Tabellen-sicher) === */

/* Ab 1400px etwas kleiner */
@media (max-width: 1400px) {
  header table.auto-style18 td.auto-style38 {
    width: 120px !important;
    max-width: 120px !important;
    padding: 0 !important;
  }
}

/* Ab 1200px weiter reduzieren */
@media (max-width: 1200px) {
  header table.auto-style18 td.auto-style38 {
    width: 60px !important;
    max-width: 60px !important;
    padding: 0 !important;
  }
}

/* Ab 1000px: Zelle aus dem Layout nehmen → Bild kann bis ganz links */
@media (max-width: 1000px) {
  header table.auto-style18 td.auto-style38 {
    display: none !important;     /* Column fällt weg */
  }
}

/* Optional: im schwarzen Linkbalken den linken Spacer genauso behandeln */
@media (max-width: 1200px) {
  header table.auto-style39 td.auto-style85 {
    width: 60px !important;
    max-width: 60px !important;
    padding: 0 !important;
  }
}
@media (max-width: 1000px) {
  header table.auto-style39 td.auto-style85 {
    display: none !important;
  }
}
/* --- Responsive Feintuning: ohne sichtbare Layoutänderung --- */

/* NAV minimal schmaler, wenn der Platz knapp wird */
@media (max-width: 1400px) {
  .content nav { width: 200px; }
  .content main { left: 200px; } /* Rest übernimmt .content main */
}
@media (max-width: 1200px) {
  .content nav { width: 190px; }
  .content main { left: 190px; }
}
@media (max-width: 1000px) {
  .content nav { width: 180px; }
  .content main { left: 180px; }
}

/* Linker/grüner Header-Block: linker Platzhalter (auto-style38) flexibel schrumpfen */
@media (max-width: 1400px) {
  header .auto-style38 { width: 140px !important; }
}
@media (max-width: 1200px) {
  header .auto-style38 { width: 90px !important; }
}
@media (max-width: 1000px) {
  header .auto-style38 { width: 40px !important; }
}

/* Schwarzer Linkbalken: linker Platzhalter (auto-style85) ebenfalls leicht schrumpfen */
@media (max-width: 1200px) {
  header .auto-style85 { width: 100px !important; }
}
@media (max-width: 1000px) {
  header .auto-style85 { width: 60px !important; }
}

/* Bilder im Header dürfen schrumpfen, aber nie wachsen/verzerren */
header img {
  max-width: 100%;
  height: auto;
}
/* NAV: Text näher an den linken Rand – sicher durchsetzen */
.content nav { padding-left: 2px !important; padding-right: 6px !important; }
.content nav .nav-list { padding-left: 0 !important; margin-left: 0 !important; }
.content nav a, .content nav .nolink { padding-left: 0 !important; margin-left: 0 !important; }
/* ===== Globale, sanfte Seitenskalierung für kleinere Displays ===== */
/* Idee: bei schmaleren Viewports die ganze Seite minimal zusammenschieben,
   ohne das Layout zu ändern. Chrome/Edge: zoom, Firefox-Fallback: transform. */

/* 1) Skalierungs-Variable mit Default 1.0 (keine Änderung) */
html { --global-scale: 1; }

/* 2) Stufenweise Skalierung nach typischen Laptop-Breiten */
@media (max-width: 1600px) { html { --global-scale: 0.95; } }
@media (max-width: 1440px) { html { --global-scale: 0.90; } }
@media (max-width: 1366px) { html { --global-scale: 0.85; } }
@media (max-width: 1280px) { html { --global-scale: 0.80; } }

/* 3) Chrome/Edge nutzen 'zoom' (bequemer, skaliert alles inkl. position:fixed) */
body { zoom: var(--global-scale); }

/* 4) Firefox-Fallback: visuelles Scale + Gegenrechnung von Breite/Höhe,
      damit nichts „abgeschnitten“ wird. */
@supports not (zoom: 1) {
  html, body { height: 100%; }
  body {
    transform: scale(var(--global-scale));
    transform-origin: top left;
    width: calc(100% / var(--global-scale));
    height: calc(100% / var(--global-scale));
    overflow: hidden; /* äußere Scrollleiste weiter vermeiden */
  }
}
@media (min-width: 1921px) { html { --global-scale: 1.05; } }
/* NAV: Text näher an den linken Rand – sicher durchsetzen */
.content nav { padding-left: 10px !important; padding-right: 5px !important; }
.content nav .nav-list { padding-left: 0 !important; margin-left: 0 !important; }
.content nav a, .content nav .nolink { padding-left: 0 !important; margin-left: 0 !important; }
/* ===== Footer: vertikal mittig & einheitlich ===== */
footer table.auto-style1022 {
  height: 25px;                 /* deine Footer-Höhe */
  border-collapse: collapse;
}

footer table.auto-style1022 td {
  height: 32px;                 /* jede Zelle gleich hoch */
  vertical-align: middle;       /* vertikal zentrieren */
  padding-top: 0;
  padding-bottom: 0;
  white-space: nowrap;          /* alles einzeilig halten */
}

/* Zeilenhöhe in allen Textknoten angleichen, inkl. Links/Spans */
footer table.auto-style1022 td,
footer table.auto-style1022 td a,
footer table.auto-style1022 td span {
  line-height: 32px !important; /* exakt wie Zellenhöhe */
  font-size: 12px !important;   /* deine Footer-Schriftgröße */
  text-decoration: none !important;
}

/* eventuelle Rest-Margins der alten Klassen neutralisieren */
footer .auto-style2,
footer .auto-style3,
footer .auto-style5,
footer .auto-style7,
footer .auto-style8,
footer .auto-style9 {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
/* === Footer 7px nach oben + Content-Bereich anpassen === */
footer {
  height: 32px !important;        /* deine Footer-Höhe */
  bottom: 7px !important;          /* 7px über dem Fensterrand anzeigen */
}

/* Content zwischen Header (130px) und Footer (32px + 7px) einklemmen */
.content {
  position: fixed !important;
  left: 0; right: 0;
  top: 130px !important;                          /* Header gesamt: 95+3+32 = 130 */
  bottom: calc(32px + 7px) !important;            /* Footerhöhe + Versatz */
  margin: 0 !important;
  padding: 0 !important;
}

/* Spalten innerhalb von .content weiterhin sauber aufspannen */
.content nav {
  position: absolute !important;
  left: 0; top: 0; bottom: 0; 
  width: 210px;
  overflow-y: auto;
  overflow-x: hidden;
}

.content main {
  position: absolute !important;
  left: 210px; right: 0; top: 0; bottom: 0;
  margin: 0; padding: 0;
  overflow: hidden; /* Scrollen passiert im iframe/Inhalt */
}

/* Iframe füllt Main komplett aus */
#contentFrame {
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
/* === Footer bündig unten, ohne weißen Spalt === */
footer {
  position: fixed !important;
  left: 0; right: 0; bottom: 0 !important;
  height: 32px !important;              /* deine Footer-Höhe */
  z-index: 1000;
  overflow: hidden;                      /* falls wir Inhalt nach oben schieben */
}

/* Content-Bereich exakt bis an den Footer führen */
.content {
  position: fixed !important;
  left: 0; right: 0;
  top: 130px !important;                 /* Header gesamt: 95 + 3 + 32 = 130px */
  bottom: 32px !important;               /* Footer-Höhe, KEIN Zusatzabstand */
  margin: 0 !important;
  padding: 0 !important;
}

/* Nav/Main bleiben wie gehabt absolut innerhalb von .content */
.content nav {
  position: absolute !important;
  left: 0; top: 0; bottom: 0;
  width: 210px;
  overflow-y: auto; overflow-x: hidden;
}

.content main {
  position: absolute !important;
  left: 210px; right: 0; top: 0; bottom: 0;
  margin: 0; padding: 0;
  overflow: hidden;                      /* scrollen im iframe */
}

/* Iframe füllt Main */
#contentFrame { display:block; width:100%; height:100%; border:none; }

/* Nur den Tabellen-Inhalt im Footer 7px nach oben „ziehen“, 
   ohne den Footer selbst zu verschieben */
footer table { 
  height: 32px !important;
  margin-top: -7px !important;           /* Inhalt optisch 7px höher */
}
/* --- FINAL ONLINE OVERRIDE (temporär, ganz ans Ende der CSS!) --- */
html body footer {
  height: 32px !important;
  line-height: 32px !important;  /* falls zentriert über line-height */
  bottom: 0 !important;
}
html body footer a,
html body footer td,
html body footer span {
  font-size: 12px !important;
}
html body .content {
  top: 130px !important;   /* Header gesamt: 95 + 3 + 32 */
  bottom: 32px !important; /* Footer-Höhe */
}
:root{
  --header-h: 130px;  /* 95 + 3 + 32 */
  --footer-h: 32px;
}
#contentFrame{
  width: 100%;
  height: calc(100dvh - var(--header-h) - var(--footer-h)) !important;
  border: none;
  display: block;
  margin: 0;
  padding: 0;
}
