/*# WILOFA Konfig */
:root {
  --bs-body-font-size: 1.2rem;
/*  --bs-heading-color: #5b5a5a;*/
  --bs-card-border-width: var(--bs-border-width);
}


.frame-background-dark {
    background: none;
  padding: 0 !important;
  margin: 0 !important;
}

.frame-background-dark .frame-inner {
    background-color: #313131 !important;
    padding: 50px 25px 50px 25px !important;
}



/*  carousel überschriften ausblenden*/
.carousel .carousel-content {
    display: none !important;
}

.carousel .carousel-backgroundimage-fade {
    opacity: .55 !important;
}

.slick-bgimg .slick-item.slick-active .slick-text .h1, .slick-bgimg .slick-item.slick-active .slick-text .h2 {
    font-size: 3rem !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    line-height: 4rem;
    color: #FBFBFB;
}



@media (max-width: 1200px) {
.slick-bgimg .slick-item.slick-active .slick-text .h1, .slick-bgimg .slick-item.slick-active .slick-text .h2 {
    font-size: 2rem !important;
    font-weight: 500 !important;
    text-transform: uppercase;
    line-height: 3rem;
    color: #FBFBFB;
    }
}


@media (max-width: 768px) {
.slick-bgimg .slick-item.slick-active .slick-text .h1, .slick-bgimg .slick-item.slick-active .slick-text .h2 {
    font-size: 0.9rem !important;
    font-weight: 200 !important;
    text-transform: uppercase;
    line-height: 1.5rem;
    color: #FBFBFB;
  letter-spacing: .1em;
    }
}



@media (min-width: 768px) {
    .textmedia-right .textmedia-item,.textmedia-right .textpic-item,.textmedia-left .textmedia-item,.textmedia-left .textpic-item,.textpic-right .textmedia-item,.textpic-right .textpic-item,.textpic-left .textmedia-item,.textpic-left .textpic-item {
        width: calc(50%) !important;
    }
}

.slick-item video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block;
}

h2.card-title {
  color: #E4272A;
}


@media (max-width: 768px) {
h2.card-title {
    FONT-WEIGHT: 300;
    font-size: 1.9rem !important;
    font-weight: 300 !important;
    text-transform: uppercase;
    line-height: 1.5rem;
    letter-spacing: 0.05em;
}
}


.timeline {
        max-width: 968px;
        margin: auto;
}

.timeline-item-inner {
    border: 0px !important;
    border-radius: var(--bs-border-radius) !important;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px !important;
}


.footer-section-content,
.footer-section-content * {
    color: #ffffff;
}


.footer-section-meta a,
.footer-section-meta a:visited,
.footer-section-meta a:hover,
.footer-section-meta a:active {
    color: #5b5a5a;
}

.frame-background-dark a,
.frame-background-dark a:visited,
.frame-background-dark a:hover,
.frame-background-dark a:active {
    color: #ffffff;
}

/* https://getcssscan.com/css-box-shadow-examples */

.textmedia, .textpic {
    gap: 0px !important;
}

.textpic.textpic-right .textpic-item.textpic-text {
  padding: 10px 20px;
}

.textpic.textpic-left .textpic-item.textpic-text {
  padding: 10px 20px;
}


/*# WILOFA 50Jahre Logo */
@media (min-width: 768px) { 
  a#c492 + .gallery-row .image 
  { max-width: 50%; 
  } }


  #c421 .image {
    padding-bottom: 2.5rem;
  }

/*# WILOFA 50Jahre Logo Footer */
@media (max-width: 768px) {
  #c421 .image {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-bottom: 20px;
  }
  #c421 .image img {
    width: 100%;
    height: auto;
    display: block;
  }
}



/*
    --bs-card-border-color: #313131 !important;
    --bs-card-box-shadow: #31313 0 2px 8px !important;
*/

.card {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px !important;
  --bs-card-border-width: 0px important;
    --bs-card-border-color: #ffffff important;
}
.textpic.textpic-left {
    background-color: #F2F2F2;
}

.textpic.textpic-right {
    background-color: #F6E8E8;
}

/*
        color:  #E4272A !important;
*/

.frame-container .element-header span {
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 1.8px;
  --bs-gutter-x: 0px !important;
}

h2.element-header span {
  color: #E4272A !important;
}

.textmedia, .textpic {
    align-items: center;
}

@media (max-width: 768px) {
.textpic {
    align-items: center;
  padding-right: 0px;
}
}

@media (max-width: 768px) {
.section.section-light .textpic-text {
    padding: 20px;
    margin-left: auto;
    margin-right: auto;
}
}

@media (min-width: 1400px) {
    .frame-container-default {
        max-width: 1620px;
    }
}

@media (min-width: 1400px) {
    .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
        max-width: 1620px !important;
    }
}

:root {
--color-black: #323232; 
--bs-card-border-radius: 0.2rem !important;
--bs-border-radius: 0.2rem !important;
}



html {
hyphens: auto;
}


@media (min-width: 960px) {
    h1, .h1 {
        font-size: 4.209rem !important;
    }
}

.element-header.h2 {
        font-size: 4.209rem !important;
    }

@media (max-width: 768px) {
.element-header.h2 {
    font-size: 2.0rem !important;
}
}

@media (min-width: 1200px) {
    h2, .h2 {
        font-size: 2.5rem !important;
    }
}

h4 {
  font-size: calc(1.1rem + 0.3vw) !important;
  font-weight: 500;
    }

p {
  font-size: calc(1.1rem + 0.3vw) !important;
    hyphens: auto;
/*    color: #5b5a5a; */
    font-weight: 300;
    line-height: 1.2;
    color: var(--bs-heading-color);
    }

.slick-container {
    position: relative;
    overflow-x: hidden;
    overflow-y: hidden;
    }

.slick-container::after {
    content: "";
    position: absolute;
    bottom: -110px;
    left: 0;
    width: 190%;
    height: 350px;
    background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 150' preserveAspectRatio='none'>\
<defs>\
  <linearGradient id='waveGrad1' x1='0' y1='0' x2='0' y2='1'>\
    <stop offset='0%' stop-color='white' stop-opacity='0.5'/>\
    <stop offset='100%' stop-color='white' stop-opacity='0'/>\
  </linearGradient>\
  <linearGradient id='waveGrad2' x1='0' y1='0' x2='0' y2='1'>\
    <stop offset='0%' stop-color='white' stop-opacity='0.6'/>\
    <stop offset='100%' stop-color='white' stop-opacity='0'/>\
  </linearGradient>\
  <linearGradient id='waveGrad3' x1='0' y1='0' x2='0' y2='1'>\
    <stop offset='0%' stop-color='white' stop-opacity='1'/>\
    <stop offset='60%' stop-color='white' stop-opacity='1'/>\
    <stop offset='100%' stop-color='white' stop-opacity='0'/>\
  </linearGradient>\
</defs>\
<path fill='url(%23waveGrad1)' d='M0,50 C200,140 350,0 500,60 C650,120 850,10 1000,50 L1000,150 L0,150 Z'/>\
<path fill='url(%23waveGrad2)' d='M0,60 C200,150 300,10 500,40 C700,80 800,20 1000,40 L1000,150 L0,150 Z'/>\
<path fill='url(%23waveGrad3)' d='M0,70 C250,150 400,30 500,60 C600,90 750,10 1000,50 L1000,150 L0,150 Z'/>\
</svg>");
    background-repeat: repeat;
    background-size: 100% 100%;
    background-position: left bottom;
    z-index: 10;
    pointer-events: none;
}


@media (max-width: 1200px) {
    .slick-container::after {
        background-size: 200% 100%;
        background-position: left bottom;
        width: 100%;
    }
}


@media (max-width: 768px) {
    .slick-container::after {
        background-size: 200% 100%;
        background-position: left bottom;
        height: 100px;
        bottom: -30px;
        width: 100%;
    }
}



a {
    text-decoration: none;
}

/*** navbar hight START ***/

.navbar-transition {
    --mainnavigation-nav-height: 85px;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px;
}
  
@media (max-width: 991px) {
    .navbar-mainnavigation {
        --mainnavigation-nav-height: 75px
    }
}


.bg-white,.navbar-default,.navbar-default-transition,.navbar-default-transition.navbar-transition {
    --bs-bg-opacity: 0.90;
    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
}

@media (max-width: 768px) {
#page-header.navbar-default-transition:has(#mainnavigation.show),
#page-header.navbar-default:has(#mainnavigation.show) {
    --bs-bg-opacity: 1 !important;
    background-color: rgba(var(--bs-white-rgb), 1) !important;
}
}


/*** Breadcrumb Konfig ***/

.breadcrumb-section a {
    text-decoration: none !important;
}

.breadcrumb-section a:hover {
    color: #E4272A !important;
}

.breadcrumb-section {
    background-color: #e6e6e6 !important;
}

.breadcrumb-link {
    color: #333333 !important;
}

/*** Seitenmenü ***/

.subnav-link:hover,.subnav-link:focus {
    color: #E4272A !important;
}



/*** Slick Slider beginn mit Fensterrand oben ab breite 992px ***/
@media (min-width: 992px) {
.slick-container {
    margin-top: -110px;
} 
.navbar-default-transition:not(.navbar-transition), .navbar-inverse-transition:not(.navbar-transition) {
background: rgb(241,241,241) !important;
background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(0,0,0,0.01) 0%, rgba(0,0,0,3.85) 100%) !important;
background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(0,0,0,0) 0%, rgba(49,49,49,1) 100%) !important;
}  
}

/*** Slick Slider Texteinstellungen ***/
.slick-text { 
    top: 60% !important;
   .h1 {
    font-size: calc(1.325rem + .9vw) !important;
    }
   .h2 {
    font-size: calc(0.9rem + .9vw) !important;
    }
}

@media (max-width: 768px) {
    .slick-text { 
    letter-spacing: .1em;
    top: 50% !important;
   .h1 {
    font-size: calc(3.5vw) !important;
    }
   .h2 {
    font-size: calc(3.5vw) !important;
    }
}
}

  .slick-text .list-inline {
    padding-top: 20px;
}
@media (max-width: 768px) {
  .slick-text .list-inline {
    padding-top: 10px;
}
}

/*** IMG Berechnung ***/
.navbar-mainnavigation .navbar-brand-image img {
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
    width: auto;
    max-height: calc(var(--mainnavigation-nav-height) - 20px)
}

@media (min-width: 992px) {
    .navbar-mainnavigation .navbar-brand-image img {
        max-height: calc(var(--mainnavigation-nav-height) * 1.15);
    }
}

/*** topbar Einstellungen ***/

.topbar-language, .topbar-social, .topbar-spacer {
   float: left;
    }
.topbar-spacer {
   padding-left: 3px;
    }

#topbar .ms-4 {
    margin-left: 1.1rem !important;
}

#topbar {
  padding: 0;
  font-size: 15px;
  height: 35px !important;
  transition: all 0.5s;
  z-index: 99996;
  color: rgba(255, 255, 255, 0.7);
  overflow: hidden;
  overflow: clip;
}

#topbar.topbar-bg {
  background-color: #1a1a1a;
  background-color: #313131;
}

#topbar.topbar-scrolled {
  top: -35px;
}

/***
#topbar i {
  line-height: 0;
}
***/



#topbar i span {
  color: #fff;
  font-style: normal;
  /* padding-left: 5px; */
  /* padding-right: 18px; */
}


#topbar a {
  color: #fff;
  text-decoration: none !important;
}


@media (min-width: 992px) {
.navbar-mainnavigation {
      height: 110px !important;
      overflow: clip;
}
}


/*** Konfig ***/

.btn-default {
    color: #ffffff;
    background-color: #E4272A;
    border-color: #E4272A;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
}
.btn-default:hover {
    color: #ffffff !important;
    background-color: #c22124 !important;
    border-color: #b61f22 !important;
}

/*** Wir Über uns Card Group ***/



#c402, #c417, #c381, #c393 {
.card {
 --bs-card-border-color: var(--color-black);
   }
.card-body {
  h2  {
        font-size: 1.7rem !important;
        text-align: center !important;
}
  h3  {
        text-align: center !important;
}

.card-body a {
    text-decoration: none !important;
    color: #E4272A !important;
}

.card-body .lead {
  font-size: calc(1.1rem) !important;  
}

.card-body {
    text-align: center !important;
}

.card-footer {
    text-align: center !important;
}
.lead a {
    text-decoration: none;
}  
}
}


/*# powermail config */

.powermail_fieldwrap .col-sm-2 {
    width: auto !important;
}

.tx-powermail, .container-fluid {
    padding-right: 0px !important;
    padding-left: 0px !important;
}

@media (min-width: 576px) {
.tx-powermail .col-sm-10 {
    width: auto !important;
}
}

.tx-powermail .btn-primary {
    width: 100%;
}

.tx-powermail .btn-primary {
    box-shadow: inset 0 2px 0 rgb(255 255 255 / 100%), 0 2px 2px rgb(255 255 255 / 85%);
}

/*# Bootstrap Frabe Wilofa rot #E4272A 288/39/42 config */

/*# Footer config */
.footer-section-content {
    background-color: #E4272A !important;
    --frame-color: #ffffff;
    --frame-background: #E4272A !important;
    --frame-link-color: #FFF !important;
    --frame-link-hover-color: #FFF !important;;
}


/*# Downloads Konfig */
.filelink-item {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: ;
    --bs-card-subtitle-color: ;
    --bs-card-border-width: var(--bs-border-width);
    --bs-card-border-color: var(--color-black);
    --bs-card-border-radius: var(--bs-border-radius);
    --bs-card-box-shadow: ;
    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 0.75rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
    --bs-card-cap-color: ;
    --bs-card-height: ;
    --bs-card-color: ;
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 20px;
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: var(--bs-card-height);
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
    box-shadow: var(--bs-card-box-shadow);
    padding: 8px;
}

.filelink-filename a {
    text-decoration: none !important;
}

.textpic {
 /* box-shadow: -4px 0px 18px -8px rgba(0,0,0,0.1); */
  height: 100%;
}

.button-bottom {
    text-align: end;
}

/*# Button Konfig */
.btn, .frame-type-felogin_login input[type="submit"], .cc-btn {
  width: 100%;
}

@media (max-width: 768px) {
/*# Button Konfig */
.btn, .frame-type-felogin_login input[type="submit"], .cc-btn {
  width: 100%;
}
}


/*# language-menu topbar Konfig */
.topbar-language .language-menu {
    margin: 0;
    list-style: none;
    padding-left: 0
}

@media (min-width: 200px) {
    .topbar-language .language-menu {
        margin-left:-0.5em;
        margin-right: -0.5em
    }

    .topbar-language .language-menu>li {
        display: inline-block;
        padding-left: 0.5em;
        padding-right: 0.5em
    }
}

.topbar-language .language-menu .active a {
    font-weight: bold
}

.topbar-language .language-menu .inactive {
    opacity: 0.5
}

/*# Seiteninhalt Konfig */
#c424, #c427  {
.frame-inner {
  background-color: #ffffff;
  padding: 45px;
  margin-top: 30px;
    margin-bottom: 30px;
    border-color: #E4272A;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}
  ul.list-inline>li {
    width: 48%;
}
  
  @media (max-width: 450px) {
    ul.list-inline>li {
    margin-bottom: 5px;
    width: 100%;
  }
 } 
}
  
/*# Icongroup Konfig */

@media (min-width: 991px) {
  .icongroup-columns-auto .icongroup-item {
    width: 90%;
    }
}

/*** infobar Einstellungen ***/

#infobar {
  padding: 0;
  height: 250px !important;
  transition: all 0.5s;
  z-index: 999999;
  color: rgba(255, 255, 255, 0.7);
  overflow: hidden;
  overflow: clip;
  margin-top: 450px;
}

#infobar.infobar-bg {
  background-color: #ff0000;
}

#infobar.infobar-scrolled {
  top: -35px;
}

#topbar a {
  color: #fff;
  text-decoration: none !important;
}
/*** carousel Einstellungen ***/



#c430 {
    ul.list-inline>li {
        width: 100%;
    }
}
/*** footer Einstellungen ***/
.footer-section-meta {
    background: #ffffff;
    --frame-color: #212121;
    --frame-background: #ffffff;
    --frame-link-color: #212121;
    --frame-link-hover-color: #E4272A !important;
}

.frame-space-after-small, .frame-space-after-medium {
    --frame-outer-spacing-variant-small: 0rem !important;
  --frame-outer-spacing-variant-medium: 0rem !important;
}

.card-title {
    text-align: center !important;
}

#page-footer .frame-header, #page-footer h4 { 
  margin-bottom: 0.1rem !important;
}

/*
a.btn-primary {
    padding: 11px 25px;
    background-color: transparent;
    color: var(--color-black);
    border: 1px solid var(--color-black);
    text-decoration: none;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    margin-top: 24px;
    transition: all .3s ease-in-out;
    position: relative;
    padding-right: 4rem;
} 
a.btn-primary:hover {
    padding-left: 3rem;
}
.btn:hover {
    color: var(--color-black);
    background-color: transparent;
    border-color: var(--color-black)
}
*/

#language_menu li {
  margin: 0;
  padding: 0;
}
#language_menu i {
  margin: 0;
  padding: 0;
}

.container {
    --bs-gutter-x: 20px;
  }

.ce-slide {
  width: 300px;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ce-slide .card {
  box-shadow: #63636333 0 2px 8px !important;
}


/*** swiper ***/
:root {
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
}

.swiper-scrollbar {
  display: none;
  position: absolute;
  left: var(--swiper-scrollbar-left);
  right: var(--swiper-scrollbar-right);
  bottom: var(--swiper-scrollbar-bottom);
  background-color: var(--swiper-scrollbar-bg-color);
  border-radius: var(--swiper-scrollbar-border-radius);
  height: var(--swiper-scrollbar-size);
}

.swiper-scrollbar-drag {
  background-color: var(--swiper-scrollbar-drag-bg-color);
  border-radius: var(--swiper-scrollbar-border-radius);
}

/* Styling für die Swiper-Scrollbar */
.swiper-scrollbar {
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-size: 7px;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); /* Dezenter Hintergrund */
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.4); /* Dunklerer Scrollbalken */
  --swiper-scrollbar-sides-offset: 2%;
  --swiper-scrollbar-bottom: 8px; /* Etwas Abstand nach unten */
}

/* Hover-Effekt für besseren Kontrast */
.swiper-scrollbar:hover {
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.2);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.6);
}

/* Sanfte Animation für den Scrollbalken */
.swiper-scrollbar-drag {
  transition: background-color 0.3s ease-in-out, width 0.2s ease-in-out;
  border-radius: 10px;
}


/*** swiper ***/
:root {
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0, 0, 0, 0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
}

.swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left);
  right: var(--swiper-scrollbar-right);
  bottom: var(--swiper-scrollbar-bottom);
  background-color: var(--swiper-scrollbar-bg-color);
  border-radius: var(--swiper-scrollbar-border-radius);
  height: var(--swiper-scrollbar-size);
}

.swiper-scrollbar-drag {
  background-color: var(--swiper-scrollbar-drag-bg-color);
  border-radius: var(--swiper-scrollbar-border-radius);
}

/* Styling für die Swiper-Scrollbar */
.swiper-scrollbar {
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-size: 7px;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1); /* Dezenter Hintergrund */
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.4); /* Dunklerer Scrollbalken */
  --swiper-scrollbar-sides-offset: 2%;
  --swiper-scrollbar-bottom: 8px; /* Etwas Abstand nach unten */
}

/* Hover-Effekt für besseren Kontrast */
.swiper-scrollbar:hover {
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.2);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.6);
}

/* Sanfte Animation für den Scrollbalken */
.swiper-scrollbar-drag {
  transition: background-color 0.3s ease-in-out, width 0.2s ease-in-out;
  border-radius: 10px;
}

/* =====================================================
   HERO – Startseite Wilofa
   ===================================================== */


/* Hero-Links */
.frame-inner > .textpic.textpic-above .textpic-text a:not(.btn) {
  color: #E4272A;
  font-weight: 500;
  text-decoration: none;
}

.frame-inner > .textpic.textpic-above .textpic-text a:not(.btn):hover {
  text-decoration: underline;
}

/* CTA-Buttons */
.frame-inner > .textpic.textpic-above ul.list-inline {
  display: flex;
  gap: 1rem;
  margin-top: 2.5rem;
  padding: 0;
  list-style: none;
}

/* Buttons im Hero */
 a.btn-primary {
  background-color: #E4272A;
  border: none;
  color: #ffffff;
  padding: 1rem 2rem;
  font-size: 1.2rem;
  font-weight: 300;
  transition: all .3s ease;
}

@media (max-width: 768px) {
 a.btn-primary {
  background-color: #E4272A;
  border: none;
  color: #ffffff;
  padding: 0.2rem 1.0rem;
  font-size: 1rem;
  font-weight: 100;
  transition: all .3s ease;
}
}

.frame-inner > .textpic.textpic-above a.btn-primary:hover {
  background-color: #c22124;
  color: #ffffff;
}




/* =====================================================
   CAROUSEL – Unterseiten Wilofa
   ===================================================== */

/* ===================================================== */
/* 1. Bootstrap / Theme Konflikte vollständig neutralisieren */
/* ===================================================== */

.carousel .item,
.carousel-item {
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
}

/* Bootstrap absolute Slides deaktivieren */

.carousel-item {
    position: relative !important;
}

/* ===================================================== */
/* 2. Carousel Grundlayout                               */
/* ===================================================== */

.carousel {
    position: relative;
    z-index: 1;              /* unter Header */
}

.carousel-inner {
    position: relative;
    width: 100%;
    height: auto !important;
}

/* ===================================================== */
/* 3. Bildcontainer (KEIN absolutes Positionieren!)      */
/* ===================================================== */

.carousel-backgroundimage-container {
    position: relative !important;
    width: 100%;
    overflow: hidden;

    max-height: 500px;       /* Desktop Limit */
}

/* Mobile flexibel */

@media (max-width: 767px) {
    .carousel-backgroundimage-container {
        max-height: none;
    }
}

/* ===================================================== */
/* 4. Bild selbst bestimmt Höhe                          */
/* ===================================================== */

.carousel-backgroundimage-container img {
    width: 100%;
    height: auto;
    display: block;

    object-fit: contain;       
    object-position: top center; /* Bild oben ausgerichtet ✅ */
}

/* ===================================================== */
/* 5. Altes Bootstrap Background-System vollständig killen */
/* ===================================================== */

.carousel .carousel-backgroundimage,
.carousel .carousel-backgroundimage-container {
    background: none !important;
    height: auto !important;
}

/* Theme-Regeln mit absolute deaktivieren */

.carousel .carousel-backgroundimage-container,
.carousel .carousel-backgroundimage {
    position: relative !important;
    inset: auto !important;
}

/* ===================================================== */
/* 6. Content sauber über Bild legen                     */
/* ===================================================== */

.carousel .carousel-content {
    position: absolute;
    inset: 0;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Verhindert Height-Zwang */

.carousel .carousel-content-inner {
    height: auto !important;
    min-height: 0 !important;
}

/* ===================================================== */
/* 7. Header bleibt garantiert oberste Ebene             */
/* ===================================================== */

#page-header,
.navbar-mainnavigation,
.navbar-fixed-top {
    position: sticky;
    z-index: 1020;
}

/* Carousel unter Sticky Header schieben */

@media (min-width: 992px) {
    .navbar-fixed-top + a + .carousel,
    .navbar-fixed-top + a + a + .carousel,
    .navbar-fixed-top + .main-section > a + .carousel,
    .navbar-fixed-top + .main-section > a + a + .carousel {
        margin-top: -160px !important;
    }
}

/* Optionales Feintuning für sehr große Screens */

@media (min-width: 1200px) {
    .navbar-fixed-top + a + .carousel,
    .navbar-fixed-top + a + a + .carousel,
    .navbar-fixed-top + .main-section > a + .carousel,
    .navbar-fixed-top + .main-section > a + a + .carousel {
        margin-top: -165px !important;
    }
}

.carousel .carousel-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
}



.element-header.h1 span {
  background: linear-gradient(to top, #212121 10%, #9D9D9D 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.footer-section-meta .frame {
  padding-top: 0;
  padding-bottom: 0;
}

/*# Cookiehinweis konfig */


#cookieconsent .cc-window {
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px !important;
    --bs-card-border-width: 0px important;
    --bs-card-border-color: #ffffff important;
}

.cc-window, .cc-revoke {
    background-color: #F6E8E8;
}

/*# breadcrumb mobil aus */

@media (max-width: 576px) {
  .breadcrumb-section {
    display: none;
  }
}
