
body {
  overflow-x: hidden;
}

.text-shadow {
  text-shadow: .125rem .25rem .5rem rgba(0, 0, 0, 0.25)
}

.nar-root-loaded {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.navbar .navbar-collapse {
  z-index: 20;
  /* margin-top: 1rem !important; */
}

.fs-sm a {
  font-size: calc(var(--ak-body-font-size) * 0.875) !important;
}




.navbar-brand img {
  width: 64px;
  height: auto;
}

@media (min-width: 992px) {

  .fs-lg-lg {
    font-size: calc(var(--ak-body-font-size) * 1.125) !important;
  }
  .text-shadow-lg {
      text-shadow: .125rem .25rem .5rem rgba(0, 0, 0, 0.25);
  }

  .vh-lg-100 {
    height: 100vh !important;
  }
  .min-vh-lg-100 {
    min-height: 100vh !important;
  }
  .position-absolute-lg {
    position: absolute !important;
  }

  .translate-lg-middle-y {
    transform: translateY(-50%) !important;
  }

  #hero .h1 {
    color: #fff !important;
  }
  #hero .text-body {
    color: rgba(255, 255, 255, 0.7) !important;
  }

  #hero .btn-secondary {
    --ak-btn-color: #fffaf4;
    --ak-btn-bg: transparent;
    --ak-btn-border-color: #fffaf4;
    --ak-btn-hover-color: #000;
    --ak-btn-hover-bg: #fffaf4;
    --ak-btn-hover-border-color: #fffaf4;
    --ak-btn-focus-shadow-rgb: 255, 250, 244;
    --ak-btn-active-color: #000;
    --ak-btn-active-bg: #fffaf4;
    --ak-btn-active-border-color: #fffaf4;
    --ak-btn-active-shadow: unset;
    --ak-btn-disabled-color: #fffaf4;
    --ak-btn-disabled-bg: transparent;
    --ak-btn-disabled-border-color: #fffaf4;
    --ak-gradient: none;
  }


  #navbarNav .menu-item a {
    position: relative;
  }

  #navbarNav .menu-item.current-menu-item a {
    color: var(--ak-primary) !important;
  }

  /* Basis-Pseudo-Element auf 0 Breite und grau */
  #navbarNav > ul > .menu-item > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 1px;
    background: var(--ak-gray-400);
    transform: translateX(-50%);
    transition: width 0.2s ease-in-out;
  }

  /* Hover auf 1. Ebene: graue Linie auf 30px */
  #navbarNav > ul > .menu-item > a:hover::after {
    width: 30px;
  }

  /* Aktives Item auf 1. Ebene: Primär-Farbe + 30px */
  #navbarNav > ul > .menu-item.current-menu-item > a::after {
    width: 30px;
    background: var(--ak-primary);
  }


  /* ::after mit expliziter Höhe und background-size */
  /* .current-menu-item::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 0;
    bottom: 0;
    height: 30px;  
    background: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20400%2030'%20fill='none'%20stroke='currentColor'%20stroke-width='3'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-miterlimit='10'%3E%3Cpath%20d='M16.7%2020.2c76.5%204.4%20153.6-9.7%20229.8-4.1%205.4.4%2012.4%202.1%2011.7%205.6-67.3%201.7-134.5%205.5-201.2%2011.5l87.7-.9c35.2-.4%2070.8-.7%20104.9%204.6'/%3E%3C/svg%3E") 
                no-repeat center bottom;
    background-size: 75% 33px;
    pointer-events: none;
  } */


} 



@media (max-width: 991px) {
  /* #hero .swiper-pagination {
    bottom: 0 !important;
  } */
  .btn {white-space: normal;}

  .navbar-brand img {
    width: 56px !important;
  }

}


@media (min-width: 769px) {
  .w-md-500 {
    width: 500px;
  }
} 

@media (max-width: 768px) {
  .w-md-500 {
    width: 100vw;
  }
}


@media (min-width: 1200px) {

  h2,
  .h2 {
      font-size: 2.5rem;
  }

  h3:not(.accordion-header, .h4, .h5, .h6, .card-title),
  .h3 {
      font-size: 2rem;
  }

}


#teaser:hover .edit-link {
  display: block !important;
}



.navbar .navbar-nav .dropdown-menu {
  padding-left: 1rem;
}


.text-clamp {
  display: -webkit-box !important;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}



@media (min-width: 992px) {
  .breadcrumb {
    display: flex;
    flex-wrap: nowrap;
  }

  .breadcrumb .breadcrumb-item {
    white-space: nowrap;
  }

  .breadcrumb li:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    /* display: inline-block; */
    max-width: 100%;
  }
}

/* Für Mobile */
@media (max-width: 991px) {
  .breadcrumb-container {
    padding-right: 0;
  }
  .breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-right: 15px; /* Anpassung für den rechten Rand des Containers */
    --ak-breadcrumb-item-padding-x: 0.125rem;
  }

  .breadcrumb .breadcrumb-item {
    white-space: nowrap;
  }

  /* .breadcrumb li:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    flex: 1 1 auto;
  } */

}



@media (max-width: 575px) {
  .fs-mob-sm {font-size: calc(var(--ak-body-font-size) * 0.875) !important;}
}



.last-p > p:last-child {
  margin-bottom: 0 !important;
}

#teaser .text-highlight svg {
  height: 80px !important;
  transform-origin: center center;  /* oder: 50% 50% */
}

#teaser .text-highlight .stroke {
  stroke: var(--ak-primary);
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  /* transform: translateY(1em) scale(0.625); */
  -webkit-animation: stroke 1.5s ease-out forwards;
          animation: stroke 1.5s ease-out forwards;
}

@media (max-width: 768px) {
  #teaser .text-highlight svg {
    transform: scale(0.5);
    /* transform-origin schon global definiert */
  }
}


@-webkit-keyframes stroke {
  from {
    stroke-dashoffset: 1000;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes stroke {
  from {
    stroke-dashoffset: 1000;
  }
  to {
    stroke-dashoffset: 0;
  }
}





.bg-primary div[data-bs-theme="dark"] .btn-light {
  background-color: #fff !important;
  color: var(--ak-primary) !important;
}


.bg-primary div[data-bs-theme="dark"] .btn-light:hover {
  background-color: #f8f9fa !important;
  color: var(--ak-dark) !important;
}