/* CSS RESET */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
   Modified by Johann Regenit
*/
* {
	box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}
a {
color: inherit;
}
figure {
    overflow: hidden;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
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;
}

a, button {
	cursor: pointer;
}

form :is(*, legend, label.gform-field-label) {
    font-family: "Quicksand" !important;
}

.gform_heading .gform_required_legend {
    font-size: 14px !important;
    line-height: 1.43 !important;
}

/* //CSS RESET */

:root {
    --clr-neutral-300: #0087CF;
    --clr-accent-400: #00A5E2;

    --clr-txt: #2C3539;

    --fixed-size: 1125px;
    --section-padding: 75px;

    color: var(--clr-txt);
        
    --white: #fff;
    --black: #000;
    --oceanblue:#0087CF;
    --lightblue:#00A5E2;
    --Anthrazit: #2C3539;

}

/* ----------- TYPOGRAPHY ----------- */

@font-face {
    font-family: 'Quicksand';
    src: url('/wp-content/bandf-files/font/Quicksand-VariableFont_wght.ttf') ;
    font-style: normal;
    font-weight: 100 900;
}

p, h1, h2, h3, h4, h5, h6, table {
    font-family: "Quicksand", sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.4px;
}

a {
    text-decoration: none;
}

p > a {
    text-decoration: underline;
}

.h1 {
font-family: "Quicksand", sans-serif;
  font-size: 43px;
  font-style: normal;
  font-weight: 450;
  line-height: 1.3; 
  color: var(--clr-neutral-300);
}

.h2,
.gform_title {
  font-family: "Quicksand", sans-serif;
  font-size: 23px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.54px;
     color: var(--clr-neutral-300);

}
.h3{
font-family: "Quicksand", sans-serif;
font-size: 22px;
font-style: normal;
font-weight: 500;
line-height: 33px; 
}
.h4,
.wp-block-navigation-item__label,
.header__social a {
    font-family: Quicksand;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
}

[class*="--uppercase"] {
    text-transform: uppercase;
}
.text-clr__white{
    color:var(--white);
}
.wp-block-button a,
input.button[type="submit"] {
    font-family: "Quicksand", sans-serif;
    font-size: 18px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
}

/* //TYPOGRAPHY */



/* UTILITY */

main {
    margin-top: 0;
}

section {
    margin-top: var(--section-padding) !important;
}

.fixed-size {
    width: var(--fixed-size);
    max-width: 90%;
    margin-inline: auto;
}

.banner {
    padding-block: 75px;
}

.banner__inner {
    width: var(--fixed-size);
    max-width: 90%;
    margin-inline: auto;
}

.has-background[style="background-color:#353839"] * {
    color: white;
}

.wp-block-buttons {
    margin-top: 50px
}

.wp-block-button a,
input.button[type="submit"] {
    background-color: var(--white) !important;
    color: var(--clr-accent-400) !important;
    
    padding: 15px 25px !important;
    border-radius: 5px !important;
}

.columns {
    column-count: 2;
    column-gap: 50px;
}

/* //UTILITY */



/* SECTIONS */

/* Header */
header {
    padding: 25px;
}

header .wp-block-columns {
    gap: 50px;
}

header .wp-block-column {
    display: grid;
    align-content: center;
    flex-basis: unset !important;
}

.header__nav {
    flex-grow: 1 !important;
    justify-content: center;
}

.header__logo,
.header__social {
    flex-shrink: 1 !important;
    flex-grow: 0 !important;
    width: fit-content !important;
}

.header__social {
    justify-content: flex-end;
}

.header__list-social {
    display: flex;
    width: fit-content;
    padding: 0;
}

/*.social__phone a::before {
    content: "\f095";
    display: inline-block;
    color: var(--clr-accent-400);

    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
    
    transform: scale(-1, 1);
}*/ 
.social__phone a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.social__phone-icon {
    color: var(--clr-accent-400);
    margin-right: 10px;
    transform: scale(-1, 1);
    flex-shrink: 0;
}
li.social__phone{
list-style: none;}

/* Header Image*/

.header-image {
    min-height: 650px;
    justify-content: flex-start;
}

.wp-block-cover__inner-container {
    max-width: var(--_max-width);
    margin-left: max(calc(((100vw / 2) - var(--_max-width)) / 2), 25px);
}

.underheader {
    margin-top: 0;
}


/* Form */
form .gform_fields {
    grid-row-gap: 25px !important;
}

/* Öffnungszeiten */
tr:not(:first-child) td {
  padding-top: 20px;
}

td:nth-child(2n+1) {
  font-weight: 500;
}


/* Gallery */



/* Footer */
footer {
    --_padding: 75px;
    --_pre-footer-width: min(650px, 90vw);
    --_pre-footer-height: calc(var(--_pre-footer-width) / 3.5714);
    --_pre-footer-hide: 0.63;

    background-color: var(--clr-neutral-300);
}
footer {
  font-family: "Quicksand", sans-serif !important;
}

footer .wp-block-cover {
  padding: 56px 0 48px !important;
}

footer .wp-block-cover__inner-container {
  max-width: 1060px !important;
  margin: 0 auto !important;
}

footer .wp-block-columns {
  gap: 72px !important;
  align-items: flex-start !important;
}

footer h1,
footer h2,
footer h3,
footer .wp-block-heading {
  margin: 0 0 20px !important;
  color: #fff !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

footer p {
  margin: 0 0 6px !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

footer ul.wp-block-list {
  display: inline-flex !important;
  gap: 18px !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

footer ul.wp-block-list + ul.wp-block-list {
  margin-left: 88px !important;
}

footer ul.wp-block-list li {
  margin: 0 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

footer ul.wp-block-list a {
  color: #fff !important;
  text-decoration: none !important;
}

@media (max-width: 768px) {
  footer .wp-block-columns {
    gap: 32px !important;
  }

  footer ul.wp-block-list {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  footer ul.wp-block-list + ul.wp-block-list {
    margin-left: 0 !important;
  }
}

.footer__oeffnungszeiten .wp-block-table {
    margin: 0 !important;
    width: 100% !important;
    overflow: visible !important;
    margin-top: 24px !important;
}

.footer__oeffnungszeiten table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed;
}

.footer__oeffnungszeiten tbody,
.footer__oeffnungszeiten tr,
.footer__oeffnungszeiten td {
    border: 0 !important;
}

.footer__oeffnungszeiten td:nth-child(2n+1) {
  font-weight: 500 !important;
}

.footer__oeffnungszeiten td {
    padding: 2px 0 !important;
    line-height: 1.15 !important;
    vertical-align: top;
}

.footer__oeffnungszeiten td:first-child {
    white-space: nowrap;
}

.footer__oeffnungszeiten td:last-child {
    white-space: nowrap;
}

/* //SECTIONS */

/*ÜBER UNS*/
.top-zero {
    margin-top: 0px!important;
}
.timeline-table table{
  width:100%;
  border-collapse:collapse;
  font-family:"Quicksand", sans-serif;
}

.timeline-table td,
.timeline-table th{
  border:0 !important;
  padding:8px 0;
  color:#fff;
  font-size:16px;
  line-height:1.25;
  font-weight:400;
  vertical-align:top;
  background:transparent !important;
}

.timeline-table td:first-child,
.timeline-table th:first-child{
  width:140px;
  white-space:nowrap;
  padding-right:28px;
}
/*//ÜBERUNS*/

/*LEISTUNGEN*/
.wp-block-getwid-accordion a{
  font-family:"Quicksand", sans-serif !important;
}

.wp-block-getwid-accordion .wp-block-getwid-accordion__content,
.wp-block-getwid-accordion .ui-accordion-content{
  padding:24px 24px 8px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


.wp-block-getwid-accordion .wp-block-getwid-accordion__header,
.wp-block-getwid-accordion .ui-accordion-header{
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:10px !important;
  margin:0 !important;
  padding:18px 22px !important;
  min-height:0 !important;
}
.wp-block-getwid-accordion__header-wrapper{
  background:var(--clr-neutral-300) !important;
  padding:12px 18px !important;
	border:0 !important;
  box-shadow:none !important;
}

.wp-block-getwid-accordion__header-wrapper[aria-expanded="true"]{
  background:var(--clr-accent-400) !important;
}

.wp-block-getwid-accordion__header-wrapper .wp-block-getwid-accordion__header{
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  color:inherit !important;
  font-family:"Quicksand", sans-serif !important;
}

.wp-block-getwid-accordion__header-wrapper[aria-expanded="false"] .wp-block-getwid-accordion__header{
  color:#fff !important;
}


/*//ÜBERUNS*/

/*KONTAKT*/
.icon-heading{
  position:relative;
  padding-left: 0px;
}

.icon-heading::before{
  content:"";
  position:absolute;
  left:-30px;
  top:50%;
  transform:translateY(-50%);
  width:25px;
  height:25px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:25px 25px;
}
.icon-heading--phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230087CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2A19.8 19.8 0 0 1 3 5.18 2 2 0 0 1 5 3h3a2 2 0 0 1 2 1.72c.12.86.33 1.7.62 2.5a2 2 0 0 1-.45 2.11L9.1 10.4a16 16 0 0 0 4.5 4.5l1.07-1.07a2 2 0 0 1 2.11-.45c.8.29 1.64.5 2.5.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}

.icon-heading--clock::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230087CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.icon-heading--pin::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230087CF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-6-5.33-6-11a6 6 0 1 1 12 0c0 5.67-6 11-6 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
}
/*//ÜBERUNS*/

/* RESPONSIVE */
@media (max-width: 1090px) {
/*.wp-block-cover .wp-block-cover__inner-container {
  top: -250px;
	}*/
.header-image {
	min-height: 830px !important;	
	}
}
@media (max-width: 959px) {
    .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 859px) {
    .columns {
        column-count: 1;
    }
}

@media (max-width: 781px) {
  .header__social {
    justify-content: center;
  }

.wp-block-site-logo {
  margin-inline: auto;
}

.header-image {
  height: 100vh!important;
	min-height: auto!important;
}

.h1 {
  font-size: 30px;
}
  footer .wp-block-columns {
    gap: 18px;
  }

  footer p,
  footer td,
  footer a,
  footer li {
    font-size: 16px;
  }

  footer .h4{
    font-size: 26px;
	  margin-top:50px!important;
  }

  footer .footer_logo {
    margin-bottom: 10px;
  }

  footer .wp-block-navigation__container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
  }

  footer .wp-block-navigation-item__label {
    font-size: 14px;
  }
  p {
    font-size: 16px;
line-height: 1.8;
letter-spacing:0px;
  }
}
@media (max-width: 781px) and (min-width: 600px){
  .footer__logo svg {
    width: 65%;
	}
}
@media (max-width: 600px) and (min-width: 400px) {
  .footer__logo svg {
    width: 80%;
	  height:auto;
	}
}
@media(max-width:700px){
	.icon-heading
	.icon-heading::before{
		left:5px
	}
	.icon-heading{
	padding-left: 27px;
	}
	.icon-heading::before{
	margin-left:20px;
	}
}
@media (max-width: 399px) {
    .gallery {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
/*	.wp-block-cover .wp-block-cover__inner-container {
  top: -200px;
	}*/


}

/* //RESPONSIVE */





/* AUSBLENDEN */


/* Header Navigation */

.header__social {
    flex-grow: 1 !important;
}


/* Open Button Position */
.wp-block-navigation__responsive-container-open {
  position: absolute !important;
  top: -140px !important;
  right: -162px !important;
}

.header__social{
	margin-top:50px;
}
.icons-under-header{
  position: absolute;
  top: -75px;

}
#gform_submit_button_1 {
    background: var(--clr-neutral-300) !important;
  color: white !important;
}
/* Header / Mobile Menü Zahnpunkt */

:root {
  --zp-blue: #0087CF;
  --zp-dark: #2f363b;
  --zp-white: #ffffff;
}

/* Mobile Menü Overlay */
.wp-block-navigation__responsive-container.is-menu-open,
.elementor-nav-menu--dropdown,
.ast-mobile-popup-drawer-content,
.ct-panel-content,
.et_mobile_menu {
  background: rgba(255, 255, 255, 0.97) !important;
  padding: 70px 28px 32px !important;
}

/* Menülinks */
.wp-block-navigation__responsive-container.is-menu-open a,
.elementor-nav-menu--dropdown a,
.ast-mobile-popup-drawer-content a,
.ct-panel-content a,
.et_mobile_menu a {
  display: block;
  width: fit-content;
  padding: 15px 0 9px !important;
  color: var(--zp-dark) !important;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-family: "Quicksand", sans-serif !important;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  border-bottom: 1px solid rgba(0, 135, 207, 0.35) !important;
}

/* Hover / aktive Seite */
.wp-block-navigation__responsive-container.is-menu-open a:hover,
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > a,
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown .current-menu-item > a,
.ast-mobile-popup-drawer-content a:hover,
.ast-mobile-popup-drawer-content .current-menu-item > a,
.ct-panel-content a:hover,
.ct-panel-content .current-menu-item > a,
.et_mobile_menu a:hover,
.et_mobile_menu .current-menu-item > a {
  color: var(--zp-blue) !important;
  border-bottom-color: var(--zp-blue) !important;
}

/* X schließen */
.wp-block-navigation__responsive-container__close,
button[aria-label*="close"],
button[aria-label*="Close"],
button[aria-label*="schließen"],
button[aria-label*="Schließen"] {
  position: absolute !important;
  top: 22px !important;
  right: 24px !important;
  padding: 6px !important;
  color: var(--zp-blue) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  z-index: 9999;
}

.wp-block-navigation__responsive-container__close svg,
button[aria-label*="close"] svg,
button[aria-label*="Close"] svg,
button[aria-label*="schließen"] svg,
button[aria-label*="Schließen"] svg {
  width: 26px;
  height: 26px;
}

.wp-block-navigation__responsive-container__close svg *,
button[aria-label*="close"] svg *,
button[aria-label*="Close"] svg *,
button[aria-label*="schließen"] svg *,
button[aria-label*="Schließen"] svg * {
  stroke: var(--zp-blue) !important;
}

/* Hamburger Button */
.header__nav button[aria-expanded],
.header__nav button[aria-label*="menu"],
.header__nav button[aria-label*="Menu"],
.wp-block-navigation__responsive-container-open {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 5px !important;
  width: 36px;
  height: 36px;
  color: var(--zp-blue) !important;
}

/* Hamburger SVG */
.header__nav button svg,
.wp-block-navigation__responsive-container-open svg {
  width: 24px;
  height: 24px;
}

.header__nav button svg *,
.wp-block-navigation__responsive-container-open svg * {
  stroke: var(--zp-blue) !important;
}

/* Hamburger aus Linien / Spans */
.header__nav button span,
.header__nav button span::before,
.header__nav button span::after {
  background: var(--zp-blue) !important;
  height: 2px !important;
  border-radius: 2px;
}

.header__nav button span {
  width: 24px !important;
}

.header__nav button span::before {
  top: -7px !important;
}

.header__nav button span::after {
  top: 7px !important;
}

/* Mobile Abstand etwas ruhiger */
@media (max-width: 768px) {
  .wp-block-navigation__responsive-container.is-menu-open a {
    font-size: 22px;
    margin-bottom: 16px;
  }
}
      .wp-block-navigation a:hover {
  color: #00a5e2 !important;
}

.wp-block-navigation .current-menu-item a {
  color: #0087cf !important;
}
iframe{
  width:100%;
}