html, body {
  position: relative;
  overflow-x: hidden;
}
.ce_fancybox {
  background-position: right center; /* Bild immer rechtsbündig ausrichten */
  background-size: cover;           /* skaliert das Bild proportional */
}

/* Nur Scale beim Hover, keine Rotation */
.ce_fancybox.style3 .atropos-rotate,
.ce_fancybox.style3 .atropos-inner {
  transform: none !important;
}
/* Layout wie im Screenshot: Top-Text, CTA unten links */
.ce_fancybox.style3 .inside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 13%;
  height: 100%;
}

@media only screen and (max-width: 767px) {
  .ce_fancybox.style3 .inside {
    padding: 8% !important;
  }
}

@media only screen and (max-width: 767px) {
  .ce_fancybox.style3 .link_text {
  font-size: 0.9rem !important;
  font-weight: 700;
  }
}

/* Text-Stack oben */
.ce_fancybox.style3 .content {
  display: block;
  margin-bottom: 24px;   /* optischer Abstand zum CTA */
}
.ce_fancybox.style3 .link_text {
  font-size: 1.1rem;
  font-weight: 700;
}
/* CTA an den unteren Rand (innerhalb des Paddings) */
.ce_fancybox.style3 .link_text {
  margin-top: auto;         /* schiebt den CTA nach unten */
  align-self: flex-start;    /* links bündig */
}

/* Atropos soll den CTA NICHT verschieben */
.ce_fancybox.style3 .link_text[data-atropos-offset] {
  transform: none !important;
}

/* Weicher Hover-Zoom ohne Verzerrung */
.ce_fancybox.style3 {
  transform: scale(1);
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: transform;
}
.ce_fancybox.style3:hover {
  transform: scale(1.04);
}

/* Atropos-Rotate neutralisieren (kein Kipp-/Zerr-Effekt) */
.ce_fancybox.style3 .atropos-rotate,
.ce_fancybox.style3 .atropos-inner {
  transform: none !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.ce_fancybox.style3 .overlay {
   background: rgb(0,0,0);
   opacity: 0.4;
}

.ce_fancybox.style3:hover .overlay, .ce_fancybox.style3.has_focus .overlay {
  opacity: 0;
}

/* Variante Leistungen-Start */
#leistungen-start.ce_fancybox.style3 .overlay {
   background: rgba(243, 239, 232, 0.9); /* 90 % deckend */
   opacity: 1; /* dauerhaft sichtbar */
   transition: background 0.3s ease;
}

#leistungen-start.ce_fancybox.style3:hover .overlay,
#leistungen-start.ce_fancybox.style3.has_focus .overlay {
   background: rgba(243, 239, 232, 1); /* 100 % deckend */
}

#leistungen-start.ce_fancybox.style3 .inside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 7%;
  height: 100%;
}

#leistungen-start.ce_fancybox.style3 .h2 {
  color: #9d2235;
}
#leistungen-start.ce_fancybox.style3 .link_text {
  color: #a89968;
}



#leistungen-start.ce_fancybox.style3 .link_text span::after {
  color: #a89968;
  background-color: #a89968;
}

#leistungen-start.ce_fancybox.style3 .link_text span::before {
  color: #a89968;
}

@media only screen and (max-width: 767px) {
    /* Zielt auf das h2-Element in der spezifischen Fancybox Style 1 */
    .ce_fancybox.style1 h2 {
        font-size: 22pt !important;
        line-height: 1.2 !important; /* Tipp: Passen Sie die Zeilenhöhe für die Lesbarkeit an */
    }
}

.newsreader .info {display:none;}
.newsreader .news-date {display:none;}
.mod_newsreader .info {display:none;}

.newsteaser_v3 .h6, .newsteaser_v3 h6 {
  font-size: 1.3em;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Info im Newsteaser vollständig verstecken */
.newsteaser_v3 .info {
  display: none !important; /* entfernt auch Abstand/Margin */
}


.newsteaser_v3 .day  {
	font-size: 1.0rem;
	color: #a89968;
}
.newsteaser_v3 .month  {
	font-size: 1.0rem;
		color: #a89968;
}
.newsteaser_v3 .year  {
	font-size: 1.0rem;
		color: #a89968;
}

/* News-Teaser: unten 15px Abstand im linken Content */
.newsteaser_v3 .content_left {
  padding-bottom: 40px;
}
.newsteaser_v3 {
  padding-bottom: 40px;
}

.newsteaser_v3 .image_container {
   margin-bottom: 0;
   border-radius: 15px;
}

.newsteaser_v3 .image_container img {
   border-radius: 15px;
}

.newsteaser_v3 .news-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
   border-radius: 15px;
  transition: All 0.3s ease;
  -webkit-transition: All 0.3s ease;
}

.newsteaser-v4 .content {
   padding: 7%;
   padding-left: 0px !important;
   padding-top: 45px;
   background: rgb(255,255,255);
   border: 0px solid rgb(220,221,221);
   text-align: left;
   border-radius: 0px;
}

.newsteaser_v3 .teaser p {
   line-height: 1.5; /* kompakterer Fließtext */
}

.newsteaser-v4 .teaser p {
   line-height: 1.5; /* kompakterer Fließtext */
}
.newsteaser-v4 .image_container {
   margin-bottom: 0;
   border-radius: 15px;
}

.newsteaser-v4 .image_container img {
   border-radius: 15px;
}
.newsteaser-v4 .info {
  display: none !important; /* entfernt auch Abstand/Margin */
}

.header.cloned {
  box-shadow: 0 0 10px 10px rgba(0,0,0,0.05);
}

.ce_bgimage.img-rightside-33 .ce_bgimage-image {
	margin-left: 67%;
}

.ce_bgimage.img-rightside-33 .ce_bgimage-outer {
	margin-right: 33%;
}

.ce_scroll_reveal_words {
  font-size: 34px !important;
  line-height: 45px;

}

@media (max-width: 767px) {
  .ce_scroll_reveal_words {
    font-size: 30px !important;
    line-height: 30px !important;
  }
}

.top-link {
  background-color: rgba(168,153,104,0.7);
}


button.button.open,
button.button.close {
  font-family: inherit; 
  display: inline-block;
  padding: 21px 55px;
  border-radius: 50px;
  border: 0px solid var(--accentColor);
  background: #fff;
  color: var(--accentColor);
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease, transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  position: relative;
}

/* Hover: bleibt weiß, wird nur blasser wie der Hyperlink */
button.button.open:hover,
button.button.close:hover {
  opacity: 0.8;
  transform: scale(1.03);
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}

/* ===============================
   Toggler (linker Bereich)
   =============================== */

/* Im linken Toggler: Close-Button NIE anzeigen */
.ce_slide_in_toggler .button.close {
  display: none !important;
}

/* Im linken Toggler: Download/Open-Button IMMER sichtbar */
.ce_slide_in_toggler .button.open {
  display: inline-block !important;
}


/* ===============================
   Slide-In (rechter Bereich)
   =============================== */

/* Close-Button im Slide-In-Bereich IMMER anzeigen */
.slide-in-container .button.close {
  display: inline-block !important;
}

/* Falls dort auch ein Open-Button gerendert würde → ausblenden */
.slide-in-container .button.open {
  display: none !important;
}
.ce_text_extented ul,
.ce_teambox_simple ul {
  list-style: none;
  margin-left: 0; /* Kein Einzug */
  padding-left: 0;
}
.ce_teambox_simple ul {
  padding-top: 15px;
}

.ce_text_extented ul li,
.ce_teambox_simple ul li {
  position: relative;
  padding-left: 28px; /* Platz für den SVG-Pfeil */
  padding-bottom: 10px;
}

.ce_text_extented ul li::before,
.ce_teambox_simple ul li::before {
  content: "";
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 16px;
  height: 16px;
  display: inline-block;
  background-image: url('/files/icons/ra-blatt.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@media (max-width: 768px) {
  .ce_text_extented ul li::before,
  .ce_teambox_simple ul li::before {
  content: "";
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 12px;
  height: 12px;
  display: inline-block;
  background-image: url('/files/icons/ra-blatt.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  }
}

/* Datum + Autor (News/Teaser/Reader) ausblenden */
.mod_newsreader .info {
  display: none !important;
}

/* NEWS-READER: automatische Headline (oberste) ausblenden */
.mod_newsreader .layout_full > :is(h1,h2,h3,h4,h5,h6):first-child,
.mod_newsreader .layout_latest > :is(h1,h2,h3,h4,h5,h6):first-child,
.mod_newsreader .layout_short > :is(h1,h2,h3,h4,h5,h6):first-child,
.mod_newsreader .layout_teaser > :is(h1,h2,h3,h4,h5,h6):first-child {
  display: none !important;
}


/* Falls das Theme statt Überschrift ein <header> nutzt */
.mod_newsreader .layout_full > header,
.mod_newsreader .layout_latest > header,
.mod_newsreader .layout_short  > header,
.mod_newsreader .layout_teaser > header {
  display: none !important;
}

/* News-Module (Liste + Reader) generell schmaler zentrieren */
.mod_newsreader [class^="layout_"],
.mod_newslist   [class^="layout_"] {
  max-width: 1200px;          /* Wunschbreite */
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;        /* sanfter Rand innen */
  padding-right: 1rem;
}

/* Optional: große Medien im Reader ebenfalls an die Breite koppeln */
.mod_newsreader figure,
.mod_newsreader .image_container,
.mod_newsreader .ce_gallery {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* Zweiten Headline-Teil (color-accent) umbrechen + Abstand */
.mod_newsreader .ce_headline_extended h1 .color-accent,
.mod_article    .ce_headline_extended h1 .color-accent {
  display: block;      /* Zeilenumbruch */
}


/* Zweiten Headline-Teil (color-accent) umbrechen + Abstand */
.ce_headline_extended h1 .color-accent,
.ce_headline_extended h2 .color-accent,
.ce_headline_extended h3 .color-accent {
  display: block;
}


.ce_scrolling_text .text {
  font-size: 80px;
  line-height: 100px;
  font-weight: 700;
}
.ce_scrolling_text .text:nth-of-type(1) {
  color: #a89968; /* gold */
}

.ce_scrolling_text .text:nth-of-type(2) {
  color: #9d2235; /* bordeaux */
}


/* Full-bleed Utility – kannst du auch allgemein nutzen */
.full-bleed {
  position: relative;          /* für z-index */
  width: 100vw;                /* volle Viewport-Breite */
  left: 50%;
  transform: translateX(-50%); /* mittig zur Seite ausrichten */
  max-width: none;             /* Grid-Limits ignorieren */
  z-index: 2;                  /* sicher über dem BG */
}

/* dein Scrolling-Heading */
h2.ce_scrolling_text {
  /* falls du keine Utility-Klasse magst, direkt hier anwenden */
  position: relative;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  max-width: none;
  z-index: 2;

  /* der Rahmen für die Laufschrift bleibt die volle Breite */
  overflow: hidden;            /* Maskenwirkung für die animierte Zeile */
  /* optional etwas Innenabstand, damit Text nicht klebt */
  padding-inline: clamp(12px, 2vw, 32px);
}

/* animiertes Inneres – Beispiel, falls du ein inneres .text span nutzt */
h2.ce_scrolling_text .text {
  display: inline-block;
  /* deine bestehende Animation lassen */
  white-space: nowrap;
}


.ce_fancybox.style1 .overlay {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background: rgba(50,50,50,0.01);
   transition: all .6s cubic-bezier(0.24,1,0.30,1);
}

.ce_fancybox.style1:hover .overlay, .ce_fancybox.style1.has_focus .overlay {
   background: rgba(0,0,0,0.2);
}

.ce_fancybox.style1:after {
   display: block;
   position: absolute;
   content: '';
   width: 100%;
   height: 6px;
   left: 0;
   bottom: 0;
   background: rgba(0,0,0,0.5);
   z-index: 10;
   transform: scaleX(0) translateZ(0);
   transition: 0.45s cubic-bezier(0.24,1,0.30,1);
   transform-origin: 0 0;
}

.ce_fancybox.style1 .link_text {
  font-size: 1.1rem;
  font-weight: 700;
}

.ce_image_extended_inside img {
  border-radius: 20px; /* oder deine Wunschgröße */
  display: block; /* verhindert kleine Lücken */
}

.ce_accordion .toggler {
    font-family: Ubuntu, Arial, sans-serif; /* Schriftart hinzufügen */
    padding: 10px 5px 15px 0px; /* Ersetzt das ursprüngliche Padding */
    line-height: 1.3em;
    font-size: 30px;
}

.ce_accordion .toggler.ui-state-active {
	border-bottom: 0px;
}

.ce_accordion {
	margin-bottom: 1px;
	border: none;

}
/* Spezielle Anpassung für das Icon */
.ce_accordion .toggler::before {
    display: inline-block;
    margin-top: 5px; /* Setze das Icon 10px tiefer */
    content: "\f107";
    color: #a89968 !important;

} 
/* Mobile Darstellung */
@media (max-width: 768px) {
    .ce_accordion {
        font-size: 20px; /* oder jede gewünschte Größe */
    }
}
.ce_accordion .accordion {
  padding-left:2px;
}

.ce_accordion .toggler:hover {
  color: #a89968 !important;
}

/* Nur die Akkordeon-Headline einfärben */
.ce_accordion .ui-accordion-header {
  color: #9d2235; /* dein Rot */
}

#padding-left-8px {
  padding-left: 8px;
}

.ce_teambox_simple .image_container {
  border-radius: 20px;
}

.ce_teambox_simple .job.default {
  color: #a89968;
}

.ce_teambox_simple .name.default {
  color: #9d2235;
}


Element {
}
.ce_image_text_box_v2 .image_container {
  border-radius: 30px;
}

.ce_image_text_box_v2 .ce_headline {
  background-image: none;
  font-size: 1.5em;
}

@media (max-width: 767px){
  .ce_image_text_box_v2 .ce_headline{
    font-size: 1.0em;     /* kleiner für mobile */
    line-height: 20px !important;     /* enger für mobile */
  }
}


.ce_swiper-slider-start.pagination_color_dark .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  background: #c5b597;
}

.ce_divider_extended.version3 {
  background: #f3efe8;
  width: 100%;
  height: 1px;
}

.ce_video_w_teaser .video_teaser {
  border-radius: 20px;
}

.mod_pct_megamenu {
  left: 0;
  right: 0;
  z-index: 10000;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

.ce_iconbox .ce_iconbox_outside.padding {
  padding: 35px;
}

.ce_iconbox h3 {
  font-size: 1.2rem;
  letter-spacing: 0px;
  line-height: 1.4;
  margin-bottom: 30px;
  margin-top: 40px;
    color: #9d2235;
}

.ce_iconbox .image_container img {
  width: 70px;
  height: 70px;
}

.ce_iconbox.version4 {
  font-size: 1rem;
  color: #a89968;
}

.ce_iconbox .ce_iconbox_outside.padding .content {
  opacity: 1;
}

.ce_iconbox:hover .ce_iconbox_outside.padding {
	opacity: 1;
	box-shadow: none;
	z-index: 100;
}

.swiper-button-next, .swiper-button-prev {
  color: #f3efe8;
  font-weight: bold;
}

.ce_swiper-slider-start.style3_dark .swiper-button-next, .ce_swiper-slider-start.style3_dark .swiper-button-prev {
  background: #9d2235;

}

.swiper-button-prev:hover,
.swiper-button-next:hover {
  border: 2px solid #a89968 !important; /* gewünschte Outlinefarbe */
  border-radius: 50%;                  /* Rund bleibt rund */
  outline: none !important;            /* schwarze Outline deaktivieren */
}

.ce_swiper-slider-start.style3_dark .swiper-pagination-bullet {
  width: 30px;
  height: 4px;
  border-radius: 0;
  background-color: #a89968;
}
.ce_swiper-slider-start.style3_dark .swiper-pagination-bullet-active {
  background: var(--accentColor) !important;
}

.newsreader1 a.hyperlink_txt { text-decoration: underline;}
.newsreader1 a.hyperlink_txt:hover { color: #a89968;}

.newsteaser-v4 .image_container img {
  transition: filter 1s;
}

.newsteaser-v4:hover .image_container img {
    filter: brightness(0.5);
}

.blattBg .ce_bgimage-image { background-position: 50% 40px!important; }



/* Weiterlesen optisch schlicht */
.newsteaser-v4 .read-more a{ display:inline-block; font-weight:700; text-decoration:none; border-bottom:2px solid currentColor; padding-bottom:2px; }
.newsteaser-v4 .read-more a:hover{ color:#a89968; }

/* Weiterlesen optisch schlicht */
.newsteaser_v3 .read-more a{ display:inline-block; font-weight:700; text-decoration:none; border-bottom:2px solid currentColor; padding-bottom:2px; }
.newsteaser_v3 .read-more a:hover{ color:#a89968; }


a {
  color: #a89968;
  text-decoration: none;
}

.ce_text_extented a {
  text-decoration: underline;
    text-decoration-color: #a89968;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-thickness: auto;
}




/* Mobile Größen für Caudalíe-H2 */
@media only screen and (max-width: 767px) {
  .h2-mobile-small {
    font-size: 20pt !important;
    line-height: 1.2 !important;
  }

  .h2-mobile-small span {
    font-size: inherit !important;
  }
}


@media (max-width: 767px) {

    .qr-code-grid {
        display: flex;
        flex-wrap: wrap;
        column-gap: 12px;   /* << Gap zwischen den Boxen */
    }

    .qr-code-grid > .column.col_3 {
        box-sizing: border-box;
        flex: 0 0 calc(50% - 6px);   /* << Breite an Gap angepasst */
        max-width: calc(50% - 6px);
    }
} 

@media (max-width: 767px) {
  .ce_scroll_reveal_words {
  font-size: 24px !important;
  line-height: 45px;
}
}
@media (max-width: 767px) {
  .badge-mobil .image_container img {
    width: 180px !important;
  }
}


/* Overlay sichtbar, aber blockiert keine Klicks */
.newsteaser_v3 .news-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  border-radius: 15px;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  pointer-events: none !important; /* Klicks durchlassen */
}

/* Hover-Effekt wieder aktivieren */
.newsteaser_v3:hover .news-overlay {
  opacity: 1 !important;
}

.ce_wrap h3 {
    font-size: 1.5em;
}

.accessibility_widget_trigger {
  position: fixed;
  top: auto;
  bottom:77px;
  right: 0px;
  z-index: 1000000;
  line-height: 34px;
  text-align: center;
  vertical-align: middle;
  border-radius: 20px 0 0 20px;
  background: #a89968;
  color: #fff;
  padding: 10px 5px 0 10px;
  cursor: pointer;
  transition: all 0.1s ease;
  border: 0px solid #fff;
    border-right-width: 2px;
    border-right-style: solid;
    border-right-color: rgb(255, 255, 255);
  border-right: 0;
  min-width: 80px;
}

body.acc_show .accessibility_widget_trigger {
  border-radius: 20px 0 0 20px;
}

#accessibility_widget .shortcuts .h6 {
  display: none;
}

.accessibility_widget_trigger span {
  font-size: 0.7rem;
}

.fixed-header .top-link {
    bottom: 15px; 
}

.fixed-header #privacy_optout_link {
    bottom: 15px;
}

#accessibility_widget {
    right:-14px;
    top:150px;
}