/*Custom-Styles*/
[data-bs-theme="light"] {
  --bs-body-font-family: "Open Sans", sans-serif;
}

html {
  scroll-padding-top: 150px; /* Passe die Höhe an die deiner Navigation an */
}

.bg-opacity-90 {
  --bs-bg-opacity: 0.9;
}

.text-shadow-lg {
  text-shadow: 5px 5px 3px var(--bs-gray-600);
}
.text-shadow-md {
  text-shadow: 4px 4px 3px var(--bs-gray-600);
}
.text-shadow-sm {
  text-shadow: 3px 3px 3px var(--bs-gray-600);
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h3,
.h3,
h2,
.h2,
h1,
.h1 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
}

h6 a,
a.h6,
h5 a,
a.h5,
h4 a,
a.h4,
h3 a,
a.h3,
h2 a,
a.h2,
h1 a,
a.h1 {
  color: var(--bs-primary) !important;
}

h1,
.h1 {
  /*font-size: calc(1.485rem + 2.82vw);*/
  font-size: calc(1.3rem + 1.45vw);
}
@media (min-width: 1200px) {
  h1,
  .h1 {
    font-size: 2.4rem;
  }
}

h2,
.h2 {
  font-size: calc(0.98rem + 1.09vw);
}
@media (min-width: 1200px) {
  h2,
  .h2 {
    font-size: 1.8rem;
  }
}

h3,
.h3 {
  font-size: calc(0.78rem + 1.09vw);
}
@media (min-width: 1200px) {
  h3,
  .h3 {
    font-size: 1.6rem;
  }
}

h4,
.h4 {
  font-size: calc(0.72rem + 0.91vw);
}
@media (min-width: 1200px) {
  h4,
  .h4 {
    font-size: 1.4rem;
  }
}

h5,
.h5 {
  font-size: calc(0.65rem + 0.73vw);
}
@media (min-width: 1200px) {
  h5,
  .h5 {
    font-size: 1.2rem;
  }
}

h6,
.h6 {
  font-size: 1rem;
}

small,
.small {
  font-size: 0.8em !important;
}

.pt-7-5 {
  padding-top: 6.9rem !important;
}

.pt-7-8 {
  padding-top: 9.1rem !important;
}

.pt-8-3 {
  padding-top: 9.8rem !important;
}

.pt-8-5 {
  padding-top: 10.5rem !important;
}

.pt-8-7 {
  padding-top: 10.9rem !important;
}

@media (min-width: 576px) {
    
.pt-sm-7-5 {
  padding-top: 6.9rem !important;
}

.pt-sm-7-8 {
  padding-top: 9.1rem !important;
}

.pt-sm-8-3 {
  padding-top: 9.8rem !important;
}

.pt-sm-8-5 {
  padding-top: 10.5rem !important;
}

.pt-sm-8-7 {
  padding-top: 10.9rem !important;
}
    
}

@media (min-width: 768px) {
    
.pt-md-7-5 {
  padding-top: 6.9rem !important;
}

.pt-md-7-8 {
  padding-top: 9.1rem !important;
}

.pt-md-8-3 {
  padding-top: 9.8rem !important;
}

.pt-md-8-5 {
  padding-top: 10.5rem !important;
}

.pt-md-8-7 {
  padding-top: 10.9rem !important;
}
    
}

@media (min-width: 992px) {
    
.pt-lg-7-5 {
  padding-top: 6.9rem !important;
}

.pt-lg-7-8 {
  padding-top: 9.1rem !important;
}

.pt-lg-8-3 {
  padding-top: 9.8rem !important;
}

.pt-lg-8-5 {
  padding-top: 10.5rem !important;
}

.pt-lg-8-7 {
  padding-top: 10.9rem !important;
}
    
}

.nav {
  --bs-nav-link-font-weight: 400;
}
.navbar {
  --bs-navbar-brand-padding-y: 20px;
}
.navbar-nav {
  --bs-nav-link-font-weight: 400;
}

.navbar-nav .nav-link.active {
   font-weight: bold;
   color: var(--bs-primary);
   background: none;    
}
.navbar-nav .nav-link {
    background: none;
    
}


.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  border-radius: 0.313rem;
    
}


@media (max-width: 1199.98px) {
    .navbar-expand-xl .navbar-collapse .navbar-nav .nav-item .nav-link {
        padding: 0.25rem 0.5rem;
    }
}

.dropdown-menu {
  --bs-dropdown-item-padding-y: 0.1rem;
  --bs-dropdown-min-width: 20rem;
}

.dropdown-fullwidth .dropdown-item {
  white-space: normal;
}

.dropdown-menu .dropdown-item,
.dropdown-menu .dropdown-link {
  white-space: normal;
}

.topButtons .dropdown-item {
  white-space: nowrap;
}

.nav-pills-primary-border-start .nav-link.active,
.nav-pills-primary-border-start .nav-link:hover {
  color: var(--bs-dark);
  background-color: rgba(var(--bs-secondary-rgb), 0.3);
  border-left: none;
}

.nav-pills-primary-border-start.sidenav-level-3 .nav-link {
  padding-top: 0.2rem !important;
  padding-bottom: 0.2rem !important;
  color: var(--bs-gray-600);
  border: none
}


/*Breadcrumb */
@media (max-width: 575.98px) {
  .breadcrumb-item { display: none; }
  .breadcrumb-item:nth-last-child(2),
  .breadcrumb-item:last-child { display: list-item; }
}

.breadcrumb-item + .breadcrumb-item::before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: "»"; /* oder ">" oder "»" */
}

.h-70px {
  height: 70px !important;
}
.h-80px {
  height: 80px !important;
}
.h-105px {
  height: 105px !important;
}

.h-125px {
  height: 125px !important;
}

.h-270px {
  height: 270px !important;
}

.h-273px {
  height: 273px !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-60 {
  width: 60% !important;
}

.header-info {
  padding-left: 1rem;
}

.header-sticky.header-absolute.header-sticky-on .header-info,
.header-sticky.header-absolute.header-sticky-on .lp-kundenstimmen {
  display: none;
}

/*
.header-sticky.header-absolute.header-sticky-on .topButtons {
    display: none;
}
*/

.header-sticky.header-absolute .navbar {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}
.header-sticky.header-absolute.header-sticky-on .navbar {
  -webkit-box-shadow: var(--bs-box-shadow-lg) !important;
  box-shadow: var(--bs-box-shadow-lg) !important;
}

.header-sticky.header-absolute .navbar .logo-sticky {
  display: none;
}

.header-sticky.header-absolute.header-sticky-on .navbar .logo-sticky {
  display: inline-block;
}
.header-sticky.header-absolute.header-sticky-on .navbar .logo-normal, .header-sticky.header-absolute.header-sticky-on .navbar .logo-mobil, .header-sticky.header-absolute.header-sticky-on .navbar-brand.logo-standard {
  display: none;
}

 .navbar .logo-normal {
        display: none;
    }

@media (min-width: 576px) {
    
    .navbar .logo-normal {
        display: block;
    }

}


#contentstart {
  scroll-margin-top: 200px;
  scroll-behavior: smooth;
}

header .container-fluid {
  padding-right: 0px;
  padding-left: 0px;
}

/* Header Grafik */

/* Bogen */
.headerBogen {
  position: relative;
  height: 270px;
}

.top-siegel {
  position: absolute;
  height: 125px;
  right: 1rem;
  top: 2rem;
  z-index: 1;
}

.glow-image {
  /* Optional: Rundet die Ecken für einen weicheren Look */
  border-radius: 8px;
  /* Der Schein-Effekt */
  box-shadow: 0 0 15px 5px rgba(249, 249, 249, 0.5);
  /* Optional: Zentriert das Bild */
  display: block;
  margin: 20px auto;
}

.glow-image-svg {
  /* Drop-Shadow-Filter für den Schein */
  filter: drop-shadow(0 0 10px rgba(249, 249, 249, 0.7));
  display: block;
  margin: 20px auto;
}

/* ul li rote Dreiecke */
/* Entferne Standard-Aufzählungszeichen */
.standard-text-content ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0.2rem;
}

/* Styling für Listenelemente */
.standard-text-content ul li {
  position: relative;
  padding-left: 20px; /* Platz für das Icon */
  line-height: initial;
  padding-bottom: 0.5rem;
}

/* Füge das Icon mit ::before hinzu */
.standard-text-content ul li::before {
  content: "\F231"; /* Unicode für das Icon (hier: bi-check-circle-fill) */
  font-family: "bootstrap-icons"; /* Schriftart für Bootstrap-Icons */
  position: absolute;
  left: 0;
  top: 2px;
  color: var(--bs-primary); /* Farbe des Icons */
  font-size: 0.9rem; /* Größe des Icons */
}

.standard-text-content ul li ul li::before {
  content: "\F287"; /* Unicode für das Icon (hier: bi-check-circle-fill) */
  font-family: "bootstrap-icons"; /* Schriftart für Bootstrap-Icons */
  position: absolute;
  left: 0;
  top: 0.5rem;
  color: var(--bs-secondary); /* Farbe des Icons */
  font-size: 0.4rem; /* Größe des Icons */
}

.standard-text-content ul li ul {
    margin-top: 1rem;
}

.standard-text-content ol {
    margin-top: 0rem;
    margin-left: 0.4rem;
}

/*Images */
.img-caption,
.img-caption a {
  font-size: 0.8rem;
  line-height: normal;
  color: var(--bs-gray-600);
}
.img-caption a:hover, a p.img-caption:hover {
  color: var(--bs-primary);
}



/*Quick Contact */
.quick-contact {
  cursor: pointer;
  position: fixed !important;
  bottom: 180px;
  right: 0px;
  display: block;
  z-index: 100;

  opacity: 1;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background: var(--bs-primary);
  color: var(--bs-white);
  /*border-radius: 10%;*/
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
  width: 80px;
  height: auto;
  /*line-height: 52px;*/
  text-align: center;
}
/*
.quick-contact:before {
  content: "\f500";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
*/
.quick-contact:hover {
  background: var(--bs-link-hover-color);
  color: var(--bs-white);
}
.quick-contact.back-top-show {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}

.quick-contact i {
  line-height: 3rem;
}

.back-top {
  background: var(--bs-secondary);
  right: 28px;
}

.lp-teaser-area-text-area {
  margin-bottom: -1rem;
}

/*Akkordeon */
.accordion.accordion-border .accordion-button[aria-expanded="true"] {
  color: initial;
}

/*Canvas LP */
.offcanvas-lp.offcanvas,
.offcanvas-lp.offcanvas-xxl,
.offcanvas-lp.offcanvas-xl,
.offcanvas-lp.offcanvas-lg,
.offcanvas-lp.offcanvas-md,
.offcanvas-lp.offcanvas-sm {
  --bs-offcanvas-width: 80%;
}

/*Formular */
.input,
.captcha {
  margin-bottom: 0.75rem !important;
}
.form-label {
  margin-bottom: 0.25rem !important;
}

.input.checkbox .form-text,
.input.checkbox .form-check {
  padding-left: 0em;
}

hr.ce-div {
  margin: 2rem 0;
}

/* Tabelle */
.table td,
.table th {
  white-space: normal;
}

.contenttable {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(32, 33, 36, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.contenttable > :not(caption) > * > * {
  padding: 1rem 0.5rem;
  color: var(
    --bs-table-color-state,
    var(--bs-table-color-type, var(--bs-table-color))
  );
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  -webkit-box-shadow: inset 0 0 0 9999px
    var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
  box-shadow: inset 0 0 0 9999px
    var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.contenttable > tbody {
  vertical-align: inherit;
}
.contenttable > thead {
  vertical-align: bottom;
}

/* Powermail */
.powermail_captchaimage {
  margin-top: 1rem;
}
.powermail_field hr.ce-div {
  margin: 0.5rem 0;
}

.form-check-input:checked {
  background-color: inherit;
  border-color: inherit;
}

/*Table Produktvergleich */
.tableProduktVergleich {
  font-size: 14px;
}

.tableProduktVergleich thead {
}

.tableProduktVergleich td {
  text-align: center;
}

.tableProduktVergleich thead th {
  text-align: center;
  width: 20%;
}
.tableProduktVergleich.tableProduktVergleich-ext thead th {
  text-align: center;
  width: 15%;
}

.tableProduktVergleich thead th {
  background: #e0001b;
  color: #fff;
  /*border-right: solid #FFF 1px;*/
  vertical-align: middle;
}

.tableProduktVergleich thead th:first-child {
  /*background: #FFF;*/
  text-align: left;
}

.tableProduktVergleich > thead > tr > th {
  vertical-align: middle;
}

.tableProduktVergleich > tbody > tr > td {
  vertical-align: middle;
}

.vergleichsTeaser {
  border: 1px solid #eee;
  text-align: center;
  margin-bottom: 20px;
}

.vTeaserTitle {
  background: #e0001b;
  color: #fff;
  padding: 10px;
}

.vTeaserTitle h3 {
  font-size: 18px;
  margin: 0px;
  color: #fff;
}

.vTeaserSubtitle {
  font-weight: 600;
  font-size: 16px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.vTeaserContentRow {
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 1px solid #eee;
  margin-left: 10px;
  margin-right: 10px;
}


.ctaBtnLp {
    width: 110px;
    height: auto;
    padding-top: 15px;
}


@media (min-width: 100px) {
  header {
    -webkit-animation: fadeInUp 0.5s;
            animation: fadeInUp 0.5s;
  }
  header.header-sticky-on {
    position: fixed;
    z-index: 1040;
    top: 0;
    left: 0;
    right: 0;
    background-color: var(--bs-body-bg);
    -webkit-animation: fadeInDown 0.5s;
            animation: fadeInDown 0.5s;
    width: 100%;
    border-bottom: 1px solid var(--bs-gray-200);
  }
  header.header-sticky-on .navbar-top {
    display: none !important;
  }
  header.header-sticky-on .navbar-brand {
    padding: 14px 0;
  }
  header.header-sticky-on .navbar-brand .navbar-brand-item {
    height: 35px;
  }
}

/*LAnding Page */
.header-sticky.header-absolute.header-sticky-on .navbar .logo-lp-standard {
    display: none;
}

/*BackToTop Button */
.lp-back-top {
    bottom: 100px;
}

/* Bilder Galerie */

.card a[data-glightbox] {
  position: relative;
  display: block;
}

.card a[data-glightbox]::after {
  content: "\f52a"; /* Bootstrap Icon: bi-zoom-in */
  font-family: "bootstrap-icons";
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  pointer-events: none; /* Wichtig! Damit Klick weiter zur Lightbox geht */
}

.card .small{
  line-height: 1.4;
}

.gallery-caption{
  font-size: 0.9rem;
  line-height: 1.4;
  color: var(--bs-secondary);
}


/*Bilder allgemein */
a[data-glightbox] {
  position: relative;
  display: inline-block;
}

a[data-glightbox]::after {
  content: "\f52a";
  font-family: "bootstrap-icons";
  position: absolute;
  right: 12px;

  /* sitzt unten auf dem Bild */
  bottom: calc(2.5rem + 12px); 

  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  pointer-events: none;
}

/*Downloads */
/* feste Bildspalte -> Titel beginnen bündig */
/* Thumbnail / Icon-Spalte */
.download-thumb{
  width: 110px;              /* sorgt für bündige Titel */
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Generisches Datei-Icon */
.download-file-icon{
  font-size: 2rem;
  color: var(--bs-secondary);
  opacity: 0.85;
}

/* Mobile: Titel unter Bild + Button */
.download-title{
  flex-basis: 100%;
}

/* Ab lg: alles wieder nebeneinander */
@media (min-width: 992px){
  .download-title{
    flex-basis: auto;
  }
}




/* Brandschutz-Center */

@media (min-width: 1400px) {
.brandschutzcenter-text {
    font-size: 0.9em;
}
 .brandschutzcenter-title {
    
    height: 80px;    
    
}
}

/*Navi */

/* Toggle-Buttons in der Navbar zuverlässig klickbar + große Tap-Fläche */
/*
#navbarCollapse button[data-bs-toggle="dropdown"] {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 5;
  pointer-events: auto !important;
}
*/

/* Pfeil/Arrow sauber ausrichten */
/*
#navbarCollapse button[data-bs-toggle="dropdown"]::after {
  margin-left: 0;
}

*/
/* Falls das Theme Buttons in der Navbar deaktiviert */

.navbar .btn {
  pointer-events: auto;
}

/* Optional: Hover auf Desktop (ohne Theme-JS) */
/*
@media (min-width: 992px) {
  #navbarCollapse .dropdown:hover > .dropdown-menu {
    display: block;
  }
  #navbarCollapse .dropdown.dropend:hover > .dropdown-menu {
    display: block;
  }
}
*/


.offcanvas .accordion-button {
  font-weight: 600;
}

.offcanvas .accordion-body {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.offcanvas a.active {
  font-weight: 700;
}

#mobileNav .mobile-nav-accordion,
#mobileNav .mobile-nav-level-2,
#mobileNav .mobile-nav-level-3 {
  --bs-accordion-border-width: 0;
  --bs-accordion-border-radius: 0;
  --bs-accordion-inner-border-radius: 0;
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-bg: transparent;
  --bs-accordion-btn-bg: transparent;
  --bs-accordion-active-bg: transparent;
  --bs-accordion-btn-color: inherit;
  --bs-accordion-active-color: inherit;
}

#mobileNav .mobile-nav-item {
  border: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 0;
  background: transparent;
}

#mobileNav .accordion-button {
  padding: 0.95rem 0;
  font-weight: 600;
  background: transparent;
  box-shadow: none;
}

#mobileNav .accordion-button:not(.collapsed) {
  background: transparent;
  color: inherit;
  box-shadow: none;
}

#mobileNav .accordion-button::after {
  flex-shrink: 0;
}

#mobileNav .accordion-body {
  padding: 0 0 0.5rem 0;
}

#mobileNav .mobile-nav-link-item {
  display: block;
}

#mobileNav .mobile-nav-link {
  padding: 0.95rem 0;
  color: inherit;
  font-weight: 600;
}

#mobileNav .mobile-nav-link:hover,
#mobileNav .mobile-nav-link:focus {
  color: inherit;
}

#mobileNav .mobile-nav-link.active,
#mobileNav .accordion-button.active,
#mobileNav a.active {
  font-weight: 700;
}

#mobileNav .mobile-nav-level-2,
#mobileNav .mobile-nav-level-3 {
  margin-left: 0.5rem;
}

#mobileNav .mobile-nav-level-4 {
  padding-left: 0.75rem;
}

#mobileNav .mobile-nav-level-4-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

#mobileNav .mobile-nav-level-4-item:last-child {
  border-bottom: 0;
}

#mobileNav .mobile-nav-level-4 .mobile-nav-link {
  padding: 0.7rem 0;
  font-weight: 400;
}

#mobileNav .mobile-nav-meta-links .mobile-nav-item:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* Basisfarbe für alle Nav-Links */
#mobileNav .mobile-nav-link,
#mobileNav .accordion-button,
.navbar .nav-link,
.navbar .dropdown-item {
  color: var(--bs-body-color) !important;
}

/* Hover (optional leicht hervorheben) */
#mobileNav .mobile-nav-link:hover,
#mobileNav .accordion-button:hover,
.navbar .nav-link:hover,
.navbar .dropdown-item:hover {
  color: var(--bs-primary) !important;
}

/* Aktiver Zustand */
#mobileNav .mobile-nav-link.active,
#mobileNav .accordion-button.active,
.navbar .nav-link.active,
.navbar .dropdown-item.active {
  color: var(--bs-primary) !important;
  font-weight: 700;
}


/*SideNAv */

.nav-link .d-flex {
  align-items: flex-start;
} 

.nav-pills-primary-border-start .nav-link {
    padding: 0.5rem 0.5rem !important;
}