#main {background-color: #FDF9F4;}
#main a {text-decoration:underline;}
#header nav.slider-control .slider-prev:hover, #header nav.slider-control .slider-next:hover, .newsletter-home {background-color: #FDF9F4;}
h1, h2 {color: #b3a593;}
.hoverdurch .textInner {pointer-events: none; /* lässt Hover-Ereignisse durch */}
em.hidden { opacity: 0;}
.slider-control .slider-menu b.active, .fa-star {color:#E59828!important;}
.customerslider .slider-control .slider-menu {top: 110px;}
.InsideOut p {color: rgba(255,255,255,1);}
h2 {font-size:36px;}
h3 {line-height: 2rem;font-weight:400;}
#footer h3 {font-size:22px;}
body, h3,h4,h5,p {color:#4B4B4B;}
#main img {max-width: 100%;height: auto;}
.btn {margin-right:30px;}
.bg-grey {background-color:#F4F4F4;}
#footer {color: rgba(255, 255, 255, 1);}
.footerIcons {text-align: left;}
.footeraddress p {margin-left: 0px;}
.footeraddress em {position: inherit;left: inherit;width:25px;}
.topbar {padding:0;position: fixed;}
.logo {position: relative;}
.video-overlay h2 {line-height: 2rem;}
.overlayContent h1, .overlayContent h2, .overlayContent h3, .overlayContent h4, .overlayContent p {color:#fff;}
.video-wrapper {position: relative;display: inline-block;width: 100%;overflow: hidden;}
.video-wrapper video {width: 100%;height: auto;display: block;}
.video-overlay {position: absolute;inset: 0; pointer-events: none;}
.content-player figure {width:100%;}
.customerslider figure, .dlh_googlemap .frame-overlay {  position: relative;}
.customerslider figure::after, .dlh_googlemap .frame-overlay::after {content: "";position: absolute;inset: 0; background-color: rgba(0, 0, 0, 0.5);pointer-events: none;}
          .topbar {background: none; box-shadow:none;}
.fixedTop .topbar {background: #FDF9F4; box-shadow: 0px 7px 14px -8px rgba(0,0,0,0.25);height:68px;}
          .mainnavi .level_1 > li > a {color:#fff;}
.fixedTop .mainnavi {padding-top: 22px !important;}
.fixedTop .mainnavi .level_1 > li > a {color:#2c3e50;}
.fixedTop .mainnavi .level_1 > li > a:hover {color:#E59828;}
.fixedTop .topbar {padding: 5px 0 5px 0;}
.mainnavi .level_1 > li > a , .mainnavi .level_1 > li > strong {padding: 0px 3px 2px 15px;}

#article-54, .frame-overlay {line-height: 0;}
body.contact #main {padding-bottom: 80px;  padding-top: 30px;}
.css_logo{display: block;background-size: contain;background-repeat: no-repeat; background-position: center;}
.css_logo{width: 235px; height: 171px;background-image: url("/files/585-square/layout/logo_large.jpg");}

.media.media--left .blockInner, .media.media--right .blockInner {gap: 2rem;}
.socialmedia a::after {font-size:30px;}
#main figure {overflow: hidden;}
#main figure img {
  transition: transform 0.5s ease; /* sanfter Übergang */
  display: block;
  width: 100%; /* optional, je nach Layout */
  height: auto;
}
.margin_r_l_10 {margin-left:calc(var(--bs-gutter-x) * .8);margin-right:calc(var(--bs-gutter-x) * .8);}
.margin_r_l_10 > div {margin-bottom:calc(var(--bs-gutter-x) * 1.6);}
.row > * {padding-right: calc(var(--bs-gutter-x) * .8);padding-left: calc(var(--bs-gutter-x) * .8);}
  
#main figure img:hover {transform: scale(1.2); /* Zoom-Faktor, z.B. 1.1 = 10% größer */}
button.submit, a.btn {background-color:transparent!important;border:1px solid #b3a593!important;color: #4B4B4B!important;font-weight:400;}
button.submit:hover, a.btn:hover {background-color:#b3a593!important; color:#fff!important;}
.bgStyle {position: relative; overflow: hidden;}
.bgStyle::before {
  content: "";
  position: absolute;
  inset: 0; /* ersetzt top:0; right:0; bottom:0; left:0 */
  pointer-events: none; /* damit Klicks durchgehen */
  z-index: 1;
}
.bgStyle::before, .video-overlay { background: rgba(0, 0, 0, 0.4);}/* 40% Schwarz */
/* optional: sicherstellen, dass der Inhalt über dem Overlay bleibt */
.bgStyle > * {position: relative;z-index: 2;}
/* ABER: auf der Startseite (body.home) wieder ausblenden */
body.home .bgStyle::before {display: none;}
.bgStyle {background-position: center center;}

/* Flyout-Menü */
.flyout-menu {
  position: fixed;
  right: 0;
  top: 30%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 9999;
}
.flyout-item {
  width: 50px;
  height: 50px;
  background: #164070;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 4px 0 0 4px;
  position: relative;
  font-size: 22px;
}
.flyout-item > span {
  position: absolute;
  right: 50px;
  top: 0;
  background:  #164070;
  padding: 8px 12px;
  color: #fff;
  border-radius: 4px 0 0 4px;
  opacity: 0;
  transform: translateX(10px);
  pointer-events: none;
  transition: all 0.2s ease;
  font-size: 16px;
  line-height:2.1rem;
  padding-right:20px;
  padding-left:20px;
}
.flyout-item[data-text] span {  white-space: pre;}
.flyout-hours span {white-space: normal;}
.flyout-hours .opening-hours, .flyout-hours .flyout-line {white-space: nowrap;}
.flyout-hours .flyout-line .label {width: 70px;display:inline-block;}
.flyout-item > span a {color: #fff;}
.flyout-item > span a:hover {color: #E59828;}
.flyout-item:hover > span {opacity: 1;transform: translateX(0);pointer-events: auto;color: #fff;}

.footercontainer {padding: 50px 0 15px;}
.copyright {margin-top: 30px;}

#header .container {width: 100%!important; max-width:1320px;}

.overlay-menu li {margin-bottom: 0px;}
.fixedTop .css_logo{width: 308px;height: 58px;background-image: url("/files/585-square/layout/logo_landscape.png");}
.mod_navigation.mainnavi > ul > li:first-of-type {display:none!important;}
.overlay-menu .mod_navigation.mainnavi ul li:first-of-type {display:block!important;}
.submit::before {position: relative;}

/* Figcaption unten auf dem Bild  */
.bildergalerie figure {
  position: relative; /* notwendig, damit figcaption absolut positioniert werden kann */
  display: inline-block; /* optional, abhängig vom Layout */
  margin: 0; /* falls Standardmargen entfernt werden sollen */
}
/* Bild responsive machen (optional) */
.bildergalerie figure img {
  display: block;
  width: 100%;
  height: auto;
}
/* Figcaption auf das Bild legen */
.bildergalerie figure figcaption {
  position: absolute;
  font-weight: bold;
  bottom: 0;               /* unten am Bild */
  left: 0;                 /* linke Seite */
  width: 100%;             /* volle Breite */
  height: 40px;            /* fixe Höhe */
  background-color: rgba(255, 255, 255, 0.85); /* weiß, leicht transparent */
  color: #b3a593 ;             /* Textfarbe */
  display: flex;            /* für vertikale Zentrierung */
  align-items: center;      /* vertikale Zentrierung */
  justify-content: center;   /* <-- horizontal zentriert */
  padding: 0 10px;          /* optional: etwas Abstand links/rechts */
  box-sizing: border-box;
  font-size: 14px;          /* Schriftgröße nach Bedarf */
  overflow: hidden;         /* falls Text zu lang ist */
}
.ce_accordion .toggler {border-top: 1px solid #164070;ont-weight: bold;text-transform:none;font-size:1.25rem;background-color:transparent;}
.ce_accordion .toggler.active {background-color:#D78E25;}
.tooltip {opacity: 1; position: fixed;margin:auto;}
.plenta-tooltip {display:none;}
.plenta-modal-close {position: absolute; top: 10px; right: 10px;}
.formular_textarea .textarea {min-height:120px;}
#opt_39_0 {float:left;margin-right:10px;}

@media only screen and (max-width:1409px){
    .video-overlay .overlayContent.container {margin-left:30px;}
}    
@media only screen and (max-width:1199px){
  #footer .container {width:100%!important;max-width:100%!important;}
  #footer .col-xs-12 {margin-bottom:30px;}
  .fixedTop .css_logo{width: 280px;height: 58px;background-image: url("/files/585-square/layout/logo_landscape.png");}
  .footerIcons {display: block;}
  .video-overlay .overlayContent.container h1 {font-size:40px;}
  .video-overlay .overlayContent.container h3 {font-size:18px;line-height: 1.75rem;}
}
@media only screen and (max-width:991px){
  #footer h3 {font-size:16px;}
  #footer p, #footer td {font-size:13px;}
  .logo.col-md-12 {width:40%;}
  .navi.col-md-12 {width:60%;}
  .fixedTop .mainnavi {padding-top: 0px !important;margin-top: 0px !important;}
  .fixedTop .css_logo {width: 250px;height: 58px;background-image: url("/files/585-square/layout/logo_landscape.png");}
  .fixedTop .logo {margin: 0 !important;}
  .fixedTop .mod_navigation {float: left;  margin-left: -12px;}
  .video-overlay .overlayContent.container h1 {font-size:30px;}
  .video-overlay .overlayContent.container h3 {font-size:16px;line-height: 1.5rem;}
  .video-overlay .bgStyle {  padding: 25% 0;}
  .kundenstimmen h3 {font-size:20px;line-height:1.75rem;}
}
@media (max-width: 979px) {
  .button-menu {display: none!important;}
}
@media only screen and (max-width:767px){
  .button-menu {display: block!important;}
  .fixedTop .logo {    margin: 0 !important;}
  .fixedTop .mod_navigation {display:none!important;}
  .logo.col-md-12 {width: 80%;}
  .fixedTop .button-menu {margin-right: 20px;width: 50px;}
  .mobilenavi {display:block!important;}
  .video-wrapper {margin-top: 68px;}
  .video-overlay {display: none;}
  .flyout-menu {top: 45%;}
  .footeraddress table {width:100%!important;}
  .kundenstimmen h1 {font-size:35px;line-height:2rem;}
  .kundenstimmen h3 {font-size:18px;line-height:1.5rem;}
  .bg-5, .bg-4 {background-attachment: scroll;}
}
@media only screen and (min-width:1921px){
  .css_logo{width: 300px; height: 300px;background-image: url("/files/585-square/layout/logo_xl.png");}
}

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-display: block;
  font-weight: 400;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-display: block;
  font-weight: 900;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }
