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%}
.mod_visitors .invisible {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    float: left;
	width:0px;
	height:0px;
}
.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%;
  }
}

/**
 * CLICKPRESS CSS-Grid
 * @author: Stefan Schulz-Lauterbach
 *
 * thanks to Dinko Skopljak for co-working
 */
.justify-items-start {
  justify-items: start;
}

.justify-items-center {
  justify-items: center;
}

.justify-items-end {
  justify-items: end;
}

.justify-items-stretch {
  justify-items: stretch;
}

.content-start {
  align-content: start;
}

.content-center {
  align-content: center;
}

.content-end {
  align-content: end;
}

.items-start {
  align-items: start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: end;
}

.items-stretch {
  align-items: stretch;
}

.items-baseline {
  align-items: baseline;
}

[class*=grid_] {
  display: grid;
  grid-gap: 1rem;
}
[class*=grid_] > .block {
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .grid_mobile_100 {
    grid-template-columns: 1fr;
  }
  .grid_mobile_50_50 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid_mobile_33_33_33 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid_mobile_25_25_25_25 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid_mobile_75_25 {
    grid-template-columns: 3fr 1fr;
  }
  .grid_mobile_25_75 {
    grid-template-columns: 1fr 3fr;
  }
  .grid_mobile_66_33 {
    grid-template-columns: 2fr 1fr;
  }
  .grid_mobile_33_66 {
    grid-template-columns: 1fr 2fr;
  }
  .grid_mobile_60_40 {
    grid-template-columns: 3fr 2fr;
  }
  .grid_mobile_40_60 {
    grid-template-columns: 2fr 3fr;
  }
  .grid_mobile_50_25_25 {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .grid_mobile_25_50_25 {
    grid-template-columns: 1fr 2fr 1fr;
  }
  .grid_mobile_25_25_50 {
    grid-template-columns: 1fr 1fr 2fr;
  }
  .grid_mobile_40_30_30 {
    grid-template-columns: 4fr 3fr 3fr;
  }
  .grid_mobile_30_40_30 {
    grid-template-columns: 3fr 4fr 3fr;
  }
  .grid_mobile_30_30_40 {
    grid-template-columns: 3fr 3fr 4fr;
  }
  .gap_mobile_0 {
    grid-gap: 0;
  }
  .gap_mobile_1 {
    grid-gap: 1rem;
  }
  .gap_mobile_2 {
    grid-gap: 2rem;
  }
  .gap_mobile_3 {
    grid-gap: 3rem;
  }
  .gap_mobile_4 {
    grid-gap: 4rem;
  }
  .gap_mobile_5 {
    grid-gap: 5rem;
  }
  .gap_mobile_6 {
    grid-gap: 6rem;
  }
  .gap_mobile_7 {
    grid-gap: 7rem;
  }
  .gap_mobile_8 {
    grid-gap: 8rem;
  }
  .gap_mobile_9 {
    grid-gap: 9rem;
  }
  .gap_mobile_10 {
    grid-gap: 10rem;
  }
  .gap_mobile_11 {
    grid-gap: 11rem;
  }
  .gap_mobile_12 {
    grid-gap: 12rem;
  }
}
@media (min-width: 768px) {
  .grid_tablet_100 {
    grid-template-columns: 1fr;
  }
  .grid_tablet_50_50 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid_tablet_33_33_33 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid_tablet_25_25_25_25 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid_tablet_75_25 {
    grid-template-columns: 3fr 1fr;
  }
  .grid_tablet_25_75 {
    grid-template-columns: 1fr 3fr;
  }
  .grid_tablet_66_33 {
    grid-template-columns: 2fr 1fr;
  }
  .grid_tablet_33_66 {
    grid-template-columns: 1fr 2fr;
  }
  .grid_tablet_60_40 {
    grid-template-columns: 3fr 2fr;
  }
  .grid_tablet_40_60 {
    grid-template-columns: 2fr 3fr;
  }
  .grid_tablet_50_25_25 {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .grid_tablet_25_50_25 {
    grid-template-columns: 1fr 2fr 1fr;
  }
  .grid_tablet_25_25_50 {
    grid-template-columns: 1fr 1fr 2fr;
  }
  .grid_tablet_40_30_30 {
    grid-template-columns: 4fr 3fr 3fr;
  }
  .grid_tablet_30_40_30 {
    grid-template-columns: 3fr 4fr 3fr;
  }
  .grid_tablet_30_30_40 {
    grid-template-columns: 3fr 3fr 4fr;
  }
  .grid_tablet_20_40_40 {
    grid-template-columns: 1fr 2fr 2fr;
  }
  .grid_tablet_40_20_40 {
    grid-template-columns: 2fr 1fr 2fr;
  }
  .grid_tablet_40_40_20 {
    grid-template-columns: 2fr 2fr 1fr;
  }
  .gap_tablet_0 {
    grid-gap: 0;
  }
  .gap_tablet_1 {
    grid-gap: 1rem;
  }
  .gap_tablet_2 {
    grid-gap: 2rem;
  }
  .gap_tablet_3 {
    grid-gap: 3rem;
  }
  .gap_tablet_4 {
    grid-gap: 4rem;
  }
  .gap_tablet_5 {
    grid-gap: 5rem;
  }
  .gap_tablet_6 {
    grid-gap: 6rem;
  }
  .gap_tablet_7 {
    grid-gap: 7rem;
  }
  .gap_tablet_8 {
    grid-gap: 8rem;
  }
  .gap_tablet_9 {
    grid-gap: 9rem;
  }
  .gap_tablet_10 {
    grid-gap: 10rem;
  }
  .gap_tablet_11 {
    grid-gap: 11rem;
  }
  .gap_tablet_12 {
    grid-gap: 12rem;
  }
}
@media (min-width: 992px) {
  .grid_desktop_100 {
    grid-template-columns: 1fr;
  }
  .grid_desktop_50_50 {
    grid-template-columns: repeat(2, 1fr);
  }
  .grid_desktop_50_25_25 {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .grid_desktop_33_33_33 {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid_desktop_75_25 {
    grid-template-columns: 3fr 1fr;
  }
  .grid_desktop_25_75 {
    grid-template-columns: 1fr 3fr;
  }
  .grid_desktop_66_33 {
    grid-template-columns: 2fr 1fr;
  }
  .grid_desktop_60_40 {
    grid-template-columns: 3fr 2fr;
  }
  .grid_desktop_40_60 {
    grid-template-columns: 2fr 3fr;
  }
  .grid_desktop_33_66 {
    grid-template-columns: 1fr 2fr;
  }
  .grid_desktop_50_25_25 {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .grid_desktop_40_30_30 {
    grid-template-columns: 4fr 3fr 3fr;
  }
  .grid_desktop_50_25_25 {
    grid-template-columns: 2fr 1fr 1fr;
  }
  .grid_desktop_25_50_25 {
    grid-template-columns: 1fr 2fr 1fr;
  }
  .grid_desktop_25_25_50 {
    grid-template-columns: 1fr 1fr 2fr;
  }
  .grid_desktop_40_30_30 {
    grid-template-columns: 4fr 3fr 3fr;
  }
  .grid_desktop_30_40_30 {
    grid-template-columns: 3fr 4fr 3fr;
  }
  .grid_desktop_30_30_40 {
    grid-template-columns: 3fr 3fr 4fr;
  }
  .grid_desktop_20_40_40 {
    grid-template-columns: 1fr 2fr 2fr;
  }
  .grid_desktop_40_20_40 {
    grid-template-columns: 2fr 1fr 2fr;
  }
  .grid_desktop_40_40_20 {
    grid-template-columns: 2fr 2fr 1fr;
  }
  .grid_desktop_25_25_25_25 {
    grid-template-columns: repeat(4, 1fr);
  }
  .grid_desktop_40_20_20_20 {
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
  .grid_desktop_20_40_20_20 {
    grid-template-columns: 1fr 2fr 1fr 1fr;
  }
  .grid_desktop_20_20_40_20 {
    grid-template-columns: 1fr 1fr 2fr 1fr;
  }
  .grid_desktop_20_20_20_40 {
    grid-template-columns: 1fr 1fr 1fr 2fr;
  }
  .grid_desktop_20_20_20_20_20 {
    grid-template-columns: repeat(5, 1fr);
  }
  .gap_desktop_0 {
    grid-gap: 0;
  }
  .gap_desktop_1 {
    grid-gap: 1rem;
  }
  .gap_desktop_2 {
    grid-gap: 2rem;
  }
  .gap_desktop_3 {
    grid-gap: 3rem;
  }
  .gap_desktop_4 {
    grid-gap: 4rem;
  }
  .gap_desktop_5 {
    grid-gap: 5rem;
  }
  .gap_desktop_6 {
    grid-gap: 6rem;
  }
  .gap_desktop_7 {
    grid-gap: 7rem;
  }
  .gap_desktop_8 {
    grid-gap: 8rem;
  }
  .gap_desktop_9 {
    grid-gap: 9rem;
  }
  .gap_desktop_10 {
    grid-gap: 10rem;
  }
  .gap_desktop_11 {
    grid-gap: 11rem;
  }
  .gap_desktop_12 {
    grid-gap: 12rem;
  }
}

/*# sourceMappingURL=clickpress-grid.css.map */

#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden;-webkit-transform:translate3d(0,0,0)}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url(../../assets/colorbox/images/loading.gif) no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0 0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url(../../assets/colorbox/images/controls.png) no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url(../../assets/colorbox/images/controls.png) no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
table.sortable thead th{background-image:url(../../assets/tablesorter/images/default.svg);background-repeat:no-repeat;background-position:center right}table.sortable thead th.tablesorter-headerAsc{background-image:url(../../assets/tablesorter/images/asc.svg)}table.sortable thead th.tablesorter-headerDesc{background-image:url(../../assets/tablesorter/images/desc.svg)}
.content-slider{overflow:hidden;visibility:hidden;position:relative}.slider-wrapper{overflow:hidden;position:relative}.slider-wrapper>*{float:left;width:100%;position:relative}.slider-control{height:30px;position:relative}.slider-control a,.slider-control .slider-menu{position:absolute;top:9px;display:inline-block}.slider-control .slider-prev{left:0}.slider-control .slider-next{right:0}.slider-control .slider-menu{top:0;width:50%;left:50%;margin-left:-25%;font-size:27px;text-align:center}.slider-control .slider-menu b{color:#bbb;cursor:pointer}.slider-control .slider-menu b.active{color:#666}
/* =========================
   RDH Modern Theme FINAL
   ========================= */

:root{
  --violet: #291770;
  --violet-2:#3a2599;
  --green:  #45a72a;

  --bg:     #f6f7fb;
  --text:   #111418;
  --muted:  rgba(17,20,24,.72);

  --card:   #ffffff;
  --border: rgba(20,20,20,.10);

  --radius: 14px;

  --shadow-1: 0 10px 22px rgba(0,0,0,.08);
  --shadow-2: 0 18px 40px rgba(0,0,0,.12);

  --container: 1200px;
}

/* =========================
   Base
   ========================= */

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{
  margin:0;
  font-family: 'Roboto', system-ui, -apple-system, Segoe UI, Arial, sans-serif;
  font-size: 1.05em;
  line-height: 1.6;
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x:hidden;
}

.margu {margin-bottom:25px;}
.margo {margin-top:25px;}


.headertext {color:#fff;font-weight:bold;font-size:2em;text-shadow: 0px 0px 20px #000000;}
.startseite .headertext p:has(.bi-house){
    font-size:0;
}

.headertext p:has(.bi-house) i{
    font-size:2em;
}

/* Formularbereich */
form{
max-width:700px;
}

/* Labels */
form label{
display:block;
margin-bottom:6px;
font-weight:600;
}

/* Inputs */
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea{
width:100%;
padding:12px 14px;
border-radius:8px;
border:1px solid #dcdcdc;
box-sizing:border-box;
margin-bottom:16px;
transition:all .2s ease;
}

/* Fokus */
form input:focus,
form textarea:focus{
outline:none;
border-color:#bfbfbf;
box-shadow:0 0 0 3px rgba(0,0,0,0.05);
}

/* Textarea */
form textarea{
min-height:140px;
resize:vertical;
}

/* Checkbox Container */
.widget-checkbox{
margin-top:10px;
}

/* Checkbox Box */
.checkbox_container{
display:flex;
align-items:center;
gap:12px;
padding:14px 16px;
border:1px solid #dcdcdc;
border-radius:8px;
}

/* Checkbox Span */
.checkbox_container span{
display:flex;
align-items:center;
gap:10px;
}

/* Checkbox selbst */
.checkbox_container input[type="checkbox"]{
width:18px;
height:18px;
margin:0;
}

/* Label neben Checkbox */
.checkbox_container label{
margin:0;
display:inline;
line-height:1.4;
}

/* Submit Button */
form input[type="submit"],
form button{
background:var(--green);
border:none;
padding:14px 32px;
border-radius:12px;
cursor:pointer;
margin-top:18px;
transition:all .25s ease;
}

/* Button Hover */
form input[type="submit"]:hover,
form button:hover{
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,0.15);
}

/* Button rechts */
form input[type="submit"]{
display:block;
margin-left:auto;
}

/* Mobile */
@media (max-width:600px){

form input[type="submit"]{
width:100%;
}

}




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

img{ max-width:100%; height:auto; display:block; }

h1,h2,h3{
  line-height:1.2;
  letter-spacing:-0.3px;
  margin:0 0 .6em;
}

/* =========================
   Layout Width
   ========================= */

#container,
#header .inside,
#footer .inside,
#prefooter .inside{
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

/* =========================
   Header
   ========================= */

#header{
  margin: 0 0 50px 0;
  border-radius: 0;
  overflow:hidden;
  position: relative;
  box-shadow: var(--shadow-2);
}

#header::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height: 10px;
  background: linear-gradient(90deg, var(--violet), var(--violet-2));
  z-index:1;
}

.logo img{
  background: rgba(255,255,255,.95);
  border-radius: 0 0 10px 10px;
  padding: 14px 18px;
  box-shadow: 0 12px 26px rgba(0,0,0,.18);
}

/* =========================
   Container Layout
   ========================= */

#container{
  display:flex;
  gap: 26px;
  align-items:flex-start;
}

#left{ width: 32%; margin-left:0; }
#main{ width: 68%; }

#left .inside{
  background: rgba(255,255,255,.85);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
  padding: 22px;
  backdrop-filter: blur(10px);
}

#main .inside{
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-1);
  padding: 26px;
}

.media--left figure{ margin-right:16px; }
.media--right figure{ margin-left:16px; }

/* =========================
   Navigation
   ========================= */

.mod_navigation ul{
  margin:0;
  padding:0;
  list-style:none;
}

.mod_navigation li{
  padding:0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.mod_navigation a,
.mod_navigation strong.active{
  display:block;
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(17,20,24,.92);
  font-weight: 600;
  text-decoration:none;
}

.mod_navigation a:hover{
  background: rgba(41,23,112,.08);
  color: var(--violet);
  transform: translateX(2px);
}

.mod_navigation strong.active,
.mod_navigation a.trail{
  background: rgba(41,23,112,.08);
  color: var(--violet);
}

/* Submenu */
.mod_navigation .level_2 li{
  border-bottom: 0;
}

.mod_navigation .level_2 a,
.mod_navigation .level_2 strong.active{
  position: relative;
  padding-left: 34px;
  font-weight: 500;
}

.mod_navigation .level_2 a::before,
.mod_navigation .level_2 strong.active::before{
  content: "›";
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .55;
}

/* =========================
   Sidebar Contact
   ========================= */

.iconl p{
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: 0 10px 20px rgba(0,0,0,.06);
}

.iconl p i{
  float:left;
  margin-right: 12px;
  font-size: 2.1em;
  color: var(--violet);
  margin-top: 2px;
}

.iconl p a{
  color: var(--green);
  font-weight: 700;
}

/* =========================
   Breadcrumb
   ========================= */

.mod_breadcrumb{
  margin: 0 0 18px 0;
  font-size:.85em;
  color: var(--muted);
}

.mod_breadcrumb ul{
  margin:0;
  padding:0;
  list-style:none;
  display:inline-flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}

.mod_breadcrumb li{
  margin:0;
  padding:0;
}

/* Breadcrumb Trenner */
.mod_breadcrumb li + li::before{
  content: "›";
  margin: 0 8px;
  opacity: .55;
}

/* =========================
   Prefooter
   ========================= */

#prefooter{
  margin-top: 70px;
  padding: 90px 0;
  background:
    radial-gradient(800px 260px at 15% 0%, rgba(41,23,112,.14), transparent 60%),
    radial-gradient(800px 260px at 85% 100%, rgba(69,167,42,.12), transparent 60%),
    var(--bg);
}

/* =========================
   Kontaktbox
   ========================= */

.kontaktbox{
  background: linear-gradient(135deg, var(--violet) 0%, var(--violet-2) 55%, #1d0f52 100%);
  color: #fff;
  padding: 38px 34px 44px;
  border-radius: 16px;
  text-align:center;
  box-shadow: var(--shadow-2);
  border: 1px solid rgba(255,255,255,.14);
  position:relative;
  overflow:hidden;
}

.kontaktbox::after{
  content:"";
  position:absolute;
  top:-70px;
  right:-70px;
  width:220px;
  height:220px;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,.07) 55%, transparent 70%);
}

.kontaktbox::before{
  content:"\f4ad";
  font-family:"bootstrap-icons";
  position:absolute;
  left:18px;
  bottom:-12px;
  font-size:150px;
  color:rgba(255,255,255,.07);
  transform:rotate(-8deg);
}

.kontaktbox strong{
  font-size:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.kontaktbox i{ font-size:30px; }

.kontaktbox a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 28px;
  border-radius:12px;
  font-weight:800;
  background:rgba(255,255,255,.93);
  color:var(--violet);
  margin-top:26px;
  border:1px solid rgba(41,23,112,.12);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
  transition:all .18s ease;
}

.kontaktbox a:hover{
  background:#fff;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}

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

footer{
  margin-top: 0;
  background: linear-gradient(180deg, rgba(69,167,42,1), rgba(50,140,28,1));
  color:#fff;
  font-size:.9em;
  box-shadow:0 -10px 30px rgba(0,0,0,.12);
  border-radius:0;
}

#footer{
  margin-top:0;
}

#footer .inside{
  max-width: var(--container);
  margin:0 auto;
  padding:18px 24px;

  justify-content:space-between;
  align-items:center;
  gap:20px;
}

footer a{
  color:#fff;
  text-decoration:none;
}

footer a:hover{
  text-decoration:underline;
}

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

@media (max-width: 992px){

  #container{
    flex-direction:column;
  }

  #left, #main{
    width:100%;
  }

  #footer .inside{
    flex-direction:column;
    text-align:center;
  }

}

/* =========================
   Fonts
   ========================= */

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/css/fonts/roboto-v50-latin-regular.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/css/fonts/roboto-v50-latin-700.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  src: url('../../files/css/fonts/roboto-v50-latin-800.woff2') format('woff2');
}

@font-face {
  font-display: swap;
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('../../files/css/fonts/roboto-v50-latin-900.woff2') format('woff2');
}


/* =========================
   Vorteile (Contao Grid)
   ========================= */

section.vorteile{
  margin: 0;
  padding: 0;
}

/* Grid: Abstand zwischen den Kacheln */
section.vorteile .grid_start{
  gap: 18px;                 /* falls grid/flex unterstützt */
}

/* Jede Vorteil-Box */
section.vorteile .content-text{
  height: 100%;
}

section.vorteile .content-text .rte{
  height: 100%;
  background: #fff;
  border: 1px solid rgba(20,20,20,.10);
  border-radius: 14px;
  padding: 22px 18px;
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  transition: transform .2s ease, box-shadow .2s ease;
}

/* Hover */
section.vorteile .content-text .rte:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(0,0,0,.12);
}

/* Headline + Icon nebeneinander */
section.vorteile .content-text .rte h3{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
}

/* Icon Styling */
section.vorteile .content-text .rte h3 i{
  font-size: 30px;
  color: #291770;
  flex: 0 0 auto;
}

/* Text */
section.vorteile .content-text .rte p{
  margin: 0;
  color: rgba(17,20,24,.78);
  font-size: 0.95em;
  line-height: 1.55;
}

/* Mobile: etwas kompakter */
@media (max-width: 768px){
  section.vorteile .content-text .rte{
    padding: 18px 16px;
  }
  section.vorteile .content-text .rte h3 i{
    font-size: 28px;
  }
  .showmenu {display:block !important;}
    .showmenu i {        position: absolute;
        right: 15px;
        top: 2em;
        background: #291770;
        padding: 15px;
        font-weight: bold;
        font-size: 1.5em;
        border-radius: 5px;
        color: #fff;}

}

.quicklinks {position:fixed;right:0;top:40%;}
.quicklinks a {background-color: var(--green);color:#fff;padding:20px;font-size:1.5em;margin-bottom:10px;display:block;border-radius:10px 0 0 10px;font-weight:bold;  }

.showmenu {display:none;}


/* =========================
   Mobile Offcanvas Navigation (override)
   ========================= */

/* Showmenu: mobil sichtbar */
@media (max-width: 768px){
  .showmenu{ display:block !important; }
}

/* Desktop: Showmenu aus */
@media (min-width: 769px){
  .showmenu{ display:none !important; }
}

/* Offcanvas nur mobil */
@media (max-width: 768px){

  /* #left NICHT mehr im Contentfluss */
  #left{
    position: fixed;
    top: 0;
    left: 0;
    height: 100dvh;
    width: min(86vw, 340px);
    z-index: 9999;

    margin: 0 !important;
    transform: translateX(-110%);
    transition: transform .22s ease;
  }

  /* deine Card Optik im Offcanvas, aber ohne Rundung */
  #left .inside{
    height: 100%;
    overflow: auto;
    border-radius: 0 !important;
    box-shadow: 0 18px 40px rgba(0,0,0,.22);
  }

  /* Sidebar soll NICHT im Layout als Block Platz wegnehmen */
  /* (wichtig, weil Contao die Spalte sonst trotzdem rendert) */
  #main{ width: 100% !important; }
  #container{ gap: 0 !important; }

  /* Backdrop (Overlay) */
  body::before{
    content:"";
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
    z-index: 9998;
  }

  /* Offen-Zustand */
  body.nav-open #left{
    transform: translateX(0);
  }
  body.nav-open::before{
    opacity: 1;
    pointer-events: auto;
  }

  /* Scroll sperren, wenn Menü offen */
  body.nav-open{
    overflow: hidden;
    touch-action: none;
  }

  /* Hamburger oben fix (überschreibt dein absolute wenn nötig) */
  .showmenu i{
    position: fixed !important;
    right: 14px !important;
    top: 14px !important;
    z-index: 10000 !important;

    border-radius: 12px !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.25);
  }
#header { 
    background-size: 100vh 100vw;
    width: 100% !important;
    height: 35vh !important; }
    .logo img {width:40vw;height:auto;padding:10px;}
    
    h1, h2, h3 {font-size:1.5em;}
    
    .mod_breadcrumb {display:none;}
}

#main img {border-radius:5px;}
