@font-face{font-family:'Playfair';font-display:block;src:url('/fonts/playfairdisplay-regular-webfont.woff2') format('woff2'), url('/fonts/playfairdisplay-regular-webfont.woff') format('woff');font-weight:400}
@font-face{font-family:'Lato';font-display:block;src:url('/fonts/lato-regular-webfont.woff2') format('woff2'), url('/fonts/lato-regular-webfont.woff') format('woff');font-weight:400}
h1,h2,.logo,.logomobil,.logosubmobil{font-family:Playfair,serif;font-weight:400}
p,a,footer,.show-menu,.nolink4{font-family:Lato,sans-serif;font-weight:400}
nav{height:auto;min-height:42px}
p,h2,div,a,.logo,.logosubmobil,li a{color:#222}
h1{line-height:1.2}
h2{line-height:1.3}
h1{font-size:clamp(1.25em,3vw + 1em,2.25em);text-align:center;color:#333;margin:0 auto;display:block;max-width:1200px;word-break:normal;white-space:normal;clear:both}
h2{font-size:1.875em;margin-top:50px;margin-bottom:16px}
body{margin-left:200px;margin-right:200px;margin-top:140px}
.socialmobil{display:none;position:inherit;margin-top:4px;margin-left:10px;vertical-align:top}
p{line-height:32px}
.logo{margin-top:12px;margin-bottom:8px;max-width:100%;font-size:40px;text-align:center;line-height:22px;letter-spacing:-1px;display:block}
.logosub{font-size:16px;margin-top:2px;margin-bottom:6px;text-decoration:none;letter-spacing:6px}
.logoboxmobil{float:right;text-align:center;width:auto;margin-right:calc(50% - 100px);margin-top:4px}
.logomobil{padding-bottom:0;font-size:24px;letter-spacing:-1px;line-height:12px}
.logosubmobil{letter-spacing:2px;font-size:12px;margin-top:0;margin-bottom:0;vertical-align:4px;line-height:12px}
img.navlogo{margin-bottom:0}
nav ul{list-style-type:none;margin:0;padding:0;text-align:center}
nav li{display:inline-block;vertical-align:top;margin-right:1px;list-style:none;position:relative}
nav li a,nav li label.menulink{padding:5px 10px;display:block;height:32px;line-height:32px;text-align:center;font-size:16px;letter-spacing:1px;font-family:Lato,sans-serif;background-color:#fff;text-decoration:none;border-radius:3px;cursor:pointer}
nav li:hover ul a{border-color:#222;border-width:1px;border-style:solid;background:#fff;color:#666;height:40px;line-height:40px;opacity:.95}
nav li:hover ul a:hover{background:#666;color:#fff;opacity:1}
nav ul a:hover{background:#999;color:#fff;opacity:1}
.menulink:hover{background:#fff;color:#222;opacity:.6}
nav li ul{position:absolute;display:none;white-space:nowrap}
nav li ul li{display:block}
nav li ul li a{width:auto;padding:0 20px}
nav li.has-sub:hover > ul.hidden{display:block}
.show-menu{text-decoration:none;color:#fff;text-align:center;padding:4px 0;display:none;width:100%}
.menu-close-item{display:none}
input[type=checkbox]{display:none}#show-menu:checked ~ #menu{display:block;margin:0 auto}
img{max-width:100%;max-height:90%;vertical-align:bottom;margin-bottom:20px}
.mauer4{margin-top:20px;column-count:4;column-gap:50px;column-fill:initial;transition:all .5s ease-in-out}
.galerie{max-width:100%;height:auto;max-height:none;margin-bottom:18px;margin-top:2px}
.galerie:hover{opacity:.9}
.news{margin-top:0;margin-bottom:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nolink{text-decoration:none}
.impressum{font-style: italic;}
.nolink:hover{text-decoration:underline;color:#000;}
.nolink4{text-decoration:none;text-align:center;font-size:15px}

/* Dezente Unterstreichung von link mit grauer Liniem wird bei Hover dunkler */
p a {text-decoration: none;border-bottom: 1px solid #999;transition: all 0.3s ease;color: #222;}
p a:hover {border-bottom: 1px solid #222;color: #000;}

/* Content-Listen (in .kasten, nicht in nav, nicht Slider) - klassische Bullets mit Einrueckung */
.kasten ul:not(.sliderElements):not(.sliderControls){list-style:disc outside;padding-left:1.5em;margin:0 0 1.2em;text-align:left}
.kasten ol{list-style:decimal outside;padding-left:1.5em;margin:0 0 1.2em;text-align:left}
.kasten ul:not(.sliderElements):not(.sliderControls) > li{display:list-item;margin-bottom:.4em;font-size:1em;font-family:Lato,sans-serif;line-height:32px;text-align:left}
.kasten ol > li{display:list-item;margin-bottom:.4em;line-height:inherit;text-align:left}
.kasten ul:not(.sliderElements):not(.sliderControls) li::marker,.kasten ol li::marker{color:#666}
/* Schachtelung */
.kasten ul ul,.kasten ol ol,.kasten ul ol,.kasten ol ul{margin-top:.4em;margin-bottom:.4em}

.transparent{opacity: 0}
.kasten{margin-left:40px;margin-right:40px}
.kleberlogo{z-index:99;position:fixed;background-color:#fff;opacity:1;left:0;right:0;top:0;margin-left:auto;margin-right:auto}
.klebernav{z-index:99;position:fixed;background-color:#fff;opacity:1;left:0;right:0;top:64px;border-bottom:1px solid #d3d3d3}
.sliderElements,.sliderElements figure,.sliderControls{margin:0;list-style:none;padding:0}
.sliderElements > li,.sliderControls li{list-style:none}
.sliderElements:after{content:".";display:block;height:.1px;clear:both;visibility:hidden;font-size:0;overflow:hidden}
.cssSlider{overflow-x:hidden}
.sliderElements{position:relative;left:0;width:1000%;padding:0;transition:left .8s ease-in-out;display:block}
.sliderElements > li{float:left;width:10%;position:relative}
#slide02:checked ~ .sliderElements{left:-100%}
#slide03:checked ~ .sliderElements{left:-200%}
#slide04:checked ~ .sliderElements{left:-300%}
#slide05:checked ~ .sliderElements{left:-400%}
.sliderElements img{margin-bottom:0;height:auto;border-radius:6px;aspect-ratio:2.5}
.cssSlider input{position:absolute;left:-99999px}
.sliderControls{text-align:center;display:block;margin-top:20px}
.sliderControls li{display:inline-block;white-space:normal;width:20px}
.sliderControls label{width:12px;height:12px;text-align:center;border-radius:50%;display:block;cursor:pointer;background:#ccc;color:#ccc;margin:0 5px;border:2px solid #ccc}
.sliderControls label.active{background:#333;border-color:#333}
.slide{margin-right:0px}

/* ============================
   Beitraege-Seite
   ============================ */
.beitraege-page .buttonGroup{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-bottom:10px}
.beitraege-page .buttonGroup button{padding:6px 12px;font-size:14px;border:none;background:#222;color:#fff;border-radius:5px;cursor:pointer;transition:.2s}
.beitraege-page .buttonGroup button:hover{background:#555}
.beitraege-page .buttonGroup button.active{background:#666}
.beitraege-page .postInfo{text-align:center;margin-bottom:10px;font-size:14px;color:#555;opacity:0;transition:opacity .5s ease}
.beitraege-page .mauerBeitraege{display:grid;grid-template-columns:repeat(4,minmax(0,400px));justify-content:space-between;gap:20px;margin-bottom:0}
/* Text direkt nach Bilder-Grid: maximal eng - hohe Spezifitaet */
section.kasten div.beitraege-page div.mauerBeitraege + p{margin-top:0!important;margin-block-start:0!important;padding-top:.4em}
.beitraege-page .beitragLink{display:block;text-decoration:none;overflow:hidden;border-radius:6px;aspect-ratio:1/1}
.beitraege-page .beitragImg{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:6px;opacity:0;transform:translateY(20px);transition:transform .5s ease,opacity .5s ease,box-shadow .5s ease}
.beitraege-page .beitragImg.show{opacity:1;transform:translateY(0)}
.beitraege-page .beitragImg:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 15px 25px rgba(0,0,0,.25)}
@media only screen and (max-width:2000px){.beitraege-page .mauerBeitraege{grid-template-columns:repeat(4,minmax(0,400px));justify-content:space-between}}
@media only screen and (max-width:1100px){.beitraege-page .mauerBeitraege{grid-template-columns:repeat(2,minmax(0,400px));justify-content:space-between}}
@media only screen and (max-width:768px){.beitraege-page .mauerBeitraege{grid-template-columns:repeat(2,minmax(0,400px));justify-content:space-between}}
@media only screen and (max-width:480px){.beitraege-page .mauerBeitraege{grid-template-columns:minmax(0,400px);justify-content:center}}
@media only screen and (max-width:2000px){p{line-height:30px}.kasten ul:not(.sliderElements):not(.sliderControls) > li{line-height:30px}body{margin-left:160px;margin-right:160px}.mauer4{column-gap:10px}}
@media only screen and (max-width:1600px){p{line-height:28px}.kasten ul:not(.sliderElements):not(.sliderControls) > li{line-height:28px}body{margin-left:100px;margin-right:100px}}
@media only screen and (max-width:960px){p{line-height:26px}.kasten ul:not(.sliderElements):not(.sliderControls) > li{line-height:26px}body{margin-left:30px;margin-right:30px}.kasten{margin-left:0;margin-right:0}.mauer4{column-count:2}h1{font-size:1.875em}h2{font-size:1.375em}}
@media only screen and (max-width:430px){.logomobil{font-size:22px}.logosubmobil{font-size:10px}}
@media only screen and (max-width:358px){.hidden{display:none}}
@media only screen and (max-width:1100px){p{line-height:27px}.kasten ul:not(.sliderElements):not(.sliderControls) > li{line-height:27px}body{margin-left:50px;margin-right:50px}.kasten{margin-left:20px;margin-right:20px}}
@media only screen and (max-width:768px){
.socialmobil{display:inline}
.logomobil{padding-bottom:0;font-size:24px;letter-spacing:-1px;line-height:12px}
.logosubmobil{letter-spacing:2px;font-size:12px;margin-top:0;margin-bottom:0;vertical-align:4px;line-height:12px}
.kasten{margin-left:0;margin-right:0}
p{line-height:20px}
.kasten ul:not(.sliderElements):not(.sliderControls) > li{line-height:20px}
body{margin-left:16px;margin-right:16px;margin-top:0}
footer{font-size:1em}
.galerie{padding:0;border:0}
h1{font-size:1.25em;margin:0 10px;text-align:center}
h2{font-size:1.125em;margin-top:40px}

/* === Nav: Mobile === */
.kleberlogo{display:none}
.klebernav{position:static;top:0;padding:4px;border-bottom-color:#fff}
nav{height:auto}

/* Hamburger sichtbar */
.show-menu{display:inline-block;width:auto;padding:6px 8px;cursor:pointer}

/* Hauptmenü standardmäßig versteckt */
#menu{display:none}

/* Hauptmenü geöffnet: Vollbild-Overlay */
#show-menu:checked ~ #menu{
  display:block;
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  background:#fff;
  z-index:1000;
  overflow-y:auto;
  margin:0;
  padding:0 0 40px;
  box-sizing:border-box;
}

/* Schließen-Button (X) – innerhalb der 768px-Query weiter unten definiert */

/* Menüpunkte: volle Breite, gut tappbar */
nav li{display:block;width:100%;margin:0;position:static}
nav li a,nav li label.menulink{
  width:100%;
  height:auto;
  line-height:1.4;
  font-size:16px;
  padding:14px 24px;
  text-align:left;
  border-radius:0;
  border-bottom:1px solid #eee;
  background:#fff;
  color:#222;
  box-sizing:border-box;
  letter-spacing:1px;
}
nav li a:hover,nav li label.menulink:hover{background:#f5f5f5;color:#222;opacity:1}

/* Hover-Submenu auf Mobile abschalten – Checkbox steuert */
nav li.has-sub:hover > ul.hidden{display:none}

/* Submenu: inline nach unten, kein Overlap */
nav li ul.hidden{
  position:static;
  display:none;
  width:100%;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
  margin:0;
  transform:none;
  left:auto;
  top:auto;
}
nav li ul.hidden li a{
  padding:12px 24px 12px 44px;
  height:auto;
  line-height:1.4;
  border:0;
  border-bottom:1px solid #eee;
  background:#fafafa;
  color:#222;
  opacity:1;
  min-width:0;
  width:100%;
  box-sizing:border-box;
  font-size:15px;
}
nav li ul.hidden li a:hover{background:#f0f0f0}

/* Submenu öffnen via Checkbox-Hack */
nav li.has-sub > .sub-cb:checked ~ ul.hidden{display:block}

/* Pfeil am Submenu-Toggle, dreht beim Öffnen */
.sub-toggle::after{
  content:"▾";
  float:right;
  margin-left:8px;
  transition:transform .2s ease;
  color:#999;
}
.sub-cb:checked ~ .sub-toggle::after{transform:rotate(180deg);color:#222}

/* Schließen-Button (X) oben rechts im Overlay */
.menu-close-item{
  display:flex!important;
  justify-content:flex-end;
  width:100%;
  border-bottom:none!important;
  padding:0;
  position:sticky;
  top:0;
  background:#fff;
  z-index:10;
}
.menu-close-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  font-size:22px;
  color:#444;
  cursor:pointer;
  border-radius:4px;
  line-height:1;
  font-family:Lato,sans-serif;
  margin:8px 12px 4px 0;
}
.menu-close-btn:hover{background:#f0f0f0;color:#000}

/* Whitespace-Puffer nach Content-Bloecken auf Mobile */
.mauerBeitraege{margin-bottom:0}
.cssSlider{margin-bottom:20px}
.hero-seo-text{margin-bottom:28px!important}
}

@media print{body{width:100%;margin:0;padding:0}nav,.logo,img.navlogo,#menu,.show-menu,.kleberlogo,.klebernav{display:none!important}}
