html,
body {
  overflow-x: hidden; /* Prevent scroll on narrow devices */
}

body {
  padding-top: 77px;
  background-color: #ffffff !important;
}


.cursor-pointer {
  cursor: pointer !important;
}

.bbm-link{
    cursor: pointer !important;
    --bs-link-underline-opacity: 0.25;
    text-underline-offset: 0.25em !important;
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
    -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

.bbm-link:hover {
    color: RGBA(var(--bs-dark-rgb), var(--bs-link-hover-opacity, 1)) !important;
    --bs-link-underline-opacity: 1;
    text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}

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

.navbar-black {
    background-color: #000000 !important;
    color: #ffffff !important;
    --bs-navbar-hover-color: #ddd !important;
}

.terms-list {
    counter-reset: chapter;
    list-style: none;
    padding-left: 0;
}

.terms-list > li {
    counter-increment: chapter;
    counter-reset: section subsection;
    margin-bottom: 30px;
}

.terms-list > li > h2::before {
    content: counter(chapter) ' ';
}

.terms-list > li > h3 {
    counter-increment: subsection;
}

.terms-list > li > h3::before {
    content: counter(chapter) '.' counter(subsection) ' ';
}

.section-list {
    counter-reset: section;
    list-style: none;
    padding-left: 20px;
    margin-top: 15px;
}

.section-list li {
    counter-increment: section;
    margin-bottom: 10px;
    padding-left: 60px;
    position: relative;
}

/* Standard section-list nach h2 (direkt unter Hauptkapitel) */
.terms-list > li > .section-list li::before {
    content: counter(chapter) '.' counter(section);
    position: absolute;
    left: 0;
    top: 0;
    width: 55px;
    text-align: left;
}

/* Section-list nach h3 (Unterkapitel) */
.terms-list > li > h3 + .section-list li::before,
.terms-list > li > h3 ~ .section-list li::before {
    content: counter(chapter) '.' counter(subsection) '.' counter(section);
    position: absolute;
    left: 0;
    top: 0;
    width: 55px;
    text-align: left;
}

.text-decoration{
  text-decoration: none !important;
}


.bg-bd-primary {
  background: var(--bd-color-bg);
}

.chat{
  margin: auto;
  margin-top: 50px;
  max-width: 800px;
}

.mw-90{
  max-width: 90%;
}
.mw-80{
  max-width: 80%;
}
.mw-70{
  max-width: 70%;
}
.mw-60{
  max-width: 60%;
}
.mw-50{
  max-width: 50%;
}

.anchor{
  scroll-margin-top: 80px;
}

.nobe{
  display: none;
}

.swiper-button-prev, .swiper-button-next{
  color: var(--bd-link-color) !important;
}

.swiper-pagination-bullet-active{
  background: var(--bd-link-color) !important;
}

.navbar-expand-lg {
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.nav-link {
  color: var(--bd-link-color);
  cursor: pointer;
}
.card-bd-footer{
  padding: 0px var(--bs-card-spacer-x) var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}

a{
  color: var(--bd-link-color);
}
a:hover{
  color: var(--bd-link-hover-color);
}
.text-bg-primary{
  background-color: var(--bd-color-bg) !important;
}
.border-primary{
  border-color: var(--bd-color-bg) !important;
}

.img_16_9{
  padding-top: 56.25%;
}
.img_3_2{
  padding-top: 66.66%;
}
.img_4_3{
  padding-top: 75%;
}
.img_1_1{
  padding-top: 100%;
}
.img_3_4{
  padding-top: 133.33%;
}
.img_2_3{
  padding-top: 150%;
}
.img_9_16{
  padding-top: 177.78%;
}

.img_fit{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
}

.img_fill{
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}

.bg-img-ct{
  padding-top: 66%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  text-align: center;
}

.card-hero-img {
    padding-top: 66%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center;
}

.card-product-img {
  padding-top: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  text-align: center;
}


.product-link{
  text-decoration: none;
}

.logo{
    max-height: 30px;
}

.nav-link, .btn-modal, .btn-action, .btn-prompt{
    cursor: pointer;
}

.crop-img{
    width: 100%;
    object-fit: cover;
}


.hero-section{
    width: 100%;
    display: flex;
}

.hero-box{

    width: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 50px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}
.hero-box h1{
    font-size: 32px;
}

.hero-image{
    min-height: 458px;
}

.px-md-6{
  padding-left: 16.666%;
  padding-right: 16.666%;
}

.btn-subtitle {
  font-size: 0.7rem;
  line-height: 1rem;
}

.check-mod{
  padding: 6px 12px;
}

@media screen and (max-width: 1400px) {
  .hero-image{
    min-height: 395px;
  } 
}

@media screen and (max-width: 1200px) {
  .hero-image{
    min-height: 330px;
  } 
}

@media screen and (max-width: 992px) {
  .hero-image{
    min-height: 246px;
  } 
}

@media screen and (max-width: 1050px) {
    .hero-box h1{
      font-size: 3.05vw;
    }
    .hero-box{
      padding: 4.75vw 4.75vw 7vw 4.75vw;

    }
    .check-mod{
      padding: 6px 2px;
    }

  }

  @media screen and (max-width: 767px) {

    #hero{
      padding-top: 0px !important;
      padding-left: 0px;
      padding-right: 0px;
    }
    

    .px-md-6{
      padding-left: 0px;
      padding-right: 0px;
    }

    .hero-box h1{
      font-size: 1.5rem;
    }
    .hero-section{
      flex-direction: column-reverse;
    }
    .mobile-center{
      text-align: center;
    }
    
    .hero-image{
      min-height: 382px;
    }
    
    .nav-desktop{
      display:none;
    }

    .nav-link-mobile{
      font-size: x-large;
    }

    .offcanvas-collapse {
      position: fixed;
      /*top: 56px; /* Height of navbar */
      bottom: 0;
      left: 100%;
      width: 100%;
      padding-right: 1rem;
      padding-left: 1rem;
      overflow-y: auto;
      visibility: hidden;
      --bs-bg-opacity: 1;
      background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
      transition: transform .3s ease-in-out, visibility .3s ease-in-out;
    }
    .offcanvas-collapse.open {
      visibility: visible;
      transform: translateX(-100%);
    }
  }

  @media screen and (max-width: 450px) {
    .hero-image{
      min-height: 290px;
    }

  }
