/*
 * Theme Name: Wootstrap BS5
 * Theme URI: http://mehne.biz
 * Description: Template von Kai Meinhardt. Keine Kopien erlaubt. Von niemandem. :-)
 * Author: Kai Meinhardt
 * Author URI: http://mehne.biz
 * Version: 6.7.2
 * Template Version: 5.2.1-2025-03-11
 * Text-Domain: web-definer
 *
 */

/*
 * Copyright (C) Kai Meinhardt (mehne.biz) - All Rights Reserved
 * Unauthorized copying of this file, via any medium is strictly prohibited
 * Proprietary and confidential
 * Written by Kai Meinhardt <info@mehne.biz>, 2016 - 2025
 */

/* kleiner reset */
*:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus,
button:focus {
	outline: none;
	box-shadow: none;
}


html {
	font-size: 10px;
	line-height: 1.4em;
}

/* Safari Problem mit horizontalem Scrollen */
html, body {
	max-width: 100vw;
	overflow-x: hidden;
    scroll-behavior: smooth; /* damit anker smooth scrollen und nicht springen */
}
/**/


body {
	/***/
	--main-color: var(--wp--preset--color--blau);
	--main-typo-color: var(--wp--preset--color--typograu);
	
		
	margin: 0;
	padding: 0;
	font-family: 'mundial', Arial, sans-serif !important; /*  */
	/* font family muss important sein für überschriften da diese in type.css von BS sonst überschrieben werden */
	--bs-body-font-weight: 400;
	color: var(--main-typo-color);


	background-color: #fff;
    /** damit position sticky funktioniert muss body genau browserhöhe haben und scrollen */
    overflow-y: auto;
    height: 100vh;
	/**/
	--max-site-width: 1320px;

	--main-font-size: 1.6rem;
	font-size: var(--main-font-size);

	--main-line-height: 1.5em;
	line-height: var(--main-line-height);

	opacity: 1;
	transition: opacity 1.4s ease-in-out;

	--logo-width-mobile: 100%;
	--logo-width-desktop: 128px;

    --bs-border-color: #000; /* BS standard Border-Farbe */

    --abstand-links: 14px;
    --abstand-rechts: 14px;
}

@media (min-width: 768px) {
	body {
		--abstand-links: 40px;
        --abstand-rechts: 40px;
	}
}

@media (min-width: 992px) {
	body {
		--main-font-size: 1.6rem;
		font-size: var(--main-font-size);
		--main-line-height: 1.5em;
		line-height: var(--main-line-height);

	}
}

@media (min-width: 1440px) {
	body {
		--abstand-links: 60px;
        --abstand-rechts: 60px;
	}
}

body.high-contrast {
	--wp--preset--color--blau: #000;
	--wp--preset--color--dunkelblau: #000;
	--wp--preset--color--hellblau: #fff;
}



p {
	line-height: var(--main-line-height); /* irgendwie klappt sonst das inline-verändern von schriftgrößen nicht */
	margin-bottom: max(1rem, var(--main-line-height)); /* nimmt das größere - zeilenabstand oder 1rem */
}

@media(max-width:768px) {
	p {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}


b, strong {
	font-weight: 700;
}

.has-x-large-font-size {
	margin-bottom: 0; /* das p resetten */
}


.navbar.max-width-true,
#navbar.max-width-true,
.carousel.max-width-true,
.container-fluid.max-width-true {
	max-width: var(--max-site-width);
}


.container-fluid .container-fluid {
	padding-right: 0;
	padding-left: 0;
}

.is-content-justification-center > .container-fluid > .row {
	justify-content: center;
}
.is-content-justification-right > .container-fluid > .row {
	justify-content: right;
}


.modal-body {
	padding: 0;
}

img {
	max-width: 100%;
	height: auto;
}
img.img-responsive {
	width: 100%;
	height: auto;
}

.wp-block-image {
	margin: 0; /* WP reset */
}


.wp-block-embed figcaption,
.wp-block-video figcaption,
.wp-block-image figcaption {
	color: var(--main-typo-color);
	font-size: .8em;
	line-height: 1.375em;
}


/* wordpress klassen */
.alignright {
	float: right;
	margin-left: 30px;
	margin-bottom: 25px;
}

.alignleft {
	float: left;
	margin-right: 30px;
	margin-bottom: 25px;
}
@media (max-width:576px) {
	.wp-block-latest-posts__featured-image.alignleft {
		float: none;
		width: 100%;
	}
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;

	margin-bottom: 25px;
}

/**/
@media (max-width:992px) {
	.full-size-mobile,
	.full-size-mobile > .container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}

/* WP6.2 reset */
body .is-layout-flex {
	align-items: normal;
}

/* bootstrap heading-reset */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: 400;
	font-family: "mundial", Arial, sans-serif;
}
@media (max-width: 768px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}

h1, .h1,
h1 a, h1 a:is(:hover, :focus, :active, :visited),
.h1 a, .h1 a:is(:hover, :focus, :active, :visited) {
	font-size: 2.4rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 700;
	color: var(--wp--preset--color--dunkelblau);
}
h1 { margin-bottom: 1rem; }

@media(min-width:992px) {
	h1, .h1,
	h1 a, h1 a:is(:hover, :focus, :active, :visited),
    .h1 a, .h1 a:is(:hover, :focus, :active, :visited) {	
		font-size: 6.4rem;
	}
}



h2,
h2 a, h2 a:is(:hover, :focus, :active, :visited),
.h2 a, .h2 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 700;
	color: var(--wp--preset--color--dunkelblau);
}
h2 { margin-bottom: 1.6rem; }

@media(min-width:992px) {
	h2,
	h2 a, h2 a:is(:hover, :focus, :active, :visited),
    .h2 a, .h2 a:is(:hover, :focus, :active, :visited) {
		font-size: 4.8rem; 
	}
}



h3, .h3,
h3 a, h3 a:is(:hover, :focus, :active, :visited),
.h3 a, .h3 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 700;
	color: var(--main-typo-color);
}
h3, .h3 { margin-bottom: 1.6rem; }

@media (min-width: 992px) {
	h3, .h3,
	h3 a, h3 a:is(:hover, :focus, :active, :visited),
    .h3 a, .h3 a:is(:hover, :focus, :active, :visited) {
		font-size: 3.6rem;
	}
}


h4, .h4,
h4 a, h4 a:is(:hover, :focus, :active, :visited),
.h4 a, .h4 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 700;
	color: var(--main-typo-color);
}
h4, .h4 { margin-bottom: .8rem; }


@media (min-width: 992px) {
	h4, .h4,
    h4 a, h4 a:is(:hover, :focus, :active, :visited),
    .h4 a, .h4 a:is(:hover, :focus, :active, :visited) {
		font-size: 2.4rem;
	}
}


h5, .h5,
h5 a, h5 a:is(:hover, :focus, :active, :visited),
.h5 a, .h5 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 700;
	color: var(--main-typo-color);
}
/* h5, .h5 { margin-bottom: .8em;} */


h6,
h6 a, h6 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
	margin-bottom: 0;

	font-weight: 600;
	color: var(--main-typo-color);

    text-transform: uppercase;
}


p + h1,
p + h2,
p + h3,
p + h4,
p + ul,
ul + h1,
ul + h2,
ul + h3,
ul + h4,
p + ol,
ol + h1,
ol + h2,
ol + h3,
ol + h4,
p + blockquote,
blockquote + h1,
blockquote + h2,
blockquote + h3,
blockquote + h4,
.standard-block + .standard-block h2:first-of-type {
	margin-top: 2rem;
}




/* Nur wenn Bootstrap-Slider verwendet wird: */
.carousel {
	/*overflow: hidden;*//* muss weg - sonst ist schatten aus .carousel-inner oben und unten abgeschnitten */
    margin: auto;
	z-index: 99;
}


/* .carousel-inner { }  */
@media (min-width:992px) { 
    .carousel-inner { 
        padding-right: calc(1.5rem * .5);
        padding-left: calc(1.5rem * .5);
    } 
}



.carousel-fade .carousel-item {
	transition: opacity 0.5s linear;
}

.carousel-item > *,
.carousel-item img,
.carousel-item > a img {
	width: 100%;
	margin: auto;
	object-fit: cover;
	/*individuell*/
	min-width: 100%;
	
	object-position: center center;
}

.carousel-item img {
    height: 374px;
}

@media (min-width:768px) {
    .carousel-item img {
        height: 536px;
    }
}
@media (min-width:992px) {
    .carousel-item img {
        height: 720px;
    }
}

.carousel-item .wp-block-video,
.carousel-item .is-type-video {
	display: flex;
    align-items: center;
    justify-content: center;
}

.carousel-item video,
.carousel-item .is-type-video * {
	width: 100%;
	height: 100%; 
}


.carousel-control-prev,
.carousel-control-next {
	width: 10%;
    opacity: 1;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
    background-image: url(images/svg/Button_links_Icon.svg);
    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
	width: 2.6rem;
	height: 2.6rem;
}
.carousel-control-next-icon {
    background-image: url(images/svg/Button_rechts_Icon.svg);
}

.carousel-control-prev:hover .carousel-control-prev-icon,
.carousel-control-next:hover .carousel-control-next-icon {
	background-color: var(--wp--preset--color--blau);
}


.carousel-indicators {
    position: relative;
	bottom: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

@media (min-width:992px) {
    .carousel-indicators {
        position: absolute;
        bottom: 15px;
    }
}


.carousel-indicators [data-bs-target], /* since BS5 */
.carousel-indicators li {
	background-color: var(--wp--preset--color--weiss);
	height: 10px;
	width: 10px;
	margin-left: 4px;
    margin-right: 4px;
	border-radius: 0;
}
@media (min-width:992px) {
    .carousel-indicators [data-bs-target], /* since BS5 */
    .carousel-indicators li {
        background-color: var(--wp--preset--color--hellblau);
    } 
}

.carousel-indicators [data-bs-target].active, /* since BS5 */
.carousel-indicators li.active {
	background-color: var(--wp--preset--color--blau);
}




#carouselButtons {
    display: none;
}

.carousel-caption {
	font-size: 2.5rem;
	line-height: 1.2em;
	font-weight: 700;
	color: var(--wp--preset--color--weiss);
	text-align: left;
	
	position: static;

	width: 100%;
	margin: 0 0 0 0px;
	padding: 0 0 0 0;
}
@media (min-width:992px) {
    .carousel-caption {
        position: absolute;
        top: 0;
        left: 10%; /* sonst hängt es mobil links am rand und überschneidet den slider pfeil */
        right: 0;
        bottom: 0;
        margin: 0;
    
        /* individuell */
        right: auto;
        bottom: auto;
        top: 50%;
        transform: translateY(-60%);
        left: 50px;

        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
    }
}

.slider-headline {
    background-color: var(--wp--preset--color--gelb);
    display: inline;

    box-decoration-break: clone;
    padding-left: 10px;
    padding-right: 15px;
}


.carousel-caption a,
.carousel-caption a:is(:hover, :focus, :active, :visited) {
	text-decoration: none;
}

/* .carousel-caption > .row > .col {
	display: flex;
	flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 10%;
} */


/* Ende Bootstrap Slider */

/* Anpassungen individuell für Seite */
.page-header {
	border: 0;
	padding-bottom: 0;
	margin-top: 0px; /* BS reset */
	margin-bottom: 0px; /* BS reset */
	width: 100%; /* for position-fixed cases */
	position: relative;
	z-index: 9995; /* mehr als footer damit menü auch über footer liegt */

	box-shadow: none;

	/* individuell */
    background-color: #fff;
}


/* mobiler Button */
.navbar-toggler {
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding-right: 0;
}

.navbar-toggler:focus,
.navbar-toggler:hover {
	background-color: transparent;
	box-shadow: none; /* BS5 reset */
}

.navbar-toggler .navbar-toggler-icon {
	background-image: url("images/svg/Burger.svg");
	width: 100%;
	height: 100%;
	
	max-width: 35px;
	min-height: 30px;

	background-size: contain;
}


.navbar-close {
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding-right: 0;

    display: block;
    margin-left: auto;
}


.navbar-close .navbar-close-icon {
    display: block;
	background-image: url("images/svg/Button_schliessen.svg");
	width: 26px;
    height: 26px;
    background-repeat: no-repeat;
    background-size: contain;
    margin-top: 10px;
    margin-right: 10px;
    margin-bottom: 10px;

    font-weight: 700;
    font-size: 2.1rem;
    color: var(--wp--preset--color--weiss);
}
/* Ende mobiler Button */


.navbar {
    --bs-gutter-x: 1.5rem;
    /* padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5); */
    padding-right: var(--abstand-rechts);
    padding-left: var(--abstand-links);

	padding-top: 24px;
	padding-bottom: 24px;
}

@media (min-width:768px) {
    .navbar {
        padding-top: 29px;
        padding-bottom: 29px;
    }
}

@media (min-width:992px) {
    .navbar {
        padding-top: 40px;
        padding-bottom: 40px;

        position: static;
    }
}
@media (min-width:1400px) {
    .navbar {
        padding-right: 0;
        padding-left: 0;
    }
}

.navbar-brand {
	/* bootstrap resets */
	line-height: 100%;
	height: auto;
	padding-top: 0;
	padding-bottom: 0;
	/* individuell */
	display: block;
	max-width: 100%; /* damits nicht über rahmen ragt */

	width: var(--logo-width-mobile);
    max-width: 120px;
	margin: 0;
	
}
@media (min-width:992px) {
	.navbar-brand {
		width: var(--logo-width-desktop);
		flex: 0 0 var(--logo-width-desktop);
        max-width: none;
	}
}


.logo {
	display: block;
	
	text-indent: 0px;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* individuell */

}


#navbar {
	/* BS5 resets */
	padding-top: 0px;
	padding-bottom: 0px;

	/* individuell */
    top: 100%;
    left: auto;
    right: 0;

    max-width: 402px!important;
}

@media (min-width:992px) {
	#navbar {
		padding-top: 0px;
		padding-bottom: 0px;

        /* individuell */
        left: auto;
        max-width: var(--max-site-width)!important;
	}
}


.navbar-collapse {
	position: absolute;
	z-index: 100;

	/* individuell */	
	background: #fff;
	height: auto;
}



@media (min-width: 992px) {
	.navbar-collapse {
		position: static;
		width: auto;
		padding: 0;
		/* individuell */
        
	}
}



/* Menü - Ebene 1 und tiefer */
.wp-block-navigation-item a, 
.nav > li a {
	color: var(--wp--preset--color--typograu);
	font-size: 1.4rem;
	line-height: var(--main-line-height);
	font-weight: 600;

    text-transform: uppercase;
	text-decoration: none;

	display: block;

	padding-top: 17px;
    padding-bottom: 17px;
    padding-left: 40px;
    padding-right: 40px;

	text-align: left;
    border-top: 0 solid var(--wp--preset--color--blau);
}
/* .nav > li:first-of-type() > a { padding-left: 0; } */
/* .nav > li:last-of-type > a { border-bottom: 2px solid var(--wp--preset--color--blau); } */


@media (min-width: 992px) {

	.wp-block-navigation-item a, 
	.nav > li a {
        font-size: 1.5rem;
        font-weight: 600;
        background: transparent;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 0;
        padding-right: 0;
	}
}


/* Menü - Ebene 1 */
.wp-block-navigation-item a:is(:hover, :focus), /* since WP5.9 */
.nav > li.current-menu-item > a,
.nav > li.current-menu-parent > a,
.nav > li.current-menu-ancestor > a,
.nav > li > a:focus,
.nav > li > a:hover,
.nav .show > a,
.nav > li:focus > a:not([href]):not([tabindex]),
.nav > li:hover > a:not([href]):not([tabindex]) {
	/*reset*/
	text-decoration: none;
	position: relative;
	/*individuell*/
    font-weight: 600;
    text-decoration: underline;
}

.wp-block-navigation-item a:is(:hover, :focus):after,
.nav > li.current-menu-item > a:after,
.nav > li.current-menu-parent > a:after,
.nav > li.current-menu-ancestor > a:after,
.nav > li > a:focus:after,
.nav > li > a:hover:after,
.nav .show > a:after,
.nav > li:focus > a:not([href]):not([tabindex]):after,
.nav > li:hover > a:not([href]):not([tabindex]):after {
	transform: rotate(180deg);
}


.nav > li {
    flex: 0 0 100% !important;
} 


@media (min-width: 992px) {

	.nav > li {
		flex: 1 1 auto !important; /* verteilt menüpunkte je nach platz */
		/*flex: 0 1 auto !important;*/ /* verteilt menüpunkte nicht - padding im <a> nötig */
	} 
	
	
	/* .nav > li.current-menu-item > a,
	.nav > li.current-menu-parent > a,
	.nav > li.current-menu-ancestor > a,
	.nav > li > a:focus,
	.nav > li > a:hover,
	.nav .show > a,
	.nav > li:focus > a:not([href]):not([tabindex]),
	.nav > li:hover > a:not([href]):not([tabindex]) { */
		/* text-decoration: none; */
        /*individuell*/
	    
	/* } */
	
}





.menu-item-has-children {
	cursor: pointer;
	position: static;/*for position of menu level 3*/
	background: transparent; /*mobile*/
}
/* @media all and (min-width: 992px) {
	.menu-item-has-children {
		position: relative;
	}
} */


.dropdown-toggle::after {
	/* BS4 reset*/
    display: none;

    /* individuell */
    display: inline-block;
    content: "";
    
    background-image: url(images/svg/Button_aufklappen_Icon_schwarz.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    width: 9px;
    height: 5px;

    text-align: center;
    margin: 0 0 0 4px;
    border: 0;
    
    position: relative;
    top: 1px;
}
.current-menu-parent .dropdown-toggle::after {
    background-image: url(images/svg/Button_aufklappen_Icon_schwarz.svg);
}

/* Untermenüs */

/* ============ ab BS5 Hauptmenü auch bei hover zeigen ============ */
@media all and (min-width: 992px) {
	.navbar .menu-item>.dropdown-menu { display: none; }

	.navbar .menu-item:hover>.dropdown-menu, 
    .navbar .menu-item>.dropdown-menu.show { 
        display: flex; 
    }
}	
/* ============ desktop view .end// ============ */


.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container, /* neuer WP5.9 selektor */
.dropdown-menu[data-bs-popper], /*neuer bs5 selektor */
.dropdown-menu {
	/*resets*/
	list-style: none;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	font-size: 100%;

	/*mobile*/
	position: static;
	width: auto;
	background-color: var(--wp--preset--color--blau);
	padding: 0px 0px;

	/* WP5.9 reset */
	left: 0 !important;

	/* individuell */
	width: 100%;
    max-width: 402px;
}

@media (min-width: 992px) {
	.dropdown-menu[data-bs-popper],
	.dropdown-menu {
		position: absolute;
		white-space: nowrap;
		/* top: 100%; */
		/* top: calc(100% - 48px); */
		font-size: 0;

        width: 100vw;
        max-width: none;

		padding-top: 48px;
		padding-bottom: 48px;
        padding-left:  calc( ( ( 100vw - var(--max-site-width) ) / 2 ) + ( var(--max-site-width) * 0.16666));
        padding-right: calc( (100vw - var(--max-site-width)) / 2);

        background-color: var(--wp--preset--color--blau);
    
        border-radius: 0px;

        border-top: 40px solid #fff;
        display: flex;
        flex-wrap: wrap;
	}

    .dropdown-menu li {
        width: 33%;
        flex: 0 0 33%;
    }

}



.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content,
.dropdown-menu li a {
	color: var(--wp--preset--color--weiss);
	background-color: transparent;
	/* font-size: 1.4rem;*/
    line-height: 1em;
	font-weight: 600;
    text-transform: uppercase;
	text-align: left;
}

.dropdown-menu li.current-menu-item > a,
.dropdown-menu li.current-menu-parent > a,
.dropdown-menu li.current-menu-ancestor > a,
.dropdown-menu li > a:focus,
.dropdown-menu li > a:hover,
.dropdown-menu .show > a,
.dropdown-menu li:focus > a:not([href]):not([tabindex]),
.dropdown-menu li:hover > a:not([href]):not([tabindex]) {
	color: var(--wp--preset--color--weiss);
	background-color: transparent;
    font-weight: 600;
    text-decoration: underline;
}


@media (min-width: 992px) {
	.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content,
	.dropdown-menu li a {
		color: var(--wp--preset--color--weiss);
		text-align: left;
        margin-bottom: 3.5rem;
	}

	.dropdown-menu li.current-menu-item > a,
	.dropdown-menu li.current-menu-parent > a,
	.dropdown-menu li.current-menu-ancestor > a,
	.dropdown-menu li > a:focus,
	.dropdown-menu li > a:hover,
	.dropdown-menu .show > a,
	.dropdown-menu li:focus > a:not([href]):not([tabindex]),
	.dropdown-menu li:hover > a:not([href]):not([tabindex]) {
		/*individuell*/
		background-color: transparent;
        color: var(--wp--preset--color--weiss);
	}
}



/* Menü dritte ebene */
/* .dropdown-menu .dropdown-menu li::before {
	display: inline-block;
	color: #000;
}
@media (min-width: 992px) {.dropdown-menu .dropdown-menu li::before {display: none;}}
 */

.dropdown-menu .dropdown-menu li a {
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0;
}

/* end menü dritte ebene */



/* secondary menu */
#navbar-sub {
    padding-right: var(--abstand-rechts);
    padding-left: var(--abstand-links);
}
@media (min-width:1400px) {
    #navbar-sub {
        padding-right: 0;
        padding-left: 0;
    }
}

#secondary-nav li {
    flex: 1 1 auto !important;
}

#secondary-nav li a {
    display: block;
    padding: 0;
    font-size: 1.4rem;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
}
#secondary-nav li a:hover {
    background-color: var(--wp--preset--color--blau);
    text-decoration: none;
}

#secondary-nav li a img {
    padding-top: 9px;
    padding-bottom: 9px;
}


#navbar-secondary {
    width: 100%;
    max-width: 402px;
    right: 0;
    top: 0;
    background-color: var(--wp--preset--color--dunkelblau);
}

#navbar-secondary a {
    color: var(--wp--preset--color--weiss);
}

/* ende secondary menu*/



/* Breadcrumb */
.breadcrumb {
	/* BS reset */
	background: none;
	padding: 0;
	/* individuell */
	font-weight: 600;
}

.breadcrumb > span:after {
	content: '>';
	display: inline-block;
	padding-left: 15px;
	padding-right: 15px;
}
.breadcrumb > span:last-child:after {
	content: normal;
}


/* MAIN */
main {
	/* für den parallax */
	position: relative;
	/* individuell */
    min-height: 75vh;


	/* wenn header fixed */
	/* padding-top: 90px; */
}
/* Anker offset, z.b. wenn header fixed */
/* :target::before { content: ''; display: block; height: 90px; margin: -90px 0 0 0; } */


main > *:not(.hero) {
    padding-left: var(--abstand-links);
    padding-right: var(--abstand-rechts);
}

main > .more-link {
    display: block;
  margin: auto;
  text-align: center;
}

@media (min-width:992px) {
	.position-lg-relative {
		position: relative!important;
	}
}


a,
a:is(:hover, :focus, :active, :visited) {
	color: var(--wp--preset--color--schwarz);
	text-decoration: underline;
	font-weight: 700;
}

/* BS5 reset */
.wp-block-image a {
    display: block; /* bei inline-block (BS5 Standard) funktionieren svg nicht */
}

@media (min-width:992px) {
	.read-more {
		font-size: 2.1rem;
		color: var(--wp--preset--color--blau);
	}
}


.post-password-form {
	margin-top: 35vh;
	margin-left: 15%;
}


/* LISTEN */

/* 2022 - ein neuer versuch ::marker zum laufen zu bringen */
/* geht noch nicht in safari version 14 - erst ab 15 und die haben viele noch nicht */
/* dieser teil kann später einfach getauscht werden also ::before wird zu ::marker */
main ul, main ol {
	padding-left: 8px; /* BS5 hat 20px aber das passt nur für OL nicht für UL */
}

main ol li,
main ul li {
	list-style-type: none;
	list-style-position: outside;
	padding-left: 1rem;
}

main ol:not(.carousel-indicators) li::before {
	content: counter(list-item) ".";

	color: #000;
	font-size: inherit;
	font-weight: 400;

	text-align: right;
}

main ul:not(.wp-block-latest-posts):not(.wp-block-post-template):not(.slick-dots):not(.pagination):not(.blocks-gallery-grid):not(.pll):not(.tribe-events-sub-nav):not(.tribe-events-c-nav__list):not(.tribe-events-c-top-bar__nav-list):not(.google-visualization-tooltip-item-list) li::before {
	content: "◼";

	color: var(--wp--preset--color--blau);
	font-size: 9px;
	font-weight: 400;

	/* background-image: none;
	background-repeat: no-repeat;
	background-size: 5.8px 11.4px;
	display: inline-block;
	width: 0.58rem;
	height: 1.14rem; */

    position: relative;
    top: -2px; /* weil viereck irgendwie etwas unten hängt */
}
/* ENDE dieser teil kann später einfach getauscht werden also ::before wird zu ::marker */
/* diese anpassungen sind nötig weil sich before anders verhällt als marker und wir marker wegen safari nicht nehmen dürfen */
main ol:not(.carousel-indicators) li::before {
	margin-left: calc(-15px - 1rem);
	padding-right: 1rem;
}
@media (min-width:992px) {
	main ol:not(.carousel-indicators) li::before {
		margin-left: calc(-15px - 1rem);
		padding-right: 1rem;
	}
}
/* scheint für ul und ol unterschiedlich zu sein */
main ul:not(.wp-block-latest-posts):not(.wp-block-post-template):not(.slick-dots):not(.pagination):not(.blocks-gallery-grid):not(.pll):not(.tribe-events-sub-nav):not(.tribe-events-c-nav__list):not(.tribe-events-c-top-bar__nav-list):not(.google-visualization-tooltip-item-list) li::before {
	margin-left: calc(-1.2rem);
	padding-right: .5rem;
}
/**/

/* ENDE LISTEN */
.wp-block-post {
    padding: 0; /* reset vom standard ul li */
}



main img {
	max-width: 100%;
	height: auto;
}

figure {
	max-width: 100%;
	margin: 0;
}

figure.h-100 > * {
	height: 100%;
}

.size-full:not(.is-resized),
.size-full:not(.is-resized) img {
	width: auto;
}

figure.wp-block-image.h-100 img {
	object-fit: cover;
}



main .wp-caption-text {
	background: #fff;
	color: rgb(70, 70, 70);
	padding-bottom: 24px;
	padding-left: 28px;
	padding-right: 27px;
	font-size: 0.833em;
}


.img-round, .img-round img {
	border-radius: 50%; /* only works on square images */
}

.size-square {
	max-width: 370px;
	margin-left: auto;
	margin-right: auto;
}



.has-small-font-size,
.has-small-font-size a,
.editor-styles-wrapper .has-small-font-size, 
.editor-styles-wrapper .has-small-font-size a {
	font-size: 90%;
	text-decoration: none;
	font-weight: 300; /* individuell */
}

.has-huge-font-size,
.has-huge-font-size a,
.has-larger-font-size,
.has-larger-font-size a,
.editor-styles-wrapper .has-huge-font-size,
.editor-styles-wrapper .has-huge-font-size a,
.editor-styles-wrapper .has-larger-font-size,
.editor-styles-wrapper .has-larger-font-size a {
    font-size: 2rem;
	line-height: 1.4em;
	font-weight: 400;
	text-decoration: none;
}
@media(min-width:992px) {
	.has-huge-font-size,
	.has-huge-font-size a,
	.has-larger-font-size,
	.has-larger-font-size a,
	.editor-styles-wrapper .has-huge-font-size,
	.editor-styles-wrapper .has-huge-font-size a,
	.editor-styles-wrapper .has-larger-font-size,
	.editor-styles-wrapper .has-larger-font-size a {
		font-size: 4.2rem;
	}
}


/* Hintergründe */

.has-blau-background-color .container-fluid.max-width-true, 
.bg-blau { 
	background-color: var(--wp--preset--color--blau);
    color: #fff;
}
.has-blau-background-color h1, 
.bg-blau div:not(.bg-weiss) h1,
.has-blau-background-color h2, 
.bg-blau div:not(.bg-weiss) h2,
.has-blau-background-color h3, 
.bg-blau h3,
.has-blau-background-color h4, 
.bg-blau h4,
.has-blau-background-color h5, 
.bg-blau h5,
.has-blau-background-color h6, 
.bg-blau h6,
.has-blau-background-color a, 
.bg-blau a {
	color: #fff;
}


.has-typograu-background-color .container-fluid.max-width-true, 
.bg-typograu { 
	background-color: var(--wp--preset--color--typograu);
	color: #fff;
}
.has-typograu-background-color .container-fluid.max-width-true a, 
.bg-typograu a { 
	color: #fff;
}
.has-typograu-background-color h1, 
.bg-typograu h1,
.has-typograu-background-color h2, 
.bg-typograu h2,
.has-typograu-background-color h3, 
.bg-typograu h3,
.has-typograu-background-color h4, 
.bg-typograu h4,
.has-typograu-background-color h5, 
.bg-typograu h5,
.has-typograu-background-color h6, 
.bg-typograu h6 {
	color: #fff;
}


.has-weiss-background-color .container-fluid.max-width-true, 
.bg-weiss { 
	background-color: #fff;
    color: var(--main-typo-color);
}
/* .has-weiss-background-color h1, 
.bg-weiss h1,
.has-weiss-background-color h2, 
.bg-weiss h2,
.has-weiss-background-color h3, 
.bg-weiss h3,
.has-weiss-background-color h4, 
.bg-weiss h4,
.has-weiss-background-color h5, 
.bg-weiss h5,
.has-weiss-background-color h6, 
.bg-weiss h6,
.has-weiss-background-color a,  */
.bg-weiss a {
	color: var(--wp--preset--color--blau);
}



.has-hellblau-background-color .container-fluid.max-width-true, 
.bg-hellblau { 
	background-color: var(--wp--preset--color--hellblau);
}
/* .has-hellblau-background-color h1, 
.bg-hellblau div:not(.bg-weiss) h1,
.has-hellblau-background-color h2, 
.bg-hellblau div:not(.bg-weiss) h2,
.has-hellblau-background-color h3, 
.bg-hellblau h3,
.has-hellblau-background-color h4, 
.bg-hellblau h4,
.has-hellblau-background-color h5, 
.bg-hellblau h5,
.has-hellblau-background-color h6, 
.bg-hellblau h6,
.has-hellblau-background-color a, 
.bg-hellblau a {
	color: #fff;
} */

.has-dunkelblau-background-color .container-fluid.max-width-true, 
.bg-dunkelblau { 
	background-color: var(--wp--preset--color--dunkelblau);
}
.has-dunkelblau-background-color h1, 
.bg-dunkelblau div:not(.bg-weiss) h1,
.has-dunkelblau-background-color h2, 
.bg-dunkelblau div:not(.bg-weiss) h2,
.has-dunkelblau-background-color h3, 
.bg-dunkelblau h3,
.has-dunkelblau-background-color h4, 
.bg-dunkelblau h4,
.has-dunkelblau-background-color h5, 
.bg-dunkelblau h5,
.has-dunkelblau-background-color h6, 
.bg-dunkelblau h6,
.has-dunkelblau-background-color a, 
.bg-dunkelblau a {
	color: #fff;
}


/* Ende Hintergründe */


#high-contrast-switch {
	cursor: pointer;
	background: transparent;
	border: 0;
}

/* BUTTONS */
button {
	cursor: pointer;
}

button:focus {
	outline: none;
}

.btn {
	cursor: pointer;
	display: inline-block;
	text-decoration: none;
	max-width: 100%;
	text-align: center;
	border-radius: 0;
	font-weight: 400;
	border: none;
	font-size: inherit;

}

.w-100>.btn,
.wp-block-web-definer-bs5-button.w-100 .btn-primary {
	width: 100% !important;
}



.btn-primary,
.btn-primary:is(:hover, :focus, :active, :visited) {
	/* reset */
	text-decoration: none;

	/**/
	padding: 8px 26px 11px 26px;
	background: var(--wp--preset--color--dunkelblau);
	border: 1px solid var(--wp--preset--color--dunkelblau);

	color: var(--wp--preset--color--weiss)!important; /* wenn auf farbigen hintergrund wird das sonst überschrieben */
	font-size: var(--main-font-size);
	font-weight: 400;

	margin-top: 0em;
	margin-bottom: 0em;
	
	border-radius: 24px;
    text-transform: none;
}
.btn-primary:is(:hover, :focus, :active) {
    --bs-btn-active-bg: var(--wp--preset--color--blau);
    --bs-btn-active-border-color: var(--wp--preset--color--blau);
    background-color: var(--wp--preset--color--blau);
	border: 1px solid var(--wp--preset--color--blau);
    color: var(--wp--preset--color--weiss)!important;
}




.alignright .btn-primary,
.text-end .btn-primary {
	text-align: right;
	margin-bottom: 0;
}

.btn-secondary,
.btn-secondary:is(:hover, :focus, :active, :visited) {
	/* reset */
	text-decoration: none;

	/**/
	padding: 8px 26px 11px 26px;
	background: var(--wp--preset--color--typograu);
	border: 1px solid var(--wp--preset--color--typograu);

	color: var(--wp--preset--color--weiss)!important; /* wenn auf farbigen hintergrund wird das sonst überschrieben */
	font-size: var(--main-font-size);
	font-weight: 400;

	margin-top: 0em;
	margin-bottom: 0em;
	
	border-radius: 24px;
    text-transform: none;
}
.btn-secondary a,
.btn-secondary a:is(:hover, :focus, :active, :visited) {
	color: #fff!important;
}

.btn-info,
.btn-info:is(:hover, :focus, :active, :visited) {
	/* reset */
	text-decoration: none;

	/**/
	padding: 12px 17px 12px 17px;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--white);
	color: #000;
	font-size: var(--main-font-size);
	
	margin-top: 0em;
	margin-bottom: 0em;
	border-radius: 2px;
}


.btn-primary, .btn-secondary, .btn-info {
	position: relative;
	
}
/*
.btn-primary:after, .btn-secondary:after, .btn-info:after {
	content: "»";
	position: absolute;
	right: 10px;
}
*/

.btn-download,
.btn-download:is(:hover, :focus, :active, :visited) {
    text-align: left;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 25px 10px 25px;

    border-top: 2px solid #000;
    border-bottom: 2px solid #000;

    
}

.wp-block-web-definer-bs5-button + .wp-block-web-definer-bs5-button {
    margin-top: -2px; /* damit bei mehreren nacheinander die border mergen */
}

.btn-download::after {
    flex: 0 0 auto;
    content: url(images/svg/Button_download_Icon.svg);
    width: 26px;
    height: 26px;
    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
}
.btn-download:hover::after {
    background-color: var(--wp--preset--color--blau);
}

.hide-if-open[aria-expanded="true"] {
    display: none;
}
.hide-if-closed[aria-expanded="false"] {
    display: none;
}

.text-semibold {
	font-weight: 600;
}

#fixed-sidebar {
	position: fixed;
	z-index: 99999;
    right: 0;
    top: 33%;
	overflow: auto;
	
	/*box-shadow:0 0 13px 8px rgba(109,111,111,.8);*/
	/*box-shadow:0 0 7px 0 rgba(109,111,111,.8);*/
	/*background-color: var(--main-color);*/
}



.acf-sidebar {
    max-width: 280px;
}

@media (min-width:992px) {
    .acf-sidebar {
        padding-left: 1.4%;
        /* padding-right: 3.57%; */

        max-width: calc(280px + 1.4% + 3.57%);
    }
}

@media (min-width:1400px) {
    .acf-sidebar {
        padding-left: 20px;
        /* padding-right: 50px; */

        max-width: calc(280px + 20px + 50px);
    }
}

.acf-sidebar hr {
    background-color: var(--wp--preset--color--hellblau);
    margin: 1rem 0; /* BS5 Standard */
}

.acf-sidebar a {
    font-weight: 400;
    text-decoration: none;
    color: var(--wp--preset--color--blau);
}

a.mit-pfeil:after {
    content: url(images/svg/pfeil-rechts-blau.svg);
    display: inline-block;
    width: 20px;
    height: auto;
    margin-left: 10px;
}



.social-icon {
	display: inline-block;
    margin: 15px;
}
    

.search-form-container {
	padding-top: 0;
	z-index: 1;
	width: auto;
}


.suchergebnis {
    border-top: 2px solid var(--wp--preset--color--hellblau);
}


/* Allgemeine FORMS STYLES */

input[type="number"],
input[type="date"],
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
select,
textarea,
.form-control {
	display: block;
    max-width: 100%;
    padding: 6px 5px;
    height: auto;
    margin: 0;
    border: none;
    box-shadow: none;
    border-radius: 0px;

	font-size: var(--main-font-size);
	
	border: 1px solid var(--wp--preset--color--typograu);
}


.input-group-prepend .input-group-text {
	/* background: var(--wp--preset--color--blau); */
	border: var(--wp--preset--color--typograu);
	height: 100%;
	padding-left: 16px;
	padding-right: 20px;
  }

input[type="checkbox"] {
	/*
	-webkit-appearance: none;
	-moz-appearance: none;*/
	/* appearance muss weg sonst sieht man keine haken in checkboxen etc.*/
	cursor: pointer;

	margin-right: 15px;

	border: 0;
	width: 32px;
	height: 32px;
	background-color: #fff;
}

label {
	width: 100%;
}

textarea {
	width: 100%;
}


@media(min-width:768px) { .form-group { margin-bottom: 2rem; } }


input[type="search"] {
	/* background-image: url(images/svg/Button_rechts.svg);
    background-repeat: no-repeat;
    background-position: center left;
    background-size: 26px 26px; */

    background-color: var(--wp--preset--color--hellblau);
    border: none;

    caret-color: var(--wp--preset--color--blau);

    margin-left: 0 !important;
}

/* contact form 7 */
.wpcf7-list-item {
	display: block;
	width: 100%;
}

.wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
}

/* ENDE FORMS STYLES */

/*********/





/* tabellen  */
.table {
	--bs-table-striped-bg: #f9efeb;
}

.table-bordered > :not(caption) > * {
	border-color: #ecb664;
	border-width: 1px 0px 1px 0px;
}

.table-bordered > :not(caption) > * > * {
	border-width: 0px;
}



blockquote {
	padding: 0;
	position: relative;
	/* WP5+ erzwingt word-break daher ergänzen wir wenigstens bindestriche */
	/* hyphens: auto; */

}

.wp-block-pullquote {
	/* wp reset */
	padding-bottom: 0;
}
blockquote blockquote {
	background: transparent;
	padding: 0;
}



blockquote blockquote:before,
blockquote blockquote:after {
	content: normal;
	display: none;
}




.wp-block-pullquote p,
.wp-block-pullquote.alignleft p, 
.wp-block-pullquote.alignright p, 
.wp-block-pullquote.has-text-align-left p, 
.wp-block-pullquote.has-text-align-right p,
blockquote p {
	font-weight: 700;
	color: var(--wp--preset--color--dunkelblau);
	font-size: 3.6rem;
    line-height: 1em;
	font-style: normal;
	text-align: left;
	position: relative;
	margin-top: 0;
	margin-bottom: .5em !important;

	/* es kommen bindestriche vom normalen <p> daher hier wieder raus nehmen */
	hyphens: none;
}
@media (min-width:768px) {
	.wp-block-pullquote p,
	.wp-block-pullquote.alignleft p, 
	.wp-block-pullquote.alignright p, 
	.wp-block-pullquote.has-text-align-left p, 
	.wp-block-pullquote.has-text-align-right p,
	blockquote p {
		font-size: 6.4rem;
	}
}

.high-contrast .wp-block-pullquote p,
.high-contrast .wp-block-pullquote.alignleft p, 
.high-contrast .wp-block-pullquote.alignright p, 
.high-contrast .wp-block-pullquote.has-text-align-left p, 
.high-contrast .wp-block-pullquote.has-text-align-right p,
.high-contrast blockquote p {
	color: #000;
}


.wp-block-pullquote.alignleft, 
.wp-block-pullquote.alignright, 
.wp-block-pullquote.has-text-align-left, 
.wp-block-pullquote.has-text-align-right {
	max-width: none;
}

cite {
	color: var(--wp--preset--color--dunkelblau);
	font-style: normal;
	font-size: 1.6rem;
	text-transform: uppercase;
	font-weight: 400;
	position: relative;
	display: block;

	text-align: center;
}
@media (min-width:992px) {
	cite {
		font-size: 1.6rem;
	}
}




/* slick stuff */

.add-shadow .slick-track {
	padding-top: 15px;
    padding-bottom: 15px;
}


.add-shadow .slick-slide {
	padding-left: 15px; /* nötig für schlagschatten */
	padding-right: 15px; /* nötig für schlagschatten */
}

/*** dots ***/
.slick-dotted.slick-slider {
    margin-bottom: 0!important;
}
.slick-dots {
    bottom: 0;
}
.slick-dots li button::before {
    color: #fff;
    opacity: 1;
}
.slick-dots li.slick-active button::before {
    color: #fff;
    opacity: 1;
    font-size: 9px;
    line-height: 21px;
}
/*** ende dots ***/




.slick-left,
.slick-right {
	display: block;
	position: relative;
	
	margin: 32px 0 32px 0 ;
	padding: 0;
	overflow: hidden;
	cursor: pointer;
	display: inline-flex;

    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    color: transparent;
    transition: all 0.3s ease-in-out;
    width: 26px;
    height: 26px;
    background-size: 26px 26px;
}

.slick-left:hover,
.slick-right:hover {
    background-color: var(--wp--preset--color--blau);
}


.slick-right {
	left: auto;
	right: 0%;

	/* ersetzt die FA5 pfeile mit svg aus BS5 */
	background-image: url(images/svg/Button_rechts_Icon.svg);
    margin-left: 13px;
}

.slick-left {
	/* ersetzt die FA5 pfeile mit svg aus BS5 */
	background-image: url(images/svg/Button_links_Icon.svg);
}


.slick-item img { width: 100%!important; }

/* end slick stuff */

/* individual slick stuff */
.slick-track {
	display: flex;
}
.slick-slider {
  margin-left: -12px;
  margin-right: -12px;
}
.slick-list {
  clip-path: inset(0 12px 0 12px);
}
.slick-slide {
  margin-left: 12px;
  margin-right: 12px;
}

/* end individual slick stuff */



/* */
hr {
	opacity: 1;
    border: 0 !important;
	background-color: var(--wp--preset--color--hellblau);
	height: 2px;
}
hr:not([size]) {
	/*wp reset*/
	height: 2px;
}
main hr {
    background-color: var(--wp--preset--color--blau);
    margin: 6rem 0;
}


/* .module-box hr,
.page-footer hr {
	border-color: var(--wp--preset--color--hellblau)!important;
} */


/* BS4 Card (Accordeon / Aufklappkarten) */
.accordion {
	margin-top: 96px;
	margin-bottom: 96px;
}

.card {
    border: none;
	border-top: 2px solid #000;
	background-color: transparent;
	padding: 0;

	border-radius: 0px!important; /* bs muss übertrumpft werden */
	overflow: hidden;
	margin-bottom: 0px;
}

.wp-block-web-definer-card:last-child .card {
	border-bottom: 2px solid #000;
}


.card-header {
	padding: 0;
	border: 0;
	border-radius: 0!important; /* bs muss übertrumpft werden */
	background-color: transparent;
}

.card-header .h3 {
    margin-bottom: 0;
}

@media (min-width:768px) {
    .card-header .h3 {
        font-size: 2rem;
    }
}


.card-header button {
	/* reset */
	width: 100%;
    border: 0;
    background: transparent;
	text-align: left;
}

.card-header button {
	/* individuell */
	font-size: 1.6rem;
	line-height: 1.5em;
	color: #000;
	background-color: transparent;
	font-weight: 400;
	padding: 0;
	display: flex;
	align-items: flex-start;
	padding: 10px 11px 10px 13px;
}
@media (min-width:768px) {
	.card-header button {
		font-size: 2rem;
        padding: 15px 18px 15px 24px;
	}
}


.card-header button[aria-expanded="true"] {
    background-color: transparent;
}

.card-header button > span {
	flex: 1;
}

.card-header button[aria-expanded="true"] > span {
	background: transparent;
}


.card-header button:after {
	background-image: url(images/svg/Button_plus_Icon.svg);
    background-repeat: no-repeat;

    background-color: var(--wp--preset--color--dunkelblau);

	display: inline-flex;
	width: 26px;
	height: 26px;
	text-align: center;
	padding-top: 0;
	border-radius: 50%;
	margin: 0 0px 0px auto;
	transition: all .3s ease-out;
	background-size: contain;
	content: "";
    padding-left: 0px;
    flex: 0 0 auto;
}
.card-header button[aria-expanded="true"]:after {
	transition: all .3s ease-out;
	background-image: url(images/svg/Button_minus_Icon.svg);
}

.card-header button:hover:after {
    background-color: var(--wp--preset--color--blau);
}

.high-contrast .card-header button:after {
	filter:grayscale(100%)
}

.card-body {
	padding: 20px 11px 20px 13px;
	background-color: transparent;
}
@media (min-width:768px) {
    .card-body {
        padding: 20px 18px 20px 24px;
    }
}

.card-body p:last-child {
	margin-bottom: 0;
}

/* fals man die variante nutzen will */ 
/*
.accordion-variant {
    
}
*/

/**/


/*
 * Wordpress Gallery
 */
.wp-block-gallery img {
	align-self: center;
}

.blocks-gallery-grid .blocks-gallery-image, 
.blocks-gallery-grid .blocks-gallery-item, 
.wp-block-gallery .blocks-gallery-image, 
.wp-block-gallery .blocks-gallery-item {
	flex-grow: 0;
}
/*
.blocks-gallery-grid .blocks-gallery-item:nth-child(1n+10) {
	display: none;
}
*/
 
/* fancybox */
/* .fancybox-container {
	width: 90%;
	height: 90%;
	left: 5%;
	right: 5%;
	top: 5%;
	bottom: 5%;

	box-shadow: 0 0 13px 7px rgba(0,0,0,.27);
} */

.fancybox-bg {
	background: #fff;
}

.fancybox-is-open .fancybox-bg {
	opacity: 1;
}

/* .fancybox-slide--image {
	padding: 7% 0 7% 0;
} */

.fancybox-button {
	background: transparent;
}

.fancybox-button,
.fancybox-button:link,
.fancybox-button:hover,
.fancybox-button:visited {
	color: var(--main-color);
}

.fancybox-navigation .fancybox-button {
	opacity: 1;
}

.fancybox-navigation .fancybox-button--arrow_left {
	left: 30px;
}
.fancybox-navigation .fancybox-button--arrow_right {
	right: 30px;
}

.fancybox-close-small {
	color: #fff;
	opacity: 1;
	top: 0;
	right: 0;
}
/* @media(min-width:992px) {
	.fancybox-close-small {
		top: -44px;
		right: -44px;
	}
} */


/* widgets in sidebar und footer */
li.widget {
	list-style: none;
}


/* Modales Fenster */
.modal {
	z-index: 91055; /* damit es auch über fixed header liegt*/
}

.modal-content {
	padding: 24px 32px;
}


.modal-header .btn-close,
.btn-close, .btn-close:hover {
	margin: 0 0 0 auto;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 999;
    background-size: 2rem;
}


.modal-header  {
	border: none;
}

/*
 * PAGINATION
 */
 .pagination {
	margin-bottom: 40px;
}

.pagination li:before {
	content: "";
	display: none;
}

/* standard-status */
.pagination li a,
.pagination > li.inactive > a:focus,
.pagination > li.inactive > a:hover,
.pagination > li.inactive > span:focus,
.pagination > li.inactive > span:hover {
	color: var(--main-color);
	font-weight: 600;
	background-color: #fff;
	border-color: #fff;
	margin-right: 3px;

	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;

	padding: 0.9rem;
	text-align: center;
}

.pagination li.inactive a,
.pagination > li.inactive > a:focus,
.pagination > li.inactive > a:hover,
.pagination > li.inactive > span:focus,
.pagination > li.inactive > span:hover {
	cursor: default;
	color: var(--main-color);
}

/* hover-status */
.pagination > li > a:focus,
.pagination > li > a:hover,
.pagination > li > span:focus,
.pagination > li > span:hover {
	background-color: var(--main-color);
	border-color: var(--main-color);
	color: #fff;
}

/* active-status */
.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
	background-color: var(--main-color);
	border-color: var(--main-color);
	color: #fff;
	cursor: pointer;
	
}

/* inactive-status */
.pagination .inactive a {
	pointer-events: none;
}




.col-fixed {
    width: 280px;
    height: 280px;
}
.col-fixed > * {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
}

.col-fixed > *,
.col-fixed > *:is(:hover, :focus, :active, :visited) {
    text-decoration: none;
}

.col-fixed > * > span {
    margin: 0;
    padding: 20px 15px 27px 30px;
    font-weight: 700;
    align-self: flex-end;
    display: block;
    width: 100%;
    color: var(--wp--preset--color--weiss);
    text-decoration: none;
}


/* individuell für Kunden */
/* res d - SZH EKG */
.hero { position: relative; }
.hero img {
    width: 100vw!important;
    height: 100vh;
    object-fit: cover;

    max-height: calc(100vh - 140px); /* 140px = EKG Header mobil */
}
@media (min-width: 768px) { .hero img {max-height: calc(100vh - 150px); /* 150px = EKG Header tablet */} }
@media (min-width: 992px) { .hero img {max-height: calc(100vh - 175px); /* 175px = EKG Header desktop */} }

.hero figcaption {
    padding: 32px 0 32px 0;
    margin: 0;
    font-weight: 700;
    font-size: 3.6rem;
    line-height: 1.2em;
    color: var(--wp--preset--color--dunkelblau);

    position: absolute;

}
@media (min-width: 768px) { 
    .hero figcaption { 
        font-size: 9.6rem; 
        line-height: 1em;

        padding-top: 33px;
        position: absolute;
        top: 0;

        width: 50%;
        left: var(--abstand-links);
    }
}
@media (min-width: 992px) { 
    .hero figcaption { 
        padding-top: 53px;
    }
}

@media (min-width: 1400px) { 
    .hero figcaption { 
        width: calc(var(--max-site-width) * 0.5);
        left: calc(((100vw - var(--max-site-width)) / 2) + ( var(--max-site-width) * 0.08333) );
    }
}


/* wordpress hat nur 1 breakpoint bei 600 für die newsanzeige*/
@media (min-width: 600px) {
  .wp-block-latest-posts.columns-3 li {
    width: calc(50% - 1.25em);
  }

  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 1.25em;
  }

}
@media (min-width: 992px) {
  .wp-block-latest-posts.columns-3 li {
    width: calc(33.33333% - .83333em);
  }
  .wp-block-latest-posts.columns-3 li:nth-child(3n) {
    margin-right: 0;
  }
}

/* allgmeine styles zur news darstellung */
.wp-block-latest-posts.is-grid li {
    padding: 0;
    background-color: #fff;
}

.wp-block-post-featured-image { overflow: hidden;}
.wp-block-post-featured-image img,
.wp-block-post-featured-image a {
    width: 100%;
    transition: all 300ms ease-out;
}

.wp-block-post-featured-image img:hover {
    scale: 1.05;
}

.wp-block-post-title,
.wp-block-post-title:is(:hover, :focus, :active, :visited),
.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-title:is(:hover, :focus, :active, :visited) {
    text-decoration: none;
}
.wp-block-post-title,
.wp-block-latest-posts__post-title {
    display: block;
    position: relative;
   
    padding-top: 27px;
    padding-bottom: 66px;

    padding-left: 19px;
    padding-right: 60px;
}
@media (min-width:768px) {
    .wp-block-post-title,
    .wp-block-latest-posts__post-title {
        padding-left: 24px;
        padding-right: 55px;
    }
}
@media (min-width:992px) {
    .wp-block-post-title,
    .wp-block-latest-posts__post-title {
        padding-left: 26px;
        padding-right: 38px;
    }
}

.wp-block-query .wp-block-read-more {
    position: absolute;
    bottom: 15px;
    right: 15px;
    color: transparent;
    display: flex;
}
.wp-block-query .wp-block-read-more::after {
    content: url(images/svg/Button_link_Icon.svg);
    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
    display: inline-flex;
    width: 26px;
    height: 26px;
}
.wp-block-query .wp-block-read-more:hover::after {
    background-color: var(--wp--preset--color--blau);
}

.wp-block-query li:nth-child(n+4) {
    display: none;
}


.blaue-ecke, .weisse-ecke { position: relative;}
.blaue-ecke.w-100 > img { width: 100%;}
/* blaues dreieck auf beitragsbildern */
.weisse-ecke:after,
.blaue-ecke:after,
.single-post .wp-block-post-featured-image:after {
    content: " ";
    display: block;
    height: 30%;
    width: auto;
    position: absolute;
    bottom: 0;
    right: 0;
    top: auto;
    left: auto;

    background-image: url(images/svg/Bildecke.svg);
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: contain;
}

.weisse-ecke:after {
    background-image: url(images/svg/Bildecke-weiss.svg);
}

.acf-ekh-linkliste-2025-inner {
    padding: 46px 9px 114px 53px;
}
@media (min-width:992px) {
    .acf-ekh-linkliste-2025-inner {
        padding: 40px 251px 48px 74px;
    }
}

.acf-ekh-linkliste-2025-inner h4 {
    margin-bottom: 1em;
}

.acf-ekg-link a,
.acf-ekg-link a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6rem;
	line-height: 1.2em;
    display: flex;
    align-items: flex-end;
	margin-bottom: .8em;

	font-weight: 700;
	color: var(--main-typo-color);
    text-decoration: none;
}

@media (min-width: 992px) {
	.acf-ekg-link a,
    .acf-ekg-link a:is(:hover, :focus, :active, :visited) {
		font-size: 2.4rem;
	}
}

.acf-ekg-link a::after {
    content: url(images/svg/Button_link_Icon.svg);
    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
    width: 26px;
    height: 26px;
    margin-left: 1em;
}
.acf-ekg-link a:hover::after {
    background-color: var(--wp--preset--color--blau);
}


.acf-ekh-linkliste-2025 {
    background-image: url(images/svg/szh_251113_bildmarke_ekg_web_rgb.svg);
    background-size: 50% auto;
    background-position: right top;
    background-repeat: no-repeat;
    padding-top: 119px;
}
@media (min-width:768px) {
    .acf-ekh-linkliste-2025 {
        background-size: 40% auto;
        background-position: left 33% top 50%;

        padding-top: 0px;
    }
}
@media (min-width:992px) {
    .acf-ekh-linkliste-2025 {
        background-size: 40% auto;
        background-position: left 25% bottom;

        padding-bottom: 227px;
    }
}


.team-container {
    padding-top: 64px;
    padding-bottom: 32px;
}
@media (min-width:768px) {
    .team-container {
        padding-top: 96px;
        padding-bottom: 64px;
    }
}
.team-zeile {
    border-top: 2px solid black;
    padding-top: 12px;
    padding-bottom: 12px;
    padding-left: 16px;
    padding-right: 16px;
}

.team-zeile:last-child {
    border-bottom: 2px solid black;
}

.team-namens-link {
    background-color: var(--wp--preset--color--dunkelblau);
    width: 24px;
    height: 24px;
    line-height: 24px;
    color: #fff;
    margin-right: 3px;
    text-align: center;
}
.team-namens-link a,
.team-namens-link a:is(:hover, :focus, :active, :visited) {
    color: #fff;
    text-decoration: none;
    font-weight: 400;
}


.ansprechperson {
    max-width: 312px;
    margin: 32px auto 32px auto;
    color: #fff;

    padding: 40px 49px 104px 49px;
}
@media (min-width:768px) { 
    .ansprechperson { 
        padding: 40px 54px 90px 54px;
        margin: 60px 0px 68px auto;
    }
}
@media (min-width:992px) { 
    .ansprechperson { 
        margin: 0px 0px 0px auto;
    }
}

.ansprechperson-bild {
    aspect-ratio: 1;
    object-fit: cover;
    width: 214px;
    display: block;
    margin: auto;
    margin-bottom: 35px;
    border-radius: 50%;
}

.ansprechperson.weisse-ecke::after {
    height: 90px;
}


/* Fächer Archiv */
.faecherliste-fach {
    border-top: 2px solid #000;
    padding: 10px 11px 10px 13px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.faecherliste-fach:last-child {
    border-bottom: 2px solid #000;
}
@media (min-width:768px) {
    .faecherliste-fach {
        padding: 15px 18px 15px 24px;
    }
}

.faecherliste-fach a {
    font-size: 1.6rem;
    color: #000;
    text-decoration: none;

    display: inline-block;
}

.faecherliste-fach a > img {
    width: 26px;
    height: 26px;
}

.faecherliste-fach a.wp-post-link {
    background-color: var(--wp--preset--color--dunkelblau);
  border-radius: 50%;
  display: flex;
}

.faecherliste-fach:hover a.wp-post-link {
    background-color: var(--wp--preset--color--blau);
}


a.mit-pfeil,
.mit-pfeil>a {
    display: flex;
    align-items: center;
}
a.mit-pfeil:after,
.mit-pfeil>a:after {
    content: url(images/svg/Button_link_Icon.svg);
    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 50%;
    width: 26px;
    height: 26px;
    margin-left: 20px;
}

a.mit-pfeil:hover:after,
.mit-pfeil>a:hover:after {
    background-color: var(--wp--preset--color--blau);
}

/* ende individuell für Kunden */



/* FOOTER */
.page-footer {
	position: relative;
	z-index: 999; /* 999 max weil 1000 ist dropdown z-index der drüber liegen muss */

	box-shadow: none;

	padding: 34px 0 33px 0;
	margin: 0 0 0 0;

    background-color: var(--wp--preset--color--dunkelblau);
    color: var(--wp--preset--color--weiss);

    padding-left: var(--abstand-links);
    padding-right: var(--abstand-rechts);
}
@media (min-width:768px) {
    .page-footer { 
        padding-top: 51px;
        padding-bottom: 50px; 
    }
}
@media (min-width:992px) {
    .page-footer { 
        padding-top: 53px;
        padding-bottom: 52px; 
    }
}
@media (min-width:1400px) {
    .page-footer { 
        padding-left: 0;
        padding-right: 0; 
    }
}

.page-footer,
.page-footer p {
    font-size: 1.4rem;
    line-height: var(--main-line-height);
	font-weight: 600;
}



.page-footer a,
.page-footer a:is(:hover, :focus, :active, :visited) {
	color: #fff;
	text-decoration: none;

	font-size: 1.4rem;
    line-height: var(--main-line-height);
	font-weight: 600;
}


.page-footer .menu {
	padding: 0;
	margin: 0;
    line-height: 1em; /* wichtig, damit sich border zwischen navigations-items nicht zu lang streckt */
	
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: space-between;

	list-style: none;	
}

/*
.page-footer #menu-footer {
	justify-content: center;
}
@media (min-width:992px) {
	.page-footer .menu {
		flex-direction: row;
	}
}
*/

.page-footer .menu a {
    color: #fff;
    padding: 0 0px 0 0px;
	
    font-size: 1.4rem;
    line-height: 2em;
    font-weight: 600;
    text-transform: uppercase;
}


/* ENDE FOOTER */



#scrolltop {
    --scrolltop-breite: 64px;
    --scrolltop-hoehe: 40px;

    /*
	position: fixed;
	bottom: var(--scrolltop-hoehe);
	right: calc( ((100vw - var(--max-site-width)) / 2) + var(--scrolltop-breite) );
	*/
    position: sticky;
    z-index: 111;
    top: auto;
	bottom: var(--scrolltop-hoehe);
	left: calc( ((100vw - var(--max-site-width)) / 2) + (var(--max-site-width) - (var(--scrolltop-breite)) * 2) );
    margin-top: calc(-1 * var(--scrolltop-hoehe));

    cursor: pointer;
	background-image: url(images/svg/Button_nach_oben_Icon.svg);
	background-repeat: no-repeat;
	background-size: var(--scrolltop-breite) var(--scrolltop-hoehe);
	width: var(--scrolltop-breite);
	height: var(--scrolltop-hoehe);

    background-color: var(--wp--preset--color--dunkelblau);
    border-radius: 21px/50%;

    margin-bottom: 1em;
}
#scrolltop:hover { background-color: var(--wp--preset--color--blau); }


.g-5 > .container-fluid > .row, .gy-5  > .container-fluid > .row {
	--bs-gutter-y: 3rem;
}
.g-5 > .container-fluid > .row, .gy-5  > .container-fluid > .row {
	--bs-gutter-x: 3rem;
}


.hyphens-auto {
	hyphens: auto; 
}


.col-12.col-6 {
    flex: 0 0 auto;
    width: 50%;
}