/*----------- Allgemein -----------*/
/* nunito-sans-300italic - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans LOC';
  font-style: italic;
  font-weight: 300;
  src: url('../library/fonts/Nunito-Sans-Italic-LOC/nunito-sans-v19-latin-300italic.woff2') format('woff2');
}
/* nunito-sans-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans LOC';
  font-style: normal;
  font-weight: 400;
  src: url('../library/fonts/Nunito-Sans-LOC/nunito-sans-v19-latin-regular.woff2') format('woff2');
}
/* nunito-sans-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans LOC';
  font-style: normal;
  font-weight: 700;
  src: url('../library/fonts/Nunito-Sans-LOC/nunito-sans-v19-latin-700.woff2') format('woff2');
}
/* nunito-sans-800 - latin */
@font-face {
  font-display: swap;
  font-family: 'Nunito Sans LOC';
  font-style: normal;
  font-weight: 800;
  src: url('../library/fonts/Nunito-Sans-LOC/nunito-sans-v19-latin-800.woff2') format('woff2');
}
/* nunito-sans-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Nunito Sans Italic LOC';
  font-style: italic;
  font-weight: 300;
  src: url('../library/fonts/Nunito-Sans-Italic-LOC/nunito-sans-v19-latin-300italic.woff2') format('woff2');
}
/* geist-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Geist LOC';
  font-style: normal;
  font-weight: 400;
  src: url('../library/fonts/Geist-LOC/geist-v4-latin-regular.woff2') format('woff2');
}
/* geist-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Geist LOC';
  font-style: normal;
  font-weight: 700;
  src: url('../library/fonts/Geist-LOC/geist-v4-latin-700.woff2') format('woff2');
}

h1, h2, h3, .font-alt, .font-alt p, .font-alt span, .ba-btn-transition {
font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
}

p, a, li, li > span {
font-family: 'Geist LOC', Arial, Helvetica, sans-serif !important;
}

.font-italic, .font-italic p {
font-family: 'Nunito Sans Italic LOC', Arial, Helvetica, sans-serif !important;
font-weight: 300 !important;
}


/*-------------- Aufzeichnungen PW-Schutz -------------*/
.module-position:has(.pwd-wrapper) {
  margin-top: 100px !important;
}

.com-content-article:has(.pwd-wrapper) h1 {
  text-align: center;
  padding: 0 45px;
}

.pwd-wrapper p {
  font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  line-height: 30px;
}

.com-content-article:has(.pwd-wrapper) .page-header {
margin-bottom: 15px;
}

.pwd-wrapper {
  border: 3px solid var(--accent);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.pwd-wrapper .input-group {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.pwd-wrapper .form-control {
  font-family: 'Geist LOC', Arial, sans-serif !important;
  padding: 5px 15px !important;
  margin-bottom: 0 !important;
  color: var(--text) !important;
  font-size: 16px !important;
}

.pwd-wrapper .btn.btn-success {
  font-size: 16px;
  font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  letter-spacing: 0.5px;
  background-color: var(--accent);
  color: var(--text-inverse);
  border-radius: 0;
}

.pwd-wrapper form {
  margin: 50px;
  margin-top: 35px;
}

.pwd-wrapper:has(video) {
  border: none;
  box-shadow: none;
  display: flex;
  justify-content: center;
}

@media (max-width: 1280px) {
  .module-position:has(.pwd-wrapper) {
  margin-top: 75px !important;
}
}

@media (max-width: 768px) {
  .module-position:has(.pwd-wrapper) {
  margin-top: 0 !important;
}

  .com-content-article:has(.pwd-wrapper) h1 {
  text-align: left;
  padding: 0 45px 0 0;
}

  .pwd-wrapper .input-group {
  flex-direction: column;
}

  .pwd-wrapper .form-control {
  width: 100% !important
}

  .pwd-wrapper form {
  margin: 30px;
  margin-top: 15px;
}

  .pwd-wrapper p {
  text-align: left;
  font-size: 17px;
  line-height: 22px;
}

  .pwd-wrapper:has(video) {
  justify-content: start;
}
}


/*---------- Allgemein ----------*/
:focus-visible {
  outline: none;
}

.styleh4 {
font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  font-weight: 700;
  font-size: 23px;
  color: var(--secondary);
  line-height: 35px;
}

a.anchor {
  display: block;
  position: relative;
  top: -250px;
  visibility: hidden;
}

/*.anchor-target::before{
  content:"";
  display:block;
  height:250px;
  margin-top:-250px;
}

.anchor-target {
  pointer-events: none;
}*/

.anchor-target {
  pointer-events: none;
}

.anchor-target::before {
  content: "";
  display: block;
  height: 250px;
  margin-top: -250px;
}

.worttrennung,
.arbeitskreise-kacheln .ba-feature-description {
overflow-wrap: break-word;
  hyphens: auto;
}

.content-text ul,
.content-text ol{
  padding: 15px 0;
  font-size: 18px;
  line-height: 23px;
  margin-left: 20px;
}

.ul-exception ul {
padding-top: 0;
}

.content-text ul li:not(:last-child),
.content-text ol li:not(:last-child){
  padding-bottom: 15px;
}

.content-text ul li,
.content-text ol li{
  padding-left: 5px;
}

.content-text ul li::marker {
  color: var(--subtitle);
  font-size: 23px;
}

.content-text ol li::marker {
  color: var(--subtitle);
  font-weight: 700;
}

.content-text:has(.anchor-target) {
  pointer-events: none;
}

.content-text:has(.anchor-target) a {
  pointer-events: auto;
}

ol ul {
list-style: disc;
}

.gap {
gap: 25px !important;
}

.ba-icon-list-wrapper .numbers-type .list-item-without-link::before {
margin-top: 0;
  margin-right: 15px !important;
  transform: translateY(-20%) !important;
  font-weight: 700;
}

.ba-icon-list-wrapper .numbers-type .list-item-without-link span {
transform: translateY(-10%) !important;
}

.ba-icon-list-wrapper .list-item-without-link span a {
    display: inline !important;
    width: auto !important;
}

.text-shadow p {
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}

p a {
  text-decoration: underline;
}

@media (max-width: 1440px) {
  .content-text ul,
  .content-text ol{
  font-size: 16px;
    line-height: 21px;
  }
}

@media (max-width: 1024px) {
  .bg-position {
  background-position: 50% 85% !important;
  }
  
  .copyright-header {
transform: translateY(-120px);
}
}

@media (max-width: 768px) {
.content-text ul,
  .content-text ol{
  padding: 10px 0;
}
  
  .content-text ul li:not(:last-child),
  .content-text ol li:not(:last-child){
  padding-bottom: 10px;
}
  
  .copyright-header {
transform: translateY(-160px);
}
}

@media (max-width: 420px) {
  .btn-break {
  hyphens: auto;
  }
  
  .copyright-header {
transform: translateY(-100px);
}
}

/*----------- Menü -----------*/
@media (min-width: 1281px) {
  .ba-grid-column-wrapper.ba-col-2:has(.menu-logo) {
  width: 4% !important;
}

.ba-grid-column-wrapper.ba-col-2:has(.menu-suche) {
  width: 9% !important;
}
}

/*.mod-menu__heading.nav-header:hover,*/
.main-menu .nav-item.active a,
.main-menu .nav-item a:hover {
  text-decoration: underline !important;
  text-decoration-color: var(--subtitle) !important;
  text-decoration-thickness: 3px !important;
  text-underline-offset: 6px;
}

/*.mod-menu__sub .mod-menu__heading.nav-header:hover,*/
.main-menu .mod-menu__sub .nav-item a,
.main-menu .mod-menu__sub .nav-item a:hover {
text-decoration: none !important;
}

.suche-suche {
  margin-bottom: -3px !important;
}

.ba-search-wrapper input::placeholder {
  opacity: 1;
}

@media (max-width: 1745px) and (min-width: 1441px) {
  .main-menu-wrapper {
  padding-left: 50px !important;
    padding-right: 50px !important;
  }
  
  .main-menu .nav-item a {
  font-size: 18px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  
  .ba-search-wrapper {
  padding-left: 5px !important;
    padding-bottom: 9px !important;
  }
  
  .ba-search-wrapper i {
  margin-left: 7px !important;
  }
  
  .ba-search-wrapper input::placeholder,
    .ba-search-wrapper input {
  font-size: 16px !important;
  }
  
  .mod-menu__sub .mod-menu__heading.nav-header {
    font-size: 17px !important;
    padding: 15px 20px !important;
  }
}

@media (max-width: 1410px) and (min-width: 1281px) {
.main-menu-wrapper {
  padding-left: 25px !important;
    padding-right: 25px !important;
  }
  
  .ba-grid-column-wrapper.ba-col-2:has(.menu-suche) {
  width: 10% !important;
}
  
  .main-menu .nav-item a {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  
  .main-menu .ba-icon-caret-right {
  margin-left: 4px !important;
}
  
  .mod-menu__sub .mod-menu__heading.nav-header {
  padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/*----------- Header Hero -----------*/
.header-text-box {
z-index: 1000 !important;
}

@media (min-width: 1281px) {
  .ba-grid-column-wrapper:has(.header-text-box) {
  transform: translateX(100px) !important;
  z-index: 1000 !important;
  margin-left: -50px !important;
}
}

@media (max-width: 1280px) and (min-width: 1025px) {
.ba-grid-column-wrapper:has(.header-text-box) {
  transform: translateX(50px) !important;
  margin-left: 0 !important;
  z-index: 1000 !important;
}
}

/*----------- USP Kacheln -----------*/
.hcb-usps img {
height: 100px !important;
}

@media (max-width: 1280px) {
.hcb-usps img {
height: 75px !important;
}
}

/*----------- Referenzen/Stimmen -----------*/
.nw-stimmen .ba-testimonials-img {
  background-color: var(--bg-dark-accent);
  padding: 15px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -25px;
  right: -25px;
  margin-right: 0 !important;
}

.nw-stimmen .testimonials-img {
  border-radius: 0 !important;
  background-size: contain !important;
}

.nw-stimmen .testimonials-info {
margin-bottom: 0 !important;
}

.nw-stimmen .testimonials-name-wrapper {
  padding-right: 40px;
}

.nw-stimmen .testimonials-slideshow-content-wrapper .item {
display: flex;
}

.nw-stimmen .ba-testimonials-caption {
  display: block;
}

.nw-stimmen .ba-testimonials-testimonial {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

.testimonials-slideshow-content-wrapper {
width: 100% !important;
}

.nw-stimme-single .testimonials-slideshow-content-wrapper li.active {
  flex: 1 !important;
}

.nw-stimmen .ba-slideset-nav .slideset-btn-prev::before,
.nw-stimmen .ba-slideset-nav .slideset-btn-next::before {
  font-family: 'balbooa-family' !important;
}

.nw-stimmen .ba-slideset-nav .slideset-btn-prev {
transform: translate(-100%, -50%);
}

.nw-stimmen .ba-slideset-nav .slideset-btn-next {
transform: translate(100%, -50%);
}

@media (min-width: 769px) {
  .nw-stimmen .ba-slideset-nav {
  display: none !important;
  }
}

@media (min-width: 1281px) {
  .nw-stimmen .slideshow-content {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 45px;
    align-items: stretch;
  }
 
  .nw-stimmen .testimonials-slideshow-content-wrapper li {
    width: calc((100% - 90px) / 3) !important;
    min-width: calc((100% - 90px) / 3) !important;
    flex: 0 0 calc((100% - 90px) / 3) !important;
    margin: 0 !important;
  }
  
  .nw-stimmen .slideshow-content {
    justify-content: center;
  }
}
 

/*@media (min-width: 1281px){
.nw-stimmen .testimonials-slideshow-content-wrapper li {
width: calc((100% - 90px) / 3) !important;
}
}

@media (min-width: 1025px) {
  .nw-stimmen .ba-slideset-dots {
  display: none !important;
  }
}*/

@media (max-width: 1440px) {
  .nw-stimmen .testimonials-img {
  width: 50px !important;
    height: 50px !important;
  }
  
  .nw-stimmen .ba-testimonials-img {
  padding: 10px;
    top: -12px;
    right: -12px;
  }
}

@media (max-width: 1280px) {
  .nw-stimmen .testimonials-img {
  width: 40px !important;
    height: 40px !important;
  }
}

@media (max-width: 768px) {
  .nw-stimmen .ba-slideset-dots {
  display: none !important;
  }
}

/*----------- Arbeitskreise -----------*/
.arbeitskreise .ba-feature-caption {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .bg-position-2 .ba-feature-image {
  background-position: 50% 0% !important;
  }
}

/*----------- Veranstaltungen -----------*/
.veranstaltungen-img .ba-image-wrapper {
background-color: var(--primary);
  padding: 20px;
}

.veranstaltungen-img img {
  margin-right: -2px;
}

.veranstaltungen-img {
  position: absolute;
  top: -20px;
  right: -20px;
}

.veranstaltungen h2,
.veranstaltungen p:not(.va-text) {
padding-right: 100px;
}

/*DPCalendar*/
.dp-event-url {
  hyphens: auto;
}

.mod-dpcalendar-upcoming-panel__event {
display: flex;
}

.mod-dpcalendar-upcoming-panel__event {
  background-color: var(--bg-primary);
  box-shadow: none;
}

.dp-date:has(.dp-time__start) .dp-date__start::after,
.dp-date:has(.dp-date__end) .dp-date__start::after {
  content: "|";
  margin: 0 7px;
}

.dp-time__separator,
.dp-date__separator {
  font-size: 0;
}

.dp-time__separator::before {
  content: " – ";
  font-size: 21px;
}

.dp-time__end::after,
.dp-time:not(:has(.dp-time__end)) .dp-time__start::after {
  content: " Uhr";
}

.mod-dpcalendar-upcoming-panel__information {
  display: flex;
  flex-direction: column;
  padding: 20px 25px 28px;
}

.mod-dpcalendar-upcoming-panel__information .dp-event-url {
  order: 2;
  font-family: 'Geist LOC', Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
}

.mod-dpcalendar-upcoming-panel__location {
  order: 3;
  font-family: 'Nunito Sans Italic LOC', Arial, Helvetica, sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 35px;
  margin-bottom: 15px;
}

.mod-dpcalendar-upcoming-panel__location .dp-icon {
  display: none;
}

.mod-dpcalendar-upcoming-panel__date {
  order: 1;
}

.mod-dpcalendar-upcoming-panel__date .dp-date {
  font-family: 'Geist LOC', Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 18px;
  line-height: 23px;
  color: var(--secondary);
}

.mod-dpcalendar-upcoming-panel__date .dp-icon {
  display: none;
}

.mod-dpcalendar-upcoming-panel__information .dp-event-display-before-content {
  order: 4;
  font-family: 'Nunito Sans Italic LOC', Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 23px;
  margin-top: auto;
}

.mod-dpcalendar-upcoming-panel__information .dp-description:not(:last-child) {
  margin: 0 0 5px;
}

.mod-dpcalendar-upcoming-panel__information .dp-description:last-child {
  margin: 0;
}

/*Übersichtsseite*/
.veranstaltungen-uebersicht .mod-dpcalendar-upcoming-panel__events {
flex-direction: column;
}

.veranstaltungen-uebersicht .dp-event-display-before-content {
margin-top: 0;
}

.veranstaltungen-uebersicht .dp-event {
flex: 0;
}

.mod-dpcalendar-upcoming-panel__information:has(.dp-fields:empty) {
    padding-bottom: 3px;
}

.mod-dpcalendar-upcoming-panel__information:not(:has(.mod-dpcalendar-upcoming-panel__location)):not(:has(.dp-fields > *)) {
  padding-bottom: 10px !important;
}

.accordion-veranstaltungen .accordion-inner {
padding-top: 1px !important;
}

.accordion-veranstaltungen .accordion-group .accordion-heading {
  margin-bottom: 10px !important;
}

.accordion-veranstaltungen .dp-event.dp-event_finished {
  margin-top: 0;
  margin-bottom: 10px;
}

.veranstaltungen-uebersicht .dp-fields {
  display: flex;
  flex-wrap: wrap;
  grid-row-gap: 5px;
}

.veranstaltungen-uebersicht .dp-description {
  display: flex;
}

.veranstaltungen-uebersicht .mod-dpcalendar-upcoming-panel__information .dp-description:not(:last-child) {
  margin: 0;
}

.veranstaltungen .accordion-toggle:not(.active) {
margin-bottom: 10px;
  transition: margin .2s ease-in-out;
}

.veranstaltungen .accordion-group:last-child .accordion-toggle {
margin-bottom: 0;
}

.veranstaltungen .ba-icons.ba-icon-chevron-right.accordion-icon {
  font-weight: 700;
}

.veranstaltungen-uebersicht .mod-dpcalendar-upcoming-panel__information:not(:has(.mod-dpcalendar-upcoming-panel__location))
  .dp-event-url {
  margin-bottom: 10px;
}

.dp-description.dp-field-aufzeichnung {
  flex-basis: 100%;
  margin-top: 5px !important;
}

.veranstaltungen-uebersicht .dp-fields .dp-description:has(+ .dp-field-aufzeichnung)::after {
  content: none;
}

/*Responsive*/

@media (max-width: 1280px) {
.veranstaltungen-img {
  top: -15px;
  right: -15px;
}
  
.mod-dpcalendar-upcoming-panel__date .dp-date,
.mod-dpcalendar-upcoming-panel__information .dp-event-url,
  .mod-dpcalendar-upcoming-panel__information .dp-event-display-before-content {
  font-size: 16px !important;
    line-height: 21px !important;
  }
  
  .mod-dpcalendar-upcoming-panel__location {
  font-size: 16px !important;
  }
  
  .veranstaltungen h2,
.veranstaltungen p:not(.va-text) {
padding-right: 150px;
}
}

@media (max-width: 1041px) {
.veranstaltungen.va-home .mod-dpcalendar-upcoming-panel__event:nth-child(3) {
  display: none;
}
}

@media (min-width: 769px) {
.veranstaltungen-uebersicht .dp-description:not(:last-child)::after {
  content: "|";
  margin: -3px 15px 0;
  font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif;
}
  
  .veranstaltungen-uebersicht .mod-dpcalendar-upcoming-panel__information {
  padding-bottom: 23px;
}
}

@media (max-width: 768px) {
  .mod-dpcalendar-upcoming-panel__event {
  flex: 1;
  }
  
.mod-dpcalendar-upcoming-panel__events {
  flex-direction: column;
}
  
  .mod-dpcalendar-upcoming-panel__information .dp-event-display-before-content {
  margin-top: 0;
  }
  
  .veranstaltungen h2,
.veranstaltungen p:not(.va-text) {
padding-right: 40px;
}
  
.veranstaltungen-img .ba-image-wrapper {
  padding: 12px;
}
  
  .mod-dpcalendar-upcoming-panel__information {
  padding: 10px 15px 13px;
}
  
  .veranstaltungen-uebersicht .dp-fields {
  flex-direction: column;
}
  
  .mod-dpcalendar-upcoming-panel__information:has(.dp-fields:empty) .mod-dpcalendar-upcoming-panel__location {
margin-bottom: 0;
}
}

/*----------- Google-Bewertungen -----------*/
.google-bewertung .testimonials-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 4fr;
}

.google-bewertung .testimonials-info {
  grid-column: 1 / -1;
  margin-bottom: 25px;
}

.google-bewertung .ba-icons.ba-icon-quote::before {
  content: '\0041';
  font-family: google !important;
}

.google-bewertung .testimonials-icon-wrapper i {
height: 100% !important;
  line-height: 20px;
}

.google-bewertung .testimonials-icon-wrapper {
justify-content: start;
}

.google-bewertung .ba-testimonials-testimonial {
  text-align: left;
}

.google-bewertung .testimonials-name-wrapper,
.google-bewertung .testimonials-caption-wrapper {
text-align: left;
  display: flex;
}

.google-bewertung .ba-testimonials-img {
justify-content: start;
  align-items: center;
}

.google-bewertung .testimonials-title-wrapper {
margin: 0 0 0 5px;
  gap: 3px;
}

.google-bewertung .ba-testimonials-testimonial {
word-break: break-word;
  hyphens: auto;
}

@media (min-width: 1025px) {
.google-bewertung .ba-slideset-dots {
  display: none !important;
  }
}

@media (max-width: 1440px) and (min-width: 769px) {
.google-bewertung .testimonials-title-wrapper {
  margin: 0 0 0 15px;
}
}

@media (max-width: 1280px) {
.google-bewertung .testimonials-img {
width: 55px !important;
  height: 55px !important;
}
}

@media (max-width: 1024px) {
.google-bewertung .testimonials-wrapper {
  grid-template-columns: 1fr 5fr;
}
}

@media (max-width: 768px) {
.google-bewertung .testimonials-wrapper {
  grid-template-columns: 1fr 9fr;
}
}

/*----------- Lightwidget -----------*/
.lightwidget-hcb {
  overflow: visible !important;
  position: relative;
}

iframe.lightwidget-widget {
  display: block;
  width: calc(100% + 70px) !important;
  margin-left: -35px !important;
}

.instagram-header .ba-item-image {
width: fit-content !important;
}

.instagram-header .ba-item-text,
.instagram-header .ba-item-text .content-text {
width: max-content !important;
}

@media (min-width: 769px) {
.instagram-header {
flex-direction: row !important;
}
}

@media (max-width: 1280px) {
iframe.lightwidget-widget {
  width: calc(100% + 50px) !important;
  margin-left: -25px !important;
}
}

/*@media (max-width: 768px) {
.instagram-header {
flex-direction: column !important;
}
}*/

/*----------- Seitenbuttons -----------*/
.kontakt-icons i {
margin-top: 0 !important;
  transform: translateY(-20%) !important;
}

.kontakt-icons a span {
text-decoration: underline;
text-underline-offset: 4px;
}

.kontakt-icons a span:hover,
.kontakt-icons a {
color: var(--primary) !important;
}

.sb-kontakt .ba-hotspot-popover[data-position="left"] {
top: 115%;
}

.sb-kontakt .ba-hotspot-popover.ba-visible-hotspot-popover::after {
  top: 38.5%;
}

.sb-mitglied {
  left: auto !important;
  top: 315px !important;
  right: 25px !important;
}

.sb-kontakt {
  left: auto !important;
  top: 250px !important;
  right: 25px !important;
}

@media (max-width: 1280px) {
.sb-popup-1 .ba-hotspot-popover {
  left: calc(100% - 200px) !important;
  top: calc(100% + 119px) !important;
}
  
  .sb-popup-2 .ba-hotspot-popover {
  left: calc(100% - 200px) !important;
  top: calc(100% + 44px) !important;
}
}

@media (max-width: 768px) {
.scroll-btn-right {
  right: 10px;
}
  
  .sb-mitglied,
  .sb-kontakt {
  right: 10px !important;
}
}

/*----------- Leitungen -----------*/
.leitungen .ba-feature-box-wrapper {
justify-content: center;
}

.bg-position-3 .ba-feature-image {
background-position: 50% 0% !important;
}

/* Wenn nur eine Box vorhanden ist */
.leitungen .ba-feature-box-wrapper .ba-feature-box:only-child {
  margin: 0 !important;
}

/* Wenn mehrere vorhanden sind → letzte ohne Margin */
.leitungen .ba-feature-box-wrapper .ba-feature-box:last-child {
  margin-right: 0 !important;
}

.leitungen .ba-feature-description-wrapper {
  hyphens: auto;
}

@media (max-width: 768px) and (min-width: 580px) {
.leitungen .ba-feature-image {
height: 300px !important;
}
}

@media (max-width: 579px) and (min-width: 421px) {
.leitungen .ba-feature-box {
width: 52% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}
  
  .leitungen .ba-feature-box-wrapper {
  flex-direction: column;
    align-content: center;
  }
  
  .leitungen .ba-feature-box:first-child {
	margin-bottom: 25px;
}
}


/*----------- Gesundheitslinks -----------*/
.gesundheitslinks {
z-index: 2;
}

/* ===== HCB Select-Accordion (Overlay Dropdown korrekt unter Header) ===== */

.hcb-select-accordion{
  width: 100%;
}

/* NEU: Wrapper nur für Head + Panel = Positionierungs-Kontext */
.hcb-select-acc__dd{
  position: relative;
  width: 100%;
}

/* Trigger-Zeile (Accordion-Look) */
.hcb-select-acc__head{
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
  border: 0 !important;

  padding: 20px;
  background: var(--bg-primary);
  cursor: pointer;
  text-align: left;
}

.hcb-select-acc__title{ 
  font-family: 'Geist LOC', Arial, Helvetica, sans-serif !important;
  font-weight: 700; 
  font-size: 18px;
  color: var(--text);
}

.hcb-select-acc__value{ 
  font-family: 'Geist LOC', Arial, Helvetica, sans-serif !important;
  font-weight: 400; 
  font-size: 18px;
  color: var(--secondary); 
}

/* Chevron */
.hcb-select-acc__icon{
  font-size: 20px;
  font-weight: 700;
  color: var(--text);
  transition: transform .2s ease;
}

.hcb-select-acc__head .hcb-select-acc__icon{
  display: inline-block !important;
}

.hcb-select-acc__head[aria-expanded="true"] .hcb-select-acc__icon{
  transform: rotate(90deg);
}

/* ===== Dropdown Overlay: jetzt relativ zu .hcb-select-acc__dd ===== */
.hcb-select-acc__panel{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  z-index: 9999;

  background: var(--bg-secondary);
  overflow: auto;

  max-height: min(320px, 50vh);
  box-shadow: 0 5px 15px rgba(0,0,0,.2);

  /* Animation + geschlossen */
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}

/* geöffnet */
.hcb-select-accordion.is-open .hcb-select-acc__panel{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Liste/Optionen */
.hcb-select-acc__list{ 
  display: grid; 
}

.hcb-select-acc__option{
  padding: 12px 20px;
  background: transparent;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-family: 'Geist LOC', Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  color: var(--text);
}

.hcb-select-acc__option:hover{ 
  background: var(--bg-dark);
  color: var(--text-inverse);
}

/* aktive Option */
.hcb-select-acc__option.is-active{
  background: var(--bg-dark);
  color: var(--text-inverse);
}

/* Inhalte unterhalb */
.hcb-select-acc__content{ 
  margin: 25px 0 50px; 
  padding: 0 20px;
}

.hcb-cat-content h3 {
text-align: left;
  padding-bottom: 15px;
}

.hcb-cat-content-links {
  display: flex;
  flex-direction: column;
  font-size: 18px;
  line-height: 21px;
}

.hcb-cat-content-links a:not(:last-child) {
  padding-bottom: 15px;
}

.hcb-cat-content-links a {
  text-decoration: underline;
  color: var(--secondary);
}

.hcb-cat-content-links a:hover {
  color: var(--text);
}

.notfallnummern {
  display: flex;
  align-items: center;
}

.notfallnummern p {
  width: 40%;
}

.notfallnummern a {
  text-align: right;
}

.gesundheitsinfos .ba-item-button {
  margin-top: auto !important;
}

@media (max-width: 1440px) {
.styleh4 {
  font-size: 20px;
  }
}

@media (max-width: 1280px) {
  .hcb-select-acc__title,
  .hcb-select-acc__value,
  .hcb-cat-content-links {
  font-size: 16px;
    line-height: 21px;
  }
  
  .hcb-select-acc__content{  
  margin-bottom: 25px;
}
}

@media (max-width: 768px) {
.hcb-select-acc__title {
  grid-column: 1 / -1;
}
  
.gesundheitslinks .styleh4,
.gesundheitslinks h4 {
  font-size: 18px;
    line-height: 22px;
  padding-bottom: 10px;
  }
}

/*----------- Presse/News ------------*/
.pdf-titel {
margin-top: auto !important;
}

/*----------- Historie ------------*/
.historie {
background-image: linear-gradient(to bottom, var(--bg-dark), var(--bg-dark)) !important;
  background-size: 3px 100% !important;
  background-repeat: no-repeat;
  background-position: center;
}

/*----------- Kontakt ------------*/
.kontakt-icon-list li {
margin-top: 0 !important;
}

.com-baforms-wrapper :focus-visible {
outline: none !important;
}

.kontaktformular .ba-input-label-wrapper {
font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

.kontaktformular .ba-form-acceptance-field label.ba-form-checkbox > span {
  background-color: var(--bg-primary) !important;
  border-radius: 0 !important;
  border: 3px solid var(--bg-dark) !important;
}

.kontaktformular .ba-form-acceptance-field label.ba-form-checkbox > span:hover {
  background-color: var(--bg-dark) !important;
  border-radius: 0 !important;
  border: 3px solid var(--bg-dark) !important;
}

.kontaktformular .ba-form-acceptance-field label.ba-form-checkbox input[type="checkbox"]:checked + span::before {
background-color: var(--bg-dark) !important;
}

.kontaktformular .ba-form-acceptance-html {
margin-top: -5px;
}

.kontaktformular .ba-form-submit-field {
margin: 0;
}

.kontaktformular .ba-form-submit-wrapper {
  width: fit-content;
}

.kontaktformular .ba-form-submit-btn {
border-radius: 0 !important;
  padding: 15px 40px;
  border: 3px solid var(--bg-dark);
}

.kontaktformular .ba-form-submit-btn:hover {
  border: 3px solid var(--bg-dark);
  color: var(--bg-dark);
}

.kontaktformular .ba-form-submit-wrapper a {
font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 1.5px;
}

/*----------- Bildgalerie ------------*/
.ba-scrollable .ba-left-action.zmdi.zmdi-chevron-left {
  background-color: var(--primary) !important;
  border-radius: 0;
  font-size: 30px;
  color: var(--text) !important;
  padding: 8px 9px 8px 7px;
}

.ba-scrollable .ba-right-action.zmdi.zmdi-chevron-right {
  background-color: var(--primary) !important;
  border-radius: 0;
  font-size: 30px;
  color: var(--text) !important;
  padding: 8px 7px 8px 9px;
}

.ba-scrollable .ba-left-action.zmdi.zmdi-chevron-left:hover,
.ba-scrollable .ba-right-action.zmdi.zmdi-chevron-right:hover{
background-color: var(--bg-dark) !important;
  color: var(--text-inverse) !important;
  opacity: 1;
}

.bildgalerie h3 {
  text-transform: none;
  letter-spacing: 0;
  hyphens: auto;
}

.bildgalerie .ba-caption-content:has(.short-description) h3 {
  margin-bottom: 0 !important;
}

.bildgalerie .short-description {
margin-top: 10px !important;
}

.bildgalerie-acc .ba-icons.ba-icon-chevron-right.accordion-icon {
  font-weight: 700;
}

.bildgalerie-acc .accordion-group:not(:last-child) {
  margin-bottom: 10px !important;
}

.gallery-modal .ba-modal-header .modal-title {
white-space: wrap;
}

.gallery-modal .modal-description p {
  font-size: 14px;
  line-height: 20px;
}

.gallery-modal .modal-description {
  padding: 15px !important;
}

@media (max-width: 1280px) {
  .ba-gallery-row-wrapper .row-fluid {
    margin-bottom: 0 !important;
  }
}

@media (max-width: 768px) {
  .ba-gallery {
    padding: 0 !important;
  }
}

/*----------- Blog ------------*/
.gesundheitsthemen .ba-blog-post-content {
display: flex;
  flex-direction: column;
}

.gesundheitsthemen .ba-blog-post-button-wrapper {
  margin-top: auto;
}

.gesundheitsthemen .ba-blog-post-intro-wrapper {
word-break: break-word;
  hyphens: auto;
}

/*------------ Gesundheitstermine -------------*/
.gesundheitstermine:has(.keine-termine) {
padding: 25px;
  background-color: var(--bg-primary);
}
.gesundheitstermine .keine-termine {
font-family: 'Nunito Sans Italic LOC', Arial, Helvetica, sans-serif !important;
  padding-right: 0 !important;
}

/*------------- Broschüren -------------*/
@media (min-width: 769px) {
  .ba-row-wrapper:has(.broschuere-buttons) {
width: 100%;
}

.broschuere-buttons .ba-grid-column {
gap: 25px;
  justify-content: left !important;
}

.broschuere-buttons .ba-grid-column::before,
.broschuere-buttons .ba-grid-column::after {
display: none !important;
}

.broschuere-buttons .ba-item-button {
  width: fit-content !important;
}
}

@media (max-width: 1640px) {
.broschuere-buttons .ba-grid-column {
flex-direction: column !important;
}
}

@media (max-width: 768px) {
.broschuere-buttons .ba-item-button {
  width: 100% !important;
}
}

/*------------- Fomulare -------------*/
.formular-seite .main-body {
  padding-top: 75px;
}

.formular-seite .form p {
  margin: 0;
}

.formular-seite .nui.header {
  color: var(--title);
}

.nui.select.selection {
  height: 40px;
  border-radius: 0;
}

.nui.select:focus, 
.nui.select:hover, 
.nui.select.active, 
.nui.select > .menu,
.formular-seite .nui.form .field input[type]:focus-visible,
.formular-seite .nui.form .field textarea:focus-visible {
  border-color: var(--accent) !important;
}

.nui.form input[type="text"] {
border-radius: 0 !important;
}

.nui.form .button[type="submit"] {
  font-size: 20px;
  letter-spacing: 1.5px;
  line-height: 50px;
  text-transform: uppercase;
  font-family: 'Nunito Sans LOC', Arial, Helvetica, sans-serif !important;
  padding: 0 30px;
  color: var(--text-inverse) !important;
  border-radius: 0;
  background-color: var(--accent);
  border: 3px solid var(--accent) !important;
}

.nui.form .button[type="submit"]:hover {
  background-color: transparent;
  color: var(--text) !important;
  opacity: 1;
}

.formular-seite .form-hr {
  margin-bottom: 25px !important;
}

.item-pageformular-seite .pagenavigation {
  display: none !important;
}

.formular-seite .jahresbeitrag {
  border: 3px solid var(--accent);
  padding: 30px 30px 20px 30px;
}

.formular-seite .jahresbeitrag .nui.checkbox {
  padding: 0;
}

#beitrag_id {
  margin-top: 5px;
  padding-left: 35px;
}

#beitrag_id table {
  margin-bottom: 25px;
}

#beitrag_id td {
  font-size: 14px;
}

@media (max-width: 1024px) {
  .formular-seite .main-body {
  padding-top: 50px;
}
  
  .formular-seite h1, .nui.form p:first-of-type {
  padding-right: 50px !important;
}
}

@media (max-width: 768px) {
  .formular-seite .body {
  margin-top: 0 !important;
}
}