/*
 * 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: 5.3.2
 * Template Version: 5.3.2-2022-05-12
 * 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 - 2022
 */

/* 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.667em;
}

/* Safari Problem mit horizontalem Scrollen */
html, body {
	max-width: 100vw;
	overflow-x: hidden;
}
/**/


body {
	/***/
	--main-color: var(--wp--preset--color--orange);
	--main-typo-color: var(--wp--preset--color--typograu);
	/** weitere farben für FGM
	--wp--preset--color--menuegrau
	--wp--preset--color--footergrau
	--wp--preset--color--schwarz
	--wp--preset--color--weiss
	--wp--preset--color--lightgrey
	*/
		
	margin: 0;
	padding: 0;
	font-family: 'TheSans', Arial, sans-serif !important; /*  */
	/* font-family muss important sein für überschriften da diese in type.css von BS sonst überschrieben werden */
	font-weight: 200;
	color: var(--main-typo-color);


	background-color: #fff;
	overflow-x: hidden;
	/**/
	--max-site-width: 1200px;

	font-size: 1.8rem;
	line-height: 1.2em;
	opacity: 1;
	transition: opacity 1.4s ease-in-out;
}

@media (min-width: 992px) {
	body {
		font-size: 2rem;
		line-height: 1.4em;
	}
}



p {
	line-height: 1.4em; /* irgendwie klappt sonst das inline-verändern von schriftgrößen nicht */
	margin-bottom: 1rem;
}

@media(max-width:767px) {
	p {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}


b, strong {
	font-weight: 700;
}


/* BS5 reset */
/* verursacht mobil einen rand - der ist aber bei bildern nicht gewollt in FGM
bei anderen seiten schon weil es die lesbarkeit verbessert mit mehr rand */

.row {
	--bs-gutter-x: 15px!important;
}
@media (max-width:991px) {
	/* den verursachten rand muss ich anders beheben, da sonst der abstand einfach wirklich viel zu gering ist */
	.row {
		margin-right: calc(-1 * var(--bs-gutter-x));
		margin-left: calc(-1 * var(--bs-gutter-x));
	}

	.row > * {
		
		/*padding-right: var(--bs-gutter-x);*/
		padding-right: calc(var(--bs-gutter-x) * 1.5);
		/*padding-left: var(--bs-gutter-x);*/
		padding-left: calc(var(--bs-gutter-x) * 1.5);
	}
}
@media (min-width:991px) {
	.row {
		--bs-gutter-x: 2.5rem!important;
	}
}

/* wp5.9 bzw block oriantation stuff */
/* das is quark das - das gibt nur die orientierung an also row oder column von flex. da fehlt noch irgendwo die klasse zum zentrieren */
/*
.row[orientation=horizontal] {
	justify-content: center;
}
*/

.container-fluid {
	margin-left: auto;
	margin-right: auto;
}
.container-fluid.max-width-true {
	max-width: var(--max-site-width);
}

.container-fluid .container-fluid {
	padding-right: 0;
	padding-left: 0;
}

.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-color);
	font-size: 1.6rem;
	line-height: 1.4em;
}




/* wordpress klassen */
.alignright {
	float: right;
	margin-left: 15px;
	margin-bottom: 15px;
}

.alignleft {
	float: left;
	margin-right: 15px;
	margin-bottom: 15px;
}

.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

/**/
@media (max-width:992px) {
	.full-size-mobile,
	.full-size-mobile > .container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
}


/* WP 6.2 reset */
:where(.is-layout-flex) {
	gap: 0;
}
body .is-layout-flex {
	align-items: start;
}

/* bootstrap heading-reset */
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: 400;
	font-family: "TheSans", Arial, sans-serif;
}
@media (max-width: 340px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		-moz-hyphens: auto;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}

h1,
h1 a, h1 a:is(:hover, :focus, :active, :visited) {
	/* TheMix SemiCondensed SemiBold, 52/55, V/A: 20 
	Absatzabstand nach unten zu Byline: 10,5 */

	font-family: 'TheMixSCd', sans-serif;
	font-weight: 600;
	color: var(--wp--preset--color--orange);

	font-size: 3rem;
	line-height: 3.2rem;
	text-decoration: none;

	
}
h1 { margin-bottom: 1.05rem; }

@media(min-width:1440px) {
	h1,
	h1 a, h1 a:is(:hover, :focus, :active, :visited) {	
		font-size: 5.2rem;
		line-height: 5.5rem;
		letter-spacing: .02em;
	}
}

.byline {
	font-size: 2.7rem;
	color: #aaaaaa;
	margin-top: 1.05rem;
	display: inline-block;
}
@media(min-width:1440px) {
	.byline {
		font-size: 4.5rem;
		line-height: 4.8rem;
	}
}


h2,
h2 a, h2 a:is(:hover, :focus, :active, :visited) {
	font-family: "TheSans", Arial, sans-serif;
	font-weight: 700;
	color: var(--wp--preset--color--orange);

	font-size: 2rem;
	line-height: 2.3rem;
	text-decoration: none;
}
h2 { margin-bottom: 1rem; }

@media(min-width:992px) {
	h2,
	h2 a, h2 a:is(:hover, :focus, :active, :visited) {
		font-size: 2.3rem;
		line-height: 2.7rem;
	}
}


h3,
h3 a, h3 a:is(:hover, :focus, :active, :visited) {
	font-family: "TheSans", Arial, sans-serif;
	font-weight: 700;
	font-size: 2rem;
	line-height: 2.3rem;
	color: var(--main-typo-color);
	position: relative;
	text-decoration: none;
}
h3 { margin-bottom: 1rem; }

@media (min-width: 992px) {
	h3,
	h3 a, h3 a:is(:hover, :focus, :active, :visited) {
		font-size: 2.1rem;
		line-height: 2.5rem;
	}
}

h1 + h2,
h2 + h3,
h1 + h3 {
	margin-top: -1rem;
}



h4,
h4 a, h4 a:is(:hover, :focus, :active, :visited) {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1.375em;
	color: var(--main-typo-color);
	text-decoration: none;
	position: relative;
}
h4 { margin-bottom: 1rem; }


@media (min-width: 992px) {
	h4,
	h4 a {
		font-size: 2rem;
	}
}


h5,
h5 a, h5 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.6em;
	font-weight: 400;
	color: var(--main-typo-color);
	text-decoration: none;
	margin-bottom: .4em;
	letter-spacing: .05em;
}


h6,
h6 a, h6 a:is(:hover, :focus, :active, :visited) {
	font-size: 1.167em;
	font-weight: 900;
	color: var(--main-typo-color);
}


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;
}


.btn-info a {
	position: relative;
}



/* Nur wenn Bootstrap-Slider verwendet wird: */
.carousel {
	overflow: hidden;
    margin: auto;
	z-index: 99;

	/*max-width: var(--max-site-width);*/
}


.carousel-fade .carousel-item {
	transition: opacity 0.5s linear;
}

.carousel-inner .carousel-item > *,
.carousel-inner .carousel-item img,
.carousel-inner .carousel-item > a img {
	width: 100%;
	margin: auto;
	object-fit: cover;
	/*individuell*/
	min-width: 100%;
	max-height: 70vh;
	object-position: center center;
}


.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%; 
}

/* nur wenn font awesome icon genutzt wird nötig */
/*
.carousel-control-prev i,
.carousel-control-next i {
	font-size: 2.5rem;
	opacity: 0.6;
}
@media(min-width:992px){
	.carousel-control-prev i,
	.carousel-control-next i {
		font-size: 6.8rem;
	}
}
*/
/* ende nur wenn font awesome icon genutzt wird nötig */

.carousel-control-prev,
.carousel-control-next {
	width: 10%;
}

.carousel-control-next-icon,
.carousel-control-prev-icon {
	width: 6rem;
	height: 6rem;
}


.carousel-indicators {
	bottom: 15px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;

	display: none;
}

.carousel-indicators li {
	background-color: #fff;
	height: 12px;
	width: 12px;
	margin-left: 4px;
    margin-right: 4px;
	border-radius: 50%;
}

.carousel-indicators li.active {
	background-color: var(--main-color);
}

.carousel-caption {
	font-size: 1.8rem;
	line-height: 1.364em;
	font-weight: 400;
	color: var(--wp--preset--color--dunkelgrau);
	text-align: left;
	
	position: absolute;
	top: 0;
	left: 0;
    right: 0;
	bottom: 0;

	width: 100%;
	margin: 0;
	padding: 5% 0 0 0;
}


@media (min-width: 768px) {
	.carousel-caption {	
		font-size: 2rem;
	}
}
@media (min-width: 992px) {
	.carousel-caption {
		max-width: calc(100vw - 60px);
		margin-left: auto;
		margin-right: auto;
	}
}

@media (min-width: 1660px) {
	.carousel-caption {
		max-width: var(--max-site-width);
	}
}

.carousel-caption a,
.carousel-caption a:is(:hover, :focus, :active, :visited) {
	text-decoration: none;
}



.slider-headline {
	font-weight: 800;
	font-size: 2.5rem;
	line-height: 1.1em;

	border: 0;
    width: calc(100% - 20%); /* 100% abzüglich Platz für Pfeile */
    border-radius: 0;

	margin: auto;
	padding: 20px 20px 0 20px;
	
	background-color: #fff;
}
.slider-headline::first-line {
	font-weight: 300;
}

@media (min-width: 768px) {
	.slider-headline {
		font-size: 6rem;
		width: calc(75% - 20%); /* 100% abzüglich Platz für Pfeile */
		padding: 20px 90px 0 20px;
		margin: 0;
	}
}

.slider-subline {
	width: calc(100% - 20%);
	padding: 0 10px 20px 20px;
	margin: auto;

	background-color: #fff;
	hyphens: auto;
}
@media (min-width: 768px) {
	.slider-subline {
		display: block;
		width: calc(75% - 20%); /* 100% abzüglich Platz für Pfeile */
		padding: 0 90px 20px 20px;
		margin: 0;
		hyphens: none;
	}
}
/* 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: 9970;

	box-shadow: 0 0 10px rgba(0,0,0,.35);
}


.navbar {
	background-color: transparent;
}

@media (min-width:992px) {
	.navbar {
		background-color: transparent;
	}
}

.navbar > .row {
	width: calc(100% + 30px);
}

/* mobiler Button */
.navbar-toggler {
	background-color: transparent;
	border: 0px;
	border-radius: 0px;
	padding: 0;
	/* nach oben rutschen weil genaues center nicht gefällt (FGM) */
	transform: translateY(-6px);
}

.navbar-toggler:focus,
.navbar-toggler:hover {
	background-color: transparent;
	box-shadow: none; /* BS5 reset */
}

.navbar-toggler .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28170, 170, 170, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='4' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	width: 100%;
	height: 100%;
	background-position: center top 25px;
}




/* Ende mobiler Button */
.navbar-brand {
	/* bootstrap resets */
	line-height: 100%;
	height: auto;
	/* individuell */
	width: 100%; /* FF benötigt original-breite hier */
	max-width: 100%; /* damits nicht über rahmen ragt */
	display: block;
	padding: 12px 0 0 0;
	margin: 0;
}



.logo {
	display: block;
	margin: 0 0 20px 0;
	text-indent: 0px;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* individuell */

}



.navbar-collapse {
	position: absolute;
	width: calc(100%);
	z-index: 100;

	/* individuell */
	left: 0; /*wegen fixer navbar - sonst hängt menü nicht links */
	top: 100%; /*wegen fixer navbar - sonst hängt menü am oberen bildschirmrand*/
	background-color: #fff;
}



@media (min-width: 992px) {
	.navbar-collapse {
		position: static;
		width: auto;
		padding: 0;
		/* individuell */
		background-color: transparent;
	}
}

/******************/
.nav li + li > a {
	border-top: 1px solid #a6a6a6;
}
.dropdown-menu li + li > a {
	border-top-color: #717070;
}
@media (min-width: 992px) {
	.nav li + li > a {
		border-top: none;
		border-left: 1px solid var(--main-color);
	}
}

/******************/


/* Menü - Ebene 1 und tiefer */
.wp-block-navigation-item a, /* since WP5.9 */
.nav > li a {
	font-family: 'TheSans', Arial, Helvetica, sans-serif;
	color: #ffffff;
	font-size: 1.4rem;
	line-height: 1.857em;
	font-weight: 400;

    text-transform: uppercase;
	text-decoration: none;

	display: block;
	background: #717070;

	padding-top: 6px;
	padding-bottom: 6px;
	padding-left: 20px;
	padding-right: 20px;

	letter-spacing: .1em;
}





/* 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: 700;
	color: var(--main-color);
}



@media (min-width: 992px) {
	.nav > li {
		flex: 1 1 auto !important;
	}

	.wp-block-navigation-item a, /* since WP5.9 */
	.nav > li a {
		font-size: 1.5rem;
		color: var(--wp--preset--color--menuegrau);
		font-weight: 200;
		letter-spacing: .065em;
		background: transparent;

		padding-left: 0px;
		padding-right: 0px;
		text-align:center;

		padding-top: 0px;
		margin-top: 6px;
		padding-bottom: 0px;
		margin-bottom: 6px;
	}
	
	.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]) {
		font-weight: 600;
	}

}


.menu-item-has-children {
	cursor: pointer;
	position: relative; /*for position of menu level 3*/
	background: transparent; /*mobile*/
}

.dropdown-toggle::after {
	/* BS4 reset*/
	display: none;
}

/* 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{ display: block; }
}	
/* ============ 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: 0px 0 0 0;/* war 15px 0 0 0 aber ich glaube das soll nicht */
	margin: 0;
	border: 0;
	border-radius: 0;
	font-size: 100%;

	/*mobile*/
	width: 100%;

	/* WP5.9 reset */
	left: 0 !important;

}

@media (min-width: 992px) {
	.dropdown-menu[data-bs-popper],
	.dropdown-menu {
		white-space: nowrap;
		top: 100%;
		font-size: 0;

		padding-top: 35px;
		background: transparent;
	}

	.dropdown-menu {
		width: auto;
	}

	/* spezialmenü annette österreicher */
	.navbar .menu-item:hover>.dropdown-menu{ display: flex; } /* flex anstatt block; dann orientiert sich die breite an den kindern */

	.dropdown-menu > li.arrow::after {
		content: '\f04b';
		font-family: 'Font Awesome 5 Free';
		font-weight: 900; /* important for FA5 and FA6 */
		color: #fff;
		font-size: 35px;
		display: block;
		position: absolute;
		top: auto;
		bottom: 27px;
		left: 60px;
		right: auto;
		transform: rotate(-90deg);
	}
	
	.dropdown-menu.toleft {
		left: auto!important;
		right: 0;
	}
	.dropdown-menu .dropdown-menu > li.right {
		float: right;
	}
	.dropdown-menu > li.arrow.right:after {
		right: 60px;
		left: auto;
	}

	/* Menüpunkte auch am Desktop nebeneinander */
	.dropdown-menu > li {
		display: inline-block;
		background-color: #fff;
		padding: 0;
	}

	.dropdown-menu > li a {
		display: inline-block;
		background-color: #fff;
		padding: 0 15px;
	}
	/* ENDE spezialmenü annette österreicher */
}




.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content, /* neuer WP5.9 selektor */
.dropdown-menu li a {
	color: var(--main-typo-color);
	background-color: #fff;
	font-weight: 200;
	text-transform: uppercase;
}

.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(--main-typo-color);
	background-color: #fff;
}


@media (min-width: 992px) {
	.wp-block-navigation :where(.wp-block-navigation__submenu-container) .wp-block-navigation-item__content, /* neuer WP5.9 selektor */
	.dropdown-menu li a {
		font-size: 1.4rem;
		letter-spacing: 0.06em;
	}

	.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*/
		font-weight: 700;
		color: var(--main-color);
	}
}



/* Menü dritte ebene */
.dropdown-menu .dropdown-menu li::before {
	display: inline;
	color: var(--main-color);
	padding-right: 10px;
}
@media (min-width: 992px) {.dropdown-menu .dropdown-menu li::before {display: none;}}


.dropdown-menu .dropdown-menu li a {
	font-weight: 200;
	text-transform: none;
	letter-spacing: 0;
}

/* end menü dritte ebene */




/* polylang custom stuff */
/*
.pll-switcher {
	max-width: 100%;
}


.pll-switcher .btn {
	padding: 0;
	width: 100%;
	background:transparent;
}

.pll-switcher .btn img {
	width: 55px;
}


.pll-switcher .dropdown-menu {
	left: auto;
	right: 0;
	min-width: 170px;
	background-color: var(--main-color);
	background-image: none;
    border-radius: 4px;
}

.lang-item a img {
    margin-right: 10px;
}


.pll-switcher .dropdown-menu li a {
	display: flex;
	align-items: center;
	padding: 8px 16px 0px 8px;
	background-color: transparent;
	color: #fff;
}
.pll-switcher .dropdown-menu li a img {
	width: 55px;
	height: auto;
}
*/
/* end polylang custom stuff */


/* max mega menu */
/*
.max-mega-menu > .mega-menu-item > ul.mega-sub-menu {
	box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.3) !important;
}
*/




/* 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 */
}



a,
a:is(:hover, :focus, :active, :visited) {
	color: var(--main-color);
	text-decoration: none;
	font-weight: inherit;
}


.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 {
	padding-left: 9px; /* 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: 2rem; /* Abstand zu den Aufzählungszeichen */
	margin-bottom: 1em;

	/*font-weight:bolder;*/ /* 1 schnitt fetter als fließtext */


}

main ol:not(.carousel-indicators) li::before {
	content: counter(list-item) ".";

	color: var(--main-color);
	font-size: inherit;
	font-weight: 700;

	text-align: right;
}

main ul: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(--main-color);
	font-size: inherit;
	font-weight: 700;
}
/* 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,
main ul {
	padding-left: 8px;
}

main ol:not(.carousel-indicators) li::before {
	margin-left: calc(-4px - 2rem);
	padding-right: 1rem;
}
@media (min-width:992px) {
	main ol:not(.carousel-indicators) li::before {
		margin-left: calc(-4px - 2rem);
		padding-right: 2rem;
	}
}

main ul: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(-9px - 2rem);
	padding-right: 2rem;
}
/**/

/* ENDE LISTEN */



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: 100%;
}

/* moobil jedes bild - vielleicht ist das aber zu viel des guten */
/*
@media (max-width:991px) {
	.row > * .size-full {
		width: calc( 100% + calc( 2 * var(--bs-gutter-x) ) );
		max-width: unset;
		margin-left: calc(-1 * var(--bs-gutter-x));
		margin-right: calc(-1 * var(--bs-gutter-x));
	}
}
*/
/* bild mit only child funzt auch wenn es nur 1 child gibt aber mehrere kinder von row oder 2 row in einander verschachtelt sind
.row > *:only-child .size-full {
	width: calc( 100% + calc( 2 * var(--bs-gutter-x) ) );
	max-width: unset;
	margin-left: calc(-1 * var(--bs-gutter-x));
	margin-right: calc(-1 * var(--bs-gutter-x));
}
*/

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;
}


@media(min-width:992px) {
	.twenty-top {
		position: relative;
		top: -20%;
		margin-bottom: -15%;
	}

	.fifty-top {
		position: relative;
		top: -50%;
		margin-bottom: -35%;
	}
}


.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;
	}
}

/* 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 {
	width: 100%;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:focus,
main a.btn-primary,
main a.btn-primary:not(:disabled):not(.disabled):active,
main a.btn-primary:hover,
main a.btn-primary:focus  {
	padding: 10px 25px;
	background: var(--main-color);
	color: #fff;
	border: 1px solid var(--main-color);
	font-weight: 600;
}

.bg-info:not(.whitebg) .btn-primary {
	background-color: #fff;
	border-color: #fff;
	color: inherit;
}



/*neu seit SEP21*/
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:focus,
main a.btn-secondary,
main a.btn-secondary:not(:disabled):not(.disabled):active,
main a.btn-secondary:hover,
main a.btn-secondary:focus  {
	padding: 10px 25px;
	background: #fff;
	color: inherit;
	border: 1px solid #fff;
	font-weight: 600;
	border-radius: 50px;
}




.btn-info,
.btn-info:hover,
.btn-info:active,
.btn-info:focus,
main a.btn-info,
main a.btn-info:not(:disabled):not(.disabled):active,
main a.btn-info:hover,
main a.btn-info:focus {
	color: #000000;
	border: none;
	background: transparent;
	padding: 0 25px 0 25px;
	margin-bottom: 0;
	text-align: left;
	white-space: normal;
}

.btn-info.is-checked {
	font-weight: 700; 
	font-size: 6rem;
	line-height: 1em;
	text-transform: uppercase;
}
@media (min-width:1140px) {
	.btn-info.is-checked {
		font-size: 10rem;
	}
}



.btn-submit,
.btn-submit:hover,
.btn-submit:active,
.btn-submit:focus {
	width: 100%;
    background: var(--main-color);
    border: 2px outset;
    border-radius: 8px;
    border-top-color: #accc57;
	border-left-color: #accc57;
	border-right-color: #6d8f18;
	border-bottom-color: #6d8f18;
	text-transform: uppercase;
	letter-spacing: .3em;
    font-weight: 600;
    color: #fff;
    padding: 10px;
}


.btn-download,
.btn-download:hover,
.btn-download:not(:disabled):not(.disabled):active,
.btn-download:focus,
main a.btn-download,
main a.btn-download:not(:disabled):not(.disabled):active,
main a.btn-download:hover,
main a.btn-download:focus  {
	font-size: 2rem;
	font-weight: 400;
	padding: 0 5px;
	background: transparent;
	color: #fff;
	border: 2px solid #fff;
	box-shadow: 3px 3px 7px 3px rgba(0,0,0,.17);
	border-radius: 4px;
    text-shadow: 0px 0px 3px rgba(0,0,0,.4);
}


@media(min-width:992px) {
	.btn-download,
	.btn-download:hover,
	.btn-download:not(:disabled):not(.disabled):active,
	.btn-download:focus,
	main a.btn-download,
	main a.btn-download:not(:disabled):not(.disabled):active,
	main a.btn-download:hover,
	main a.btn-download:focus  {
		font-size: 2.4rem;
	}
}

.btn-download:before {
	content: url(http://2021.looks-ev.de/wp-content/uploads/2021/01/pdf_icon.png);
	display:inline-block;
    padding: 10px;
	border-right: 2px solid #fff;
	/*margin-right: 1rem;*/ /* nicht mit margin arbeiten bitte, sondern mit padding - bei zweifeln bitte den unterschied recherchieren oder im nächsten telefonat ansprechen :-) */
}

.btn-download span {
    padding: 20px;
}



.has-gruen-background-color,
.has-gruen-background-color a,
.has-gruen-background-color a:is(:hover, :focus, :active, :visited) {
	color: #fff;
}


.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);*/
}



.social-icon {
	display: inline-block;
    margin: 15px;
}
    

.search-form-container {
	padding-top: 0;
	z-index: 1;
	width: auto;
}

input[type="search"].search-field {
	height: 43px;
    box-shadow: 0 0 7px 3px rgba(0,0,0,.27);
    border-radius: 0;
}
@media(min-width:768px){
	input[type="search"].search-field {
		height: 56px;
	}
}

.header-search input[type="submit"] {
	font-family: "Font Awesome 5 Free";
	font-size: 1.333em;
	font-weight: 900;
	padding: 7px;
    background: transparent;
    border: none;
    margin-left: -41px;
    border-radius: 4px;
    cursor: pointer;
    color: lightgray;
}


/* 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: 8px 15px;
    height: auto;
    margin: 0;
    border: none;
    box-shadow: none;
    border-radius: 4px;
	font-size: 1.7rem;
	box-shadow: inset 7px 7px 7px -3px rgba(0,0,0,.27);
}




input[type="checkbox"] {
	margin-right: 5px;
}

label {
	width: 100%;
}

textarea {
	width: 100%;
}

.formular {
	padding-top: 70px;
	padding-bottom: 75px;
	color: #fff;
}


@media(min-width:768px) { .form-group { margin-bottom: 2rem; } }

/* ENDE FORMS STYLES */

/* caldera forms is gone - now its ninja forms */

.bg-lightgrey {
	background-color: var(--wp--preset--color--lightgrey);
}

.bg-lightorange {
	background-color: var(--wp--preset--color--lightorange);
}

/* erstmal die infos zu pflichtfeld von oben nach unten */
.nf-form-layout > form > div {
	display: flex;
	flex-direction: column;
}
.nf-form-layout > form > div > .nf-before-form-content {
	order: 3;
	width: 100%;
	background-color: var(--wp--preset--color--lightorange);
	padding-left: 15px;
	padding-right: 15px;
}
.nf-form-layout > form > div > .nf-before-form-content nf-section {
	display: block;
	width: 100%;
	max-width: var(--max-site-width);
	margin: 15px auto 15px auto;

}

/**/

.nf-field,
.nf-response-msg {
	display: flex;
	flex-direction: row;

	width: 100%;
	max-width: var(--max-site-width);
	margin: auto;
}

.nf-response-msg {
    font-weight: 700;
    color: var(--wp--preset--color--orange);
}

nf-field > .nf-field-container,
nf-field > .field-wrap {
	display: flex;
	flex-flow: row wrap !important;
	flex: 1 1 auto;
	padding-left: 15px;
	padding-right: 15px;
}
@media (min-width:992px) {
	nf-field > .nf-field-container,
	nf-field > .field-wrap {
		padding-left: 0;
		padding-right: 0;
	}
}

.nf-field .table > :not(caption) > * > * {
	padding-left: 0;
}



/* reset */
#ninja_forms_required_items, .nf-field-container {
	margin: 0!important;
	padding-top: 45px;
	padding-bottom: 10px;
}
@media (min-width:992px) {
	#ninja_forms_required_items, .nf-field-container {
		padding-bottom: 50px;
	}
}


.list-checkbox-wrap .nf-field-element li::before, 
.list-image-wrap .nf-field-element li::before, 
.list-radio-wrap .nf-field-element li::before {
	content: normal;
	display: none;
}

/* Beschreibung soll rechts neben den feldern stehen */
.label-above .field-wrap, 
.label-hidden .field-wrap, 
.label-below .field-wrap { width: 100%;}



.zweispaltig .nf-field-description {
	order: 16!important;
	margin-top: 35px;
}
@media (min-width:992px) {
	.zweispaltig .nf-field-description {
		width: 41.6%!important;
		order: 2!important;

		margin-top: 0px;
	}
	
	.zweispaltig .nf-field-element {
		width: 25%!important;
		margin-right: 8.33% !important;
		order: 1!important;
	}
}



/* titel darüber */
.listcheckbox-wrap .nf-field-label {
	width: 100%;
	order: 0!important;

	font-family: 'TheMixSCd';
	font-weight: 700;
	color: var(--wp--preset--color--orange);

	font-size: 2.7rem;
	line-height: 3rem;
	text-decoration: none;

	margin-bottom: 1rem;
}

@media(min-width:992px) {
	.listcheckbox-wrap .nf-field-label {
		font-size: 4.7rem;
		line-height: 5.5rem;
	}
}

/* ENDE Beschreibung soll rechts neben den feldern stehen */

.nf-field-label label {
	margin-bottom: .5em !important;
}

.list-checkbox-wrap .nf-field-element li, 
.list-image-wrap .nf-field-element li {
	clear: both;
}

/* listen mit checkboxen bekommen rand */
.list-checkbox-wrap li {
	border-top: 1px solid #ecb664;
}
.list-checkbox-wrap li:last-child {
	border-bottom: 1px solid #ecb664;
}

.list-checkbox-wrap li input {
	margin-top: 12px !important;
	margin-bottom: 8px !important;
}
.list-checkbox-wrap li label {
	margin-top: 6px !important;
	margin-bottom: 8px !important;
}
/* tabelln in der beschreibung */
.table-bordered > :not(caption) > * {
	border-color: #ecb664;
	border-width: 1px 0px 1px 0px;
}
.table-bordered > :not(caption) > * > * {
	border-width: 0px;
}

/* abstand checkbox zu label */
.list-checkbox-wrap .nf-field-element li input, .list-checkbox-wrap .nf-field-element ul input, .list-image-wrap .nf-field-element li input, .list-image-wrap .nf-field-element ul input, .list-radio-wrap .nf-field-element li input, .list-radio-wrap .nf-field-element ul input {
	margin-right: 17px!important;
}
.list-checkbox-wrap .nf-field-element li label, .list-image-wrap .nf-field-element li label, .list-radio-wrap .nf-field-element li label {
	margin-left: 0!important;
}
/**/



/* fehler und hinweise */
.nf-after-field {
	width: 100%;
}
.nf-after-field>* {
	display: block;
}

.nf-after-form,
.nf-after-form-content {
	margin: auto;
	width: 100%;
	max-width: var(--max-site-width);
}

/* spezielle felder anpassen */

/* 1. AGB Checkbox */
#nf-field-12-wrap { width: 100%; }
#nf-label-field-12 { display: flex;} /* damit * neben text */


/*
 * end caldera / ninja forms
 */


.wp-block-pullquote,
.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 {
	color: var(--main-typo-color)!important;
	font-size: 4rem;
    line-height: 1.1em;
    padding: 0px 0 0 0px;
	position: relative;
	margin-top: 0;
	margin-bottom: 1rem;
}

.wp-block-pullquote p {
	line-height: 1.1em;
}

@media(min-width:992px) {
	.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 {
		font-size: 6rem;
	}
}

.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(--main-color);
	font-style: normal;
	font-size: 0.750em;
	text-transform: uppercase;
	letter-spacing: .05em;
	font-weight: 300;
}
/*
blockquote:before {
	color: var(--main-color);
	display: block;
    content: "|";
	font-size: 100px;
	font-weight: 500;

	position: absolute;
	top: 5px;
	left: 0px;

}
*/

/* individual stuff */



.readmore,
.readmore:hover,
.readmore:focus,
.readmore:focus:hover,
.readmore:active {
	font-size: inherit;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    display: inline-block;
    margin-bottom: 1em;
}

.readmore:hover,
.readmore:focus,
.readmore:focus:hover,
.readmore:active {
	opacity: 0.95;
}


/* Herzlich Willkommen Überschrift FGM */
h1.willkommen  {
	/* The Mix SemiBold | 40 pt | ZAB: 44 pt | #aaaaaa  */
	font-family: 'TheMix';
	font-weight: 600;
	font-size: 5rem;
	line-height: 1.1em;
	color: var(--wp--preset--color--willkommengrau);
}
@media (min-width: 992px) {
	h1.willkommen {
		font-size: 6.7rem;
		line-height: 1.1em;
	}
}

/* Seiten - Teaser FGM 22 */
.wp-block-web-definer-fgm-seiten-teaser {
	padding-left: 10px;
	padding-right: 10px;
}
@media (min-width: 992px) {
	.wp-block-web-definer-fgm-seiten-teaser {
		padding-left: 0px;
		padding-right: 0px;
	}
}

.seitenteaser {
	border: 1px solid var(--wp--preset--color--footergrau); /* Rahmen: 0,5 px | #303030*/
	/* Text: TheSans Extra light | | #303030 | 15 pt/ZAB 17 pt | Absatz-Abstand nach unten: 8,5 */
	font-family: 'TheSans';
	font-weight: 200;
	color: var(--wp--preset--color--typograu);
	font-size: 1.8rem;
	line-height: 2rem;
	text-align: center;

	height: 100%;
	padding-bottom: 3.3rem;
	
}
@media (min-width: 992px) {
	.seitenteaser {
		/* Text: TheSans Extra light | | #303030 | 17 pt/ZAB 20 pt | Absatz-Abstand nach unten: 10 */
		font-size: 1.7rem;
		line-height: 2rem;
		padding-bottom: 20px;
	}
}

.seitenteaser figure {
	/*max-height: 100px;*/
	object-fit: cover;
	margin-bottom: 3rem;

	overflow: hidden;
}
@media (min-width: 992px) {
	.seitenteaser figure {
		margin-bottom: 2rem;
	}
}

.seitenteaser h2 {
	/* Headline: TheMix semi condensed 21 pt/ZAB 22 pt  | VA 20 | Absatz-Abstand nach unten: 17 | Schlagschatten: #aaaaaa 35% / Winkel 150 / Abstand 0/Überfüllen 1/ Größe 1 */
	font-family: 'TheMixScd', sans-serif;
	color: var(--wp--preset--color--orange);
	font-size: 2.5rem;
	line-height: 2.6rem;
	margin-bottom: 1.7rem;
	text-shadow: rgb(170, 170, 170, .35);

}

@media (min-width:992px) {
	.seitenteaser h2 {
		/* Headline: TheMix semi condensed 24 pt/ZAB 25 pt  | VA 20 | Absatz-Abstand nach unten: 20 | Schlagschatten: #aaaaaa 35% / Winkel 150 / Abstand 0/Überfüllen 1/ Größe 1 */
		font-size: 2.4rem;
		line-height: 2.5rem;
		margin-bottom: 2rem;

		letter-spacing: 0.02em;
	}
}

.seitenteaser p {
	padding-left: 3rem;
	padding-right: 3rem;
}

@media (min-width:992px) {
	.seitenteaser p {
		line-height: 2rem;
	}
}


.seitenteaser .btn-primary {
	/* mehr erfahren: TheMix semibold | #fa9804 | 15 pt/ZAB 17 pt  */
	font-family: 'TheMix';
	font-weight: 600;
	color: var(--main-color);
	background: transparent;
	border: 1px solid transparent;
	font-size: 1.8rem;
	line-height: 2rem;
}
@media (min-width:992px) {
	.seitenteaser .btn-primary {
		/* mehr erfahren: TheMix semibold | #fa9804 | 17 pt/ZAB 20 pt | Absatz-Abstand nach unten: 10 | Schlagschatten: #aaaaaa 35% / Winkel 150 / Abstand 0/Überfüllen 1/ Größe 1 (wie Headline)  */
		font-size: 1.7rem;
		line-height: 2rem;
		margin-bottom: 1rem;
		text-shadow: rgb(170, 170, 170, .35);
	}
}





/* ende individual stuff */


/* slick stuff */
/*
.d-flex .slick-track {
	display: flex;
}
*/


.add-shadow .slick-track {
	padding-top: 15px;
    padding-bottom: 15px;
}


.slick-slide {
	padding-left: 15px; /* nötig für schlagschatten */
	padding-right: 15px; /* nötig für schlagschatten */
}
/*
.no-shadow .slick-slide {
	padding-left: 0px; 
	padding-right: 0px; 
}
*/

.slick-slide > * {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 0 7px 0px rgba(0,0,0,.27);

	padding: 25px;
}
.no-shadow .slick-slide > * {
	box-shadow: none;
	padding: 0;
}


.slick-left,
.slick-right {
	display: block;
	position: relative;
	top: 50%;
	transform: translateY(-50%);
	margin: 0;
	padding: 0;
	overflow: hidden;
    max-width: 100%;
	cursor: pointer;
	background: transparent;
	border: none;
	color: transparent;
	transition: all 0.3s ease-in-out;

	/**weil pfeile im slider sein sollen*/
	position: absolute;
	z-index: 10;
	left: 2.5%;
}
.slick-right {
	left: auto;
	right: 2.5%;
}

.slick-left:before,
.slick-right:before {
	content: '\f053';
	font-family: "Font Awesome 5 Free";
	font-weight: 700; /* important */
	font-size: 27px;
	line-height: 1em;
	display: block;
	color: #fff;
	padding: 0;
    max-width: 100%;
}
.slick-right:before {
	content: '\f054';
}

@media(min-width:768px){
	.slick-left:before,
	.slick-right:before {
		font-size: 3.7rem;
	}
}

@media(min-width:992px){
	.slick-left:before,
	.slick-right:before {
		font-size: 6.8rem;
	}
}

.slick-item img { width: 100%;}

/* end slick stuff */

/* individual slick stuff */
@media(min-width:1400px) {
	.bg-news .container-fluid,
	.wp-block-mehne-slick-slider .container-fluid {
		max-width: calc( ( (var(--max-site-width) * 100) / ( (10 / 12) * 100 ) ) + 30px ); /* 1476px */
	}
}

.slick-slider blockquote {

	color: var(--main-color);
	font-size: 1.7rem;
	line-height: 1.375em;
	font-style: italic;
	font-weight: 300;
	padding: 0;
}
@media(min-width: 768px) {
	.slick-slider blockquote {
		font-size: 1.8rem;
		line-height: 1.278em;
	}
}
@media(min-width: 992px) {
	.slick-slider blockquote {
		font-size: 2.2rem;
		line-height: 1.273em;
	}
}

.slick-slider blockquote:before {
    position: relative;
    content: "”";
	font-size: 145px;
	margin-top: -10px;
	margin-bottom: -65px;

    line-height: .9em;
	color: var(--main-color);
	font-weight: 500;
    width: auto;
	text-align: center;
	
	display: block;
	top: 0;
}
@media(min-width: 768px) {
	.slick-slider blockquote:before {
		font-size: 150px;
		margin-bottom: -55px;
	}
}
@media(min-width: 992px) {
	.slick-slider blockquote:before {
		font-size: 180px;
		margin-bottom: -75px;
	}
}

.slick-slider blockquote cite {
	color: var(--main-color);

	font-style: normal;
	font-size: 1.3rem;
	line-height: 1.3em;
	letter-spacing: 0;
	text-transform: none;
	font-weight: 400;
}

@media(min-width: 768px) {
	.slick-slider blockquote cite {
		font-size: 1.4rem;
	}
}
@media(min-width: 992px) {
	.slick-slider blockquote cite {
		font-size: 1.7rem;
	}
}


/* end individual slick stuff */

/* news slick slider stuff */


.news-post {
	padding: 0 15px 0 15px;
}

.news-post > * {
	padding:0;
}

.news-image {
	max-height: 200px;
	object-fit: cover;
	min-width: 100%;
}

/*@media(min-width:576px) { .news-image-container,.news-image-container img { height: 194px; } }*/
@media(min-width:768px) { .news-image { height: 200px; } }


.post-category {
	text-transform: uppercase;
	font-weight: 600;
    margin-bottom: .3em;
}


.news-post h1 {
	color: var(--main-color);
	font-size: 1.9rem;
	text-align: left;
	font-weight: 700;
}

@media(min-width:768px) {
	.news-post {
		font-size: 1.6rem;
	}

	.news-post h1 {
		font-size: 2rem;
	}
}

@media(min-width:768px) {
	.news-post {
		font-size: 1.7rem;
	}

	.news-post h1 {
		font-size: 2.1rem;
	}
}

/* end news slick slider stuff */

/* */
hr {
    margin-top: 0rem;
    margin-bottom: 0rem;
    border: 0 !important;
	border-top: 1px solid var(--main-color) !important;
	background-color: transparent;
}

.page-footer hr {
	border-color: #f7e1be!important;
	margin-bottom: 1rem;
}


/* BS4 Card (Accordeon / Aufklappkarten) */
.accordion {
	margin-bottom: 35px;
}

.card {
	border: 0;
	border-radius: 0px!important; /* bs muss übertrumpft werden */
	background-color: transparent;
	padding: 0;
}
/*
@media(min-width:768px) { .card { margin-bottom: 15px; } }
@media(min-width:992px) { .card { margin-bottom: 15px; } }
*/



.card-header {
	padding: 0;
	border: 0;
	border-radius: 0!important; /* bs muss übertrumpft werden */
	background-color: transparent;
}
.accordion-variant .card-header {
	background-color: var(--main-color);
}

.card-header h3 {
	margin: 0;
	padding-top: 20px;
}

.card-header button {
	/* reset */
	width: 100%;
    border: 0;
    background: transparent;
	text-align: left;
}

.card-header h3 button {
	/* individuell */
	font-size: 2rem;
	line-height: 1.2em;
	background-color: white;
	color: var(--main-typo-color);
	font-weight: 300;
	padding: 0;
	display: flex;
}

.card-header h3 button[aria-expanded="true"] {
    background-color: white;
	color: var(--main-typo-color);
}
@media(min-width:992px) { .card-header h3 button { font-size: 3rem; } }

.card-header h3 button[aria-expanded="true"] > span {
	flex: 1;
	background: var(--wp--preset--color--grau);
	padding: 5px 15px 5px 10px;
}


.card-header button:before {
	content: '+';
	font-family: 'Font Awesome 5 Free';
	/*
	float: right;
	padding-left: 15px;
	font-size: 10px;
	*/
	background: var(--wp--preset--color--grau);
    display: inline-block;
    min-width: 35px;
    height: 35px;
	line-height: 32px;
    text-align: center;
    padding-top: 0;
    border-radius: 50%;
    margin-right: 30px;
}
.card-header button[aria-expanded="true"]:before {
	content: '-';
	line-height: 27px;
	background-color: var(--main-color);
}


.card-body {
	padding: 0 0 0 65px;
	background-color: #fff;
}

.card-body > .wp-block-web-definer-column-container {
	padding-left: 10px;
}




/*
 * 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: 80%;
	left: 5%;
	right: 5%;
	top: 10%;
	bottom: 10%;

	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 {
	background: var(--main-color);
	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-dialog-scrollable .modal-content {
	padding: 0 35px 35px 35px;
	background-color: rgba(0,0,0,.8);
	color: #fff;

	font-size: larger;
	font-weight: 700;
}

.btn-close {
	color: #fff;
}

.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;
	/*
	-webkit-box-shadow: 0 0 29px 5px rgba(0,255,77,.51);
	-moz-box-shadow: 0 0 29px 5px rgba(0,255,77,.51);
	box-shadow: 0 0 29px 5px rgba(0,255,77,.51);*/
}

/* 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;
}


.team-name {
	font-weight: 500;
	font-style: italic;
	font-size: 4rem;	
	line-height: 1em;
	text-transform: uppercase;
}
@media(min-width:992px) {
	.team-name {
		font-size: 6rem;
	}
}

/* isotope masonry */
.isotope-grid-item {
	padding: 25px;
	display: flex;
	justify-content: space-around;
}

/* FOOTER */
.page-footer {
	position: relative;
	background-color: var(--wp--preset--color--footergrau);

	color: #fff;
	font-size: 1.5rem;
	line-height: 1.077em;
	font-weight: 300;

	padding-top: 40px;
	padding-bottom: 115px;

	margin-top: 0px;
}
@media (min-width:992px) {
	.page-footer {
		font-size: 1.6rem;
		line-height: 1.250em;
		/*margin-top: 137px;*/
	}
}

.page-footer a,
.page-footer a:is(:hover, :focus, :active, :visited) {
	color: var(--main-color);
	text-decoration: none;
}


.page-footer h5 {
	font-family: 'TheMixSCd', Arial, Helvetica, sans-serif;
	font-weight: 600;
	color: var(--wp--preset--color--orange);
	font-size: 2rem;
	line-height: 1em;

	margin-bottom: .7em;
	letter-spacing: 0;
}

@media (min-width:992px) {
	.page-footer h5 {
		font-size: 2.2rem;
		line-height: 1.2em;
	}
}

.font-themixscd {
	font-family: 'TheMixSCd', Arial, Helvetica, sans-serif;
}
.font-themix {
	font-family: 'TheMix', Arial, Helvetica, sans-serif;
	font-weight: 300;
}


.page-footer h6 {
	font-family: 'TheMix', Arial, Helvetica, sans-serif;
	font-weight: 600;
	color: var(--wp--preset--color--orange);
	font-size: 1.7rem;
	line-height: 1em;

	margin-bottom: .7em;
}

@media (min-width:992px) {
	.page-footer h6 {
		font-size: 2rem;
		line-height: 1.2em;
	}
}


.page-footer .menu {
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.page-footer .menu li::before{
	content: none;
}


.page-footer .menu > li a,
.page-footer .menu > li a:is(:hover, :focus, :active, :visited) {
	color: #000;
	font-size: 1.75rem;
	line-height: 1.4em;
	text-transform: none;
	text-decoration: none;

	padding: 6px 15px 6px 15px;
}


/* ENDE FOOTER */


#scrolltop {
	position: fixed;
	bottom: 60px;
	right: 10%;
	cursor: pointer;

	background-image: url(images/bildmarke_klein_80x80px.svg);
	background-repeat: no-repeat;
	background-size: 80px 80px;
	width: 80px;
	height: 80px;
}





/* eigene Abstände */
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb25 {
	margin-bottom: 25px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb35 {
	margin-bottom: 35px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb45 {
	margin-bottom: 45px;
}
.mb50 {
	margin-bottom: 50px;
}
.mb55 {
	margin-bottom: 55px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb65 {
	margin-bottom: 65px;
}
.mb70 {
	margin-bottom: 70px;
}
.mb75 {
	margin-bottom: 75px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb85 {
	margin-bottom: 85px;
}
.mb90 {
	margin-bottom: 90px;
}
.mb95 {
	margin-bottom: 95px;
}
.mb100 {
	margin-bottom: 100px;
}
.mb110 {
	margin-bottom: 110px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb165 {
	margin-bottom: 165px;
}
.mb125 {
	margin-bottom: 125px;
}
.mb165 {
	margin-bottom: 165px;
}


/* seit BS 4 gibt es von Bootstrap Klassen für margin: */
/* https://getbootstrap.com/docs/4.1/utilities/spacing/ */

/**/
.pt5 {
	padding-top: 5px;
}
.pt10 {
	padding-top: 10px;
}
.pt15 {
	padding-top: 15px;
}
.pt20 {
	padding-top: 20px;
}
.pt25 {
	padding-top: 25px;
}
.pt30 {
	padding-top: 30px;
}
.pt35 {
	padding-top: 35px;
}
.pt40 {
	padding-top: 40px;
}
.pt45 {
	padding-top: 45px;
}
.pt50 {
	padding-top: 50px;
}
.pt55 {
	padding-top: 55px;
}
.pt60 {
	padding-top: 60px;
}
.pt65 {
	padding-top: 65px;
}
.pt70 {
	padding-top: 70px;
}
.pt75 {
	padding-top: 75px;
}
@media(min-width:768px) {
	.pt-md-75 {
		padding-top: 75px;
	}	
}