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%}
#wrapper{width:960px;margin:0 auto}.grid1,.grid2,.grid3,.grid4,.grid5,.grid6,.grid7,.grid8,.grid9,.grid10,.grid11,.grid12{float:left;margin-left:10px;margin-right:10px;display:inline}.mod_article [class^=ce_],.mod_article [class*=" ce_"],.mod_article [class^=content-],.mod_article [class*=" content-"],.mod_article [class^=mod_],.mod_article [class*=" mod_"],.mod_article [class^=module-],.mod_article [class*=" module-"]{margin-left:10px;margin-right:10px}.ce_sliderStart>.content-slider{margin-left:0;margin-right:0}.mod_article .mod_newsreader,.mod_article .mod_eventreader{margin-left:0;margin-right:0}.mod_article [class^=layout_]>*,.mod_article [class*=" layout_"]>*,.mod_article [class^=event_]>*,.mod_article [class*=" event_"]>*{margin-left:10px;margin-right:10px}.mod_article.grid1,.mod_article.grid2,.mod_article.grid3,.mod_article.grid4,.mod_article.grid5,.mod_article.grid6,.mod_article.grid7,.mod_article.grid8,.mod_article.grid9,.mod_article.grid10,.mod_article.grid11,.mod_article.grid12{margin-left:0;margin-right:0}#main .inside{overflow:hidden}.grid1{width:60px}.grid2{width:140px}.grid3{width:220px}.grid4{width:300px}.grid5{width:380px}.grid6{width:460px}.grid7{width:540px}.grid8{width:620px}.grid9{width:700px}.grid10{width:780px}.grid11{width:860px}.grid12{width:940px}.mod_article.grid1{width:80px}.mod_article.grid2{width:160px}.mod_article.grid3{width:240px}.mod_article.grid4{width:320px}.mod_article.grid5{width:400px}.mod_article.grid6{width:480px}.mod_article.grid7{width:560px}.mod_article.grid8{width:640px}.mod_article.grid9{width:720px}.mod_article.grid10{width:800px}.mod_article.grid11{width:880px}.mod_article.grid12{width:960px}.offset1{margin-left:90px!important}.offset2{margin-left:170px!important}.offset3{margin-left:250px!important}.offset4{margin-left:330px!important}.offset5{margin-left:410px!important}.offset6{margin-left:490px!important}.offset7{margin-left:570px!important}.offset8{margin-left:650px!important}.offset9{margin-left:730px!important}.offset10{margin-left:810px!important}.offset11{margin-left:890px!important}.offset12{margin-left:970px!important}.mod_article.offset1{margin-left:80px!important}.mod_article.offset2{margin-left:160px!important}.mod_article.offset3{margin-left:240px!important}.mod_article.offset4{margin-left:320px!important}.mod_article.offset5{margin-left:400px!important}.mod_article.offset6{margin-left:480px!important}.mod_article.offset7{margin-left:560px!important}.mod_article.offset8{margin-left:640px!important}.mod_article.offset9{margin-left:720px!important}.mod_article.offset10{margin-left:800px!important}.mod_article.offset11{margin-left:880px!important}.mod_article.offset12{margin-left:960px!important}@media (min-width:768px) and (max-width:979px){#wrapper{width:744px}.grid1{width:42px}.grid2{width:104px}.grid3{width:166px}.grid4{width:228px}.grid5{width:290px}.grid6{width:352px}.grid7{width:414px}.grid8{width:476px}.grid9{width:538px}.grid10{width:600px}.grid11{width:662px}.grid12{width:724px}.mod_article.grid1{width:62px}.mod_article.grid2{width:124px}.mod_article.grid3{width:186px}.mod_article.grid4{width:248px}.mod_article.grid5{width:310px}.mod_article.grid6{width:372px}.mod_article.grid7{width:434px}.mod_article.grid8{width:496px}.mod_article.grid9{width:558px}.mod_article.grid10{width:620px}.mod_article.grid11{width:682px}.mod_article.grid12{width:744px}.offset1{margin-left:72px!important}.offset2{margin-left:134px!important}.offset3{margin-left:196px!important}.offset4{margin-left:258px!important}.offset5{margin-left:320px!important}.offset6{margin-left:382px!important}.offset7{margin-left:444px!important}.offset8{margin-left:506px!important}.offset9{margin-left:568px!important}.offset10{margin-left:630px!important}.offset11{margin-left:692px!important}.offset12{margin-left:754px!important}.mod_article.offset1{margin-left:62px!important}.mod_article.offset2{margin-left:124px!important}.mod_article.offset3{margin-left:186px!important}.mod_article.offset4{margin-left:248px!important}.mod_article.offset5{margin-left:310px!important}.mod_article.offset6{margin-left:372px!important}.mod_article.offset7{margin-left:434px!important}.mod_article.offset8{margin-left:496px!important}.mod_article.offset9{margin-left:558px!important}.mod_article.offset10{margin-left:620px!important}.mod_article.offset11{margin-left:682px!important}.mod_article.offset12{margin-left:744px!important}}@media (max-width:767px){#wrapper{width:auto}.grid1,.grid2,.grid3,.grid4,.grid5,.grid6,.grid7,.grid8,.grid9,.grid10,.grid11,.grid12{float:none!important;display:block!important;width:auto!important}.offset1,.offset2,.offset3,.offset4,.offset5,.offset6,.offset7,.offset8,.offset9,.offset10,.offset11,.offset12{margin-left:10px!important}}
/* open-sans-300 - 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: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../../files/fonts/open-sans-v44-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-300italic - 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: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: url('../../files/fonts/open-sans-v44-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/fonts/open-sans-v44-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-italic - 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: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: url('../../files/fonts/open-sans-v44-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600 - 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: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: url('../../files/fonts/open-sans-v44-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-600italic - 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: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: url('../../files/fonts/open-sans-v44-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-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: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/fonts/open-sans-v44-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* open-sans-700italic - 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: 'Open Sans';
  font-style: italic;
  font-weight: 700;
  src: url('../../files/fonts/open-sans-v44-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    --bs-body-font-family: "Open Sans", Arial, Helvetica, sans-serif;
    --bs-body-font-size: 0.875rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #242424;
    --bs-body-color-rgb: 36, 36, 36;
}

body {
    margin: 0;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    font-weight: var(--bs-body-font-weight);
    line-height: var(--bs-body-line-height);
    color: var(--bs-body-color);
    text-align: var(--bs-body-text-align);
    background-color: var(--bs-body-bg);
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    --bs-body-color: #242424;
    border-top: 0px solid #228B22;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    overflow-x: clip;
    background-repeat: repeat;
    background-attachment: scroll;
    background-position: center top;
    background-size: auto;
    background-image: url(/files/img/noise.png?ts=1736775740);
}

.logo {
  margin-bottom: 1rem;
}

/* ============================================================
   Kontaktformular – Responsive Styling
   ============================================================ */

/* --- Heading --- */
.ce_form.block h2 {
  font-weight: 600;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #d0d0d0;
}

/* --- Form body: CSS Grid layout --- */
.ce_form.block .formbody {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px 20px;
  margin-top: 16px;
}

/* Hidden inputs take no space */
.ce_form.block .formbody input[type="hidden"] {
  display: none;
}

/* --- Column spans via class --- */
.ce_form.block .widget {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.ce_form.block .widget.col-4  { grid-column: span 4; }
.ce_form.block .widget.col-6  { grid-column: span 6; }
.ce_form.block .widget.col-12 { grid-column: span 12; }

/* Checkbox & explanation & altcha & submit always full width */
.ce_form.block .widget-checkbox,
.ce_form.block .widget-explanation,
.ce_form.block .widget-altcha,
.ce_form.block .widget-submit {
  grid-column: span 12;
}

/* --- Labels --- */
.ce_form.block label,
.ce_form.block .widget > label {
  display: block;
  font-weight: 600;
  margin-bottom: 5px;
}

.ce_form.block label .invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ce_form.block label .mandatory,
.ce_form.block .mandatory > label .mandatory {
  color: #c0392b;
  margin-left: 2px;
}

/* --- Inputs & Select --- */
.ce_form.block input[type="text"],
.ce_form.block input[type="email"],
.ce_form.block select,
.ce_form.block textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #fff;
  outline: none;
  transition: border-color 0.2s;
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--bs-body-font-family);
  font-size: var(--bs-body-font-size);
  font-weight: var(--bs-body-font-weight);
  line-height: var(--bs-body-line-height);
  color: var(--bs-body-color);
}

.ce_form.block input[type="text"]:focus,
.ce_form.block input[type="email"]:focus,
.ce_form.block select:focus,
.ce_form.block textarea:focus {
  border-color: #3a7d1e;
  box-shadow: 0 0 0 2px rgba(58, 125, 30, 0.12);
}

/* Select: custom arrow */
.ce_form.block .widget-select {
  position: relative;
}

.ce_form.block .widget-select::after {
  content: "▾";
  position: absolute;
  right: 12px;
  bottom: 10px;
  pointer-events: none;
  color: #555;
  font-size: 14px;
}

/* --- Checkbox --- */
.ce_form.block .widget-checkbox fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.ce_form.block .widget-checkbox fieldset span {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.5;
}

.ce_form.block .widget-checkbox input[type="checkbox"] {
  margin-top: 3px;
  flex-shrink: 0;
  accent-color: #3a7d1e;
  width: 15px;
  height: 15px;
  cursor: pointer;
}

.ce_form.block .widget-checkbox label {
  font-weight: 400;
  margin-bottom: 0;
  cursor: pointer;
}

.ce_form.block .widget-checkbox a {
  color: #3a7d1e;
  text-decoration: underline;
}

/* Datenschutz heading – fake bold label above checkbox */
.ce_form.block .widget-checkbox fieldset::before {
  content: "Datenschutz";
  display: block;
  font-weight: 700;
  margin-bottom: 8px;
}

/* --- Explanation text --- */
.ce_form.block .widget-explanation p {
  margin: 0;
}

/* --- ALTCHA: hide it --- */
.ce_form.block .widget-altcha {
  display: none;
}

/* --- Submit button --- */
.ce_form.block .widget-submit {
  display: flex;
  justify-content: flex-end;
}

.ce_form.block .widget-submit button {
  background-color: #3a7d1e;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 11px 28px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s;
}

.ce_form.block .widget-submit button:hover {
  background-color: #2d6218;
}

/* ============================================================
   Responsive Breakpoints
   ============================================================ */

/* Tablet: ≤ 900px → 2 columns (col-4 becomes half, col-6 becomes full) */
@media (max-width: 900px) {
  .ce_form.block .formbody {
    grid-template-columns: repeat(2, 1fr);
  }

  .ce_form.block .widget.col-4  { grid-column: span 1; }
  .ce_form.block .widget.col-6  { grid-column: span 1; }
  .ce_form.block .widget.col-12 { grid-column: span 2; }

  .ce_form.block .widget-checkbox,
  .ce_form.block .widget-explanation,
  .ce_form.block .widget-submit {
    grid-column: span 2;
  }
}

/* Mobile: ≤ 580px → single column */
@media (max-width: 580px) {
  .ce_form.block {
    padding: 16px;
  }

  .ce_form.block .formbody {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ce_form.block .widget.col-4,
  .ce_form.block .widget.col-6,
  .ce_form.block .widget.col-12,
  .ce_form.block .widget-checkbox,
  .ce_form.block .widget-explanation,
  .ce_form.block .widget-submit {
    grid-column: span 1;
  }
}

/* ============================================================
   Footer
   ============================================================ */

#footer {
  margin-top: 3rem;
  background-color: #f5f5f5;
  border-top: 1px solid #e0e0e0;
  padding: 16px 0;
}

#footer .inside {
  display: flex;
  justify-content: center;
  align-items: center;
}

#footer .mod_customnav {
  margin: 0;
}

#footer .mod_customnav .level_1 {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 24px;
}

#footer .mod_customnav .level_1 li {
  margin: 0;
  padding: 0;
}

#footer .mod_customnav .level_1 a {
  text-decoration: underline;
  color: var(--bs-body-color);
}

#footer .mod_customnav .level_1 a:hover {
  color: #3a7d1e;
}

#footer .mod_customnav .invisible {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}


