/**
*   CSS RESET
*/
*, *::before, *::after { 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, details, figcaption, figure,
footer, header, hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

figure { overflow: hidden; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block; }

/* Lists, quotes, tables (optional) */
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after,
q::before, q::after { content: ''; }
table { border-collapse: collapse; border-spacing: 0; }

/**
*   ROOT
*/
:root {
    --clr-accent-400: #C4B200;

    --clr-neutral-400: #333F4C;

    --clr-accent-main: var(--clr-accent-400);

    --fixed-size: 1150px;
    --fixed-size--small: calc(var(--fixed-size) * 0.7);

    --radius: 12px;
    --gap: 50px;

    --box-shadow: 0 0px 13.6px 0 rgba(0, 0, 0, 0.10);
    --box-shadow--top: 0 -4px 6.8px 0 rgba(0, 0, 0, 0.10);
    --box-shadow--bottom: 0 4px 6.8px 0 rgba(0, 0, 0, 0.10);

    font-family: 'Lexend', sans-serif;
    font-weight: 350;
    font-size: 16px;
    line-height: 1.5;
	color: var(--clr-neutral-400);
}

/**
*   TYPOGRAPHY
*/

@font-face {
  font-display: swap;
  font-family: 'Lexend';
  font-style: normal;
  font-weight: 100 900;
  src: url('/wp-content/bandf-files/fonts/Lexend/Lexend-VariableFont_wght.ttf') format('truetype');
}

.head1 {
    font-family: 'Lexend';
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
    text-transform: uppercase;
}

.head2 {
    font-family: 'Lexend';
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
}

.subhead1 {
    font-family: 'Lexend';
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
}

.subhead2 {
    font-family: 'Lexend';
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;

}

.caption,
.team__name {
    font-family: 'Lexend';
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
}

a {
    color: inherit;
}

.wp-block-navigation-item__label {
    font-family: Lexend;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal; 
}

/**
*   GENERAL STYLES
*/
main {
    margin-block-start: 0px;
}

section {
    margin-block: 100px !important;
    padding-block: 30px;
}

.is-layout-flex {
    gap: var(--gap);
}

.bg--dark,
[style="background-color:#333f4c"] {
    color: white;
}

.bg--grey {
	background-color: rgba(51, 63, 76, 0.1);
    color: var(--clr-neutral-400);
	padding: 40px 70px;
}

.bg--accent,
[style="background-color:#c4b200"],
.has-custom-accent-background-color {
    color: white;
}

.wp-block-button .wp-block-button__link {
    background-color: #fff;
    border-radius: var(--radius);
}

a.wp-block-button__link.wp-element-button {
    color: var(--clr-neutral-400);
}

.btn--dark .wp-block-button .wp-block-button__link {
    background-color: var(--clr-neutral-400);
}

.btn--white .wp-block-button .wp-block-button__link {
    box-shadow: var(--box-shadow);
}

.btn--gold .wp-block-button .wp-block-button__link {
    background-color: var(--clr-accent-main);
}

.btn--dark a.wp-block-button__link.wp-element-button,
.btn--gold a.wp-block-button__link.wp-element-button {
    color: #fff;
}

    :is(.bg--accent, [style="background-color:#c4b200"], .has-custom-accent-background-color) .wp-block-button .wp-block-button__link {
        color: var(--clr-accent-main);
        background-color: white;
    }

.button--has-arrow .wp-block-button__link::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-size: .75em;
    font-weight: 900;
    line-height: 1;
    margin-left: 8px;

    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
}


/**
*   UTILITY CLASSES
*/

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

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

.has-shadow--top {
    box-shadow: var(--box-shadow--top);
}

.has-shadow--bottom {
    box-shadow: var(--box-shadow--bottom);
}


/* logo background */


[class*="has-logo"]::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    aspect-ratio: 1 / 1;
    z-index: -1;
}

.has-logo::after {
    background-image: url("/wp-content/uploads/2025/10/logo-color-opaque.svg");

    height: calc(100% - 100px);
    width: auto;
    top: 50%;
    left: 0;  

    transform: translate(-60%, -50%);
    pointer-events: none;
}

:is(.bg--accent, [style*="background-color:#c4b200"], .has-custom-accent-background-color).has-logo::after {
    background-image: url("/wp-content/uploads/2025/10/logo-white.svg");
}

.has-logo-small::after {
    background-image: url("/wp-content/uploads/2025/10/logo-color.svg");
	filter: brightness(100);
    
    height: calc(100% - 40px);
    max-height: 250px;
    width: auto;
    top: 50%;
    right: 0;  

    transform: translate(50%, -50%);
    pointer-events: none;
	
	z-index: 3;
}

.has-logo-small--left::after {
    left: 0;
	right: unset;
	transform: translate(-50%, -50%);
}

.has-logo-small--green {
    overflow-x: hidden;
}

.has-logo-small--green::after {
    background-image: url("/wp-content/uploads/2025/10/logo-color.svg");
	filter: unset;
}

:is(.bg--accent, [style*="background-color:#c4b200"], .has-custom-accent-background-color).has-logo-small::after {
    background-image: url("/wp-content/uploads/2025/10/logo-white.svg");
}

/* icons - top-icons */

[class*="has-top-icon"]::before {
    display: block;
    margin-bottom: 10px;
}

.has-top-icon--checkmark::before {
    content: url("/wp-content/uploads/2025/10/checkmark.svg");
}

/* icons - left-icons */

[class*="has-left-icon"] {
  --_icon-size: 40px;
  --_icon-offset: 15px;
  margin-left: calc(var(--_icon-size) + var(--_icon-offset)) !important;
  position: relative;
}

[class*="has-left-icon-small"] {
  --_icon-size: 30px;
  --_icon-offset: 15px;
  margin-left: calc(var(--_icon-size) + var(--_icon-offset)) !important;
  position: relative;
}

[class*="has-left-icon"]::before, [class*="has-left-icon-small"]::before {
  content: "";
  position: absolute;
  display: block;
  
  right: calc(100% + var(--_icon-offset));
  width: var(--_icon-size);
  height: var(--_icon-size);
  background: no-repeat center / contain;
}

.has-left-icon--phone::before {
  background-image: url("/wp-content/uploads/2025/10/icon-phone.svg");
}

.has-left-icon--clock::before {
  background-image: url("/wp-content/uploads/2025/10/icon-clock.svg");
}

.has-left-icon--pin::before {
  background-image: url("/wp-content/uploads/2025/10/icon-pin.svg");
}

.has-left-icon-small--checkmark::before {
  	background-image: url("/wp-content/uploads/2025/10/checkmark.svg");
}


/**
*   BLOCKS AND SECTIONS
*/

/* nav */
@media (min-width: 600px) {
    .nav__item--lower-nav {
        display: none !important;
    }

    .lower-nav .nav__item--lower-nav {
        display: flex !important;
    }

    .upper-nav__container {
        margin-block: 20px !important;
        gap: 150px;
    }

    .upper-nav__container nav .wp-block-navigation__container {
        justify-content: space-between !important;
    }

    .header__nav {
        display: grid;
        align-content: center;
    }

    .lower-nav__container {
        margin-top: 0px;
        padding-block: 10px;
    }

    .current-menu-item {
        color: var(--clr-accent-main);
    }
	
	.wp-block-navigation__submenu-container {
	  width: 260px !important;
	  padding: 15px 5px !important;
	}
}

@media (max-width: 599px) {
    .lower-nav__container {
        display: none;
    }
}

/* hero */
.hero {
    padding-top: 0px !important;
    margin-top: 0px !important;
}

.hero:not(.has-shadow--bottom),
.hero:not(.has-shadow--bottom) + section {
    margin-block: 50px !important;
}

.under-hero {
    padding-top: 30px;
    margin-block-start: 0px;
}

/* banner */
.banner {
    box-shadow: var(--box-shadow);
}

.banner-kontakt {
	min-height: 270px;
	max-height: 270px;
}

.banner-wagener p {
	color: white;
}

#freisteller-wagener {
	position: absolute;
	bottom: -40px;
}

/* list */
.list--vitae em {
    font-style: normal;
}

.list--vitae em::after {
    content: "";
    position: relative;
    display: inline-block;
    background-color: currentColor;

    top: -3px;
    width: 5px;
    height: 5px;
    border-radius: 100vw;

    margin-inline: 10px 5px;
}

/* team */
.team__grid {
    row-gap: 60px;
    column-gap: 40px;
}

.team__name {
    margin-top: 10px;
}

.team__position {
    margin-top: 0px;
}

/* text-media */

.text-media:not(:nth-child(1)) {
    margin-top: var(--gap);;
}

.text-media__media,
.text-media__text {
  display: grid;
  align-content: center !important;
}

/* table */

.wp-block-table td, .wp-block-table th {
    border: none;
}

/* accordion */
.wp-block-getwid-accordion__header-wrapper {
    border: 2.5px solid var(--clr-neutral-400) !important;
    border-radius: var(--radius);
}

.wp-block-getwid-accordion__header-wrapper:not(:nth-child(1)) {
    margin-top: 30px;
}

.wp-block-getwid-accordion__header-wrapper[aria-expanded="true"] .wp-block-getwid-accordion__header-title {
    color: var(--clr-accent-main);
}

.wp-block-getwid-accordion__content {
    border: 0 !important;
}

/* gallery */
.wp-block-gallery figure {
    aspect-ratio: 1;
}

/* footer */
footer {
    padding-block: 50px;
}



/**
*   RESPONSIVE
*/
@media (max-width: 1200px) {
    :root {
        --fixed-size: 900px;
    }
}

@media (max-width: 950px) {
    :root {
        --fixed-size: 740px;
    }

    /* team */
    .team__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 783px) {
    :root {
        --fixed-size: 90%;
    }

    /* has-logo */
    .has-logo::after,
    .has-logo-small::after {
        opacity: 0.25;
    }

    /* nav */
    .header__logo {
        display: flex;
        justify-content: center;
    }

    .upper-nav__container {
        gap: 40px;
        margin-bottom: 40px !important;
    }


    /* textmedia */
    .text-media {
        gap: 20px;
    }

    .text-media .text-media__text {
        order: 2;
    }

    .text-media .text-media__media {
        order: 1;
    } 

    .text-media .text-media__media .wp-block-image {
        width: min(400px, 100%);
        margin-inline: auto;
    }
}

@media (max-width: 600px) {

}

@media (max-width: 350px) {
    /* team */
    .team__grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}