body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
header,footer,nav,section,aside,main,article,figure,figcaption{display:block}body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img,iframe{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
.rs-columns {
  clear: both;
  display: inline-block;
  width: 100%;
}

.rs-column {
  float: left;
  width: 100%;
  margin-top: 7.69231%;
  margin-right: 7.69231%;
}
.rs-column.-large-first {
  clear: left;
}
.rs-column.-large-last {
  margin-right: -5px;
}
.rs-column.-large-first-row {
  margin-top: 0;
}
.rs-column.-large-col-1-1 {
  width: 100%;
}
.rs-column.-large-col-2-1 {
  width: 46.15385%;
}
.rs-column.-large-col-2-2 {
  width: 100%;
}
.rs-column.-large-col-3-1 {
  width: 28.20513%;
}
.rs-column.-large-col-3-2 {
  width: 64.10256%;
}
.rs-column.-large-col-3-3 {
  width: 100%;
}
.rs-column.-large-col-4-1 {
  width: 19.23077%;
}
.rs-column.-large-col-4-2 {
  width: 46.15385%;
}
.rs-column.-large-col-4-3 {
  width: 73.07692%;
}
.rs-column.-large-col-4-4 {
  width: 100%;
}
.rs-column.-large-col-5-1 {
  width: 13.84615%;
}
.rs-column.-large-col-5-2 {
  width: 35.38462%;
}
.rs-column.-large-col-5-3 {
  width: 56.92308%;
}
.rs-column.-large-col-5-4 {
  width: 78.46154%;
}
.rs-column.-large-col-5-5 {
  width: 100%;
}
.rs-column.-large-col-6-1 {
  width: 10.25641%;
}
.rs-column.-large-col-6-2 {
  width: 28.20513%;
}
.rs-column.-large-col-6-3 {
  width: 46.15385%;
}
.rs-column.-large-col-6-4 {
  width: 64.10256%;
}
.rs-column.-large-col-6-5 {
  width: 82.05128%;
}
.rs-column.-large-col-6-6 {
  width: 100%;
}
@media screen and (max-width: 900px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-first {
    clear: none;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: left;
  }
  .rs-column.-medium-last {
    margin-right: -5px;
  }
  .rs-column.-medium-first-row {
    margin-top: 0;
  }
  .rs-column.-medium-col-1-1 {
    width: 100%;
  }
  .rs-column.-medium-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-2-2 {
    width: 100%;
  }
  .rs-column.-medium-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-3-3 {
    width: 100%;
  }
  .rs-column.-medium-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-medium-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-medium-col-4-4 {
    width: 100%;
  }
  .rs-column.-medium-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-medium-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-medium-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-medium-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-medium-col-5-5 {
    width: 100%;
  }
  .rs-column.-medium-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-medium-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-medium-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-medium-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-medium-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-medium-col-6-6 {
    width: 100%;
  }
}
@media screen and (max-width: 599px) {
  .rs-column {
    margin-top: 7.69231%;
    margin-right: 7.69231%;
  }
  .rs-column.-large-last {
    margin-right: 7.69231%;
  }
  .rs-column.-large-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-medium-first {
    clear: none;
  }
  .rs-column.-medium-last {
    margin-right: 7.69231%;
  }
  .rs-column.-medium-first-row {
    margin-top: 7.69231%;
  }
  .rs-column.-small-first {
    clear: left;
  }
  .rs-column.-small-last {
    margin-right: -5px;
  }
  .rs-column.-small-first-row {
    margin-top: 0;
  }
  .rs-column.-small-col-1-1 {
    width: 100%;
  }
  .rs-column.-small-col-2-1 {
    width: 46.15385%;
  }
  .rs-column.-small-col-2-2 {
    width: 100%;
  }
  .rs-column.-small-col-3-1 {
    width: 28.20513%;
  }
  .rs-column.-small-col-3-2 {
    width: 64.10256%;
  }
  .rs-column.-small-col-3-3 {
    width: 100%;
  }
  .rs-column.-small-col-4-1 {
    width: 19.23077%;
  }
  .rs-column.-small-col-4-2 {
    width: 46.15385%;
  }
  .rs-column.-small-col-4-3 {
    width: 73.07692%;
  }
  .rs-column.-small-col-4-4 {
    width: 100%;
  }
  .rs-column.-small-col-5-1 {
    width: 13.84615%;
  }
  .rs-column.-small-col-5-2 {
    width: 35.38462%;
  }
  .rs-column.-small-col-5-3 {
    width: 56.92308%;
  }
  .rs-column.-small-col-5-4 {
    width: 78.46154%;
  }
  .rs-column.-small-col-5-5 {
    width: 100%;
  }
  .rs-column.-small-col-6-1 {
    width: 10.25641%;
  }
  .rs-column.-small-col-6-2 {
    width: 28.20513%;
  }
  .rs-column.-small-col-6-3 {
    width: 46.15385%;
  }
  .rs-column.-small-col-6-4 {
    width: 64.10256%;
  }
  .rs-column.-small-col-6-5 {
    width: 82.05128%;
  }
  .rs-column.-small-col-6-6 {
    width: 100%;
  }
}

body { 
    width: 100%;
    margin: 0;
    background: url("/files/home/bussard_background.jpg") repeat center center;
    font-family: Arial, Helvecia, sans-serif, Comic Sans MS;
    line-height: 1.3;
    font-size: 22px;
    color: #e0ffff;
}
#main {
    width: 100%;
    padding: 17px;
    box-sizing: border-box;
}
.rs-column {
    margin-right: 2%;
}

.rs-column.-large-col-2-1 {width: 48%} .rs-column.-large-last {margin-right: -3px;}

/* Gezielte Korrektur für deine .content-text .rte Struktur */
.content-text .rte ul {
    list-style-type: disc !important;
    list-style-position: outside !important;
    padding-left: 2rem !important;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.content-text .rte ul li {
    display: list-item !important;
    margin-bottom: 0.5rem;
    /* Falls die Schriftfarbe das Problem ist, hier zur Sicherheit: */
    color: inherit; 
}

blockquote {
    border-left: 4px solid #000033;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #99ccff;
    background: rgba(0, 0, 51, 0.05);
    border-radius: 6px;
}
/* ===========================
   RESPONSIVE ROCKSOLID COLUMNS
   =========================== */

@media (max-width: 768px) {

    .rs-column {
        width: 100% !important;
        max-width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 18px;
    }

    .rs-column.-large-last {
        margin-right: 0 !important;
    }
}

/*-----------------
INHALTSELEMENTE
-----------------
Beispiel: bg-xy > * {...} mit Abstand zwischen den Zeilen*/
.bg-grün  {
    margin: 9px 0 9px 0;
    padding: 17px;
    background: rgba(0, 34, 0, 0.3);
    border-radius: 9px;
}

.bg-lila  {
    margin: 9px 0 9px 0;
    padding: 17px;
    background: rgba(36, 0, 36, 0.3);
    border-radius: 9px;
}
.bg-db  {
    margin: 9px 0 9px 0;
    padding: 17px;
    background: rgba(0, 0, 51, 0.3);
    border-radius: 9px;
}
.bg-dbr {
    margin: 9px 0 9px 0;
    padding: 17px;
    background: rgba(0, 3, 2, 0.3);
    border-radius: 9px;
}
.bg-roses {
    background: linear-gradient(rgba(0,34,0,0.66), rgba(0,34,0,0.66)), url("/files/team/rosen-rot.jpg") center center / cover no-repeat;
    margin: 9px 0 9px 0;
    padding: 17px;
    border-radius: 9px;
}
.note-br {
    background: #030200;
    margin-bottom: 9px;
    padding: 22px 0 22px 33px;
    border-radius: 9px;
}
/*EINZELNE VERLINKUNGEN*/
a {
    font-family: Sans-Serif;
    font-size: 17px;
    font-weight: bold;
    text-decoration: underline;
    padding: 10px 15px;
    display: inline-block;
    color: #99ccff;
}

a:hover {
    font-family: Sans-Serif;
    font-size: 17px;
    font-weight: bold;
    color: #e0ffff;
    opacity: 0.7;
}

h1 {margin: 0.777rem; font-family: Comic Sans MS; font-size: 36px; color: #face00; font-weight: bold;}
h2 {font-family: Comic Sans MS; font-size: 30px; color: #99ccff;font-weight: bold;}
h3 {font-family: Comic Sans MS; font-size: 27px; color: #99ccff;font-weight: bold;}
h4 {font-family: Comic Sans MS; font-size: 24px; color: #99ccff;font-weight: bold;}

/*Trennlinie: Dreifarbiger-Gradient - horizontal, elegant, mystisch*/
.trennlinie {
    display: flex;
    justify-content: center;
    width: 88%;
    height: 9px;
    background: linear-gradient(to right, #030200, #996600, #030200);
    border-radius: 7px;
    margin: 2rem auto;
}

/* */
.trennlinie-center {
    height: 9px;
    background: radial-gradient(circle, #00cd00 0%, #68228b 60%, #996600 100%);
    margin: 17px 33px 17px 33px;
    border-radius: 2px;
}
/*Eine Linie, aber mit „Aura“ (leichtes Glühen)*/
.trennlinie-glow {
    height: 3px;
    background: linear-gradient(to right, #00cd00, #68228b, #996600);
    box-shadow: 0 0 8px rgba(36, 0, 36, 0.6);
    border-radius: 2px;
    margin: 2rem 0;
}
/*Drei einzelne Linien untereinander*/

.trennlinie-3 {
    margin: 2rem 0;
}

.trennlinie-3 div {
    height: 3px;
    margin-bottom: 3px;
    border-radius: 2px;
}

.trennlinie-3 div:nth-child(1) { background: #00cd00; }
.trennlinie-3 div:nth-child(2) { background: #68228b; }
.trennlinie-3 div:nth-child(3) { background: #996600; }

/* =========================================================
   1. HEADER GRUNDGERÜST (Flexbox)
   ========================================================= */
#header {
    background-color: #000033; /* Dein gewünschter Hintergrund */
    padding: 10px 20px; /* Etwas Innenabstand oben/unten und links/rechts */
}
/* Der innere Container des Headers ordnet die 3 Elemente an */
#header .inside {
    display: flex;
    justify-content: space-between; /* Verteilt: 1 links, 1 mittig, 1 rechts */
    align-items: center; /* Zentriert alles auf der vertikalen Achse */
    flex-wrap: wrap; /* Hilft bei kleineren Bildschirmen */
}
#header, 
#header .inside {
    overflow: visible !important; /* WICHTIG: Erlaubt, dass Dropdowns aus dem Header "rausfallen" dürfen */
    position: relative;
    z-index: 10;
}

/* =========================================================
   2. LOGO (Links)
   ========================================================= */
/* Wir geben dem Logo eine maximale Höhe, damit es den Header nicht sprengt */
#header img {
    max-height: 99px; /* Hier ggf. anpassen */
    width: auto;
}
.logo_block {
    display: flex;
    flex-direction: column;
    align-items: center; /* zentriert Bild + Text */
}

.logo_subtitle {
    margin-top: 0; /* näher ans Logo */
    margin-left: 0; /* leicht nach links verschoben */
    font-family: Comic Sans MS;
    font-size: 13px;
    font-weight: bold;
    color: #face00;
}

/* =========================================================
   3. NAVIGATION (Mitte)
   ========================================================= */
#header .mod_navigation { 
    position: relative; 
    overflow: visible !important;
    z-index: 9999;

}

/* Grundlegendes Listen-Styling entfernen */
#header .mod_navigation ul {

    margin: 0;
    padding: 0;
}

/* -- Ebene 1 (Hauptnavigation) -- */
#header .mod_navigation .level_1 {
    display: flex; /* Macht die Hauptpunkte horizontal */
    gap: 17px; /* Abstand zwischen den Menüpunkten */
}

#header .mod_navigation .level_1 > li {
    position: relative; /* Wichtig, damit das Dropdown später richtig positioniert wird */
}

#header .mod_navigation .level_1 > li > a,
#header .mod_navigation .level_1 > li > span /* Contao nutzt oft span für aktive Seiten */ {
    display: block;
    font-size: 17px;
    color: #99ccff;
    text-decoration: underline;
}

#header .mod_navigation .level_1 > li > a:hover {
    background-color: #5a7a90;
    padding: 9px 17px;
    font-family: Sans-Serif;
    color: #e0ffff;
}

/* Aktiver Zustand (Ebene 1) */
#header .mod_navigation .level_1 > li.active > a,
#header .mod_navigation .level_1 > li.active > span,
#header .mod_navigation .level_1 > li.trail > a {
    background-color: #5a7a90;
    color: #e0ffff;
}

/* Die 2. Ebene - Grundzustand: Absolut unsichtbar */
#header .mod_navigation .level_2 {
    display: none !important; /* Erstmal radikal weg */
    position: absolute;
    top: 100%;        /* Erscheint exakt unter der Oberkante des LI */
    left: 0;
    z-index: 9999;    /* Sicherstellen, dass es ÜBER dem Baustellen-Bild liegt */
    background-color: #000033;
    min-width: 170px;
    padding: 0;
    border: 1px solid #5a7a90;
    margin: 0;
    text-decoration: underline;
}

/* DER AKTIVATOR: Beim Drüberfahren auf dem LI (!) einblenden */
#header .mod_navigation .level_1 li:hover > ul.level_2,
#header .mod_navigation .level_1 li:active > ul.level_2,
#header .mod_navigation .level_1 li:focus-within > ul.level_2 {
    display: block !important; /* Hier zwingen wir Contao zur Anzeige */
}

/* Styling der Links in Ebene 2 */
#header .mod_navigation .level_2 a,
#header .mod_navigation .level_2 span {
    display: block;
    padding: 7px 7px;
    font-family: Sans-Serif;
    font-size: 17px;
    color: #e0ffff;
    text-decoration: none;
    white-space: nowrap; /* Verhindert hässliche Zeilenumbrüche */
}

#header .mod_navigation .level_2 a:hover {
    background-color: #5a7a90;
    color: #e0ffff;
}

/* =========================================================
   4. SUCHE (Rechts)
   ========================================================= */
/* Wir geben dem Formular UND dem inneren Div Flexbox, damit es klappt */
#header .mod_search form,
#header .mod_search form > div {
    display: flex;
    align-items: stretch; /* Zieht Button und Input auf exakt die gleiche Höhe */
}

/* Eingabefeld */
#header .mod_search input[type="search"],
#header .mod_search input[type="text"] {
    max-width: 111px;
    padding-left: 3px;
    background: #5a7a90;
    font-size: 1.0606rem;
    color: #e0ffff;
    border: 1px solid #5a7a90;
    border-radius: 3px 0 0 3px; /* Runde Ecken nur links */
    outline: none;
}

/* Suchen-Button */
#header .mod_search button,
#header .mod_search input[type="submit"] {
    padding: 0 8px; /* Etwas breiter gemacht, damit der Text Luft hat */
    background: #000033;
    font-size: 1rem;
    color: #99ccff;
    border: 1px solid #5a7a90;
    border-left: none; /* Verhindert eine doppelte Linie zwischen Feld und Button */
    border-radius: 0 3px 3px 0; /* WICHTIG: Links eckig, rechts rund */
    cursor: pointer;
}

#header .mod_search button:hover,
#header .mod_search input[type="submit"]:hover {
    background-color: #5a7a90;
    color: #e0ffff;
}
/* -----------------------------------
   Titelbild
----------------------------------- */
.titelbild {
    position: relative;
    width: 100%;
    height: 777px;
    overflow: hidden;
}

.titelbild-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
}

.titeltext {
    position: absolute;
    top: 17%;
    left: 33px;
    transform: translateY(-50%);
    font-family: Comic Sans MS;
    text-align: left;
    z-index: 2;
}
/* Nur normale Einzelbilder */
.image_container {
    position: relative;
    overflow: hidden; /* wichtig für den Zoom */
}

/* Bild selbst */
.image_container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
    object-fit: cover; /* sorgt für sauberes Skalieren */ 
}

/* Hover-Zoom */
.image_container:hover img {
    transform: scale(1.05);
}
.titelbild {
    border-radius: 9px;
}
.titeltext {
    background: rgba(10, 11, 17, 0.2);
    border-radius: 9px;
}

figure {

    margin: 0 7px 0 7px;
    border-radius: 9px;
    overflow: visible;
}
figure img {
    border-radius: 9px;
    display: block;
}

figcaption {
    max-width: 555px ;
    padding-left: 9px;
    background: rgba(0, 0, 51, 0.3);
    font-size: 1rem;
    color: #e0ffff;
    border-left: 3px solid #5a7a90;
    border-bottom: 1px solid #5a7a90;
    border-radius: 9px;
}

.mod_newslist .image_container.float_left {
    float: left;
    margin: 0 1rem 1rem 0;
    width: auto;
}

.mod_newslist .image_container.float_right {
    float: right;
    margin: 0 0 1rem 1rem;
    width: auto;
}
.mod_newslist figure.image_container img {
    border-radius: 9px !important;
    display: block; /* verhindert weiße Linien */
}
/* RESET */
[class*="content-gallery--cols-"] * {
    background: rgba(0, 0, 51, 0.5);
    margin: 0;
    padding: 3px;
    border: 0;
    border-radius: 9px;
}

/* UL als Flex-Container */
[class*="content-gallery--cols-"] ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    list-style: none;
    gap: 7px;
}

/* LI */
[class*="content-gallery--cols-"] ul li {
    flex: 0 0 calc(25% - 7px);
    margin-bottom: 7px;
    padding: 0 !important;
}

/* Contao-Wrapper neutralisieren */
[class*="content-gallery--cols-"] ul li > div,
[class*="content-gallery--cols-"] ul li > a {
    margin: 0 !important;
    padding: 0 !important;
    display: block;
}

/* Spaltenbreiten */
.content-gallery--cols-1 ul li { flex: 0 0 100%; }
.content-gallery--cols-2 ul li { flex: 0 0 calc(50% - 7px); }
.content-gallery--cols-3 ul li { flex: 0 0 calc(33.333% - 7px); }
.content-gallery--cols-4 ul li { flex: 0 0 calc(25% - 7px); }

/* FIGURE – Box, die Contao füllt */
[class*="content-gallery--cols-"] figure {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(0, 0, 0, 0.05);

    border-radius: 9px;
    overflow: visible;
}

/* Bild – Contao liefert die richtige Größe */
[class*="content-gallery--cols-"] figure img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease, filter 0.3s ease;
}

/* Hover */
[class*="content-gallery--cols-"] figure:hover img {
    transform: scale(1.03);
    filter: brightness(1.08);
}

/* Bildunterschrift */
[class*="content-gallery--cols-"] figcaption {
    margin-top: 3px;
    font-size: 14px;
    line-height: 1.4;
    color: #e0ffff;
    text-align: center;
}

/* Responsive Tablet */
@media (max-width: 900px) {
    [class*="content-gallery--cols-"] ul li {
        flex: 0 0 calc(50% - 7px);
    }
}

/* Responsive Handy */
@media (max-width: 600px) {
    [class*="content-gallery--cols-"] ul li {
        flex: 0 0 100%;
    }
}

/* Grundlayout: 2er- und 3er-Reihe → jetzt automatisch responsiv */
.box-row {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

/* Die Modifikatoren bleiben bestehen, falls du später Unterschiede brauchst */
.box-row--2 > .box,
.box-row--3 > .box {
    /* Flex fällt weg, Grid übernimmt */
}

/* Gemeinsame box-basis */
.box {
    padding: 1rem;
    border-radius: 9px;
    border: 1px solid #000033;
    color: #fff;
    box-sizing: border-box;
}

.box img {
    width: 100%;
    height: 399px;
    object-fit: cover;
    object-position: top center; /* oder 20% 50% */
}

/*verschiedene Hintergründe als Themen*/
.bg-natur {
    color: #00cd00;
    background: #002200;
}

.bg-spirit {
    color: #cc99cc;
    background: #240024;
}

.bg-kultur {
    color: #996600;
    background: #030200;
}
.bg-orange {
    color: #000033;
    background: #face00;
}
.bg-nachtblau{
    color: #e0ffff;
    background: #000033;
}
.bg-background {
    color: #e0ffff;
    background: #5a7a90;
}
/*3 GLEICHE BOXEN UNTER
DER BILDERGALERIE*/
.box_3 {
    display: flex;
    gap: 1rem;
    margin-top: 0.777rem;
    margin-bottom: 0.777rem;
}

.box_3 > div {
    flex: 1;
    padding: 1rem 1.25rem;
    background: rgba(3, 2, 0, 0.3);
    border: 1px solid rgba(153, 204, 255, 0.25);
    border-radius: 6px;
    color: #cce6ff;
    font-size: 1.1rem;
    text-align: center;
}

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

#footer {
    width: 100%;
    margin: 0;
    padding: 0;
    background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.4)),
     url("/files/home/gerste.jpg") center/cover no-repeat;
    border-top: 1px solid #101117;
    font-family: Sans-Serif;
    font-size: 17px;
}

/* Grundstruktur */
.footer-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 9px;
}

.footer-row .col {
    flex: 1;
    padding: 9px;
}

/* ===========================
   BEGRÜSSUNG
   =========================== */

.greeting-top {
    font-size: 27px;
    color: #face00;
    font-weight: bold;
    margin-bottom: 3px;
    text-align: center;
}

.greeting-sub {
    text-align: center;
    margin-top: 0;
    margin-bottom: 18px;
    line-height: 1.3;
}

/* ===========================
   LOGO OBEN LINKS – FUNKTIONIERENDER ZUSTAND
   =========================== */

.footer-row.top .col.left img {
    max-width: 99px;
    height: auto;
}

.footer-logo-subtitle {
    margin-top: -17px;
    margin-left: 30px;
    font-family: "Comic Sans MS";
    font-size: 17px;
    font-weight: bold;
    color: #face00;
}

/* ===========================
   MITTLERE EBENE (mit Blur)
   =========================== */

.footer-row.middle {
    background: rgba(0,0,0,0.25);
    border-radius: 12px;
    padding: 25px 10px;
    backdrop-filter: blur(2px);
}

.footer-title {
    color: #face00;
    font-weight: bold;
    margin-bottom: 3px;
    font-size: 27px;
}

.go-to-title {
    font-size: 27px;
}

.footer-sub {
    margin-top: 0;
    line-height: 1.3;
}

/* ===========================
   MAIL & TELEGRAM
   =========================== */

.mail-to {
    color: #99ccff;
    text-decoration: underline;
}

.mail-to:hover {
    text-decoration: none;
}

.telegram-btn {
    display: inline-block;
    padding: 7px 9px;
    font-size: 13px;
    font-weight: bold;
    background: #0088cc;
    color: white;
    border-radius: 9px;
    position: relative;
    top: -3px;
}

/* ===========================
   UNTERER FOOTERBEREICH
   =========================== */

.footer-bottom {
    background: #030200;
    padding: 12px;
    border-top: 1px solid #996600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bottom-left {
    text-align: left;
    color: white;
}

.bottom-left a {
    color: #99ccff;
}

.bottom-right {
    text-align: right;
    padding-right: 33px;
    white-space: nowrap;
}

/* ===========================
   CONTAO LOGO BLOCK – VIP
   =========================== */

.contao-credit {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-left: 10px;
}

.contao-logo-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.contao-logo-link img {
    height: 28px;
}

.made-with {
    font-size: 0.9rem;
    color: #face00;
    opacity: 0.85;
}

.contao-subtitle {
    margin-top: -22px;
}

.contao-subtitle a {
    font-size: 13px;
    color: #face00;
    opacity: 0.9;
    text-decoration: underline;
}

.contao-subtitle a:hover {
    color: #ffd84d;
}
/* ===========================
   RESPONSIVE FOOTER
   =========================== */

@media (max-width: 768px) {

    .footer-row {
        flex-direction: column;
        text-align: center;
        gap: 18px;
    }

    .footer-row .col {
        padding: 6px 0;
    }

    .footer-title,
    .go-to-title {
        font-size: 22px;
    }

    .greeting-top {
        font-size: 22px;
    }

    .footer-bottom {
        flex-direction: column;
        text-align: center;
        gap: 9px;
        padding: 18px 6px;
    }

    .bottom-right {
        padding-right: 0;
        white-space: normal;
    }
}

.header-right-box {
    display: flex;
    flex-direction: column;
    align-items: flex-end; /* Rechtsbündig untereinander */
    gap: 7px; /* Abstand zwischen Suche und Dropdown */
}

/* 2. GTranslate Dropdown an die Suche (111px) anpassen */
.gtranslate_wrapper select {
    width: 177px !important; /* Gleiche Breite wie dein Suchfeld */
    background-color: #5a7a90 !important; /* Gleiche Farbe wie die Suche */
    color: #e0ffff !important;
    border: 1px solid #5a7a90 !important;
    border-radius: 3px !important;
    font-size: 17px !important;
    padding: 3px !important;
    cursor: pointer;
    outline: none;
}

/* 3. Den unschönen Standard-Abstand vom Wrapper entfernen */
.gtranslate_wrapper {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
@media (max-width: 767px) {
    
    /* Hamburger-Button sichtbar machen */
    .nav-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: space-between;
        width: 30px;
        height: 20px;
        cursor: pointer;
        margin: 10px;
    }

    .nav-toggle span {
        width: 100%;
        height: 3px;
        background-color: #5a7a90; /* Dein Blau */
        transition: 0.3s;
    }

    /* Die Navigation stapeln */
    .mod_navigation {
        display: none; /* Erst beim Klick zeigen */
        width: 100%;
        background: #000033; /* Dunkelblau wie im Screen */
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 1000;
    }

    /* Klick-Logik */
    #nav-checkbox:checked ~ .mod_navigation {
        display: block !important;
    }

    .mod_navigation ul {
        display: flex !important;
        flex-direction: column !important;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .mod_navigation li a {
        display: block;
        padding: 15px 20px;
        color: #ffffff !important;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        text-decoration: none;
    }

    /* Hamburger Animation zum X */
    #nav-checkbox:checked + .nav-toggle span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
    #nav-checkbox:checked + .nav-toggle span:nth-child(2) { opacity: 0; }
    #nav-checkbox:checked + .nav-toggle span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }
}
.mod_newslist { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 9px; 
    justify-content: flex-start; 
    margin: 0; 
    
} /* --- EINZELNER NEWS-BLOCK --- */ 
.mod_newslist .layout_latest { 
    flex: 1 1 calc(33.333% - 27px); 
    background: rgba(16, 17, 23, 0.3); 
    border: 3px solid #000033; 
    border-radius: 9px; 
    overflow: hidden; 
    box-sizing: border-box; 
    padding: 0; /* WICHTIG: Kein Padding mehr hier */ 
}

.mod_newslist .layout_latest .image_container,
.mod_newslist .layout_latest .image_container * {
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    text-align: center;
}

.mod_newslist .layout_latest .image_container img {
    width: 100%;
    height: auto;      /* WICHTIG: kein Cropping */
    display: block;    /* entfernt den weißen unteren Bildrand */
    object-fit: contain;
}

/* --- ÜBERSCHRIFT --- */
.mod_newslist .layout_latest h2,
.mod_newslist .layout_latest h2 a {
    color: #99ccff;
    font-size: 1.3rem;
    margin: 0;
    text-decoration: none;
    border-top: 1px solid #000033;
}

/* --- TEASER --- */
.mod_newslist .layout_latest .teaser {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    margin: 0;
    font-family: Sans-Serif;
}

.mod_newslist .layout_latest .ce_text p {
    margin-top: 0;
    font-size: 1.2rem;
    padding: 9px;
}

.mod_newslist .layout_latest .info {
    display: none;
}

.mod_newslist .layout_latest .more a {
    color: #99ccff;
    text-decoration: underline;
}


/* --- RESPONSIVE BREAKPOINTS --- */
/* 2 Spalten ab ca. Tablet */
@media (max-width: 900px) {
    .mod_newslist .layout_latest {
        flex: 1 1 48%;
    }
}

/* 1 Spalte auf Mobile */
@media (max-width: 600px) {
    .mod_newslist .layout_latest {
        flex: 1 1 100%;
    }
}

/* --- EINZELNER NEWS-BLOCK (layout_short) --- */
.mod_newslist .layout_short {
    width: 399px;
    background: rgba(16, 17, 23, 0.3);
    border: 3px solid #000033;
    border-radius: 9px;
    padding: 7px;
    color: #e0ffff;
    font-family: sans-serif;
    overflow: hidden;
    box-sizing: border-box;
}

/* --- ÜBERSCHRIFT --- */

.mod_newslist .layout_short h2,
.mod_newslist .layout_short h2 a {
    color: #99ccff;
    font-size: 1.3rem;
    margin: 0;
    text-decoration: none;
}

/* --- TEASER AUF 4 ZEILEN BEGRENZT --- */

.mod_newslist .layout_short .teaser {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0;
    font-family: Sans-Serif;
    font-size: 1.0633;
}
.mod_newslist .layout_short .ce_text p {
    margin-top: 0;
    font-size: 1.0633rem;
}

.mod_newslist .layout_short .info {
    font-size: 1.0633rem;
    font-weight: bold;
    color: #000033;
    margin: 0;
}

.mod_newslist .layout_short .more a {
    color: #99ccff;
    text-decoration: underline;
}

/* --- EINZELNER NEWS-BLOCK (layout_simple) --- */

.mod_newslist .layout_simple {
    width: 399px;
    background: rgba(16, 17, 23, 0.3);
    border: 3px solid #000033;
    border-radius: 9px;
    padding: 7px;
    color: #e0ffff;
    font-family: sans-serif;
    overflow: hidden;
    box-sizing: border-box;
}

/* --- ÜBERSCHRIFT --- */

.mod_newslist .layout_simple h2,
.mod_newslist .layout_simple h2 a {
    color: #99ccff;
    font-size: 1.3rem;
    margin: 0;
    text-decoration: none;
}

/* --- TEASER AUF 4 ZEILEN BEGRENZT --- */

.mod_newslist .layout_simple .teaser {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0;
    font-family: Sans-Serif;
    font-size: 1.0633;
}
.mod_newslist .layout_simple .ce_text p {
    margin-top: 0;
    font-size: 1.0633rem;
}

.mod_newslist .layout_simple .info {
    font-size: 1.0633rem;
    font-weight: bold;
    color: #000033;
    margin: 0;
}

.mod_newslist .layout_simple .more a {
    color: #99ccff;
    text-decoration: underline;
}

/* =========================================
   SWIPER – ATMOSPHÄRISCHES DESIGN (JANE)
   ========================================= */

/* Hintergrundbild + Abdunklung + Rahmen + Schatten */
.swiper {
  position: relative;
  width: 100%;
  background: rgba(0, 0, 51, 0.3);

  /* Rahmen um den gesamten Slider */
  border: 7px solid rgba(0, 0, 51, 0.6);
  border-radius: 9px;

  /* Schatten nach rechts/unten */
  box-shadow: 10px 8px 20px rgba(0, 0, 51, 0.4);
}

.swiper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 51, 0.4); /* Abdunklung */
  z-index: 1;
}

/* Slides – Text, Layout, Farben */
.swiper-slide {
  position: relative;
  z-index: 2;
  color: #e0ffff; /* Grundschrift */
  font-size: 1.0606rem;
  text-align: center;
  padding: 0 1.5rem 0 1.5rem;
  box-sizing: border-box;
}

/* Überschriften */
.swiper-slide h1,
.swiper-slide h2,
.swiper-slide h3 {
  color: #99ccff;
  font-size: 1.6875rem; /* 27px */
  margin-bottom: 1rem;
}

/* Buttons im Slide */
.swiper-slide a,
.swiper-slide button {
  background: #000033;
  color: #e0ffff;
  padding: 0.6rem 1.2rem;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s ease;
}

.swiper-slide a:hover,
.swiper-slide button:hover {
  background: #000055;
}

/* =========================================
   NAVIGATIONSPFEILE – GOLD, RUND, MIT SCHATTEN
   ========================================= */

.swiper-button-prev,
.swiper-button-next {
  color: #face00; /* Gold */
  background: rgba(0, 0, 51, 0.7);
  width: 33px;
  height: 33px;
margin: 0 20px 0 20px;

  /* Rundere Form */
  border-radius: 33px;

  /* Rahmen */
  border: 3px solid #000033;

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

  backdrop-filter: blur(3px);
  transition: background 0.2s ease, transform 0.2s ease;

  /* Schatten nach rechts */
  box-shadow: 6px 4px 10px rgba(0, 0, 51, 0.4);
}

/* Hover-Effekt */
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: rgba(0, 0, 51, 0.85);
  transform: translateX(1px);
}

/* Kleinere Pfeilsymbole */
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 0.9rem;
}

/* =========================================
   OPTIONAL: Bilder in Slides
   ========================================= */

.swiper-slide img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  display: block;
}

.privacy-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 51, 0.65);
    color: #e0ffff;
    padding: 14px 20px;
    text-align: center;
    backdrop-filter: blur(4px);
    z-index: 9999;
    font-size: 15px;
}

.privacy-bar p {
    margin: 0;
    padding-right: 20px;
    color: #cce6ff;
}

.privacy-bar button {
    background: #5a7a90;
    color: #e0ffff;
    border: none;
    padding: 8px 14px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background 0.2s ease;
    margin-left: 10px; /* Button rutscht nach links */
}

.privacy-bar button:hover {
    background: #6c8fa5;
}

/* --- ARCHIV-GRID --- */
.mod_newsarchive {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    justify-content: flex-start;
    margin: 0;
}

/* --- EINZELNER NEWS-BLOCK --- */
.mod_newsarchive .layout_short,
.mod_newsarchive .layout_latest,
.mod_newsarchive .layout_teaser {
    flex: 1 1 calc(33.333% - 27px);
    background: rgba(16, 17, 23, 0.3);
    border: 3px solid #000033;
    border-radius: 9px;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0;
}

/* --- BILDER --- */
.mod_newsarchive .image_container,
.mod_newsarchive .image_container * {
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    text-align: center;
}

.mod_newsarchive .image_container img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
}

/* --- ÜBERSCHRIFT --- */
.mod_newsarchive h2,
.mod_newsarchive h2 a {
    color: #99ccff;
    font-size: 1.3rem;
    margin: 0;
    text-decoration: none;
    border-top: 1px solid #000033;
}

/* --- TEASER / TEXT --- */
.mod_newsarchive .teaser,
.mod_newsarchive .ce_text p {
    margin-top: 0;
    font-size: 1.2rem;
    padding: 9px;
    line-height: 1.4;
    font-family: Sans-Serif;
}

/* --- INFO (Datum, Autor etc.) ausblenden --- */
.mod_newsarchive .info {
    display: none;
}

/* --- "Mehr lesen" Link --- */
.mod_newsarchive .more a {
    color: #99ccff;
    text-decoration: underline;
}

/* --- RESPONSIVE BREAKPOINTS --- */
@media (max-width: 900px) {
    .mod_newsarchive .layout_short,
    .mod_newsarchive .layout_latest,
    .mod_newsarchive .layout_teaser {
        flex: 1 1 48%;
    }
}
.mod_newsarchive .pagination {
    background: #000033;
    width: 100%;
}
.mod_newsarchive .pagination a {
    scroll-behavior: auto !important;
}
html {
    scroll-behavior: auto !important;
}

@media (max-width: 600px) {
    .mod_newsarchive .layout_short,
    .mod_newsarchive .layout_latest,
    .mod_newsarchive .layout_teaser {
        flex: 1 1 100%;
    }
}

