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%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
#mbOverlay{position:fixed;z-index:9998;top:0;left:0;width:100%;height:150%;background-color:#000;cursor:pointer}#mbOverlay.mbOverlayOpaque{background:url(../../assets/mediabox/images/80.png)}#mbOverlay.mbOverlayAbsolute{position:absolute}#mbOverlay.mbMobile{position:absolute;background-color:transparent}#mbBottom.mbMobile{line-height:24px;font-size:16px}#mbCenter{position:absolute;z-index:9999;left:50%;padding:10px;background-color:#000;-webkit-border-radius:10px;-khtml-border-radius:10px;-moz-border-radius:10px;border-radius:10px;filter:progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=180, Color='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.Shadow(Strength=5, Direction=180, Color='#000000')";-webkit-box-shadow:0 5px 20px rgba(0,0,0,.5);-khtml-box-shadow:0 5px 20px rgba(0,0,0,.5);-moz-box-shadow:0 5px 20px rgba(0,0,0,.5);box-shadow:0 5px 20px rgba(0,0,0,.5)}#mbCenter.mbLoading{background:#000 url(../../assets/mediabox/images/loading-dark.gif) no-repeat center;-webkit-box-shadow:none;-khtml-box-shadow:none;-moz-box-shadow:none;box-shadow:none}#mbMedia{position:relative;left:0;top:0;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;line-height:20px;font-size:12px;color:#fff;text-align:left;background-position:center center;background-repeat:no-repeat}#mbBottom{line-height:20px;font-size:12px;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;text-align:left;color:#999;min-height:20px;padding:10px 0 0}#mbTitle,#mbPrevLink,#mbNextLink,#mbCloseLink{display:inline;color:#fff;font-weight:700}#mbNumber{display:inline;color:#999;font-size:.8em;margin:auto 10px}#mbCaption{display:block;color:#999;line-height:1.6em;font-size:.8em}#mbPrevLink,#mbNextLink,#mbCloseLink{float:right;outline:0;margin:0 0 0 10px;font-weight:400}#mbPrevLink b,#mbNextLink b,#mbCloseLink b{color:#eee;font-weight:700;text-decoration:underline}#mbPrevLink big,#mbNextLink big,#mbCloseLink big{color:#eee;font-size:1.4em;font-weight:700}#mbBottom a,#mbBottom a:link,#mbBottom a:visited{text-decoration:none;color:#ddd}#mbBottom a:hover,#mbBottom a:active{text-decoration:underline;color:#fff}#mbError{position:relative;font-family:Myriad,Verdana,Arial,Helvetica,sans-serif;line-height:20px;font-size:12px;color:#fff;text-align:center;border:10px solid #700;padding:10px 10px 10px;margin:20px;-webkit-border-radius:5px;-khtml-border-radius:5px;-moz-border-radius:5px;border-radius:5px}#mbError a,#mbError a:link,#mbError a:visited,#mbError a:hover,#mbError a:active{color:#d00;font-weight:700;text-decoration:underline}
/* -----------------------------------------------------
   GRUNDLAYOUT (DESKTOP)
----------------------------------------------------- */


/* cabin-sketch-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin Sketch';
  font-style: normal;
  font-weight: 400;
  src: url('/files/layout/fonts/cabin-sketch-v19-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('/files/layout/fonts/cabin-sketch-v19-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/files/layout/fonts/cabin-sketch-v19-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('/files/layout/fonts/cabin-sketch-v19-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('/files/layout/fonts/cabin-sketch-v19-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/files/layout/fonts/cabin-sketch-v19-latin-regular.svg#CabinSketch') format('svg'); /* Legacy iOS */
}

/* cabin-sketch-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Cabin Sketch';
  font-style: normal;
  font-weight: 700;
  src: url('/files/layout/fonts/cabin-sketch-v19-latin-700.eot'); /* IE9 Compat Modes */
  src: url('/files/layout/fonts/cabin-sketch-v19-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('/files/layout/fonts/cabin-sketch-v19-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('/files/layout/fonts/cabin-sketch-v19-latin-700.woff') format('woff'), /* Modern Browsers */
       url('/files/layout/fonts/cabin-sketch-v19-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('/files/layout/fonts/cabin-sketch-v19-latin-700.svg#CabinSketch') format('svg'); /* Legacy iOS */
}

/* ===============================
   Basis
================================ */
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  background: #f4f4f4;
}

a {
  color: #0066aa;
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
}

#wrapper {
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
}

/* ===============================
   Header
================================ */
#header .inside {
  background-color:#c4c0c0;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "logo headline"
    "logo menu";
  align-items: center;
  column-gap: 1.5rem;
  row-gap: 0.3rem;
  padding: 0.5rem 1.5rem;
}

#logo {
  grid-area: logo;
}

#headline {
  grid-area: headline;
  font-family: "Cabin Sketch", sans-serif;
  font-size: clamp(2rem, 5vw, 4.4rem);
  line-height: 1;
  color: #000;
  font-weight: 700;
}

#desktopmenu {
  grid-area: menu;
}

#desktopmenu ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

#desktopmenu a,
#desktopmenu strong {
  display: block;
  color: #fff;
  background-color:#a15f5f;
  padding: 0.25rem 0;
}

.desktopmenu .active,
.desktopmenu strong.active {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* ===============================
   Mobile Navigation
================================ */
#nav-toggle {
  display: none;
  background: transparent;
  color: #fff;
  border: 2px solid #fff;
  font-size: 1.6rem;
  padding: 0.3rem 0.7rem;
  cursor: pointer;
}

.mobilemenu {
  display: none;
  background: #083f1e;
}

.mobilemenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobilemenu a,
.mobilemenu strong {
  display: block;
  color: #fff;
  padding: 0.75rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.mobilemenu ul ul a {
  padding-left: 2.5rem;
  background: rgba(0, 0, 0, 0.12);
}

.mobilemenu ul ul ul a {
  padding-left: 3.5rem;
}

/* ===============================
   Layout: linke Spalte + Hauptinhalt
================================ */
#container {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 2rem;
  padding: 2rem 1.5rem;
}

#left {
  grid-column: 1;
}

#main {
  grid-column: 2;
  min-width: 0;
}

#left .inside,
#main .inside {
  width: 100%;
}

/* ===============================
   Linke Desktop-Navigation
================================ */
#left nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#left nav a,
#left nav strong {
  display: block;
  padding: 0.7rem 1rem;
  margin-bottom: 0.25rem;
  background: #e9f2ec;
  color: #123;
  border-left: 4px solid transparent;
}

#left nav a:hover,
#left nav a:focus,
#left nav .active,
#left nav strong.active {
  background: #d6eadc;
  border-left-color: #0b5a2a;
  text-decoration: none;
}

/* Kalender links */
.minicalendar {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
  font-size: 0.9rem;
}

.minicalendar th,
.minicalendar td {
  text-align: center;
  padding: 0.35rem;
  border: 1px solid #ddd;
}

.minicalendar .today {
  background: #0b5a2a;
  color: #fff;
  font-weight: bold;
}

/* ===============================
   Hauptinhalt
================================ */
.mod_article {
  max-width: 820px;
}

h1 {
  margin-top: 0;
  color: #0b5a2a;
  font-size: clamp(1.8rem, 3vw, 2.4rem);
}

h2 {
  margin-top: 2rem;
  color: #333;
}

.content-table table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

.content-table td {
  padding: 0.6rem;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}

.content-table td:first-child {
  font-weight: bold;
  width: 35%;
}

/* ===============================
   Footer
================================ */
#footer {
  background: #222;
  color: #fff;
}

#footer .inside {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  flex-wrap: wrap;
}

#footermenu ul {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

#footermenu a,
#footermenu strong {
  color: #fff;
}

/* Back to top */
#backToTop {
  display: none;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 50%;
  background: #0b5a2a;
  color: #fff;
  font-size: 1.4rem;
  cursor: pointer;
}

/* ===============================
   Hilfsklassen
================================ */
.invisible {
  position: absolute;
  left: -9999px;
}

/* ===============================
   Responsive
================================ */
@media (max-width: 800px) {
  #header .inside {
    flex-wrap: wrap;
  }

  #headline {
    font-size: 1.6rem;
  }

  .desktopmenu {
    display: none;
  }

  #nav-toggle {
    display: block;
    margin-left: auto;
  }

  .mobilemenu.open {
    display: block;
  }

  #container {
    display: block;
    padding: 1.5rem 1rem;
  }

  #left {
    display: none;
  }

  #main {
    width: 100%;
  }

  .content-table table,
  .content-table tbody,
  .content-table tr,
  .content-table td {
    display: block;
    width: 100%;
  }

  .content-table td:first-child {
    background: #f1f1f1;
    font-weight: bold;
  }

  #footer .inside,
  #footermenu ul {
    display: block;
  }

  #footermenu li {
    margin-top: 0.5rem;
  }
}
