*{
    box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
    color: inherit;
    text-decoration: inherit;

}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body,h1,h2,h3,h4,p,li,td,a{
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif;
font-size: 14px; 
font-weight: 400;
}
ol, ul {
	list-style: none; 
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

p,li,td{
  color: var(--clr-font-grey);
}
h1 {
font-size: 36px;
color: var(--clr-font-darkblue);
}
h2 {
font-size: 24px;
color: var(--clr-font-darkblue);
}
.align-center{
    text-align: center;
} 
.margin-block-auto{
    margin-block: auto;
}
.headline-blue-small{
    font-size: 18px;
    color: var(--clr-font-darkblue); 

} 
#anfahrt h3 {
    padding-top: 25px;
    padding-bottom: 10px;
    padding-left: 0px;
}
#anfahrt h2{
    padding-bottom: 10px;
}
.text-lightblue{
    color: var(--clr-font-lightblue);
} 
.bold{
    font-weight: 600;
}
.text-darkblue{
    color:var(--clr-font-darkblue);}
:root{
    /*Farben*/
    --clr-black: #000000;
    --clr-white: #ffffff;
    --clr-font-grey:#666;  
    --clr-font-darkblue: #4879BC ;
    --clr-font-lightblue:#88b2df;
    --clr-box-red: #ff0022; 
    --clr-bg-header-white: rgba(255,255,255,0.9); 


}
@font-face {
        font-family: "mavenpro";
        src: url(/wp-content/bandf-files/fonts/Maven_Pro/MavenPro-VariableFont_wght.ttf); 
        font-weight: 100 900;
        font-style: normal;
    }
.fixed-size {
max-width: 1200px;
margin-inline: auto!important;
} 
.impressum-datenschutz li {
display: inline;
padding-left: 10px; 
text-transform: uppercase;
    font-size: 12px;

} 
.impressum-datenschutz {
    margin-top: 10px!important; 
    font-size: 10px;
}
.logo-header img {
    width: 300px!important;
    height: auto; 
    padding-top: 10px;
} 
.column-start{
    margin-top: 80px;
        gap: 100px;
}
.header-start img {
    width: 100vw; 
    height: auto!important;
    max-height: 1150px;
    margin-top: 30px;  
    border-bottom: 2px solid var(--clr-font-darkblue);
}  
.header {
    position: relative;
}
.column-basic {
     margin-top: 40px;
    gap: 40px;
}
.column-basic img {
    width: 400px ;
    height: auto;
}
.box-background {
    background-color: var(--clr-bg-header-white); 
    position: absolute;
    bottom: 0px;
    right: 25%; 
    padding: 20px; 
    border-bottom: 0.5px solid var(--clr-font-darkblue)
}
.box-background a {
    color: var(--clr-font-darkblue);
}
.box-background p{
        color: var(--clr-font-lightblue);
} 
.second-text{
    margin-top: 10px!important;
} 
.box-red{
    border: 5px solid var(--clr-box-red); 
    padding: 20px; 
    margin-bottom: -10px;
} 
nav{
    margin-bottom: 30px!important; 
}
nav li{
    color: var(--clr-font-darkblue);
}
nav li:hover {
    color: var(--clr-font-lightblue);
} 

.nav .current-menu-item > a,
.nav .current_page_item > a,
.nav .current-menu-ancestor > a {
  color: var(--clr-font-lightblue)!important; 
}
.nav .current-menu-item > a::after,
.nav .current_page_item > a::after,
.nav .current-menu-ancestor > a::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;               
  width: 40px;             
  height: 2px;
  background-color: var(--clr-font-darkblue)!important;  
  border-radius: 999px;    
}






.foto-row .wp-block-column {
    margin-block: auto!important; 
} 
.wp-block-columns.foto-row.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex{
    gap: 5px!important;

}
/* Banner-Header*/
.banner{
    width: 100vw;
    max-height: 250px!important; 
    margin-bottom: 40px; 
    position: relative;

} 
.banner-background {
   height: 250px!important; 
       z-index: 2;
} 
.banner-img img{
    width: 100%!important;
    height: auto;  
    z-index: 50;
    object-fit: cover;
} 

.banner-text {
    text-align: center;
    font-size: 28px;
    line-height: 30px;
    color: var(--clr-font-lightblue); 
    background-color: var(--clr-bg-header-white);   
    text-align: center; 
    border-bottom: 2px solid var(--clr-font-lightblue);  
    font-family: "mavenpro";

} 
.banner-box{
z-index: 100; 
    position: absolute; 
    left: 0px;
    bottom: 0px; 
    overflow-x: hidden; 
    margin-inline: auto!important;
        width: 100%;
}
/*-----------------------*/
.img-certificate {
    width: 450px;
    height: auto;
}
/* Tabelle */
/* Grundstil der Tabelle */
.sprechzeiten {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--clr-font-darkblue);      /* äußerer blauer Rahmen */
  font-family: system-ui, sans-serif;
  font-size: 16px;
}

/* Zellen */
.sprechzeiten th,
.sprechzeiten td {
  padding: 12px 12px;
  color: #666666;
}

/* Erste Spalte linksbündig, Rest zentriert */
.sprechzeiten th:first-child,
.sprechzeiten td:first-child {
  text-align: left;
}

/* Alternierende Zeilen (hellblau) */
.sprechzeiten tr:nth-child(odd) th,
.sprechzeiten tr:nth-child(odd) td {
  background-color: #f2f6fb;
}

/* Kopfzeile weiß lassen */
.sprechzeiten tr:first-child th {
  background-color: #ffffff;
}

.sprechzeiten th + th,
.sprechzeiten td + td {
  border-left: 2px dotted var(--clr-font-lightblue);
}
.img-full img{
    width: 100%!important;
    height: auto;
} 
/*.popup-time {
    padding: 20px;
    border: 1px solid var(--clr-font-darkblue);
} */
.leistungen img {
    width: 250px!important;
    height: auto;
} 
 hr {
    width: 100%!important; 
    color: var(--clr-font-lightblue);
}
.leistungen ul {
    list-style:inherit; 
    margin-left: 25px;
} 
.leistungen li::marker {
    color: var(--clr-font-darkblue);
}
.mitgliedschaften li {
    color: var(--clr-font-darkblue);
} 
.check-list{
    list-style-image:url(img/ok.png); 
    margin-left: 25px;
}
.bold-18px{
    color: var(--clr-font-darkblue);
    font-weight: 600;
    font-size: 18px;
} 
.list-points {
    list-style-type: disc; 
    margin-left: 40px;
}
.fixed-size-nav {
    max-width: 100px;
}
.align-center h2 {
    font-size: 18px!important;
}
.anfahrt-map{
    width: 100%;
    height: 500px;
}










.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container{
    z-index: 100!important;
    padding: 10px;
    box-shadow: 5px 5px 8px 2px rgba(0, 0, 0, .2);
}
.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container li {
    padding: 5px;
    width: 220px;
}
 nav button{
    display:none;
 }
.fixed-size a {
    color: var(--clr-font-darkblue);
}



footer{
margin-top: 50px;
background-color: var(--clr-font-grey);
padding: 30px; 
justify-content: center; 
align-items: center;
gap: 200px!important;
}
.footer li  {
    color: var(--clr-white);
}
.footer a {
    color: var(--clr-white);
} 
.footer-data p {
    color: var(--clr-white)!important;
}
.footer-data {
    display: flex;
    justify-content: center;
}
.footer-impressum {
    display: flex;
    color: var(--clr-white);
    justify-content: center; 
        gap: 20px;

} 
.footer-impressum li {
    color: var(--clr-white);
    padding-left: 10px; 
    margin-top: 30px;
} 

.wp-block-navigation__container:only-child {
    flex-grow: unset!important;
}
   #k5d5f .reception-box{
    max-width: 20%!important;
    max-height: 57%!important;

   } 
.cookie-button{
	background-color:var(--clr-font-darkblue);
	 border:0px solid black;
	padding:10px;
} 
.cookie-button a {
color:var(--clr-white)!important;
}
#anfahrt p {
    margin-top: 0px;
}
#anfahrt h3 {
    margin-top: 0px;
} 
.wp-block-navigation__submenu-container .wp-block-navigation-submenu a:after{
display:none;
}





/* Responsive.css*/
nav button.wp-block-navigation__responsive-container-open {
  display: none;                    /* überschreibt alte Regeln */
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border-radius: 999px;             /* runder Button */
  border: none;
  background-color: var(--clr-font-darkblue);
  cursor: pointer;
}

/* Icon im Button */
nav button.wp-block-navigation__responsive-container-open svg {
  width: 22px;
  height: 22px;
  fill: var(--clr-white);
}

/* Hover-Effekt */
nav button.wp-block-navigation__responsive-container-open:hover {
  background-color: var(--clr-font-lightblue);
}
@media(max-width:2000px){
    #k5d5f .reception-box{
    max-width:28%!important;
}
}
@media(max-width:1271px){ 
    #k5d5f .reception-box {
        max-width: 35%!important;
    }
}


@media (max-width:1200px){
    .banner-img img {
        height: 250px!important;
}
  .fixed-size {
    max-width: 90%;
  }
    }    



/* =========================================
   <= 992px   (Tablet quer)
   ========================================= */
@media (max-width: 992px) {
       .banner-img img {
        height: 250px!important;
        width: 786px!important;
}
}
/*@media (max-width:784px){
  .wp-block-navigation__responsive-container-open {
    display: flex !important;  
  }

  .wp-block-navigation__container {
    display: none !important;  
  }
} */


@media (max-width: 782px) {
    .impressum-datenschutz {
        display: none;
    }
    .nav .current-menu-item > a::after,
.nav .current_page_item > a::after,
.nav .current-menu-ancestor > a::after {      
  width: 0px;             
  height: 0px;
}
.nav{
    gap: 5px;
} 
	.wp-block-navigation__responsive-container-close{
	display:block; 
	margin:20px!important;
	}
  header .wp-block-navigation {
    position: relative; 
    margin-left: 30px!important;
  }
    header nav button.wp-block-navigation__responsive-container-open {
        display: flex;
        position: absolute;
        left: -10px;
        top: -145px;
        transform: translateY(-50%);
        z-index: 200;
  } 
.wp-block-columns.foto-row.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    gap: 5px !important;
    width: 90px;
    height: auto;
    margin-inline: auto;
}
.column-start {
    margin-top: 20px; 
    gap: 20px; 
}
.footer-data{
    justify-content: flex-start;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
    display: none !important;
}
.banner-img  {
    max-width: 100%!important;
}
.wp-block-cover{
    padding: 0px!important;
}

.wp-block-navigation__submenu-container a{
    padding-bottom: 10px;
        border-left: 2px solid var(--clr-font-lightblue); 
        padding-left: 10px;
}
.wp-block-navigation__submenu-container .wp-block-navigation-submenu ul{
    border-left: 1px solid var(--clr-font-lightblue);
    padding-top: 0px!important;
}
  /* Grundstil für alle Links im mobilen Overlay */
  .wp-block-navigation__responsive-container
  .wp-block-navigation-item__content {
    display: block;
    padding: 12px 18px;
    font-size: 14px!important;
    color: #444;
    text-decoration: none;
  }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    gap:5px!important;
}
  /* Container vom Untermenü: keine extra Hintergründe/Abstände */
  .wp-block-navigation__responsive-container
  .wp-block-navigation__submenu-container {
    padding: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
    border-left: 1px solid var(--clr-font-lightblue);
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
    padding-top: 0px; 
    margin-left: -12px;
}

  /* Links im Untermenü: gleicher Stil wie oben,
     nur links etwas mehr Einzug */
  .wp-block-navigation__responsive-container
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    font-size: 16px;      /* gleiche Schriftgröße wie Hauptmenü */
  }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
    padding: 10px;
}
[aria-expanded="false"] + ul {
    display: block !important;} 
    .wp-block-navigation-item__content button {
        display: none;
    } 

    /*BILDER HEADER*/

.banner-background {

    background: none;
}
.banner-img img {
    width: 600px;
    height: auto; 
} 
}
@media(max-width: 800px){
    #k5d5f .reception-box{
        max-width: 45%!important;
    }
}

@media (max-width: 768px) {
    #k5d5f .reception-box {
        max-width: 100%!important;
            max-height: 66% !important;
    }
}
@media (max-width: 600px) {
  .header-start img{
    margin-top: -50px;
  } 
#k5d5f .reception-button {
padding: 10px 20px!important;
}
}






    