l
:root {
    --color1: #00714a; /* grün */
    --color2: #141416; /* schwarz */
    --color3: #870a25; /* rot */
    --color4: #f1f1f1; /* hellgrau */
    --color5: #112233; /* dunkelgrau */
    --color6: #d3e8dc; /* hellgrün */
}

/* Fallback Background für Barrierefreiheit */
 
.bgStyle,
.areaBg-Counter,
.InsideOut{
  background-color: #000 !important;
}

/* Ende Fallback Background für Barrierefreiheit */

.bg-trans {
  background-color:  var(--color1);
  padding: 4px 8px;
}

.rsts-skin-default .rsts-prev,
.rsts-skin-default .rsts-next {
  background-color: var(--color1) !important;
}

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

.picture-responsive {
  @extend .img-fluid;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* 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('../fonts/open-sans-v43-latin-300.eot'); /* IE9 Compat Modes */
  src: url('../fonts/open-sans-v43-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v43-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v43-latin-300.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/open-sans-v43-latin-300.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/open-sans-v43-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* 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('../fonts/open-sans-v43-latin-regular.eot'); /* IE9 Compat Modes */
  src: url('../fonts/open-sans-v43-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v43-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v43-latin-regular.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/open-sans-v43-latin-regular.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/open-sans-v43-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* 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('../fonts/open-sans-v43-latin-700.eot'); /* IE9 Compat Modes */
  src: url('../fonts/open-sans-v43-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v43-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v43-latin-700.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/open-sans-v43-latin-700.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/open-sans-v43-latin-700.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-800 - 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: 800;
  src: url('../fonts/open-sans-v43-latin-800.eot'); /* IE9 Compat Modes */
  src: url('../fonts/open-sans-v43-latin-800.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/open-sans-v43-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/open-sans-v43-latin-800.woff') format('woff'), /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+, iOS 5+ */
       url('../fonts/open-sans-v43-latin-800.ttf') format('truetype'), /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
       url('../fonts/open-sans-v43-latin-800.svg#OpenSans') format('svg'); /* Legacy iOS */
}

@font-face {
  font-family: 'AmsterdamOne';
  src: url('../fonts/AmsterdamOne.eot');
  src: local(''),
       url('../fonts/AmsterdamOne.eot?#iefix') format('embedded-opentype'),
       url('../fonts/AmsterdamOne.woff2') format('woff2'),
       url('../fonts/AmsterdamOne.woff') format('woff'),
       url('../fonts/AmsterdamOne.ttf') format('truetype'),
       url('../fonts/AmsterdamOne.svg#AmsterdamOne') format('svg');
}

@font-face {
  font-family: 'FontAwesome';
  src: url('../fonts/fontawesome-webfont.woff2') format('woff2'),
       url('../fonts/fontawesome-webfont.woff') format('woff'),
       url('../fonts/fontawesome-webfont.ttf') format('truetype'),
              url('../fonts/fontawesome-webfont.svg#FontAwesome') format('svg');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: 'Open Sans', sans-serif;
  color: #141416;
  font-size: 16px;
  background: none;
  background: white;
}

table {
  font-family: inherit !important;
  font-size: 80% !important;
  color: inherit !important;
}



/* Standard-h1: alles in Großbuchstaben */
h1 {
  font-size: 26px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  padding: 0 0 10px 0;
  line-height: 1.2; /* normaler Zeilenabstand */
  text-transform: uppercase;
  font-style: normal;
}
/* h1 mit <em>, <i> oder inline italic → AmsterdamOne, kein Uppercase, dynamischer Zeilenabstand */
h1 em,
h1 i,
h1[style*="italic"] {
  font-style: normal !important;
  font-family: 'AmsterdamOne', cursive !important;
  font-weight: normal !important;
  text-transform: none !important;
  line-height: 2.0 !important;
}

/* Alle kursiven h1s bekommen 40px */
h1 em,
h1 i,
h1[style*="italic"] {
  font-size: 40px;
}

/* Ausnahme: nicht im .content-swiper – bleibt dort bei ursprünglicher Größe */
.content-swiper h1 em,
.content-swiper h1 i,
.content-swiper h1[style*="italic"] {
  font-size: inherit;
}

@media (min-width: 576px) and (max-width: 767.98px) {
  .home-block h1 em {
    font-size: 1.3rem !important;
  }
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .home-block h1 em {
    font-size: 1.2rem !important;
  }
}

@media (min-width: 992px) and (max-width: 1399.98px) {
  .home-block h1 em {
    font-size: 1.8rem !important;
  }
}

.home-block h1 {
  margin-top: 1.5rem !important; /* etwas mehr Abstand nach oben */
}

/* Standard-h2: alles in Großbuchstaben */
h2 {
  font-size: 24px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  padding: 0 0 8px 0;
  line-height: 1.2; /* normaler Zeilenabstand */
  text-transform: uppercase;
  font-style: normal;
}
/* h2 mit <em>, <i> oder inline italic → AmsterdamOne, kein Uppercase, dynamischer Zeilenabstand */
h2 em,
h2 i,
h2[style*="italic"] {
  font-size: 35px;
  font-style: normal !important;
  font-family: 'AmsterdamOne', cursive !important;
  font-weight: normal !important;
  text-transform: none !important;
  line-height: 1.4 !important;
}

.content-swiper h2 em,
.content-swiper h2 i,
.content-swiper h2[style*="italic"] {
  font-size: inherit;
}

.content-swiper h3 em,
.content-swiper h3 i,
.content-swiper h3[style*="italic"] {
  font-size: inherit;
}

.project-bg:hover h2,
.project-bg:hover h2 em,
.project-bg:hover h2 i,
.project-bg:hover h2[style*="italic"] {
  color: white;
}


/* Standard-h3: alles in Großbuchstaben */
h3 {
  font-size: 18px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  padding: 0 0 6px 0;
  line-height: 1.2; /* normaler Zeilenabstand */
  text-transform: uppercase;
  font-style: normal;
}

/* h3 mit <em>, <i> oder inline italic → AmsterdamOne, kein Uppercase, dynamischer Zeilenabstand */
h3 em,
h3 i,
h3[style*="italic"] {
  font-size: 32px;
  font-style: normal !important;
  font-family: 'AmsterdamOne', cursive !important;
  font-weight: normal !important; /* verhindert fette Darstellung */
  text-transform: none !important;
  line-height: 1.4 !important; /* dynamisch abhängig von der Schriftgröße */
}

/* Standard-h3: alles in Großbuchstaben */
h4 {
  font-size: 16px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
  padding: 0 0 6px 0;
  line-height: 1.2; /* normaler Zeilenabstand */
  text-transform: uppercase;
  font-style: normal;
}

h4 em,
h4 i,
h4[style*="italic"] {
  font-size: 32px;
  font-style: normal !important;
  font-family: 'AmsterdamOne', cursive !important;
  font-weight: normal !important; /* verhindert fette Darstellung */
  text-transform: none !important;
  line-height: 1.4 !important; /* dynamisch abhängig von der Schriftgröße */
}

h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em{
  font-weight: normal !important;
}

.content-swiper h1 { font-size: 90px;   font-family: 'Open Sans', sans-serif; font-weight: 800; text-transform: uppercase; padding: 0; margin: 0; }
.content-swiper h2 { font-size: 90px;   font-family: 'Open Sans', sans-serif; font-weight: 800; text-transform: uppercase; padding: 0; margin: 0; }
.content-swiper h3 { font-size: 70px;   font-family: 'Open Sans', sans-serif; font-weight: 800; text-transform: uppercase; padding: 0; margin: 0; }
.content-swiper a.btn { color: #fff; border-color: #fff; font-size: 16px; padding: 8px 14px; }

.InsideOut h1 { font-size: 55px;   font-family: 'Open Sans', sans-serif; font-weight: 800; text-transform: uppercase; }


.h2_home h2 { padding: 0; }
.h2_home h4 { color: #6e6d6d;  }

@media screen and (max-width: 780px) {
        .h3_home h1 { line-height: 1.2; }
        .h2_home h2 { line-height: 1.2; }
}

/* Standard: kursiver Text in h1 = blau */
h1 em,
h1 i,
h2 em,
h2 i,
h3 em,
h3 i,
h1[style*="italic"] {
  color: var(--color1);
}

/* Ausnahme: wenn es im content-swiper ist, bleibt es weiß */
.content-swiper h1 em,
.content-swiper h1 i,
.content-swiper h1 [style*="italic"] {
  color: white;
}

.content-swiper h2 em,
.content-swiper h2 i,
.content-swiper h2[style*="italic"] {
  color: white !important;
}

.content-swiper h3 em,
.content-swiper h3 i,
.content-swiper h3[style*="italic"] {
  color: white !important;
}

/* Für xs: bis 575.98px – z. B. 393px */
@media (max-width: 575.98px) {
  .content-swiper h1 em,
  .content-swiper h2 em {
    font-size: 2rem !important;
  }
}

/* Für sm: 576px bis 767.98px – z. B. 750px */
@media (min-width: 576px) and (max-width: 767.98px) {
  .content-swiper h1 em,
  .content-swiper h2 em {
    font-size: 2.5rem !important;
  }
}

/* Für md: 768px bis 991.98px – z. B. 770px */
@media (min-width: 768px) and (max-width: 991.98px) {
  .content-swiper h1 em,
  .content-swiper h2 em {
    font-size: 2.75rem !important;
  }
}

.slider-p { padding-bottom: 200px; padding-top: 200px; }
.top-container { border-bottom: 1px solid #e8e8e7; }
.slidertext { background: white; padding: 35px; } 
.fixedTop .mainnavi { border: 0; background: white; margin: 0; width: 100% }

#header .mod_navigation ul { overflow: hidden; margin-top: 25px; }
.mainnavi .level_1 a, .mainnavi .level_1 span { 
        display: block; 
        text-decoration:none; 
        color: #fff;  
        text-transform: uppercase; 
        font-size: 16px; 
        font-family: 'Open Sans', sans-serif;
        font-weight: 800;
}
.mainnavi .level_1 a:hover, .mainnavi .level_1 span:hover { color: #fff; }
.mainnavi .level_1 li { }

#footer input, #footer textarea { background: none; border: 2px solid rgba(255,255,255,0.2);
color: rgba(255,255,255,0.6);
-moz-transition: background .5s;
-webkit-transition: background .5s;
transition: background .5s;
}

#footer .submit { border: none; background: rgba(255,255,255,0.1); font-size: 20px; }
#footer .submit:hover { background: #fff!important; }

#footer input.text,
#footer select,
#footer textarea {
        width: auto;
}

#footer input {
        display: inline-block;
}

#footer .submit { color: rgba(255,255,255,0.6); font-size: 13px; border: none;   font-family: 'Open Sans', sans-serif; font-weight: 400; }
#footer .submit:hover { background: #fff; color: #0D0F0F!important; }

header .ce_form input.text:hover, header .ce_form input.text:focus,
#footer input.text:hover, #footer textarea:hover, #footer input.text:focus, #footer textarea:focus { background: rgba(255, 255, 255, 0.2); color: rgba(255, 255, 255, 0.8); }


header .ce_form input.text:hover, header .ce_form input.text:focus,

#footer a {
        -moz-transition: color .5s, background .5s;
        -webkit-transition: color .5s, background .5s;
        transition: color .5s, background .5s;
}

footer ul { list-style-type: none; margin: 0; padding: 0; }

.mod_login, .ce_comments { padding: 6px 29px 20px; margin-bottom: 10px; background: #fff; }

.mod_eventlist div.header a, p.more a, p.back a, p.info a {
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  position: relative;
  text-transform: uppercase;
}


.mod_eventlist div.header a:before,
p.more a:before,
p.back a:before,
p.info a:before {
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleY(0);
  transform-origin: 50% 100% 0;
  transition-duration: 0.3s;
  transition-property: transform;
  transition-timing-function: ease-out;
  z-index: -1;
}

.mod_eventlist div.header a, p.more a, p.back a, p.info a {
  backface-visibility: hidden;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  color: #ffffff;
  display: inline-block;
  transform: translateZ(0px);
  transition-duration: 0.3s;
  transition-property: color;
  vertical-align: middle;
}

.mod_eventlist div.header a, p.more a, p.back a, p.info a {
  border-radius: 0;
  background: none;
}

.mod_eventlist div.header a:hover,
p.more a:hover,
p.back a:hover,
p.info a:hover {
  color: #ffffff;
  -moz-transition: all .8s;
-webkit-transition: all .8s;
transition: all .8s;

}

.mod_eventlist div.header, .mod_eventlist .time, p.info {padding: 0 0 5px; font-size: 12px; display: inline-block; padding-right: 7px; }

p.back { display: inline-block; }

.comment_default .reply {margin-left: 50px; }


.mod_nl_list li { color: #666; font-size: 12px;  }
.mod_nl_list li a { font-size: 18px; margin-left: 5px;}

.multicell { border-top: 4px solid #ccc; }
.multicell .ce_text  { padding: 10px 0; margin: 10px 0; border-bottom: 1px solid #ccc; }
.multicell h2, .multicell h1, { margin-top:0; padding-top:0; }

.fullwidth .content-slider .ce_text { padding: 200px 0;  }
.socials a { display: block; margin: 0 1px; color: #191B1B; }

input.text, textarea, select { }
input.text:active, textarea, select:active  {  }
input.text:focus, textarea, select:focus  { }

footer .footercontainer, footer .footercontainer  .container  { margin-bottom:0!important;
         }

footer .footercontainer { position: relative; }


/* ========================== */
.fixedTop {  position: fixed; z-index:99; top: 0;}
.fixedTop .logo {/* margin: 10px 0!important; */}
.fixedTop .ce_form ,
.fixedTop .mainnavi { margin-top: 0px!important; }

.logo img {
    padding: 2rem 1.5rem 2rem 0.5rem;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}


@media screen and (max-width: 767px) {
  .logo img {
    max-width: 100%;
    height: auto;
    padding: 1rem; /* ggf. kleinerer Padding-Wert für Mobile */
  }
}

.fixedTop .logo img { padding-bottom: 15px; padding-top: 15px;}

.ContentStripe {padding: 50px 0; }
.ContentStripe .image_container { display:inline-block; margin-bottom: 20px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

.InsideOut,
.OutsideIn { padding: 170px 0; }

.InsideOut.bigbanner { padding: 280px 0; }
.InsideOut h1, .InsideOut h2, .InsideOut h3, .InsideOut h4, .InsideOut p,
.InsideOut a { border: none; color: #fff; }
.OutsideIn p:hover {
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
 }

.InsideOut .image_container:hover { background: none!important; }

.footercontainer  { padding: 70px 0; ; }
.footersocials a {
        padding: 1px 5px 5px; margin: 0 5px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}
p.footerIcons a:before, p.socialIcons a:before {
          display: inline-block;
          padding: 5px 0 0 6px;
          transition: all 0.5s ease 0s;
        color: #96969c;
        width: 30px;
        height: 30px;
        margin-right: 5px;

        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

.right-socials .socialIcons  { text-indent: 3px; }

p.footerIcons a:hover:before {
        color: #fff;
}

.footercontainer p.footerIcons a:before { text-indent: 3px !important; }


.submit:hover { color: var(--color1) !important; }

p.back a:before,
.ce_gallery a.cboxElement:before,
.mod_newsreader p.info:before,
.topnavi li a:before,
.topnavi li span:before,
.quote:after ,
footer .mod_newslist time:before,
.reply p.info:before,
span.date:before,
span.time:before,
.mod_newslist p.info:before,
.mod_eventreader p.info:before,
p.footerIcons a:before,
p.socialIcons a:before,
.scrolltop a:before ,
footer .linkIcon a:before,
footer .linkIcon span:before,
footer a:before,
.scrolltop a:before,
.ce_accordion .toggler:after,
.clients h3:before,

.ce_accordion .toggler:after
{        font-family:Bootstrap-Icons; padding-right: 5px;  }

.ce_accordion .toggler:hover:after {
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
}

.ce_accordion .toggler:hover:after {
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
}


.clients h3:before { content:"\f10d";
  color: rgba(255, 255, 255, 0.1);
  font-size: 200px;
  left: -20px;
  position: absolute;
  top: -50px;
}
.clients.content-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: left;
}

p.info a:before { content:"\f073";}
p.back a:before { content:"\f053"; }
.ce_accordion .toggler:hover:after,
.ce_accordion .toggler.active:after
{ content:"\f286"; }
.ce_accordion .toggler:after { content:"\f282"; float:right; padding: 0;}

footer .linkIcon a:before { content:"\f105"}

.reply p.info:before {content:"\f112";}

span.time:before {content:"\f017";}

footer .mod_newslist time:before,
.mod_newsreader p.info:before,
.mod_newslist p.info:before,
.mod_eventreader p.info:before ,
span.date:before {content:"\f073";}

p.footerIcons a:hover:after, p.socialIcons a:hover:after {
        -moz-opacity: 1;
        -webkit-opacity: 1;
        opacity: 1;
}

a:focus { outline: none; }

.scrolltop a {
    position: fixed;
    right: 2rem;
    overflow: hidden;
    cursor: pointer;
    bottom: 2rem;
    font-size: 2rem;
}

.scrolltop a:hover:after  { color: #212121;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
 }

footer h1, footer h2, footer h3, footer h4 {
  color: var(--color5);
}

header .formbody { position: relative; }

.homecontact .formbody { background: #fff; padding: 26px 26px 70px 26px; left: 50%; right: 50%; }
.formbody { position: relative; }

.quote { padding: 20px; background: #e7e7e7; text-align:center; }
.quote:after { content:"\f10e"; font-size: 32px; margin: 10px 0 -10px; display: block; }
.quote-name { text-transform: uppercase; margin: 0; padding: 0; }
.quote-position { }

.mainnavi ul.level_1 > .active, .mainnavi ul.level_1 > .trail, .mainnavi ul.level_1 > .forward { background: none; }

.home #main { padding: 0; }
body.home #main { padding-top: 0; }

.topnavi ul { margin: 25px 0!important; padding: 0; }
.topnavi li a, .topnavi li span { text-transform: uppercase; font-size: 10px; float: left; margin-right: 10px; }

.topnavi li.login a:before,
.topnavi li.login span:before
{ content:"\f090"; font-size: 14px; }

.topnavi li.register a:before,
.topnavi li.register span:before
{ content:"\f007 "; font-size: 14px;}

.ce_gallery figure  {        line-height:0;}
ul.row.ce_gallery.no-gutters { list-style: none;    padding: 0;}

a, span, img, figure {
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}


#kontakt-144 input, #kontakt-144 textarea { background: none; border: 1px solid #666; color: #e7e7e7 }
#kontakt-144 .bi { color: #666; }
.bi.pull-left { width: 30px; }

body.home footer { margin-top:0; }

.footersocials a:before {
  color: #787878;
  font-size: 18px;
}

#our-work li { width: 33.333%; float: left; }
#service em {
        -moz-border-radius: 50%;
        -webmit-border-radius: 50%;
        border-radius: 50%;

        width: 100px; height: 100px; line-height: 100px; text-indent: 15px;

        }


#main .home-pics .ce_image figure.image_container figcaption { padding: 0 15px; position: absolute; top: 20%; opacity: 0; font-size: 18px; color: #fff;  }
#main .home-pics .ce_image figure.image_container:hover figcaption {
position: absolute; top: 46%; opacity: 1; text-align:center;
-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
 }

#main .home-pics .ce_image figure.image_container {
        background: #09090b;
        margin: 13px;
}

#main .home-pics .ce_image figure.image_container img:hover {
         opacity: 0.3;
 }

/* -- foter events + footer news -- */

footer .mod_navigation li a, footer .mod_navigation li span { color: #707176;  font-family: 'Open Sans', sans-serif; font-weight: 400; }
footer a { color: #707176;   font-family: 'Open Sans', sans-serif; font-weight: 300; }

footer { color: rgba(255, 255, 255, 0.5); }
footer .mod_newslist time,
footer .mod_eventlist span.date { text-transform: uppercase; font-size: 10px; line-height: normal; }

footer .mod_navigation li a,
footer .mod_navigation li span,
footer .mod_newslist > div,
footer .mod_eventlist > div { display: block; }

footer .mod_newslist a,
footer .mod_eventlist a
{ color: white; display: block ; }

.copyright { text-transform: uppercase; color: rgba(255,255,255,0.9); padding-top: 13px; }
.copyright p { color: white; }

.formbody label { font-size: 12px; }

/*
.ce_gallery a.cboxElement { display: block; }
.ce_gallery a.cboxElement:before { position:absolute; top:0; width: 100%; height: 100%; background: rgba(255, 255, 255, .2); content:"\f00e "; text-align:center; display: block; padding-top: 100px; font-size: 50px; color: #fff; }
*/

.formbody input.text {
  background: #eee none repeat scroll 0 0;
  border: medium none;
  border-radius: 0;
  box-shadow: none;
  font-size: 16px;
  height: 42px;

}

header .ce_form  input.text { background: none; font-size: 14px; text-shadow: 0 none;}


.footersocials  { position: fixed; right: 34px; bottom: 100px; z-index:999; }
.footersocials  a { display: block; padding: 5px 5px 6px; margin: 1px 0;
-moz-transition: all .2s;
-webkit-transition: all .2s;
transition: all .2s;
}
.footersocials  a:hover:after { font-size: 25px; }



.sliderselect button, input, optgroup, select, textarea {
  background: none;
  border: 1px solid #ccc;;
  color: #212324;
  display: block;
  font-size: 14px;
  line-height: 1.42857;
  padding: 6px 12px;
  margin-bottom: 6px;
  transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
}

.short_text { display: inline-block; padding: 3px 5px; }

.bg-white { background: white; padding: 20px; }


 .footergallery figure { padding: 4px; }
 .events { border-bottom: 1px solid #ccc; margin-bottom: 20px; padding-bottom: 20px; }

.dlh_googlemap { margin-bottom: 0px; }

.text-white a, .text-white h3, .text-white fa { color: #fff; }

.dark-bg { padding: 35px; }
.dark-bg .btn { border: 1px solid #fff; }
.dark-bg .btn:hover { background: #fff; color: #212324; }

.border-img img { border: 1px solid #e8e9e9; }

.small-text { background: #dfdfdf; width: 400px; padding: 10px 23px; }
.small-text p { font-size: 14px;  }

.small-slider { padding: 0; }

embed.mejs-shim { width: 100%; }

.mejs-container .mejs-controls { none!important }

.white-bg {
  background: #fff;
  overflow: hidden;
  padding: 50px 35px;
}

.white-bg h2 { background: none; }

.white-bg:hover {
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;

}

.white-bg:hover h2, .white-bg:hover h4, .white-bg:hover a, .white-bg:hover p, .white-bg:hover .bi {
        color: var(--color1);
        border-color: var(--color1);
}

.white-bg:hover a:hover {
        color: #ccc;
}

.icon .bi {
        border: 1px solid rgba(0,0,0,0.2);
        border-radius: 50%;
        padding: 0; display: inline-block;
        text-indent: 4px; font-size: 2rem;
        width: 64px;
        height: 64px;
        line-height: 64px;
        text-align: center;
}

.footer-logo { border-right: 1px solid rgba(255,255,255,0.6); }

.rotate-page {
  height: 900px;
  left: 50%;
  margin: 0 auto 0 -350px;
  padding-right: 10px;
  position: absolute;
  top: 270px;
  width: 700px;
  z-index: 333;
}


.banner-bottom { margin-top: -60px; }

.ce_gallery img { padding: 0; }

p.socialIcons a:before { background: #D6D7D8; }
p.socialIcons a:hover:after { color: #fff; background: var(--color1); }

.ce_gallery img {
        filter: saturate(50%);
        -webkit-filter: saturate(50%);
        -moz-filter: saturate(50%);
        -o-filter: saturate(50%);
        -ms-filter: saturate(50%);
        }

.ce_gallery img:hover {
        filter: saturate(100%);
        -webkit-filter: saturate(100%);
        -moz-filter: saturate(100%);
        -o-filter: saturate(100%);
        -ms-filter: saturate(100%);
          -moz-transition: all .8s;
        -webkit-transition: all .8s;
        transition: all .8s;
        }

}


.downloadicon { display: block; font-size: 16px; margin: 0 0 10px; }

.ce_downloads .bi { font-size: 30px; display: block; }
.mod_faqlist li { font-size: 14px; text-transform: uppercase; }

.round .bi {
 -webkit-transition: all 0.5s ease;
     -moz-transition: all 0.5s ease;
       -o-transition: all 0.5s ease;
      -ms-transition: all 0.5s ease;
          transition: all 0.5s ease;}

.white-bg:hover .bi {
border-radius: 50%;
background: var(--color1);
color: #fff;
  -webkit-transform: rotate(360deg);
     -moz-transform: rotate(360deg);
       -o-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
          transform: rotate(360deg);}


.iframe,
.me-plugin,
.mejs-container { width:100%!important; }

body.contact .form-control { background: rgba(255, 255, 255, .2); color: #999!important; }


.bi-lila .bi { border: none; width: 0; text-align: left; text-indent: 0; line-height: 0; height: 0; display: inline-block; padding-right: 35px; }
.bi-lila .bi:hover { transform: none; }

div.overlay-textinput .submit { color: #50505A; background: #e0e0e0!important; }
div.overlay-textinput .submit:hover { color: #fff!important; background: var(--color1)!important; }

#ctrl_registration { border: 1px solid rgba(0,0,0,0.1); }
#ctrl_registration:hover,
#ctrl_registration:focus,
#ctrl_registration:active {
border: 1px solid rgba(0,0,0,0.2);
-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
 }


/* White BG */
.ce_form .home-contact {
  padding: 35px;
}

.ce_form .home-contact .formbody input.text,
.ce_form .home-contact textarea.form-control { background: white; }

.home-contact .formbody .submit { border: 2px solid white; }

.ce_comments .formbody {
  background: #efefef;
  padding: 10px 20px;
}

.mod_faqlist {
  background: #ffffff none repeat scroll 0 0;
}

#registrierung .container {
  background: #ffffff none repeat scroll 0 0;
  padding: 8px;
}


.home .ce_form .formbody { background: none; padding: 0; }

.newsInner {
        background: white;
        overflow: hidden;
        margin: 10px 0;
        padding: 15px 0;
}

.newsitem {
        background: #fff;
        margin:10px 00!important;
}

.newsitem .news {        margin:0!important; }
.newsitem .newstxt { padding: 0px; }

.submit { text-transform: uppercase; border: none; padding: 5px 11px; }
.submit:hover { color: #fff!important; }

/* buttons */

.newstxt p.more a:hover, p.back a:hover, .submit:hover {
        border: none;
        -moz-transition: all .8s;
        -webkit-transition: all .8s;
        transition: all .8s;
}

.newstxt p.more:hover, p.back:hover, .submit:hover { color: #fff; border:none; }
.newstxt p.more, p.back { margin-bottom: 0; }

./*newstxt p.more, p.back, .submit {
        color: #fff;
        text-transform: uppercase;
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
} */
.newstxt p.more a:before, p.back a:before, .submit:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

.newstxt p.more a:hover, .newstxt p.more a:focus, .newstxt p.more a:active,
p.back a:hover, p.back a:focus, p.back a:active,
.submit:hover, .submit:focus, .submit:active {
        color: white;
 }

.newstxt p.more a:hover:before, .newstxt p.more:focus:before, .newstxt p.more:active:before,
p.back:hover:before, p.back:focus:before, p.back:active:before,
.submit:hover:before, .submit:focus:before, .submit:active:before {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
 }



 .submit { color: white; }












a.btn {
  position: relative;
  font-size: 13px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
}


a.btn {
  background: none;
  color: var(--color1);
  padding: 8px 18px;     /* vorher: 5px 12px */
  margin-top: 10px;      /* leicht erhöht für mehr Luft */
  border-radius: 0;
  border: 2px solid var(--color1);
  font-size: 19.5px;     /* vorher: 13px */
}

a.btn:hover {
        border: none;

        -moz-transition: all .8s;
        -webkit-transition: all .8s;
        transition: all .8s;
}


.btn {
  font-size: 14px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 300;
}

.btn:hover,
.btn:focus { color: #fff; border:none; }

a.btn {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}

a.btn:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}

a.btn:hover, a.btn:focus, a.btn:active {        color: white!important; background: var(--color1)!important; }
a.btn:hover:before, a.btn:focus:before, a.btn:active:before {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
 }


body.home .mod_breadcrumb  { display: none; }

.mod_breadcrumb ul {
    list-style: none;
    margin: 0;
    padding: 5px 0;
    border-bottom: 1px dotted;
    overflow: hidden;
    margin: 1rem 0 1rem;
}
.mod_breadcrumb ul li > a, .mod_breadcrumb ul li  { text-decoration: none; font-size: 14px; }
.mod_breadcrumb ul li.active { font-family: 'Open Sans', sans-serif; font-weight: 700; }

.navi-content .rte {
    display: flex;
    gap: .5rem;
    align-items: flex-start;
}

.navi-content .bi {
    color: #fff;
    padding: .5rem .4rem .4rem .6rem;
    display: inline-block;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .bangb1 .navi-content.content-text a strong {
    font-size: 0.65rem !important;
  }

  .bangb1 .navi-content.content-text small {
    font-size: 0.6rem !important;
  }
}

@media (max-width: 992px) {
  .navi-content p a strong {
    font-size: 12px !important;
  }

  .navi-content p a small {
    font-size: 10px !important;
  }

  .navi-content {
    padding: 0.25rem 0;
  }

  .navi-content p {
    margin: 0;
  }
}

@media (max-width: 1200px) {
  .navi-content p a strong {
    font-size: 15px !important;
  }

  .navi-content p a small {
    font-size: 12px !important;
  }

  .navi-content {
    padding: 0.25rem 0;
  }

  .navi-content p {
    margin: 0;
  }
}

.project-bg, .grey-bg {
    background: #ffffff; /* weißer Hintergrund */
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* sanfter, moderner Schatten */
}

.project-bg:hover {
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
 }

.project-bg:hover p, .project-bg:hover a.btn { color: rgba(255,255,255,0.9); }
.project-bg:hover a.btn { border-color: rgba(255,255,255,0.9); }

.color-bg { padding: 20px; }
.color-bg .bi, .color-bg h2 { color: var(--color1) ; }
.color-bg:hover .bi, .color-bg:hover h2 { color: #fff;
-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
 }

.home-block { margin-top: -82px; position:relative; z-index:9 }

.numbers h1 { font-size: 55px; padding: 0; margin: 0; }
.numbers h2 { font-family: 'Open Sans', sans-serif; font-weight: 300; margin-top: 5px; }
.clients { padding: 35px; height: 275px; }
.slider-control .slider-menu b { color: rgba(255,255,255,0.6); }
.slider-control .slider-menu b.active { color: #fff; }
.footer-bottom {  padding: 13px 0; }

.mod_eventlist a, .mod_newslist a {
  font-size: 1.2rem;
  text-transform: uppercase;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
}

.navi-content strong {
  font-size: 1rem;
  text-transform: uppercase;
  font-family: 'Open Sans', sans-serif;
  font-weight: 800;
}

.navi-content p { margin: 0; line-height: normal;}
.navi-content small {
    font-size: 1.0rem;
    line-height: 1;
}

.fixedTop .navi-content { margin-top: -2px; }
.mod_login { padding: 0; }


.overlay-menu h2 { color: white; }

.projects .content-image:hover img,
.projects .projectbox:hover img {  -webkit-transform: scale(1.4);
        -moz-transform: scale(1.4);
        -ms-transform: scale(1.4);
        -o-transform: scale(1.4);
        transform: scale(1.4);
}
.projects img { width:100%; height:auto; } 

.projectbox:hover .project-bg { background: var(--color1) ;-moz-transition: background .5s;
-webkit-transition: background .5s;
transition: background .5s;
 }

.projectbox:hover .project-bg p, .projectbox:hover .project-bg .btn { color: white; border-color: white;
-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
}

.contact .submit { background:  var(--color1) ; color: white; }
.contact .submit:hover { background: #222222!important; color: white!important; }
.navOverlayItem { font-size: 14px; margin: 0 10px; }


.devider {
  border-bottom: 1px solid var(--color1);
  margin-bottom: 20px;
  margin-top: 20px;
  z-index: 99;
  overflow: hidden;
  float: none;
}

.slider-menu b { font-size: 31px; color: red; display: inline-block; }

body.home .content-image figcaption {
  width: 542px;
  width: 100%;
  position: absolute;
  top: 43%;
  text-align: center;
  color: white;
  font-size: 30px;
  text-transform: uppercase;
  opacity : 0;
-moz-transition: opacity .5s;
-webkit-transition: opacity .5s;
transition: opacity .5s;
}

body.home .content-image:hover figcaption {  opacity : 1; }
.button-menu .bi { color: white!important; font-size:1.5rem }


.search .submit {
  position: absolute;
  right: 0;
  top: 0;
}

#footer .submit {
  color: rgba(255, 255, 255, 0.6)!important;
  padding: 7px;
}

.search .submit {
  padding: 11px 14px;
}

.slider-control .slider-next,
.slider-control .slider-prev {
         display: none;
}

.home-contact .submit:hover { background: white; }

#footer input.text, #footer select, #footer textarea { width: 100%; }

.scrolltop { z-index: 1; right: 0; }

.mod_faqreader p.back { display: block; }

.home-contact .submit:hover { color: #0F0F11!important; }


.ce_accordion div{
   -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}


footer p, footer a {
	font-weight: 300;
	font-size: 13px;
	color:  var(--color5) ;
	line-height: 1.6;
}

#article-261 p,
#article-261 a {
  color: #ffffff!important;
}

.events-right .event time {
    font-size: .75rem;
    background:  var(--color1) ;
    color: white;
    padding: 0.1rem 0.4rem;
}
.events-right .event {
    border-bottom: 1px solid rgba(0,0,0, .2);
    padding: 0.3rem 0;
}

/*** improvements contao 5 */
.swiper button {
    background: transparent;
    border: navajowhite;
}
.swiper button::after {
    font-size: 2rem;
    color:  var(--color1);
}
.bangb1 {
    width: 100%;
}
figure { margin:0 }
a:hover { text-decoration:none; }
.img-responsive { 
  width:100%;
  max-width:100% ;
  height: auto;
}

.flex-row {flex-direction: column!important; }

.bgStyle,
.banner-bg  { 
    width: 100%;
}
.slider-control .slider-menu b { margin: 0 .4rem; }

.no-gutters .col, .no-gutters [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}

/*---- downloads ---*/
.content-downloads ul { padding:0; list-style-type:none; }
.content-downloads li a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.content-downloads  li a:before {
    content: "\F294";
    font-family: 'Bootstrap-Icons';
    font-size: 2rem;
    line-height: normal;
    display: block;
}
.media.right-socials { flex-direction: column; }


table.calendar tbody tr > td {
    background: #e7e7e7;
    position: relative;
    height: 150px;
    width: 15%;
    vertical-align: top;
    border: .1rem solid #ccc;
}
table.calendar tbody tr > td.today .header {
    font-weight: bold;
}
table.calendar .empty { background:white }
table.calendar .weekend { background:#efefef }

.mod_calendar .event a {
    text-align: center;
    padding: .2rem;
    background: white;
    margin: 0.1rem 0;
    display: block;
    font-size: .65rem;
}

.bgStyle { background-position: center ; }
.slider-wrapper, .content-slider .content-text { display: flex; align-items: stretch; }


.mainservice img { width:100% }
.hover-sh:hover .blockInner  {
  box-shadow: 0 0 20px rgba(31,38,47,.3);
}

.hover-img figure { overflow:hidden; }
.hover-img:hover img {
  transform: scale(1.1);
}

/* Aktiver Punkt in Level 1 */
.mainnavi .level_1 > li > a.active,
.mainnavi .level_1 > li > a.trail,
.mainnavi .level_1 > li.active > a,
.mainnavi .level_1 > li.trail > a,
.mainnavi .level_1 > li > span.active,
.mainnavi .level_1 > li > span.trail,
.mainnavi .level_1 > li > strong.active,
.mainnavi .level_1 > li > strong.trail,
.mainnavi .level_1 > li.active > strong,
.mainnavi .level_1 > li.trail > strong {
color: var(--color1) !important;
font-family: 'Open Sans', sans-serif !important;
font-weight: 800 !important;
font-size: 18px !important;
text-transform: uppercase !important;
}

/* Aktiver Punkt in Level 2 */
.mainnavi .level_2 > li > a.active,
.mainnavi .level_2 > li > a.trail,
.mainnavi .level_2 > li.active > a,
.mainnavi .level_2 > li.trail > a,
.mainnavi .level_2 > li > span.active,
.mainnavi .level_2 > li > span.trail,
.mainnavi .level_2 > li > strong.active,
.mainnavi .level_2 > li > strong.trail,
.mainnavi .level_2 > li.active > strong,
.mainnavi .level_2 > li.trail > strong {
  color: var(--color1) !important;
  font-family: 'Open Sans', sans-serif !important; /* <<< Leichter! */
  font-weight: 300 !important;
  font-size: 18px !important;
  text-transform: none !important; /* <<< Keine Großbuchstaben bei Level 2 */
}

/* <<< Highlights Banner */
.highlight-box {
  background-image: url('../img/layout/info-abriss.png');
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  width: 100%;
  padding: 4rem;
  margin: 0 auto;
  font-family: inherit;
}

.highlight-box .icon {
  width: 80px;
  display: block;
  margin-bottom: 1rem;
}

.highlight-box h3 {
  font-weight: normal;
  margin-bottom: 2rem;
}

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

.highlight-box ul li {
  padding: 0.4rem 0;
  position: relative;
  padding-left: 1.5rem;
  line-height: 1.3;
  margin-bottom: 0.1rem;
  border-bottom: none;
}

.highlight-box ul li::before {
  content: "•"; /* Punkt statt Stern */
  position: absolute;
  left: 0;
  color: var(--color1); /* weiterhin grün */
  font-size: 1.2em;
  line-height: 1;
}

@media (max-width: 768px) {
  .highlight-box {
    padding-left: 1.3rem;
    padding-right: 1.3rem;
  }

  .highlight-box ul li {
    line-height: 1.3;
    font-size: 1rem;
    margin-bottom: 0.05rem;
    word-break: break-word;
  }

  .highlight-box .highlight-primary {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
}

.highlight-box li.highlighted {
  font-size: 1.4em;
  color: var(--color3);
}

.highlight-box li.highlighted2 {
  font-size: 1.4em;
  color: var(--color1);
}

.highlight-grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.highlight-column {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.highlight-block strong {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--color2);
}

.highlight-block ul {
  list-style: none;
  padding-left: 1.5rem;
  margin: 0;
}

.highlight-block li {
  margin-bottom: 0.2rem;
  line-height: 1.4;
  position: relative;
  padding-left: 1.5rem;
}

.highlight-block li::before {
  content: "•"; /* Punkt statt Stern */
  position: absolute;
  left: 0;
  color: var(--color1);
  font-size: 1.2em;
  line-height: 1;
}

/* Ab 768px: zweispaltig */
@media screen and (min-width: 768px) {
  .highlight-grid {
    flex-direction: row;
    gap: 4rem;
  }

  .highlight-column {
    flex: 1;
  }
}

.facts-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem 3rem;
  margin-top: 1rem;
  margin-bottom: 0;
  padding-left: 1.2em; /* optional, für schöne Bullets */
}
.facts-list li {
  margin-bottom: 1.5rem;
  /* Optional für einheitliche Höhe bei 2 Spalten */
  break-inside: avoid;
}
@media (min-width: 1200px) {
  .facts-list {
    grid-template-columns: 1fr 1fr;
  }
}

/* <<< Ende Highlights Banner */

/* <<< Info Ansprechpartner Box */

.info-markus-box {
  background-image: url('../img/layout/info-abriss-lang.png');
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  padding: 4rem 2rem;
  /*color: #fff; /* falls Text hell werden soll */
  /*border-radius: 8px; /* optional, wenn weich gewünscht */
}

/* <<< Ende Info Ansprechpartner Box */

/* <<< Aufzählung Wissenswertes */

.stichwort-uebersicht ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.5rem 2rem;
  list-style: none;
  padding: 0;
  margin: 2rem 0;
}

.stichwort-uebersicht li {
  margin-bottom: 0.3rem;
}

.stichwort-uebersicht a {
  text-decoration: none;
  color: var(--color1); /* optional */
}

.stichwort-uebersicht a:hover {
  text-decoration: underline;
}

.stichwort-uebersicht a[href^="#"] {
  scroll-behavior: smooth;
}

.content-text[id] {
  scroll-margin-top: 200px;
}
/* <<< Ende Aufzählung Wissenswertes */

/* <<< Aufzählung Reisebedingungen */

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

.stichwort-liste li {
  margin-bottom: 0.5rem;
}

.stichwort-liste a {
  color: var(--color1); /* passt zur Linkfarbe wie bei "wissenswert" */
  text-decoration: none;
}

.stichwort-liste a:hover {
  text-decoration: underline;
}

/* <<< Ende Aufzählung Reisebedingungen */

/* <<< Team Fotos */

.img-hover-switch {
  position: relative;
  display: inline-block;
  max-width: 300px; /* oder 100%, wie du brauchst */
}

.img-hover-switch img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease;
}

.img-hover-switch .img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

/* Desktop: Hover aktiviert */
@media (hover: hover) and (pointer: fine) {
  .img-hover-switch:hover .img-hover {
    opacity: 1;
  }

  .img-hover-switch:hover .img-default {
    opacity: 0;
  }
}

/* Mobilgeräte: Nur das Hover-Bild anzeigen */
@media (hover: none) and (pointer: coarse) {
  .img-hover-switch .img-default {
    display: none;
  }

  .img-hover-switch .img-hover {
    position: static;
    opacity: 1;
  }
}

/* <<< Ende Team Fotos */

/* <<< Team Kontakt */


.kontakt-hover-box {
  display: block;
  text-align: center;
  cursor: pointer;
  width: 100%;
  max-width: 275px;
}

.kontakt-hover-box .img-container {
  position: relative;
}

.kontakt-hover-box img {
  display: block;
  width: 100%;
  height: auto;
}

.kontakt-hover-box .img-hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

.kontakt-hover-box:hover .img-hover {
  opacity: 1;
}

.kontakt-hover-box:hover .img-default {
  opacity: 0;
}

.kontakt-text {
  margin-top: 0.5rem;
  font-size: 1rem;
}

.kontakt-text a {
  color: var(--color1);
  text-decoration: none;
}

.kontakt-text a:hover {
  text-decoration: underline;
}

/* Optional: für Mobilgeräte direkt Bild 2 anzeigen */
@media (hover: none) and (pointer: coarse) {
  .kontakt-hover-box .img-default {
    display: none;
  }
  .kontakt-hover-box .img-hover {
    position: static;
    opacity: 1;
  }
}

/* <<< Ende Team Kontakt */

/* <<< Mehr anzeigen Text */

.text-preview {
  max-height: 8em;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease;
}

.text-preview.expanded {
  max-height: none;
}

/* <<<  Ende Mehr anzeigen Text */

/* <<<  Formular Schrift */

.ce_form label {
  font-size: 1rem !important;
  font-family: inherit;
}

.widget.widget-explanation.explanation p {
  font-size: 1rem !important;
  font-family: inherit !important;
  font-weight: normal !important;
  margin-bottom: 1rem; /* optional für sauberen Abstand nach unten */
}

.ce_form legend {
  font-size: 1rem !important;
  font-family: inherit !important;
  font-weight: normal !important;
}

.ce_form select {
  width: 100% !important;
}

.ce_form input:invalid,
.ce_form select:invalid,
.ce_form textarea:invalid {
  border: 2px solid red;
}

.ce_form label .mandatory {
  display: none;
}

/* <<<  Ende Formular Schrift */

/* <<< Reisebüro-Punkte */

.reiseburo-punkte {
  margin-top: -82px;
  position: relative;
  z-index: 9;
}

/* Für 575.98px (und darunter) */
@media (max-width: 575.98px) {
  .reiseburo-punkte {
    margin-bottom: 6rem;
  }

  .reiseburo-punkte h3 {
    font-size: 1rem !important;
  }

  .reiseburo-punkte p {
    font-size: 0.8rem;
    line-height: 1.4;
  }
}

/* Für 576px bis 767.98px */
@media (min-width: 576px) and (max-width: 767.98px) {
  .reiseburo-punkte {
    margin-bottom: 6rem;
  }
  .reiseburo-punkte h3 {
    font-size: 0.9rem !important;
  }
  .reiseburo-punkte p {
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* Für 770px bis 991.98px */
@media (min-width: 768px) and (max-width: 991.98px) {
  .reiseburo-punkte {
    margin-bottom: 6rem;
  }
  .reiseburo-punkte h3 {
    font-size: 1.2rem !important;
  }
  .reiseburo-punkte p {
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* Optionaler Feintuning-Bereich für 920px bis 991.98px */
@media (min-width: 920px) and (max-width: 991.98px) {
  .reiseburo-punkte {
    margin-bottom: 6rem;
  }
  .reiseburo-punkte h3 {
    font-size: 1.1rem !important;
  }
  .reiseburo-punkte p {
    font-size: 1rem;
    line-height: 1.4;
  }
}

/* <<< Ende Reisebüro-Punkte */


/* <<< Visuell versteckte Labels */

.visually-hidden-label label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* <<< Ende Visuell versteckte Labels */


/* <<< Formular-Farbe für helle Hintergründe */

.label-white {
  color: #ffffff !important;
}

/* <<< Ende Formular-Farbe */


/* <<< Elfsight-Hinweisbox */

.elfsight-placeholder {
  display: none;
  text-align: center;
  padding: 1.5rem;
  background:  var(--color6);
  font-style: italic;
  color: #333;
  max-width: 700px;
  margin: 2rem auto;
}

.elfsight-placeholder a {
  color: var(--color1);
  font-weight: bold;
  text-decoration: none;
}

.elfsight-placeholder a:hover {
  text-decoration: underline;
}

/* <<< Ende Elfsight-Hinweisbox */


/* <<< Button-Grundstil */

.btn-rot,
.btn-gruen {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  text-transform: none !important;
  font-weight: normal !important;
  font-size: 1rem !important;
  padding: 0.6rem 1.2rem;
  border: 2px solid;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1.4;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 300px;
}

/* ROTER BUTTON */
.btn-rot {
  background-color: var(--color3);
  color: #fff;
  border-color: var(--color3);
}

.btn-rot:hover {
  background-color: #fff;
  color: var(--color3);
  border-color: var(--color3);
}

/* GRÜNER BUTTON */
.btn-gruen {
  background-color: var(--color1);
  color: #fff;
  border-color: var(--color1);
}

.btn-gruen:hover {
  background-color: #fff;
  color: var(--color1);
  border-color: var(--color1);
}

/* <<< Ende Button-Grundstil */


/* <<< Button-Gruppe auf Reisedetailseite */

.btn-reisedetailseite {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.btn-reisedetailseite + .btn-reisedetailseite {
  margin-top: 1rem;
}

/* <<< Ende Button-Gruppe */

/* <<< Reisetermin Box */

.reisebox {
  background-color: var(--color6);
  padding: 2rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}

.reisebox-left {
  flex: 1 1 60%;
}

.reisebox-left h3 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.reisebox-left p {
  margin: 0.5rem 0;
  font-size: 1rem;
}

.reisebox-left p strong {
  font-weight: bold;
}

.reisebox-right {
  flex: 1 1 30%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 1rem;
}

.reisebox-buchungs-button {
  width: auto !important;
  max-width: none !important;
}

.reisebox-status {
  color: var(--color1);
  font-weight: bold;
  font-size: 1.1rem;
}

.reisebox-status.status-ausgebucht {
  color: var(--color3);
}

/* <<< Ende Reisetermin Box */

/* <<< Was wir bieten Kacheln */
.was-wir-bieten-kachel {
  background-color: var(--color6) !important;
  padding: 2rem;
  border-radius: 12px;
  height: 100;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.was-wir-bieten-kachel h4,
.was-wir-bieten-kachel p {
  text-align: center;
}
/* <<< Ende Was wir bieten Kacheln */

/* <<< Was wir bieten Kacheln */
.vorschlag-gruppenreise-box {
  background-color: var(--color6) !important;
  padding: 1.5rem;
  border-radius: 4px;
  margin-bottom: 2rem;
    display: inline-block;
}

.vorschlag-gruppenreise-title {
  margin: 0;
  text-align: center;
  padding: 0 0 0 0 !important;
}
/* <<< Ende Was wir bieten Kacheln */

/* <<< Überschriften-Padding entfernen auf Seite "Länderauflistung" */
.laenderauflistung h2 {
  padding: 0 0 0 0 !important;
}
/* <<< Ende Länderauflistung Padding-Anpassung */

/* <<< Reisetermine home-Seite */
.reisebox-teaser-start {
  display: block;
  background-color: #e8f3ec;
  padding: 1em !important;
}

.reisebox-teaser-reiseziel {
  margin-top: 0.75rem;
  color: var(--color1);
}

.reisebox-teaser-text {
  margin: 1em 0;
  font-style: italic;
}

.reisebox-teaser-infos p {
  margin: 0.2em 0;
}

.reisebox-teaser-action {
  margin-top: 1em;
}

.reisebox-wrapper {
  padding: 0.5rem; /* z. B. 8px Abstand innen */
}
/* <<< Ende Reisetermine home-Seite */