:root {
  /* Farbwechsel (03.10.2026): alte Palette → neue, Tag für Tag vom 03.10.2026 bis zum 22.04.2027 (services/farbschema.py). --farb-t setzt
     includes/farbwechsel.html aus dem Datum (Vorschau ?farbe=alt|neu|0-100|demo|auto).
     Gemischt wird in OKLab, in zwei Teilstrecken über einen Wegpunkt (--t1 bis 50 %, --t2 danach):
     der gerade Weg von Blau nach Rot führt durch Violett, der gerade Weg von Marine nach Sand durch
     Grau. Die Wegpunkte sind Grün (Mike, 03.10.): Blau → Tannengrün → Ziegelrot, jeder Tag eine echte
     Farbe (Blau, Petrol, Grün, Oliv, Terrakotta, Rot), Kontrast auf Creme nie unter 3,3. Der Kopf geht
     Marine → Tannengrün → Ocker und bleibt so bis ~60 % dunkel; seine Schrift kann nicht gleiten und
     kippt am gemessenen Schnittpunkt von Weiß auf Dunkel (Kopf 64,5 %, Brotkrumen 68 %, Suchfeld 67 %),
     dort haben beide ~3,9:1. Im Kopf trägt die Schriftfarbe die Markierung (aktiv = fett), nicht der
     Akzent. Musterblatt der Wege: /static/website/farbe/wege.html */
  --alt-A: #172D40;       --mitte-A: #3F6B4F;    --neu-A: #E7D3A6;     /* Kopf, Menüs, Tabellenköpfe: Marine → Tannengrün → Ocker (Mike, 03.10.) */
  --alt-text: #ffffff;    --neu-text: #2B2522;                         /* Schrift darauf: kippt am Schnittpunkt */
  --alt-D: #498FCC;       --mitte-D: #2F7A4F;    --neu-D: #B3362B;     /* Links, Knöpfe, Haken: Blau → Tannengrün → Ziegelrot */
  --alt-E: #32628C;       --mitte-E: #225C3B;    --neu-E: #8C2A22;     /* Hover: eine Stufe dunkler */
  --alt-Dlight: #ECF3F9;  --neu-Dlight: #FBF3E3;                       /* Pflichtfeld-Füllung */
  --alt-grund: #E9E4DD;   --neu-grund: #F0EAE0;                        /* Seitengrund, Ende des Verlaufs */
  --alt-krumen: #10191C;  --mitte-krumen: #2E4F3A;  --neu-krumen: #FBF8F2;   /* Brotkrumen-Leiste */
  --alt-such: #212529;    --mitte-such: #2E4F3A;    --neu-such: #ffffff;     /* Suchfeld im Kopf */
  --farb-t: 100%;
  --t1: clamp(0%, calc(var(--farb-t) * 2), 100%);
  --t2: clamp(0%, calc(var(--farb-t) * 2 - 100%), 100%);
  --t-text: clamp(0%, calc((var(--farb-t) - 64.5%) * 1000), 100%);     /* Kipppunkte: innerhalb von 0,1 % — kein Zwischentag; Kopf → Ocker schneidet bei 64,5 % */
  --t-krumen: clamp(0%, calc((var(--farb-t) - 67.5%) * 1000), 100%);
  --t-such: clamp(0%, calc((var(--farb-t) - 66.5%) * 1000), 100%);
  --colorA: var(--neu-A);
  --colorTitle: var(--neu-text);
  --colorD: var(--neu-D);
  --colorE: var(--neu-E);
  --colorDlight: var(--neu-Dlight);
  --grund: var(--neu-grund);
  --krumen: var(--neu-krumen);
  --krumen-text: var(--neu-text);
  --such-text: var(--neu-text);
  --such: var(--neu-such);
  --kante: var(--neu-D);                    /* Dachkante unter dem Kopf */
  --menu-rand: #E3D9C8;                     /* Rahmen von Menüs und Suchfeld */
  --colorB: var(--colorD);
  --colorC: var(--colorD);
  --colorHighlight: #EB6C00;
  --mvz-radius: 4px;          /* ein Radius für Felder, Knöpfe, Kästen */
  --mvz-border: #8a8a8a;      /* ein Rahmen: 1px solid, für alle Feldarten */
}
@supports (color: color-mix(in oklab, red, blue 50%)) {
  :root {
    --colorA: color-mix(in oklab, color-mix(in oklab, var(--alt-A), var(--mitte-A) var(--t1)), var(--neu-A) var(--t2));
    --colorTitle: color-mix(in oklab, var(--alt-text), var(--neu-text) var(--t-text));
    --colorD: color-mix(in oklab, color-mix(in oklab, var(--alt-D), var(--mitte-D) var(--t1)), var(--neu-D) var(--t2));
    --colorE: color-mix(in oklab, color-mix(in oklab, var(--alt-E), var(--mitte-E) var(--t1)), var(--neu-E) var(--t2));
    --colorDlight: color-mix(in oklab, var(--alt-Dlight), var(--neu-Dlight) var(--t1));   /* in der ersten Hälfte: Grau-Fenster kurz halten */
    --grund: color-mix(in oklab, var(--alt-grund), var(--neu-grund) var(--farb-t));
    --krumen: color-mix(in oklab, color-mix(in oklab, var(--alt-krumen), var(--mitte-krumen) var(--t1)), var(--neu-krumen) var(--t2));
    --krumen-text: color-mix(in oklab, var(--alt-text), var(--neu-text) var(--t-krumen));
    --such: color-mix(in oklab, color-mix(in oklab, var(--alt-such), var(--mitte-such) var(--t1)), var(--neu-such) var(--t2));
    --such-text: color-mix(in oklab, var(--alt-text), var(--neu-text) var(--t-such));
    --kante: color-mix(in oklab, var(--alt-A), var(--colorE) var(--farb-t));   /* Dachkante: taucht aus dem Marine auf, folgt dem Hover-Ton */
    --menu-rand: color-mix(in oklab, transparent, #E3D9C8 var(--farb-t));
  }
}
/* Global styles */
html { scrollbar-gutter: stable; }   /* Seiten mit und ohne Scrollbalken gleich breit: kein Ruck beim Reiterwechsel */
body {
  padding-top: 0;
  padding-bottom: 0;
  font-size: 18px;
  font-family: 'Lato', sans-serif;
  background: rgb(255,255,255);
  background: linear-gradient(135deg, #fff 0%, #fff 50%, var(--grund) 100%);
  min-height: 100vh;
}
h1 {
  font-weight: 300;
  font-size: 60px;
  position: relative;
}
.hero h1 {
  color: white;
}
h2,
table caption {
  font-weight: 900;
}

h3 {
  font-weight: 900;    
  margin-top: 20px;
}

h4 {
  font-weight: 600;
  font-size: 22px;
}
p {
  margin: 0 0 30px;
  color: #444;
}

a, a:focus, a:visited {
  color: var(--colorD);
  text-decoration: none;
  line-break: auto;
}

a:hover {
  color: var(--colorE);
  text-decoration: none;
}

a.btn {
  background-color: #d4566b;
  color: white;
  display: inline-block;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.15em;
  padding: 15px 20px;
  text-transform: uppercase;
}

a.btn:hover {
  background-color: #eb7400;
  color: white;
}

a.btn-sm {
  border-radius: 4px;
  font-size: 10px;
  line-height: normal;
  padding: 6px 8px;
}
.header input {
  border-radius: var(--mvz-radius);
  border: 1px solid var(--menu-rand);
  font-size: 18px;
  padding: 10px;
  width: 100%;
}
#extendedSearch .mvzsearch label {
  width: 14%;
  text-align: right;
  margin-top: 10px;
  margin-bottom: 0px;
}
.mvzsearch input {
  padding: 10px;
  width: 100%;
}
.mvzsearch select {
  width: 85%;
  float: right;
  padding: 10px;
}
#extendedSearch .mvzsearch input {
  width: 85%;
  float: right;
}
#extendedSearch .mvzsearch input[type='submit'] {
  width: 100%;
  float: none;
}


ul.nav{
  display: block;

}
/*ul.nav{
  display: grid;
}*/
ul {
  margin: 0 0 50px; /*30px;*/
}
figure {
  padding: 25px 50px;
  position: relative;
}
figure > blockquote > p {
  margin-left: 20px;
}

figcaption .blockquote-footer {
  background-color: rgba(99,33,13,0.8);
  bottom: 0;
  color: white;
  font-size: 16px;
  font-weight: 300;
  left: 0;
  padding: 10px;
  position: absolute;
  /*width: 75%;*/
}
img {
  display: block;
  /*width: 100%;*/
}

.col-md-10 {
  width: 95%;
}





/* Generic detail page styles */
.stand-first {
  color: rgba(255,255,255,0.8);
  font-size: 26px;
  margin: 0;
}
.intro {
  font-weight: 300;
  margin: 0 0 60px; /*40px;*/
  font-size: 30px; /*22px;*/
}
/* Hero image area */
.hero {
  background-size: cover;
  background-position: center;
  padding: 20px 0 3px 0;
  position: relative;
  margin: 0 0 3px;
}
@media screen and (min-width: 768px) {
  .hero {
    padding: 20px 0 3px 0;
    margin: 0 0 4px;
  }
}
.hero-gradient-mask {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 1%,rgba(0,0,0,1) 100%);
}


blockquote {
  border-left: 5px solid #d4566b;
  margin: 0 0 50px;
}
blockquote p {
  font-size: 30px;
  margin: 0 0 10px;
}
blockquote footer::before {
  display: none;
}
blockquote footer p {
  font-size: 1.8em;
  font-style: italic;
}
cite {
  text-transform: uppercase;
  color: #888;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 0.15em;
}

/* Page header */
/*.header {
  padding: 15px 0 15px;
  width: 100%;
  background: var(--colorA);
  position: relative;
  z-index: 1001;
}
#header h2 {
  color: white;
}
.header h3 {
  margin-top: 0;
  margin-bottom: 0;
  line-height: 40px;
}*/
/* Logo */
.logo, .logo:visited, .logo:focus,
.auth h1 {
  display: inline-block;
  padding: 0;
  color: var(--colorTitle);
  font-size: 30px;
  font-weight: 300;
  margin: 0 0 0;
}
.logo:hover {
  color: var(--colorE);
  text-decoration: none;
}

/*
.search {
  display: inline-block;
  float: right;
  margin: 0 0 0 30px;
}*/
.search-icon {
    height: 20px;
    margin-right: 8px;
    margin-top: -38px;
    float: right;
}


.mvzsearch .search-icon {
  margin-top: 13px;
  margin-left: -33px;
}
.search-icon svg {
  fill: var(--colorD);
  height: 20px;
  width: 20px;
}
/*nav {
  margin: 15px 0 0 0;
  border-top: 1px solid rgba(255,255,255,0.1);
  display: block;
}*/
#main-navigation {
  padding-left: 0;
}
/* Farben-Link im Kopf und die Einstellungsseite (ldap_mvz/templates/farbschema-form.html) */
/* Kopfzeile rechts: angemeldet-als fuellt und schiebt die beiden Aktionen nach rechts; Symbole einfarbig (currentColor) */
.nav.logininformation a.farbenlink {
  flex: 0 0 auto;
  margin-left: 16px;          /* 16 Luecke + 16 = 32: Name | Farben Abmelden | Suche, die Gruppen doppelt so weit wie das Paar */
  text-decoration: none;
}
.nav.logininformation a.farbenlink:hover { color: var(--colorB); }
.nav.logininformation .ikon {
  vertical-align: -3px;
  margin-right: 2px;
  opacity: 0.85;
}
.nav.logininformation .logoutbutton>button {
  color: var(--colorTitle);
  text-decoration: none;     /* schlaegt die aeltere Regel .logoutbutton>button weiter unten */
}
.nav.logininformation .logoutbutton>button:hover { color: var(--colorB); }
form.farbschema label.schema {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  text-align: left;
  padding: 8px 10px;
  margin: 0 0 6px;
  border: 1px solid transparent;
  border-radius: var(--mvz-radius);
  cursor: pointer;
  font-weight: normal;
}
form.farbschema label.schema:hover { background-color: rgba(127, 127, 127, 0.08); }
form.farbschema label.schema.gewaehlt, form.farbschema label.schema:has(input:checked) {
  border-color: var(--colorD);
  background-color: var(--colorDlight);
}
form.farbschema label.schema input[type=radio] {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--colorD);
  flex: none;
}
form.farbschema .plaettchen {
  flex: none;
  width: 72px;
  height: 44px;
  border-radius: var(--mvz-radius);
  border: 1px solid #c9c2b8;
  background: linear-gradient(90deg, var(--p-kopf) 0%, var(--p-kopf) 45%, var(--p-ziel) 55%, var(--p-ziel) 100%);
  position: relative;
}
form.farbschema .plaettchen::after {
  content: '';
  position: absolute;
  left: 8px;
  bottom: 6px;
  width: 56px;
  height: 4px;
  border-radius: 2px;
  background: var(--p-akzent);
}
form.farbschema .text small { color: #666; }
form.farbschema .fehler { color: var(--colorHighlight); }

/* Suche im Kopf: Bootstrap zeichnet sie dunkel (data-bs-theme="dark"); hier läuft sie mit dem Kopf mit */
nav.navbar .searchelement .form-control {
  background-color: var(--such);
  color: var(--such-text);
  border: 1px solid var(--menu-rand);
}
nav.navbar .searchelement .form-control::placeholder {
  color: var(--such-text);
  opacity: 0.6;
}
nav.navbar .searchelement { position: relative; }
nav.navbar .searchelement .btn-group {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 4px;               /* Leiste haengt am Feld: das Formular hat keine feste Hoehe mehr */
  z-index: 50;                   /* ueber dem Handy-Menue-Overlay (40): wer ins Suchfeld tippt, meint die Suche */
  padding: 4px;
  border-radius: var(--mvz-radius);
  background-color: var(--colorA);
  border: 1px solid var(--menu-rand);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}
nav.navbar .searchelement:focus-within .btn-group { display: inline-flex; }
nav.navbar .searchelement .btn-group .btn {
  color: var(--colorTitle);
  border-color: var(--menu-rand);
  background-color: transparent;
  opacity: 0.85;
}
nav.navbar .searchelement .btn-group .btn:hover { opacity: 1; }
nav.navbar .searchelement .btn-group .btn-check:checked + .btn {
  color: #fff;
  background-color: var(--colorD);
  border-color: var(--colorD);
  opacity: 1;
}

/***********************************/
/*           Menü-Navigation       */
/***********************************/
/* Zwei Zonen (03.10.2026): oben die leise Werkzeugzeile (Konto, Farben, Abmelden, Suche) ohne Sperrung,
   darunter das Menue als einzige gesperrte Zeile, durch eine Haarlinie abgesetzt. */
.nav-pills {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;          /* keine Sperrung: Kleinbuchstaben brauchen ihre Wortgestalt (Mike, 03.10.) */
}
.nav.logininformation {
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.02em;
  opacity: 0.85;
}
.nav.logininformation b { font-weight: 500; }
.nav.logininformation .logoutbutton>button { font-size: inherit; letter-spacing: inherit; }
.nav-pills>li {
  padding: 0px 24px 0px 0px;
  float: left;
}
.nav-pills>li>a, .logininformation a {
  border-radius: 0;
  color: var(--colorTitle);
  padding: 8px 0;
}
.nav-pills>li>a { display: block; }   /* inline haette die Polsterung nicht in der Zeilenhoehe: Menuezeile = 8 + 24 + 8 */
/* Schalter des Menues — Basis, gilt ueberall (03.10.2026): der Pfeil je Hauptpunkt setzt aria-expanded, das CSS oeffnet
   die Liste daran (:has). Der Server setzt den aktiven Ast auf true (fuer das Overlay; in der Menuezeile setzt main.js beim
   Laden alles zu). Zwei Weichen, keine Kombination steht doppelt: das LAYOUT haengt an der Breite (Bloecke 992px),
   HOVER ist eine Ergaenzung fuer Geraete mit Maus (Block (hover: hover) hinter dem breiten Layout). */
.menu-auf {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;           /* = Menuezeile 8 + 24 + 8 */
  padding: 0; border: 0; background: none; color: var(--colorTitle);
}
.menu-auf svg { transition: transform 0.2s; }
@media (prefers-reduced-motion: reduce) { .menu-auf svg { transition: none; } }
.menu-auf[aria-expanded="true"] svg { transform: rotate(180deg); }
.has-submenu:has(> .menu-auf[aria-expanded="true"]) > .dropdown-menu { display: block; }
.dropdown-menu .dropdown-menu { display: none; }   /* dritte Stufe und tiefer: nur als Flyout per Hover; per Tipp gehoert sie auf die Bereichsseite */
.logoutbutton>button /*,
[type="button"],
[type="submit"]*/ {
  -webkit-appearance: textfield;
  background: none;
  border: none;
  display: inline;
  font: inherit;
  margin: 0;
  padding: 0;
  text-decoration: underline;
  font-size: 14px;
  letter-spacing: 0.15em;

}
.nav.logininformation a.logoutbutton {
   flex: 0; 
   margin-left: 20px;
}
a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: var(--colorTitle);
  cursor: pointer;
}
.nav>li>a,.nav>li>a:focus, .nav>li>a:hover {
    text-decoration: none;
}
/* Menü (03.10.2026): aktiv = fett + Unterstrich dicht unter der Schrift (Tab-Muster), Hover ein neutraler Strich.
   Der Strich ist text-decoration, nicht border + margin: der Kasten des Punkts bleibt geschlossen bis zum
   Aufklappmenü, sonst reißt die Maus im Spalt den Hover ab. */
.nav-pills>li>a, .nav>li>a {
  border-top: none;
  border-bottom: none;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover,
.nav-pills>li.active, .nav-pills>li:hover, .nav>li>a:focus, .nav>li>a:hover, .logininformation a.logoutbutton:hover, .logininformation a.logoutbutton:focus {
  color: var(--colorTitle);
  background-color: transparent;
  text-decoration-color: color-mix(in oklab, var(--colorTitle), transparent 55%);
}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
  font-weight: 700;
  text-decoration-color: var(--colorB);
}

/* Burger (03.10.2026): Bootstrap zeichnet ihn fuer data-bs-theme=dark weiss — auf dem warmen Kopf fast unsichtbar.
   Als Maske in der Kopf-Schriftfarbe folgt er jedem Farbschema: dunkel auf Ocker, weiss auf Marine. */
.navbar-toggler { padding: 6px 8px; border: 1px solid var(--menu-rand); border-radius: var(--mvz-radius); color: var(--colorTitle); }
.navbar-toggler:focus { box-shadow: 0 0 0 2px color-mix(in oklab, var(--colorB), transparent 60%); }
.navbar-toggler-icon {
  width: 26px; height: 26px;
  background: var(--colorTitle);
  -webkit-mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3e%3cpath d='M3 6h18M3 12h18M3 18h18'/%3e%3c/svg%3e") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round'%3e%3cpath d='M3 6h18M3 12h18M3 18h18'/%3e%3c/svg%3e") center / contain no-repeat;
}
.navbar-toggle .icon-bar {
  background-color: var(--colorTitle);
} 

/* Kopf-Raster (03.10.2026), Einheit 8px: 16 ueber dem Logo, Logo 56 (= sichtbares Zeichen, die PNG ist beschnitten),
   16 bis zur Haarlinie, Menue 8 + 24 + 8, 8 bis zur Dachkante. Keine Kompensationsraender mehr: alles zentriert sich
   per align-items an der Logo-Hoehe. */
nav.navbar {
  padding: 0 0 8px;
  background: var(--colorA) !important;
  border-bottom: 3px solid var(--kante);   /* Dachkante — taucht aus dem Marine auf */
/*  background: radial-gradient(ellipse at left top, #FFFFFF 0%, #D7D8D9 12%, #7E8999 34%, #334657 55%, #172D40 70%, #172D40 0%) !important;*/
}
nav.navbar > .container, nav.navbar > .container-fluid, nav.navbar > .container-sm, nav.navbar > .container-md, nav.navbar > .container-lg, nav.navbar > .container-xl, nav.navbar > .container-xxl {
  display: block;
}
.upperline {
    display: flex;
    align-items: center;
    padding: 16px 0;
}
.upperline .searchelement {
  width: 250px;
}
.navbar .upperline .rightaligned {
  margin-left: auto;
  display: flex;
  align-items: center;
}
.upperline .navbar-brand {
  padding: 0;
  margin: 0;
}

.upperline .navbar-brand img {
    display: block;
    height: 56px;               /* Homepage-Fassung des Logos (752x385, MyDocs/-ArtaWeb-Web-2-0/Logo.png, Quelle Logo.pxm): Kontur ist eingebrannt, kein Filter */
}
.nav.logininformation {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-right: 32px;
}
.nav.logininformation a {
  display: inline-block;
}
.navbar-expand-lg .lowerline .navbar-collapse.show {
  display: block;
}
.lowerline {
  border-top: 1px solid color-mix(in oklab, var(--colorTitle), transparent 85%);   /* Haarlinie: hier beginnt das Menue */
}
/* Pagination navigation */
nav[role=pagination] {
  margin-top: 50px;
  text-align: center;
}
.dropdown-menu, .dropdown-menu1 {
  border-radius: var(--mvz-radius);
  border: 1px solid var(--menu-rand);
  margin: 0;
  padding: 4px 0;

  display: none;
  position: absolute;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 10;
  background-color: var(--colorA);
  letter-spacing: 0;
  font-weight: 400;            /* Schrift des Hauptmenues (16px, 400): die Liste gehoert zum Menue, nicht unter den Fliesstext (18px) */
}


.dropdown-menu > li> a {
  color: var(--colorTitle);
  text-decoration: none;
  padding: 10px 12px;
  display: block;
  letter-spacing: 0;
  font-weight: 400;
}
.dropdown-menu > li > a:hover {
  color: var(--colorB);
  background-color: rgba(127, 127, 127, 0.12);   /* neutral: trägt auf Marine wie auf Sand */
}

.has-submenu {
  position: relative;          /* inline-block stand hier auch: Listeneintraege mit Unterliste wurden textbreit, der Winkel flatterte */
}

/* Links inside the dropdown */
.dropdown-content a {
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}


/*
.navbar button {
  margin-left: 0.5rem !important;
    --bs-btn-color: #0d6efd;
    --bs-btn-border-color: #0d6efd;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #0d6efd;
    --bs-btn-hover-border-color: #0d6efd;
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #0d6efd;
    --bs-btn-active-border-color: #0d6efd;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #0d6efd;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #0d6efd;
    --bs-gradient: none;
    --bs-btn-padding-x: 0.75rem;
    --bs-btn-padding-y: 0.375rem;
    --bs-btn-font-family: ;
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.5;
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-width: var(--bs-border-width);
    --bs-btn-border-color: transparent;
    --bs-btn-border-radius: var(--bs-border-radius);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
    --bs-btn-disabled-opacity: 0.65;
    --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
    font-family: var(--bs-btn-font-family);
    font-size: var(--bs-btn-font-size);
    font-weight: var(--bs-btn-font-weight);
    line-height: var(--bs-btn-line-height);
    color: var(--bs-btn-color);
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
    border-radius: var(--bs-btn-border-radius);
    background-color: var(--bs-btn-bg);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}*/

/* Custom page footer */
.footer {
  font-size: 16px;
  color: #777;
  padding: 20px 0;
  margin: 40px 0 0;
  font-weight: 300;
  background-color: white;
}
.footer p {
  margin: 0;
}
footer.bg-light {
  background-color: transparent !important; 
  margin-top: 30px;
  padding-top: 10px;
  border-top: 1px solid black;
}



div[role="alertdialog"] ul {
  margin: 0;
  padding-inline-start: 0;
}
div[role="alertdialog"] ul li {
  display: block;
}
div[role="alertdialog"] .messages .error {
  color: #d01212;
}
div[role="alertdialog"] .messages .info {
  color: #eec036;
}
div[role="alertdialog"] .messages .warning {
  color: #ff9334;
}
div[role="alertdialog"] .messages .success {
  color: #9fdb18;
}
.container-narrow > hr {
  margin: 30px 0;
}
/*
#content {
	padding-top: 20px;
}*/
div[role="alertdialog"] {
  margin-left: auto;
  margin-right: auto;
  margin-top: 25px;
  background-color: #EEEEEE;
  padding: 20px;
}
/*#content > *:not(.hero-bg) {
  padding-top: 10px;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.my-5 {
  padding-left: 0;
}*/

/* Breadcrumbs */
.breadcrumb-container {
  background: var(--krumen);
  border-bottom: 1px solid var(--menu-rand);
  position: relative;
  z-index: 3;
  margin-top: 0;
}
/*.breadcrumb-container + content > .hero {
  margin-top: -36px;
}*/
.breadcrumb {
  background-color: transparent;
  color: var(--krumen-text);
  font-size: 14px;
  margin-bottom: 2px;
  padding-left: 0px;
}
.breadcrumb a, .breadcrumb .active {
  color: var(--krumen-text);
}
.breadcrumb a {
  opacity: 0.8;
}
.breadcrumb .active {
  font-weight: bold;
  color: var(--colorTitle);
}
.breadcrumb a {
  text-decoration: none;
}
.breadcrumb a:hover {
  opacity: 1;
}
.breadcrumb>li+li:before {
  content: "\00BB";
  padding: 7px;
}

/* Location detail page */
.template-location-page .intro {
  margin-bottom: 0;
}
.location-opening h3 {
  margin-top: 0;
}
span.day {
  font-weight: bold;
}
time.location-time {
  display: block;
}
.map-container {
  height: 550px;
}
.location-address {
  background-color: var(--grund);
  padding: 10px 30px;
  margin-bottom: -200px;
  position: relative;
  z-index: 1;
}

/* Miscellaneous helper styles */
/* No gutters */
.row.no-gutters {
  margin-right: 0;
  margin-left: 0;
}
.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0;
}

/* Bootstrap Equal height rows */
.row-eq-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display:         flex;
  flex-wrap: wrap;
}

@media (min-width: 970px) {
  .hidden-md-up {
    display: none;
  }
}
@media (max-width: 970px) {
  .hidden-md-down {
    display: none;
  }
}

/* From Wagtail core */
/* Responsive image/video classes */
.rich-text img {
    max-width: 100%;
    height: auto;
}
.richtext-image.left{
    float:left;
}
.richtext-image.right{
    float:right;
}
.responsive-object {
    position: relative;
}
.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/************************************/
/*            Login                 */
/************************************/
.auth #header {
    width: 100%;
    background: var(--colorA);
    z-index: 10;
    text-align: center;
}
.auth {
    margin: 3rem auto;
    max-width: 960px;
    padding: 0 1rem;
}
.auth #content,
.auth #header {
    padding: 15px 0;
}
.auth h1 {
}
.auth th {
    width: 275px;
    text-align: left;
}
.auth .submit-row input[type="submit"]{
    background-color: var(--colorD);
    border: none;
    margin-top: 10px;
    font-size: 22px;
}
.auth input {
    padding: 8px 14px;
    font-size: 16px;
    width: 100%;
}
.auth table {
    margin: 0 auto;
    text-align: center;
    width: 100%;
}
.auth table td, .auth table th {
    border: none;
}
.auth td:nth-child(2) {
    display: grid;
}
/*New password*/
.auth #ft-password-reset-confirm tr:nth-child(2) th:first-child {
    vertical-align: baseline;
    padding-top: 15px;
}
.auth span.helptext {
    font-style: italic;
    text-align: left;
}
.auth span.helptext ul {
    list-style-type: none; 
    padding-inline-start: 0px;
}
/*.auth*/ ul.errorlist {
    list-style-type: none; 
    padding-inline-start: 0px;
    color: red; /*var(--colorC);*/
    font-weight: 600;
}
.auth ul.errorlist {
    color: var(--colorC);
}
/*.auth*/ ul.errorlist li {
    display: table;
}
.auth #ft-password-reset-confirm tr:nth-child(3) th:first-child {
    vertical-align: bottom;
    padding-bottom: 20px;
}
.auth p.errornote {
    text-align: center;
    color: var(--colorC);
    font-weight: 600;
}
.auth tbody {}


/************************************/
/*            Colors                */
/************************************/
.searchcolorholder {
    float: right;
}
.colorranges {
    float: left;
}
.colorranges input[type=range] {
    width: 140px;
    height: 20px;
    border: 1px solid white;
    -webkit-appearance: none;
}
.colorranges input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8.4px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    background-image: linear-gradient(to right, red,orange,yellow,green,blue,indigo,violet,red);
    border-radius: 1.3px;
    border: 0.2px solid #010101;
}
.colorranges input#blackwhiterange[type=range]::-webkit-slider-runnable-track {
    background-image: linear-gradient(to right, white,black);
}
.colorranges input[type=range]::-webkit-slider-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid #000000;
    height: 20px;
    width: 10px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -6px;
}
.colorranges input[type=range]::-moz-range-track {
    width: 100%;
    height: 8.4px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    background: #3071a9;
    border-radius: 1.3px;
    border: 0.2px solid #010101;
}
.colorranges input[type=range]::-moz-range-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid #000000;
    height: 20px;
    width: 10px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
}
.colorranges input[type=range]::-ms-track {
    width: 100%;
    height: 8.4px;
    cursor: pointer;
    animate: 0.2s;
    background: transparent;
    border-color: transparent;
    border-width: 16px 0;
    color: transparent;
}
.colorranges input[type=range]::-ms-fill-lower {
    background: #2a6495;
    border: 0.2px solid #010101;
    border-radius: 2.6px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
.colorranges input[type=range]::-ms-fill-upper {
    background: #3071a9;
    border: 0.2px solid #010101;
    border-radius: 2.6px;
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
}
.colorranges input[type=range]::-ms-thumb {
    box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
    border: 1px solid #000000;
    height: 20px;
    width: 10px;
    border-radius: 3px;
    background: #ffffff;
    cursor: pointer;
}
/************************************/
/*            Tabellen              */
/************************************/
.block-table thead,
table thead,
table > thead {
  background-color: var(--colorA) !important;
  color: var(--colorTitle) !important;
}
.block-table th,
.block-table td,
table th,
table td {
  padding: 5px 10px;
  border: 1px solid black;
}
.table > :not(caption) > * > * /*overwrite tables.scss ...*/ {
  /*background-color: var(--colorA);
  color: var(--colorTitle);*/

}
.table > thead > * > * /*overwrite tables.scss ...*/ {
  background-color: var(--colorA);
  color: var(--colorTitle);
}
.htCenter {
    text-align: center;
}
.htRight {
    text-align: right;
}
.marker {
  font-weight: bold;
}
.searchresult {
  font-weight: bold;
  color: var(--colorHighlight);
}
hr {
  border-top: 1px solid #777;
}


/* no-table like formatting, see https://codered.artabana.de/mvz/gemeinschaft/32-110/ and https://codered.artabana.de/gruppen-kreise/fachgruppen/fg-it-betrieb/*/
table#adminFunktionsTabelle,
table.function-block-kopf {
  margin-bottom: 20px;
  max-width: none;
}
table#adminFunktionsTabelle td {
  border: 0;
  padding: 0px 30px 15px 0px;
}
table.function-block-kopf td {
  border: 0;
  padding: 0px 15px 5px 0px;
}
table.function-block-kopf td:nth-child(1) {
  font-weight: bold;
  text-align: right;
}
.regionsfunktionen a {
  margin-right: 25px;
}

th[onclick] {
  background-repeat: no-repeat;
  background-position: right top;
  padding-right: 25px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text x='3' y='20' fill='lightgrey' font-size='10'>▲</text>  <text x='3' y='29' fill='lightgrey' font-size='10'>▼</text></svg>");
}
th[onclick]:nth-child(1) {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text x='3' y='20' fill='black' font-size='10'>▲</text>  <text x='3' y='29' fill='lightgrey' font-size='10'>▼</text></svg>"); /*↑▲*/
}
th[onclick].arrowUp {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text x='3' y='20' fill='black' font-size='10'>▲</text>  <text x='3' y='29' fill='lightgrey' font-size='10'>▼</text></svg>"); /*↑▲*/
}
th[onclick].arrowDown {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text x='3' y='20' fill='lightgrey' font-size='10'>▲</text>  <text x='3' y='29' fill='black' font-size='10'>▼</text></svg>"); /*↑▲*/
}
th[onclick].no-arrow {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text x='3' y='20' fill='lightgrey' font-size='10'>▲</text>  <text x='3' y='29' fill='lightgrey' font-size='10'>▼</text></svg>");
}
th[onclick].noBackgroundImage {
  background-image: unset;
}
table td, table th, table td * {
	line-break: auto;
}
/***********************************/
/*            Editelements         */
/************************************/
/* Style the header */
#myHeader.header {
  padding: 10px 16px;
  background: #555;
  color: #f1f1f1;
}

/* The sticky class is added to the header with JS when it reaches its scroll position */
.sticky {
  position: fixed;
  top: 0;
  width: 100%
}

/* Add some top padding to the page content to prevent sudden quick movement (as the header gets a new position at the top of the page (position:fixed and top:0) */
.sticky + .content {
  padding-top: 102px;
}

table.function-block {
  width: 100%;
  /*table-layout: fixed;*/
}
table.function-block td, table.function-block th {
  width: 15%;
  padding: 6px;
  border: 1px solid black;
}
table.function-block th:nth-child(2), table.function-block th:nth-child(3) { /*Region, Telefon, Gemeinschaft kleiner, name+mail größer*/
  width: 27.5%;
}
table.function-block tr.oddRow {
    background-color: #F0F0F0F4;
}

/***********************************/
/*            MVZ-Memberedit       */
/***********************************/
.col-md-10 form p label,
.container.group form label {
  text-align: right;
  padding-right: 1%;
  width: 19%;
  vertical-align: top;
  padding-top: 5px;           /* = Rahmen + Innenabstand der Felder: Label-Text auf Höhe des Feldtexts */
}
.container.group form label {
  float: left;
  padding-right: 4%;
}
.container.group form .vereinssitzcontainer p label {
  font-weight: normal;
}
/* Ein Regelsatz für alle Eingabefelder (03.10.2026): gleicher Rahmen, gleicher Radius,
   Höhe folgt der Schrift (1,5em Zeile + 2×4px Innenabstand + 2×1px Rahmen).
   Pflicht = Füllfarbe + Stern (unten). Mehrzeilig = 1,5 Zeilen hoch + ⇓, wächst mit dem Inhalt (main.js). */
.col-md-10 form p :is(input[type=text], input[type=date], input[type=email], input[type=url],
                      input[type=number], input[type=password], select, textarea) {
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
  width: 80%;
  max-width: none;
  min-height: calc(1.5em + 10px);
  padding: 4px 8px;
  line-height: 1.5;
  color: inherit;
  background-color: white;
  border: 1px solid var(--mvz-border);
  border-radius: var(--mvz-radius);
  -webkit-appearance: none;
  appearance: none;
}
.col-md-10 form p :is(input, select, textarea):focus {
  outline: none;
  border-color: var(--colorD);
  box-shadow: 0 0 0 2px rgba(73, 143, 204, 0.25);
}
.col-md-10 form p input[type=date] {
  width: auto;
  min-width: 11em;
}
.col-md-10 form p select {
  padding-right: 32px;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23444' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 14px 10px;
}
.container.group form .vereinssitzcontainer p:nth-child(2) {
  width: 31%;
}
.container.group form .vereinssitzcontainer p:nth-child(2) label {
  width: 15%;
}
/*.col-md-10 form p input#id_postalCode {
  width: 55%;
}*/
.container.group form .vereinssitzcontainer p:nth-child(3) {
  width: 15%;
}
.container.group form .vereinssitzcontainer p:nth-child(3) label {
  width: 30%;
}
.container.group form .vereinssitzcontainer p:nth-child(4) {
  width: 34%;
}
.container.group form .vereinssitzcontainer p:nth-child(4) label {
  width: 14%;
}
.container.group form .vereinssitzcontainer p:nth-child(4) input {
  width: 86%;
}
.col-md-10 form p textarea {
  resize: vertical;
  height: calc(2.25em + 10px);       /* 1,5 Zeilen (statt rows=2 des Widgets): der freie Rest sagt „hier geht mehr" */
  min-height: calc(2.25em + 10px);
  padding-right: 28px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='30px' width='20px'><text font-size='20px'><tspan x='0' y='20'>⇓</tspan></text></svg>");
  background-position: right bottom;
  background-repeat: no-repeat;
}
.col-md-10 form p {
  display: block; /*flex;*/
  margin-bottom: 15px;
}
.col-md-11 {
  width: 100%;
}
/* Listenfeld Rollen / Mailing-Funktionen (03.10.2026): Abschnitte je Bereich, drei Zustaende — aenderbar, gesperrt (grau),
   fremd (Abschnitt „Nicht im Katalog"). Markup: ldap_mvz/templates/widgets/flaglist.html. */
.flaglist { display: grid; gap: 16px; margin-bottom: 16px; }   /* wie die 15px unter jedem Feld-<p>: Luft vor den Knoepfen */
.col-md-10 form .flaglist { margin-left: calc(19% + 5px); }   /* Label 19% + das Leerzeichen vor dem Feld (Feldspalte beginnt bei 306 von 56) — in der Feldspalte der as_p-Formulare (Gemeinschaft, Region, Fachgruppe): ein <p> kann kein fieldset tragen, der Browser schliesst es vor dem Widget */
.col-md-10 form .tab-pane .flaglist { margin-left: 0; }   /* in den Tabs des Mitglieds gibt es keine Label-Spalte (Spezifitaet wie die Regel darueber) */
.flaglist-bereich {
  margin: 0; padding: 4px 16px 12px;
  border: 1px solid var(--menu-rand); border-radius: var(--mvz-radius);
}
.flaglist-bereich legend { float: none; width: auto; margin: 0 0 4px; padding: 0 6px; font-size: 16px; font-weight: 500; }
.flaglist-bereich.fremd { border-color: var(--colorB); }
.flaglist .flag {
  display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px;
  min-height: 32px; margin: 0; font-weight: normal;
}
.flaglist .flag input[type=checkbox] { width: 18px; height: 18px; margin: 0; }
.flaglist .flag.gesperrt { opacity: 0.6; }
.flaglist .flag-extra { font-size: 14px; opacity: 0.75; }
.flaglist .flag-entfernen { font-size: 14px; font-weight: normal; margin: 0; }
.flaglist-hilfe { margin: 0 0 8px; font-size: 14px; opacity: 0.8; }

/* Formular in Tabs (Mitglied): Reiter im Tab-Muster des Menues, Fehlerzahl am Reiter, Fehlerliste oben */
/* Karteikarten (Mike, 03.10.): Reiter stehen in der Feldspalte, buendig mit den Eingabefeldern; jeder Reiter ein Kasten mit
   offener Unterkante, der aktive verschmilzt mit der Flaeche darunter (weisser Grund ueberdeckt die Linie), die anderen liegen
   getoent dahinter. */
ul.formular-tabs {
  display: flex; flex-wrap: wrap; gap: 4px;
  margin: 0 0 20px calc(19% + 5px); padding: 0 8px;
  border-bottom: 1px solid var(--menu-rand);
}
.formular-tabs > li { float: none; width: auto; padding: 0; margin-bottom: -1px; }
.formular-tabs .nav-link {
  color: var(--krumen-text); font-size: 16px;           /* Schrift der Krume: kippt mit dem Uebergang (Marine: weiss, Ocker: dunkel) — inherit war am Tag 0 dunkel auf dunkel (Mike, 03.10.) */
  padding: 8px 20px; margin: 0;
  border: 1px solid var(--menu-rand); border-bottom: 1px solid var(--menu-rand);
  border-radius: var(--mvz-radius) var(--mvz-radius) 0 0;
  background: var(--krumen);
  opacity: 0.85;
}
.formular-tabs .nav-link:hover { opacity: 1; }
.formular-tabs .nav-link.active {
  font-weight: 700; opacity: 1; color: inherit;         /* auf weissem Grund wieder die Textfarbe der Seite */
  background: #fff; border-bottom-color: #fff;         /* Seitengrund (body: weiss bis 50 %) — die Linie darunter verschwindet, Karte und Flaeche sind eins */
  box-shadow: 0 -2px 0 var(--colorB) inset;            /* Farbkante oben wie der Unterstrich im Menue */
}
.tab-fehler {
  display: inline-block; min-width: 20px; padding: 0 6px; margin-left: 4px;
  border-radius: 10px; background: var(--colorHighlight, #b23a2f); color: #fff; font-size: 13px; font-weight: 700; line-height: 20px;
}
.formular-fehler { margin: 0 0 16px; padding: 8px 16px; border: 1px solid var(--colorHighlight, #b23a2f); border-radius: var(--mvz-radius); }
.formular-fehler p { margin: 0 0 4px; font-weight: 700; }
.formular-fehler ul { margin: 0; padding-left: 20px; }
.koordinaten { margin: 8px 0 16px calc(19% + 5px); font-size: 13px; opacity: 0.7; }   /* berechnet, nicht editierbar: Fussnote statt Feld, in der Feldspalte */

input[type=submit], input[type=reset].okcancel {
  background-color: var(--colorD);
  color: white;
  width: 100%;
  border: none;
  border-radius: var(--mvz-radius);
  padding: 8px;
}
/* Abbrechen | Speichern: 40/60 mit 8px Luft dazwischen, als Floats — vorher inline-block 40 + 59 %, und das Leerzeichen
   dazwischen warf den zweiten Knopf schmal in die naechste Zeile, ohne Abstand */
input[type=reset].okcancel {
  background-color: #8d8d8d;
  float: left;
  width: calc(40% - 4px);
  margin-top: 8px;
}
input[type=submit].okcancel {
  float: right;
  width: calc(60% - 4px);
  margin-top: 8px;
}
form:has(> .okcancel)::after { content: ""; display: block; clear: both; }
.ansprechpartner {
  background-color: var(--colorDlight);
}
h4.ansprechpartner {
  line-height: 2;
  width: 175px;
}

/* Pflichtfeld: Füllfarbe + Stern, Rahmen wie alle (Selektor so spezifisch wie der Regelsatz oben) */
input:required,
textarea:required,
.col-md-10 form p :is(input, textarea):required {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='15px' width='15px'><text x='0' y='20' fill='black' font-size='20'>*</text></svg>");
  background-repeat: no-repeat;
  background-position: right top;
  background-color: var(--colorDlight);
}
textarea:required,
.col-md-10 form p textarea:required {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='40px' width='30px'><text font-size='20px'><tspan x='15' y='20'>*</tspan><tspan x='0' y='30'>⇓</tspan></text></svg>");
  background-position: right bottom;
  background-color: var(--colorDlight);
}
.col-md-10 form input[type=checkbox] {
  width: 18px;
  height: 18px;
  margin: 0 8px 0 0;
  vertical-align: -4px;
  accent-color: var(--colorD);
}
.col-md-10 form p > input[type=checkbox] {
  vertical-align: top;
  margin-top: 9px;            /* Mitte des Kästchens auf Mitte des Label-Texts */
}
span.helptext, span.preHelptext {
  margin-left: calc(19% + 5px);   /* 19 % Label + das Leerzeichen zwischen Label und Feld: bündig mit dem Feld */
  line-height: normal;
  display: block;
  font-size: 17px;
}
span.helptext {
  font-style: italic;  
}
.col-md-10.mvz a {
  text-decoration: underline;
}
.col-md-10.mvz {
	margin-top: 10px;
}
.col-md-7 {
  width: 90%;
}
.expandableView {
    border: 1px solid #aaa;
    border-radius: var(--mvz-radius);
    padding: .5em .5em 0;
    margin: 1em 0;
    background-position: left top;
    background-repeat: no-repeat;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='40px' width='35px'><text x='10' y='28' fill='black' font-size='15'>▶</text></svg>")
}

.summary {
    font-weight: bold;
    margin: -.5em -.5em 0;
    padding: .5em 1.5em;
}

.expandableView.opened {
    padding: .5em;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='40px' width='35px'><text x='10' y='28' fill='black' font-size='15'>▼</text></svg>")

}

.expandableView.opened .summary {
    border-bottom: 1px solid #aaa;
    margin-bottom: .5em;
}

.expandableView form {
    display: none;
}
.expandableView.opened form {
    display: block;
}
/* Location list page */
.location-list-item {
  text-align: center;
  margin-bottom: 30px;
}
.location-list-title {
  line-height: 270px;
  height: 270px;
  background-color: #eb7400;
}
.location-list-title img {
  background-color: var(--grund);
  height: 270px;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.location-list-title:hover img {
  opacity: 0.3;
}
.location-list-title span.title {
  color: white;
  display: inline-block;
  font-weight: 300;
  position: relative;
  text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);
}
.location-list-title:hover span.title {
  text-shadow: none;
}
.location-list-item address {
  font-weight: 300;
  font-size: 1.4em;
  padding: 10px 40px;
}

/* Blog list view */
.blog-tags>li {
  border-right: 1px solid rgba(0,0,0,0.1);
  font-size: 0.9em;
  margin-left: -6px;
  padding: 4px 18px;
  text-transform: uppercase;
}
.blog-tags>li:first-child {
  margin-left: 0;
  border-left: 1px solid rgba(0,0,0,0.1);
}
.blog-tags>li:hover {
  background-color: rgba(0,0,0,0.1);
}
.blog-list li {
  list-style: none;
}

@media (min-width: 1025px) {
.blog-list li:first-of-type, .blogpage-listing li:first-of-type,
.blog-list li:nth-child(6), .blogpage-listing li:nth-child(6),
.blog-list li:nth-child(7), .blogpage-listing li:nth-child(7),
.blog-list li:nth-child(12), .blogpage-listing li:nth-child(12) {
      width: 50%;
    }
}
.blog-list-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.blog-list-item a {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
}
.blog-list-item:hover img {
    opacity: 0.3;
}
.blog-list-item .image {
  overflow: hidden;
  background-color: #eb7400;
  flex: 1 0 auto;
}
.blog-list-item .image img {
  min-height: 510px;
  width: auto;
  min-width: 100%;
}
.blog-list-item .text {
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.6) 23%,rgba(0,0,0,1) 50%);
  margin-top: -150px;
  padding: 20px;
  position: relative;
  z-index: 1;
}
.blog-list-item .text h2 {
  color: #fff;
  font-weight: 200;
  margin-top: 0;
}
.blog-list-item .text p {
  color: #e3e3e3;
  font-size: 0.8em;
  margin-bottom: 0;
}
.blog-list-item .footer {
  background-color: #333;
  color: #fff;
  margin-top: 0;
  padding: 20px;
  position: relative;
  z-index: 1;
}
/* used to style tags on blog */
span.outline {
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,0.1);
  font-size: 0.8em;
  padding: 3px 6px;
  text-transform: uppercase;
}

/* Blog detail page */
.blog-meta {
    margin-top: -40px;
    margin-bottom: 20px;
}
.blog-avatar {
    border-radius: 100%;
    display: inline;
    width: unset;
}
.blog-avatars {
    margin-bottom: 20px;
}
.blog-avatars .author {
  display: inline-block;
  margin-right: 30px;
}

/* Bread styles */
/* Bread listview */
.bread-list-item {
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 3px;
  margin: 12px;
  overflow: hidden;
}

.bread-list-item h2 {
  font-weight: 300;
}

/* overwrites from  @media selectors in navbar or containers.scss... */
.container-md, .container-sm, .container, .container-fluid, .crx-grid {
	max-width: unset !important;
	margin-left: 3%;
	margin-right: 3%;
	width: 94%;
}

.bread-list-item .image {
  background-color: #eb7400;
  margin: 0;
  max-width: 180px;
  max-height: 180px;
  min-width: 180px;
  min-height: 180px;
  padding: 0;
}
.bread-list-item .image:hover img {
  opacity: 0.3;
}

.bread-list-item img {
  margin: 0;
  width: auto;
}

.bread-list-item ul {
  padding-left: 2px;
}

.bread-list-item li {
  list-style: none;
}

.bread-list-item li span {
  color: #777;
  display: inline-block;
  font-weight: 600;
  width: 70px;
}

/* Bread detail page */
.bread-detail .introduction {
  color: #777;
  font-size: 1.4em;
  margin-top: 40px;
}
.bread-detail figure {
  margin: 35px auto 20px auto;
  overflow: hidden;
}
.bread-detail figure img {
  width: auto;
}
.bread-detail ul.bread-meta {
  list-style: none;
  padding-left: 0;
}
.bread-detail ul.bread-meta li ul {
  padding-left: 0;
}
.bread-detail ul.bread-meta li ul li {
  border-bottom: 1px solid #ccc;
  list-style: none;
  max-width: 450px;
}

/* Forms */
/* Form detail page */
.form-page input, .form-page textarea, .form-page select {
  display: block;
  min-width: 450px;
  max-width: 450px;
}
.form-page li input[type=checkbox], .form-page input[type=radio] {
  display: inline-block;
  margin-right: 10px;
}
.form-page .fieldWrapper ul, 
.form-page .fieldWrapper li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.form-page .required {
  color: red;
}
.form-page .fieldWrapper {
  margin-bottom: 30px;
}
.form-page .help {
  color: #999;
  font-size: 0.8em;
  margin-top: 10px;
  max-width: 350px;
}
.container.group form .vereinssitzcontainer p {
  width: 26.8%;
  display: inline-block;
}

/* Form thank you page */
.form-page-thanks h1 {
  margin-bottom: 30px;
}
.col-md-10 form :is(input, select, textarea):disabled {
  color: #777;
  background-color: #f2f2f2;
  border-color: #cfcfcf;
}

/* Generic title image header include */
.base-header img {
  height: auto;
  margin-top: 20px;
  max-width: 100%;
  width: auto;
}

@media (max-width: 970px) {
  .base-header img {
    width: 100%;
  }
}

/* Homepage */
.homepage .hero {
  margin: 0;
  padding: 20px 0 3px 0;
}

.homepage .hero h1 {
  font-size: 2.2em;
  text-transform: uppercase;
}

.homepage .hero h1:after {
  background-color: rgba(255,255,255, 0.7);
  content: "";
  display: block;
  height: 5px;
  margin: 20px auto;
  width: 250px;
}
.homepage .home-hero {
  margin-bottom: 0;
  padding-bottom: 60px;
  text-align: center;
}
.homepage .home-hero .lead {
  color: #ddd;
  font-size: 1.6em;
  margin: 40px auto;
}
.homepage .home-hero .hero-cta-link {
  color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 10px 34px 10px 10px;
  display: inline-block;
  vertical-align: middle;
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  transition-duration: 0.1s;
}
.homepage .home-hero .hero-cta-link:before {
  content: "\f18e";
  font-family: FontAwesome;
  font-size: 1.2em;
  font-weight: 200;
  opacity: 0.8;
  padding: 0 1px;
  position: absolute;
  right: 0.2em;
  top: 0.2em;
  transform: translateZ(0);
  transition-duration: 0.1s;
  transition-property: transform;
  transition-timing-function: ease-out;
}
.homepage .home-hero .hero-cta-link:hover:before,
.homepage .home-hero .hero-cta-link:focus:before,
.homepage .home-hero .hero-cta-link:active:before {
  transform: translateX(4px);
}
.homepage .streamfield {
  background: linear-gradient(45deg, rgba(170,170,170,1) 0%,rgba(238,238,238,1) 44%);
}
.homepage .streamfield-column {
  padding: 60px;
  margin: 0 auto;
  float: none;
}
.homepage .streamfield-column h1,
.homepage .streamfield-column h2,
.homepage .streamfield-column h3,
.homepage .streamfield-column h4,
.homepage .streamfield-column h5 {
  text-align: center;
}
.homepage .promo-row {
  padding: 40px 0 40px 0;
}
.homepage .promo {
  background: linear-gradient(190deg, rgba(0,4,8,1) 0%,rgba(55,28,25,1) 100%);
  border-radius: 0px 0px 10px 10px;
  color: #fff;
  height: 100%;
  margin-bottom: 20px;
  margin-top: -40px;
  padding: 40px 60px;
  text-align: center;
}
.homepage .promo h1,
.homepage .promo h2,
.homepage .promo h3,
.homepage .promo h4 {
  color: #eb7400;
  font-weight: 200;
}
.homepage .promo p,
.homepage .promo li {
  color: #ccc;
  line-height: 1.6em;
}
.homepage .promo a {
  color: #fff;
}
@media (max-width: 970px) {
  .homepage .promo {
    padding: 30px 40px;
  }
  .homepage .promo figure img {
    max-width: 120px;
    height: auto;
  }
  .homepage .promo p {
    color: #fff;
    font-size: 1em;
  }
}
@media (max-width: 766px) {
  .homepage .promo {
    margin-left: 15px;
    margin-right: 15px;
  }
}
.homepage .promo figure img {
  border-radius: 100%;
  margin: auto;
  width: auto;
}
.homepage .feature-1 h2 {
  margin-top: 0;
  margin-bottom: 20px;
}
.homepage .feature-1 .featured-children li {
  border: 1px solid #ccc;
  border-radius: 3px;
  list-style: none;
  margin-bottom: 10px;
}
.homepage .feature-1 .featured-children li figure {
  width: 100%;
  overflow: hidden;
  margin: 0;
}
.homepage .feature-1 .featured-children li img {
  width: auto;
}
.homepage .feature-1 .featured-children li h3 {
  margin-top: 40px;
  font-weight: 300;
  font-size: 1.4em;
}
.homepage .feature-2 {
  padding: 40px 0 20px;
}
.homepage .feature-2 .feature-2-row {
  display: flex;
  flex-wrap: wrap;
}
.homepage .feature-2 h2,
.homepage .feature-3 h2 {
  text-align: center;
  margin: 20px;
}
.homepage .feature-2 .feature-2-item {
  display: flex;
  flex-direction: column;
  margin: 0 auto 20px;
}
.homepage .feature-2 .featured-children li {
  list-style: none;
}
.homepage .feature-2 .feature-2-item figure {
  margin-bottom: 0;
}
.homepage .feature-2 .feature-2-item img {
  min-height: 210px;
}
.homepage .feature-2 .feature-2-item .feature-2-text {
  background-color: #dfdfdf;
  border-radius: 0 0 10px 10px;
  padding: 0 20px;
  flex: 1;
}
.homepage .feature-2 figure,
.homepage .feature-3 figure {
  background-color: #eb7400;
  margin: 0;
}
@media (max-width: 991.98px) {
  .homepage .feature-2 .feature-2-row {
    display: inline-block;
  }
}
.homepage .feature-3 .featured-children li {
  list-style: none;
}
.homepage .feature-3 h3 {
  color: #fff;
  font-weight: 300;
  font-size: 1.8em;
  margin-bottom: 135px;
  margin-top: -145px;
  position: relative;
  text-align: center;
  text-shadow: 0px 0px 30px rgba(0, 0, 0, 1);
  z-index: 1;
}
.homepage .feature-2 li:hover img,
.homepage .feature-3 li:hover img {
  opacity: 0.3;
}

.header,
.footer {
  padding-right: 0;
  padding-left: 0;
} 
ul.dropdown-menu {
  background-color: var(--colorA);
}

option:disabled {
  color: lightgrey;
}
.mvz-emoji {
    float: left;
}
/* Legende der Rollen-Symbole (03.10.2026): leiser Hinweis, Liste beim Fahren oder Fokus (Touch: Tippen = Fokus) */
.legende { position: relative; display: inline-block; margin: 0 0 8px; font-size: 14px; }
.legende-trigger { cursor: help; opacity: 0.8; text-decoration: underline dotted; text-underline-offset: 4px; }
.legende-trigger::after { content: " ⓘ"; }
.legende-liste {
  display: none; position: absolute; left: 0; top: calc(100% + 4px); z-index: 30;
  min-width: 320px; padding: 8px 14px;
  background: #fff; color: #222; border: 1px solid var(--menu-rand); border-radius: var(--mvz-radius);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  columns: 2; column-gap: 24px;
}
.legende:hover .legende-liste, .legende:focus-within .legende-liste { display: block; }
.legende-item { display: flex; align-items: center; gap: 8px; line-height: 1.9; white-space: nowrap; break-inside: avoid; }
.legende-item .mvz-emoji { float: none; width: 1.6em; text-align: center; }


div[role="contentinfo"] .col-md-10 {
  width: 100%;
  margin-left: 0;
}

/* !!!!!
   this is where navbar toggles the burger menu (mobile / portrait menu). */
@media (min-width: 992px) {
  .bread-list-item {
    width: 47%;
  }
  .navbar-expand-lg .lowerline .navbar-collapse {

  }
  /*.has-submenu:hover>.dropdown-menu, ul.dropdown-menu>li:hover>ul.dropdown-menu {
  	display: none !important;
  }*/
}


/* Menuezeile (breites Layout, Bootstrap lg = 992px): hier steht nur, WO die Listen liegen — nicht, was sie oeffnet.
   Genau EINE Schwelle, keine Orientation — sonst gelten beide Bloecke zugleich
   (Bug 02.10.2026: hochkantiges Fenster bekam Mobil- und Desktop-Regeln). */
@media (min-width: 992px) {
	.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
	  background-color: transparent;
	  color: var(--colorB);
	}
	.nav-pills>li.has-submenu { display: flex; align-items: center; }   /* Link | Pfeil in einer Zeile (Pfeil nur ohne Hover sichtbar) */
	.nav-pills>li.has-submenu>.dropdown-menu,
	ul.dropdown-menu>li>ul.dropdown-menu {
	  position: absolute;
	  z-index: 1000;
	  min-width: 160px;
	  width: max-content;         /* Breite aus dem Text, nicht aus einer Konstante */
	  max-width: 420px;
	  padding: 0;
	  margin: 0;                  /* direkt am Punkt, ueber der Dachkante: die Liste gehoert sichtbar zu ihm (Mike, 03.10.) */
	  font-size: 16px;
	  text-align: left;
	  list-style: none;
	}
	.nav-pills>li.has-submenu>.dropdown-menu { top: 100%; left: 0; }
	ul.dropdown-menu>li>ul.dropdown-menu {
	    left: 100%;                 /* buendig an der Elternliste — vorher right: -251px zu einem textbreiten li: Spalt und Ueberlappung */
	    top: -1px;                  /* Rand der Elternliste (ihr Polster ist hier 0): erster Eintrag auf Hoehe des gefahrenen */
	}
	.dropdown-menu > li> a:hover {
	  background-color: transparent;
	  color: var(--colorB);
	}
}

/* Hover — Ergaenzung fuer Geraete mit Maus in der Menuezeile: der Pfeil verschwindet, Fahren oeffnet, tiefere Stufen als
   Flyout, Eintraege mit Unterliste tragen rechts einen Winkel. Ein iPad ohne Trackpad meldet (hover: none) und behaelt den
   Pfeil; mit Trackpad ist es hier drin. */
@media (hover: hover) and (min-width: 992px) {
	.menu-auf { display: none; }
	.has-submenu:has(> .menu-auf[aria-expanded="true"]):not(:hover) > .dropdown-menu { display: none; }   /* der Server-Zustand (aktiver Ast offen) gilt hier nicht — sonst blitzt die Liste bis main.js laeuft, und haengt, wenn es ausfaellt */
	.has-submenu:hover > .dropdown-menu,
	ul.dropdown-menu > li:hover > ul.dropdown-menu { display: block; }
	.dropdown-menu>li.has-submenu>a { position: relative; padding-right: 32px; }
	.dropdown-menu>li.has-submenu>a::after {
	  content: ""; position: absolute; right: 14px; top: 50%;
	  width: 7px; height: 7px;
	  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	  transform: translateY(-50%) rotate(-45deg);
	  opacity: 0.6;
	}
}

/* Mobil-Navigation und Formulare unterhalb von Bootstrap lg — Komplement zum Block
   oben. 991.98 statt 991: Bruchteile von Pixeln bei Zoom fallen nicht ins Loch. */
@media (max-width: 991.98px) {
/* Main menu */
  /*nav {
    margin: 15px 0 5px;
    display: none;
  }*/
  .auth table td,
  .auth table th {
  	float: left;
    width: 100%;
  }
  /* Kopf schmal (03.10.2026): ein Raster aus zwei Zeilen — Logo | angemeldet-als rechts,
     Burger | Suche rechts, darunter das aufgeklappte Menue. Die Zwischen-Container (upperline,
     rightaligned, lowerline) werden mit display: contents durchsichtig, das Markup bleibt. */
  nav.navbar > .container {
    width: 100%;                /* als Flex-Kind der navbar sonst nur so breit wie der Inhalt */
    padding-top: 16px;          /* die upperline ist hier display: contents, ihre 16px ueber dem Logo kommen vom Raster-Container */
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 6px;
    align-items: center;
  }
  .upperline, .navbar .upperline .rightaligned, .lowerline { display: contents; }   /* .navbar davor: schlaegt die Desktop-Regel (float, 88 %, flex) */
  .upperline .navbar-brand { grid-column: 1; grid-row: 1; float: none; width: auto; }
  .nav.logininformation {
    grid-column: 2; grid-row: 1;
    justify-content: flex-end;
    margin-right: 0;
    min-width: 0;
  }
  .nav.logininformation a { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .navbar-toggler { grid-column: 1; grid-row: 2; justify-self: start; }
  .upperline .searchelement {
    grid-column: 2; grid-row: 2;
    justify-self: end;
    width: min(100%, 340px);
  }
  .navbar-collapse { grid-column: 1 / -1; grid-row: 3; }
  /* Farben und Abmelden nur als Symbol, so gross wie die Lupe im Suchfeld; der Text bleibt als title */
  .nav.logininformation .txt { display: none; }
  .nav.logininformation .ikon { width: 22px; height: 22px; vertical-align: -6px; opacity: 1; }
  .nav.logininformation a.farbenlink { margin-left: 18px; }
  .search {
    float: none;
  }
  .navbar-toggle {
    margin-right: 0;
    padding-right: 0;
  }
  /* Bis zum Umschaltpunkt des Menues (992px) die volle Breite nutzen: Bootstrap deckelt .container
     ab 768px auf 720px und col-md-10 auf 83 %, das liess rechts ein Fuenftel leer. */
  .container,
    div[role="alertdialog"] {
    width: auto;
    max-width: none;
    padding-left: 20px;
    padding-right: 20px;
  }
  .col-md-10 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
  div[role="alertdialog"] {
    margin-left: auto;
    margin-right: auto;
    margin-top: 25px;
    background-color: #EEEEEE;
    padding: 20px;
  }
  .search {
    display: none;
    margin: 15px 0 0 0;
    position: relative;
  }
  button.okcancel {
    width: 39%;
  }
  .col-md-10 form .flaglist, ul.formular-tabs, .koordinaten { margin-left: 0; }   /* schmal: Labels stehen ueber den Feldern, keine Feldspalte */
  /* Reiter schmal: eine Reihe, seitlich wischbar (Material-Muster „scrollable tabs"); ein angeschnittener Reiter zeigt, dass es weitergeht */
  ul.formular-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 0 4px; scrollbar-width: none; }
  ul.formular-tabs::-webkit-scrollbar { display: none; }
  /* Kante verblasst, wo noch Reiter liegen (main.js setzt data-ueberlauf beim Scrollen) */
  ul.formular-tabs[data-ueberlauf="rechts"] { mask-image: linear-gradient(to right, #000 calc(100% - 48px), transparent); }
  ul.formular-tabs[data-ueberlauf="links"]  { mask-image: linear-gradient(to right, transparent, #000 48px); }
  ul.formular-tabs[data-ueberlauf="beide"]  { mask-image: linear-gradient(to right, transparent, #000 48px, #000 calc(100% - 48px), transparent); }
  .formular-tabs .nav-link { padding: 8px 12px; font-size: 15px; white-space: nowrap; }

  .container.group form label {
    text-align: left;
    margin-bottom: 0;
    width: 100%;
  }
  /* Feldabstand schmal (03.10.2026): Label 4px ueber dem Feld, 16px zwischen den Feldern — vorher 20 (Feld) + 15 (p) + 5 (Label) + Zeilenluecke = 45 */
  .col-md-10 form p :is(input[type=text], input[type=date], select, textarea) {
    width: 100%;
    margin-bottom: 0;
  }
  .col-md-10 form p {
      display: block;
      margin-bottom: 16px;
  }
  .col-md-10 form p label { display: block; padding-top: 0; margin-bottom: 4px; }
  .col-md-11.mvz {
    max-width: unset;
    width: 100%;
  }
  .container.group form .vereinssitzcontainer p:nth-child(2) {
    width: 100%;
  }
  .container.group form .vereinssitzcontainer p:nth-child(2) input {
    margin-bottom: 0;
  }
  .container.group form .vereinssitzcontainer p:nth-child(3) {
    width: 30%;
    float: left;
  }
  .container.group form .vereinssitzcontainer p:nth-child(3) label,
  .container.group form .vereinssitzcontainer p:nth-child(4) label {
    width: 50%;
  }
  .container.group form .vereinssitzcontainer p:nth-child(3) input {
    width: 88%;
  }
  .container.group form .vereinssitzcontainer p:nth-child(4) {
    width: 70%;
  }
  .container.group form .vereinssitzcontainer p:nth-child(4) input {
    width: 100%;
  }
  button.okcancel {
    width: 39%;
  }
  .row.half {
      width: 100%;
      float: none;
      min-height: unset;
  }

  .col-md-10 form p label, .container.group form label {
      width: 100%;
      text-align: left;
  }
  span.preHelptext {
      margin-left: 0;
  }
  span.helptext {
      margin-left: 0;
  }

  #extendedSearch .mvzsearch label {
  overflow: hidden;
  }

  /*.navbar-collapse.collapse {
    display: none !important;
  }
  .navbar-collapse.collapse[aria-expanded="true"] {
    display: block !important;
  }*/
  button.navbar-toggle {
     display: block !important;
  }

  /* Menue schmal (03.10.2026): ein Overlay unter dem Kopf statt Teil des Seitenflusses, Akkordeon (Schalter: Basis oben),
     44px Zeilen fuer den Daumen, zwei Stufen. Hover schaltet hier nichts — es gibt keinen Hover-Block fuer dieses Layout. */
  .navbar-collapse {
    position: absolute;
    left: 0; right: 0; top: 100%;
    z-index: 40;
    max-height: calc(100vh - 100%);
    overflow-y: auto;
    padding: 8px 20px 16px;
    background: var(--colorA);
    border-bottom: 3px solid var(--kante);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18);
  }
  #main-navigation ul.nav { display: block; }   /* nur das Menue — ul.formular-tabs traegt auch .nav und bleibt flex */
  .nav-pills>li { float: none; padding: 0; }
  .nav-pills>li>a { padding: 0; }
  .has-submenu { display: flex; flex-wrap: wrap; align-items: center; }
  .has-submenu>a { flex: 1 1 auto; }
  .nav-pills>li>a, .dropdown-menu>li>a { display: flex; align-items: center; min-height: 44px; }
  .menu-auf {
    width: 44px; height: 44px;
    margin-right: -12px;        /* das Zeichen sitzt buendig mit dem Rand, die Flaeche darf darueber hinaus */
  }
  .has-submenu .dropdown-menu {
    display: none;
    position: static;
    flex: 0 0 100%;
    width: 100%;
    margin: 0 0 8px;
    padding: 0 0 0 16px;
    border: 0; box-shadow: none; background: none;
  }
  .dropdown-menu>li>a { padding: 0; font-size: 15px; }


  div#content {
      width: 100vw;
      overflow-x: scroll;
  }
  nav.navbar {
    overflow-x: clip;
  }
  table#adminFunktionsTabelle {
    margin-bottom: 4em;
  }
  .legende-liste { columns: 1; min-width: 0; right: 0; }
}

