/* General
--------------------------------------------------------- */
.p-100 { padding: var(--space-100); }
.p-80 { padding: var(--space-80); }
.p-64 { padding: var(--space-64); }
.p-48 { padding: var(--space-48); }
.p-30 { padding: var(--space-30); }

.pt-100 { padding-top: var(--space-100); }
.pt-80 { padding-top: var(--space-80); }
.pt-64 { padding-top: var(--space-64); }
.pt-48 { padding-top: var(--space-48); }
.pt-30 { padding-top: var(--space-30); }

.pb-100 { padding-bottom: var(--space-100); }
.pb-80 { padding-bottom: var(--space-80); }
.pb-64 { padding-bottom: var(--space-64); }
.pb-48 { padding-bottom: var(--space-48); }
.pb-30 { padding-bottom: var(--space-30); }

.pl-100 { padding-left: var(--space-100); }
.pl-80 { padding-left: var(--space-80); }
.pl-64 { padding-left: var(--space-64); }
.pl-48 { padding-left: var(--space-48); }
.pl-30 { padding-left: var(--space-30); }

.pr-100 { padding-right: var(--space-100); }
.pr-80 { padding-right: var(--space-80); }
.pr-64 { padding-right: var(--space-64); }
.pr-48 { padding-right: var(--space-48); }
.pr-30 { padding-right: var(--space-30); }


@media (min-width: 768px) {
	.flex.cols-2 .flex-col {
		flex-basis: 50%;
	}
}

@media (min-width: 1440px) {
	.container {
		padding-left: var(--space-l) !important;
		padding-right: var(--space-l) !important;
	}
	.container.fullwidth {
		padding-left: 0px !important;
		padding-right: 0px !important;
	}
}

.container.container-inner {
	padding-left: 0px !important;
	padding-right: 0px !important;
}


/* Typography
--------------------------------------------------------- */
.ff-accent {
	font-family: var(--ff-accent);
	/* font-weight: 100 900 !important; */
	font-variant-numeric: slashed-zero;
}
/* .ff-accent.fw-150{font-variation-settings:var(--fw-150);}.ff-accent.fw-250{font-variation-settings:var(--fw-250);}.ff-accent.fw-350{font-variation-settings:var(--fw-350);}.ff-accent.fw-450{font-variation-settings:var(--fw-450);}.ff-accent.fw-550{font-variation-settings:var(--fw-550);}.ff-accent.fw-650{font-variation-settings:var(--fw-650);}.ff-accent.fw-750{font-variation-settings:var(--fw-750);}.ff-accent.fw-850{font-variation-settings:var(--fw-850);}.ff-accent.fw-950{font-variation-settings:var(--fw-950);}.ff-accent.fw-1000{font-variation-settings:var(--fw-1000);}.ff-accent.fw-100{font-variation-settings:var(--fw-100);}.ff-accent.fw-200{font-variation-settings:var(--fw-200);}.ff-accent.fw-300{font-variation-settings:var(--fw-300);}.ff-accent.fw-400{font-variation-settings:var(--fw-400);}.ff-accent.fw-500{font-variation-settings:var(--fw-500);}.ff-accent.fw-600{font-variation-settings:var(--fw-600);}.ff-accent.fw-700{font-variation-settings:var(--fw-700);}.ff-accent.fw-800{font-variation-settings:var(--fw-800);}.ff-accent.fw-900{font-variation-settings:var(--fw-900);} */

/* all headings */
.h1, .h2, .h3, .h4, .h5, .h6,.elementor-widget-heading h1.elementor-heading-title, h1,.elementor-widget-heading h2.elementor-heading-title, h2,.elementor-widget-heading h3.elementor-heading-title, h3,.elementor-widget-heading h4.elementor-heading-title, h4,.elementor-widget-heading h5.elementor-heading-title, h5,.elementor-widget-heading h6.elementor-heading-title, h6 {
	line-height: 1.2;
	
}
/* h1 */
.h1,.elementor-widget-heading.h1 h2.elementor-heading-title, .entry-content h2.h1, h2.h1,.elementor-widget-heading.h1 h3.elementor-heading-title, .entry-content h3.h1, h3.h1,.elementor-widget-heading.h1 h4.elementor-heading-title, .entry-content h4.h1, h4.h1,.elementor-widget-heading.h1 h5.elementor-heading-title, .entry-content h5.h1, h5.h1,.elementor-widget-heading.h1 h6.elementor-heading-title, .entry-content h6.h1, h6.h1,.elementor-widget-heading.h1 h1.elementor-heading-title, .entry-content h1, h1 {
	font-size: clamp(4.2rem, 3.807rem + 0.500vw, 4.8rem);
	text-transform: uppercase;
	line-height: 1;
}
/* h2 */
.h2,.elementor-widget-heading.h2 h1.elementor-heading-title, .entry-content h1.h2, h1.h2,.elementor-widget-heading.h2 h3.elementor-heading-title, .entry-content h3.h2, h3.h2,.elementor-widget-heading.h2 h4.elementor-heading-title, .entry-content h4.h2, h4.h2,.elementor-widget-heading.h2 h5.elementor-heading-title, .entry-content h5.h2, h5.h2,.elementor-widget-heading.h2 h6.elementor-heading-title, .entry-content h6.h2, h6.h2,.elementor-widget-heading.h2 h2.elementor-heading-title, .entry-content h2, h2 {
	font-size: clamp(2.4rem, 2.203rem + 0.300vw, 2.7rem);
	text-transform: uppercase;
	margin-bottom: var(--space-xs);
}
.single-post .h2,.single-post h2 {
	color: var(--c-graphit) !important;
}
/* h3 */
.h3,.elementor-widget-heading.h3 h1.elementor-heading-title, .entry-content h1.h3, h1.h3,.elementor-widget-heading.h3 h2.elementor-heading-title, .entry-content h2.h3, h2.h3,.elementor-widget-heading.h3 h4.elementor-heading-title, .entry-content h4.h3, h4.h3,.elementor-widget-heading.h3 h5.elementor-heading-title, .entry-content h5.h3, h5.h3,.elementor-widget-heading.h3 h6.elementor-heading-title, .entry-content h6.h3, h6.h3,.elementor-widget-heading.h3 h3.elementor-heading-title, .entry-content h3, h3 {
	font-size: clamp(2rem, 1.869rem + 0.200vw, 2.2rem);
	margin-bottom: var(--space-xs);
}
/* h4 */
.h4,.elementor-widget-heading.h4 h1.elementor-heading-title, .entry-content h1.h4, h1.h4,.elementor-widget-heading.h4 h2.elementor-heading-title, .entry-content h2.h4, h2.h4,.elementor-widget-heading.h4 h3.elementor-heading-title, .entry-content h3.h4, h3.h4,.elementor-widget-heading.h4 h5.elementor-heading-title, .entry-content h5.h4, h5.h4,.elementor-widget-heading.h4 h6.elementor-heading-title, .entry-content h6.h4, h6.h4,.elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4 {
	
}
/* h5 */
.h5,.elementor-widget-heading.h5 h1.elementor-heading-title, .entry-content h1.h5, h1.h5,.elementor-widget-heading.h5 h2.elementor-heading-title, .entry-content h2.h5, h2.h5,.elementor-widget-heading.h5 h3.elementor-heading-title, .entry-content h3.h5, h3.h5,.elementor-widget-heading.h5 h4.elementor-heading-title, .entry-content h4.h5, h4.h5,.elementor-widget-heading.h5 h6.elementor-heading-title, .entry-content h6.h5, h6.h5,.elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5 {
	
}
/* h6 */
.h6,.elementor-widget-heading.h6 h1.elementor-heading-title, .entry-content h1.h6, h1.h6,.elementor-widget-heading.h6 h2.elementor-heading-title, .entry-content h2.h6, h2.h6,.elementor-widget-heading.h6 h3.elementor-heading-title, .entry-content h3.h6, h3.h6,.elementor-widget-heading.h6 h4.elementor-heading-title, .entry-content h4.h6, h4.h6,.elementor-widget-heading.h6 h5.elementor-heading-title, .entry-content h5.h6, h5.h6,.elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	
}

.c-blau, .c-blau * {color: var(--c-blau) !important;}
.c-rot, .c-rot * {color: var(--c-rot) !important;}
.c-gelb, .c-gelb * {color: var(--c-gelb) !important;}
.c-graphit, .c-graphit * {color: var(--c-graphit) !important;}
.c-altweiss, .c-altweiss * {color: var(--c-altweiss) !important;}


@media (max-width:767px) {
	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	h5, .h5,
	h6, .h6 {
		hyphens: auto;
	}
}


.page-template-page-legal-pages h1,
.page-template-page-legal-pages h2,
.page-template-page-legal-pages h3,
.page-template-page-legal-pages h4,
.page-template-page-legal-pages h5,
.page-template-page-legal-pages h6 {
	width:100%;
}


.wp-block-button__link:focus-visible, .elementor-widget-button .elementor-button:focus-visible, input#submit:focus-visible, input[type="button"]:focus-visible, input[type="submit"]:focus-visible, input[type="reset"]:focus-visible, .button:focus-visible, button:focus-visible, #load-more:focus-visible {
	outline-color: var(--c-graphit) !important;
}
button.tab-title.graphit:focus-visible,
.t2s-col-left.bg-col-color-primary .button:focus-visible,
.t2s-col-right.bg-col-color-primary .button:focus-visible,
.widget-call-to-action.bg-color-primary .button:focus-visible,
.widget-image-boxes.box-stil-text-overlay-image .button:focus-visible {
	outline-color: var(--c-altweiss) !important;
}

/* Header
--------------------------------------------------------- */
header#main-header {
	box-shadow: none;
	background: linear-gradient(to right, var(--c-altweiss) 60%, white 60.1%);
	padding-top: 0;
	padding-bottom: 0;
}
header#main-header > .header-middle > .container > .flex-row {
	height: var(--header-height);
}
.sticky-nav {
	--header-height: 103px;
}
.header-middle .flex-col {
	width: auto !important;
	flex-basis: max-content;
}
#main-menu {
	display: flex;
	align-items: center;
}
.sub-menu {
	z-index: 2;
}
/* logo */
.logo {
	position: relative;
}
.logo img, .logo svg {
	height: 30px;
}
.mobile-menu-open .logo img, .mobile-menu-open .logo svg, .sticky-nav .logo img, .sticky-nav .logo svg {
	height: 20px;
}
.header-bg-icon {
	position: absolute;
	pointer-events: none;
	left: calc(100% + 38px);
	z-index: 0;
	height: var(--header-height) !important;
	top: 0;
	bottom: 0;
	margin: auto;
}
.burger {
	padding: 0;
	height: 50px !important;
	width: 50px !important;
	border: none;
}
.burger::before, .burger::after, .burger .patty {
	height: 5px;
	background-color: var(--c-graphit);
	width: 38px;
}
.burger::before {
	top: -22px;
}
.burger::after {
	bottom: -22px;
}
.mobile-menu-open .burger::before {
	top: 0;
}
.mobile-menu-open .burger::after {
	bottom: 0;
}

/* main menu */
#main-menu li button,
#main-menu li a {
	font-family: var(--ff-alt) !important;
	font-size: var(--fs-m);
	font-weight: var(--fw-700);
	line-height: var(--lh-m);
}
#main-menu li button.button,
#main-menu li a.button {
	margin-left: var(--gap-default) !important;
	margin-bottom: 0 !important;
}
#main-menu li button.button.altweiss.filled:active,
#main-menu li a.button.altweiss.filled:active,
#main-menu li button.button.altweiss.filled:hover,
#mobile-main-menu li a.button.altweiss.filled:hover,
#main-menu li a.button.altweiss.filled:hover {
	color: var(--c-graphit) !important;
	background-color: var(--c-graphit-50) !important;
	border-color: var(--c-graphit-50) !important;
}
#main-menu li.menu-item-has-children > button:not(.button),
#main-menu li.menu-item-has-children > a:not(.button),
#main-menu li button:not(.button), #main-menu li a:not(.button) {
	padding-left: clamp(1rem, -0.310rem + 1.700vw, 3rem);
	padding-right: clamp(1rem, -0.310rem + 1.700vw, 3rem);
}
#main-menu li.menu-item-has-children > button:not(.button),
#main-menu li.menu-item-has-children > a:not(.button) {
	padding-right: calc(clamp(1rem, -0.310rem + 1.700vw, 3rem) + 5px) !important;
	
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	right: 0;
}
#main-menu > li > button > svg,
#main-menu > li > a > svg {
	position: relative;
	top: 2px;
	margin-left: 4px;
}
#main-menu > li > .sub-menu {
	background-color: #fff;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	top: .8rem;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle,
#main-menu li.menu-item-has-children > .sub-menu-toggle svg {
	width:24px;
	height:24px;
}

#main-menu li li.current-page-ancestor > button:not(.button), #main-menu li li.current-menu-ancestor > button:not(.button), #main-menu li li.current-menu-item > button:not(.button), #main-menu li li.current-page-ancestor > a:not(.button), #main-menu li li.current-menu-ancestor > a:not(.button), #main-menu li li.current-menu-item > a:not(.button), 
#main-menu li.current-page-ancestor > button:not(.button), #main-menu li.current-menu-ancestor > button:not(.button), #main-menu li.current-menu-item > button:not(.button), #main-menu li.current-page-ancestor > a:not(.button), #main-menu li.current-menu-ancestor > a:not(.button), #main-menu li.current-menu-item > a:not(.button) {
	text-decoration: underline;
	color: var(--c-graphit);
}
#main-menu li li.current-page-ancestor > button:not(.button):hover, #main-menu li li.current-menu-ancestor > button:not(.button):hover, #main-menu li li.current-menu-item > button:not(.button):hover, #main-menu li li.current-page-ancestor > a:not(.button):hover, #main-menu li li.current-menu-ancestor > a:not(.button):hover, #main-menu li li.current-menu-item > a:not(.button):hover, 
#main-menu li.current-page-ancestor > button:not(.button):hover, #main-menu li.current-menu-ancestor > button:not(.button):hover, #main-menu li.current-menu-item > button:not(.button):hover, #main-menu li.current-page-ancestor > a:not(.button):hover, #main-menu li.current-menu-ancestor > a:not(.button):hover, #main-menu li.current-menu-item > a:not(.button):hover {
	color: var(--c-primary);
}
#main-menu li.red li.current-page-ancestor > button:not(.button), #main-menu li.red li.current-menu-ancestor > button:not(.button), #main-menu li.red li.current-menu-item > button:not(.button), #main-menu li.red li.current-page-ancestor > a:not(.button), #main-menu li.red li.current-menu-ancestor > a:not(.button), #main-menu li.red li.current-menu-item > a:not(.button), 
#main-menu li.red.current-page-ancestor > button:not(.button), #main-menu li.red.current-menu-ancestor > button:not(.button), #main-menu li.red.current-menu-item > button:not(.button), #main-menu li.red.current-page-ancestor > a:not(.button), #main-menu li.red.current-menu-ancestor > a:not(.button), #main-menu li.red.current-menu-item > a:not(.button) {
	text-decoration: underline;
	/* color: var(--c-graphit); */
	color: var(--c-rot);
}
#main-menu li.red a:not(.button):hover, #main-menu li.red li button:not(.button):hover, #main-menu li.red button:not(.button):hover, #main-menu li.red li a:not(.button):hover {
	color: var(--c-rot);
}

#main-menu li.blue li.current-page-ancestor > button:not(.button), #main-menu li.blue li.current-menu-ancestor > button:not(.button), #main-menu li.blue li.current-menu-item > button:not(.button), #main-menu li.blue li.current-page-ancestor > a:not(.button), #main-menu li.blue li.current-menu-ancestor > a:not(.button), #main-menu li.blue li.current-menu-item > a:not(.button), 
#main-menu li.blue.current-page-ancestor > button:not(.button), #main-menu li.blue.current-menu-ancestor > button:not(.button), #main-menu li.blue.current-menu-item > button:not(.button), #main-menu li.blue.current-page-ancestor > a:not(.button), #main-menu li.blue.current-menu-ancestor > a:not(.button), #main-menu li.blue.current-menu-item > a:not(.button) {
	text-decoration: underline;
	/* color: var(--c-graphit); */
	color: var(--c-blau);
}
#main-menu li.blue a:not(.button):hover, #main-menu li.blue li button:not(.button):hover, #main-menu li.blue button:not(.button):hover, #main-menu li.blue li a:not(.button):hover {
	color: var(--c-blau);
}

#main-menu li.yellow li.current-page-ancestor > button:not(.button), #main-menu li.yellow li.current-menu-ancestor > button:not(.button), #main-menu li.yellow li.current-menu-item > button:not(.button), #main-menu li.yellow li.current-page-ancestor > a:not(.button), #main-menu li.yellow li.current-menu-ancestor > a:not(.button), #main-menu li.yellow li.current-menu-item > a:not(.button), 
#main-menu li.yellow.current-page-ancestor > button:not(.button), #main-menu li.yellow.current-menu-ancestor > button:not(.button), #main-menu li.yellow.current-menu-item > button:not(.button), #main-menu li.yellow.current-page-ancestor > a:not(.button), #main-menu li.yellow.current-menu-ancestor > a:not(.button), #main-menu li.yellow.current-menu-item > a:not(.button) {
	text-decoration: underline;
	/* color: var(--c-graphit); */
	color: var(--c-gelb);
}
#main-menu li.yellow a:not(.button):hover, #main-menu li.yellow li button:not(.button):hover, #main-menu li.yellow button:not(.button):hover, #main-menu li.yellow li a:not(.button):hover {
	color: var(--c-gelb);
}

/* #main-menu li.blue li.current-page-ancestor > button:not(.button), #main-menu li.blue li.current-menu-ancestor > button:not(.button), #main-menu li.blue li.current-menu-item > button:not(.button), #main-menu li.blue li button:not(.button):hover, #main-menu li.blue li.current-page-ancestor > a:not(.button), #main-menu li.blue li.current-menu-ancestor > a:not(.button), #main-menu li.blue li.current-menu-item > a:not(.button), #main-menu li.blue li a:not(.button):hover,
#main-menu li.blue.current-page-ancestor > button:not(.button), #main-menu li.blue.current-menu-ancestor > button:not(.button), #main-menu li.blue.current-menu-item > button:not(.button), #main-menu li.blue button:not(.button):hover, #main-menu li.blue.current-page-ancestor > a:not(.button), #main-menu li.blue.current-menu-ancestor > a:not(.button), #main-menu li.blue.current-menu-item > a:not(.button), #main-menu li.blue a:not(.button):hover {
	color: var(--c-blau);
} */
/* #main-menu li.yellow li.current-page-ancestor > button:not(.button), #main-menu li.yellow li.current-menu-ancestor > button:not(.button), #main-menu li.yellow li.current-menu-item > button:not(.button), #main-menu li.yellow li button:not(.button):hover, #main-menu li.yellow li.current-page-ancestor > a:not(.button), #main-menu li.yellow li.current-menu-ancestor > a:not(.button), #main-menu li.yellow li.current-menu-item > a:not(.button), #main-menu li.yellow li a:not(.button):hover,
#main-menu li.yellow.current-page-ancestor > button:not(.button), #main-menu li.yellow.current-menu-ancestor > button:not(.button), #main-menu li.yellow.current-menu-item > button:not(.button), #main-menu li.yellow button:not(.button):hover, #main-menu li.yellow.current-page-ancestor > a:not(.button), #main-menu li.yellow.current-menu-ancestor > a:not(.button), #main-menu li.yellow.current-menu-item > a:not(.button), #main-menu li.yellow a:not(.button):hover {
	color: var(--c-gelb);
} */


/* mobile menu */
#mobile-main-menu {
	text-align: center;
}
#mobile-main-menu li {
	margin-bottom: var(--gap-default);
}
#mobile-main-menu li li {
	margin-top: 7px;
	margin-bottom: 7px;
}
#mobile-main-menu .sub-menu-toggle {
	height: 1lh;
}
#mobile-main-menu li a {
	font-weight:700;
}
#mobile-main-menu .sub-menu {
	padding-left: 0;
}
#mobile-main-menu li button,
#mobile-main-menu li a.button,
#main-menu li button,
#main-menu li a.button {
	opacity: 1 !important;
    transform: translateY(0) !important;
}

@media (max-width: 1080px) {
	.header-bg-icon {
		left: calc(100% + 19px);
	}
	.mobile-menu-open header#main-header .header-middle {
		background: #fff;
	}
    .sticky-nav {
		--header-height: 80px;
	}

	.menu-hauptmenue-container {
		display: inline-block;
	}
	#main-menu li {
		display: none;
	}
	#main-menu li.menu-item-898 {
		display: inline-block;
		margin-right: 20px;
	}
	#main-menu li.menu-item-898 a {
		padding: 10px 20px;
	}
}
@media (max-width: 767px) {
	:root, .sticky-nav {
    	--header-height: 60px;
    }
    header#main-header > .header-middle > .container > .flex-row {
    	margin-left: 0;
    	margin-right: 0;
    }
    .header-middle .flex-col {
    	padding: 5px 0;
    }
    .burger {
		height: 40px !important;
		width: 40px !important;
	}
    .burger::before, .burger::after, .burger .patty {
    	height: 4px;
    }
    .burger::before {
    	top: -20px;
    }
    .burger::after {
    	bottom: -20px;
    }
	#mobile-main-menu li .button > svg {
		width: 12px;
		height: 12px;
		margin-left: 5px;
	}
}
@media (max-width:544px) {
	.logo svg,
	.logo img {
		height: 22px;
    }
}
@media (max-width:400px) {
	#main-menu li.menu-item-898 a {
    	background: none;
        padding: 10px 0;
        border: none;
    }
}
@media (max-width: 340px) {
	#main-menu > li > button > svg, #main-menu > li > a > svg {
    	display: none;
    }
}




/* Buttons
--------------------------------------------------------- */
.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button, button {
	padding: 1.5rem 2rem;
	font-family: var(--ff-alt);
	font-size: var(--fs-m);
	font-weight: var(--fw-700);
	line-height: var(--lh-m);
	border-width: 2px;
	border-style:solid;
	--c-text: var(--c-altweiss);
	--c-text-hover: var(--c-graphit);
	background-color: var(--c-button-color);
	border-color: var(--c-button-color);
	color: var(--c-text);
	grid-gap: 5px;
}
#main-menu li.mm-button > button:hover,
#main-menu li.mm-button > a:hover,
.wp-block-button__link:hover, .elementor-widget-button .elementor-button:hover, input#submit:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type=reset]:hover, .button:hover, button:hover {
	background-color: transparent;
	color: var(--c-text-hover);
	border-color: var(--c-button-color);
}

.button.outline {
	--c-text: var(--c-graphit);
	background-color: transparent;
	color: var(--c-text);
	border-color: var(--c-button-color);
}
.button.outline:active,
.button.outline:hover {
	background-color: var(--c-button-color);
	color: var(--c-text);
	border-color: var(--c-button-color);
}
.button.outline:active {
	background-color: color-mix(in srgb, var(--c-button-color) 50%, white);
	border-color: color-mix(in srgb, var(--c-button-color) 50%, white);
}
.widget-contact-form.blau input[type="submit"],
.button.blau {
	--c-text: var(--c-graphit);
	--c-button-color: var(--c-blau);
}
.widget-contact-form.rot input[type="submit"],
.button.rot {
	--c-text: var(--c-graphit);
	--c-button-color: var(--c-rot);
}
.widget-contact-form.gelb input[type="submit"],
.button.gelb {
	--c-text: var(--c-graphit);
	--c-button-color: var(--c-gelb);
}
.widget-contact-form.graphit input[type="submit"],
.button.graphit {
	--c-text: var(--c-altweiss);
	--c-button-color: var(--c-graphit);
}
.widget-contact-form.altweiss input[type="submit"],
.button.altweiss {
	--c-text-hover: var(--c-altweiss);
	--c-text: var(--c-graphit);
	--c-button-color: var(--c-altweiss);
}

.button.altweiss.outline {
	--c-text: var(--c-altweiss);
}
.button.graphit.outline {
	--c-text: var(--c-graphit);
}
.button.primary.outline:hover,
.button.graphit.outline:hover {
	--c-text: var(--c-altweiss);
}
.button.altweiss.outline:hover {
	--c-text: var(--c-graphit);
}

.button:active {
	background-color: color-mix(in srgb, var(--c-button-color) 50%, white);
	border-color: color-mix(in srgb, var(--c-button-color) 50%, white);
}
.button.altweiss.outline:active,
.button.altweiss.filled:active {
	--c-text: var(--c-altweiss);
	--c-button-color: var(--c-graphit);
	background-color: color-mix(in srgb, var(--c-button-color) 50%, white);
	border-color: color-mix(in srgb, var(--c-button-color) 50%, white);
}
.button.primary.outline:active,
.button.graphit.outline:active {
	--c-text: var(--c-graphit);
}


/* bg color */
.nosun-widget.bg-color-graphit .button.filled:hover,
.nosun-widget.bg-color-graphit .button.outline {
	--c-text: var(--c-altweiss);
	--c-text-hover: var(--c-altweiss);
}


/* textlink */
.textlink {
	display: inline-flex;
	align-items: center;
	grid-gap: 0px;
	font-family: var(--ff-alt);
	font-weight: 700;
	text-decoration: underline !important;
	transition: var(--transition);
}
.button-chevron {
	position: relative;
	transition: var(--transition);
	height: 24px;
	display: inline-block;
}
.textlink svg {
	height: 24px !important;
	width: 25px !important;
	display: inline-block;
}
.textlink.altweiss {
	color: var(--c-altweiss);
}
.textlink:hover {
	grid-gap: 10px;
}

/* external button */
.button svg.lucide-external-link-icon {
	position: relative;
	top: -1px;
}


/* Contact Form 7
--------------------------------------------------------- */
.wpcf7-form {
	text-align: left;
}
.widget-contact-form.text-align-justify .submit-wrapper,
.widget-contact-form.text-align-center .submit-wrapper {
	text-align: center;
}
.widget-contact-form.text-align-right .submit-wrapper {
	text-align: right;
}
input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
	border-color:  var(--c-graphit);
	font-size: var(--fs-m);
	background: none;
}
input[type=email]::placeholder, input[type=number]::placeholder, input[type=password]::placeholder, input[type=reset]::placeholder, input[type=search]::placeholder, input[type=tel]::placeholder, input[type=text]::placeholder, input[type=url]::placeholder, select::placeholder, textarea::placeholder {
	font-size: var(--fs-m);
	color: #9D9D9D;
}


/* Footer
--------------------------------------------------------- */
footer#main-footer {
	background-color: var(--c-primary);
}
.footer-top,
.footer-middle,
.footer-bottom {
	background-color: var(--c-primary);
	color: var(--c-altweiss);
}
.footer-middle {
	padding-top: 0;
	padding-bottom: var(--space-l);
}
.footer-bottom {
	padding-top: 0;
	padding-bottom: var(--space-xl);
}
.footer-bottom > .container > .flex {
	padding-top: var(--space-xs);
	border-top: 1px solid #fff;
}
footer#main-footer a,
footer#main-footer .menu li button,
footer#main-footer .menu li a {
	color: var(--c-altweiss);
}
footer#main-footer button:hover,
footer#main-footer a:hover,
footer#main-footer .menu li a:hover {
	text-decoration: underline !important;
}
footer#main-footer .menu#footer-menu li button,
footer#main-footer .menu#footer-menu li a {
	font-size: clamp(2rem, 1.869rem + 0.200vw, 2.2rem);
	margin-bottom: 0 !important;
	font-weight: 700;
	font-family: var(--ff-alt);
}
footer#main-footer .menu#rechtliches-menu {
	text-align:right;
}
footer#main-footer .menu#rechtliches-menu li button,
footer#main-footer .menu#rechtliches-menu li a {
	font-family: var(--ff-alt);
	font-weight: 700;
	margin-left: var(--gap-default);
}
.menu#footer-menu {
	display: inline-grid;
	grid-template-columns: max-content max-content;
	grid-gap: var(--gap-default) 50px;
}
footer#main-footer .menu#footer-menu li {
	width:auto;
}
.footer-contacts-container {
	margin-top: 5rem;
}
.footer-social-media {
	margin-top: clamp(2.4rem, 0.697rem + 2.200vw, 5rem);
}
.footer-logo-container svg {
	width: 100%;
	max-width:209px;
}
.footer-contacts a {
	text-decoration: underline !important;
}
.mm-contacts-outer .sm-item-wrapper, .footer-social-media .sm-item-wrapper {
	margin-right: var(--gap-half, 12px);
	margin-bottom: var(--gap-half, 12px);
}
.scrolltop-btn {
	padding: 0;
}
@media (max-width:1080px) {
	#fm-col-1 {
		padding-bottom: var(--space-m);
	}
	#rechtliches-menu li {
		width: 100%;
		tect-align:left;
		margin-bottom: var(--gap-default) !important;
	}
	.fb-col.ff-alt {
		order: 2;
	}
	footer#main-footer .menu#rechtliches-menu {
		text-align:left;
		margin-bottom: var(--space-s);
	}
	footer#main-footer .menu#rechtliches-menu li a {
		margin-left: 0;
	}
}
@media (max-width:767px) {
	.footer-middle {
		padding-bottom: 8rem;
	}
	.menu#footer-menu {
		display: block;
	}
	footer#main-footer .menu#footer-menu li {
		width: 100%;
		margin-bottom: var(--gap-default) !important;
	}
	footer#main-footer .menu#footer-menu li:last-child {
		margin-bottom: 0 !important;
	}
	
}



/* party popper */
.party-popper-wrapper {
	text-align:center;
}
.party-popper {
	position: relative;
	display: inline-block;
	transform: scale(.8);
	opacity: 0;
	transition: all 0.4s cubic-bezier(.22,.68,0,1.71);
}
.popper-main-body {
	
}

.party-popper.animated {
	animation-name: explodeMainBody;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	/* animation-duration: 500ms; */
}

.popper-dot {
	opacity: 0;
	/* transform: scale(.4); */
	transition: all 0.4s cubic-bezier(.22,.68,0,1.71) .4s;
}
/* .popper-dot-2 {
	transition-delay: .4s;
}
.popper-dot-4 {
	transition-delay: .5s;
} */
.party-popper.animated .popper-dot {
	opacity: 1;
	/* transform: scale(1.1); */
}

/* .popper-line {
	stroke-dasharray: 200;
	stroke-dashoffset: 200;
	transition: all 14s cubic-bezier(.22,.68,0,1.71) .4s;
}
.party-popper.animated .popper-line {
	stroke-dashoffset: 0;
} */

@keyframes explodeMainBody {
	0% {
		transform: scale(.4);
		opacity: 0;
	}
	50% {
		transform: scale(1.2);
		opacity: 1;
	}
	100% {
		transform: scale(1.0);
		opacity: 1;
	}
}


/* bear animation */
.bear {
	transform: translateX(-60px);
	opacity: 0;
	transition: all 2s ease;;
}
.bear.inView {
	transform: translateX(0px);
	opacity: 1;
}


/* shortcode werte */
.werte-col {
	grid-gap: clamp(2.5rem, 0.862rem + 2.200vw, 5rem);
}
.werte-number {
	font-size: clamp(3.8rem, -0.262rem + 5.300vw, 10rem);
	line-height: 0.6;
}
.werte-content {
	position: relative;
}
.werte-content::before,
.werte-content::after {
	content:"";
	height: 2px;
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	background-color: rgba(0,0,0,0.1);
}
.werte-content::after {
	background-color: var(--c-primary);
	z-index: 2;
	width: 0%;
	transition: var(--transition);
	transition-delay: .2s;
}
.werte-col-1.inView .werte-content::after {
	width: 25%;
}
.werte-col-2.inView .werte-content::after {
	width: 50%;
}
.werte-col-3.inView .werte-content::after {
	width: 75%;
}
.werte-col-4.inView .werte-content::after {
	width: 100%;
}
.zitat-col {
	text-align:center;
}
.werte-zitat {
	max-width: 600px;
	display: inline-block;
}
@media (min-width:768px) {
	.impw-1-2-3-4 > .container > .grid {
		grid-gap: var(--space-s);
	}
}


/* standorte - EVENTUELL IN WIDGET.CSS ?? */

#standorte-filternav fieldset {
	display: inline-flex;
	padding: 0;
	margin:0;
	border: 0;
	align-items: center;
	flex-wrap:wrap;
	grid-gap: var(--gap-default);
}

.standort-unit {
	padding-top: var(--space-m);
	padding-bottom: var(--space-s);
	border-bottom: 1px solid var(--c-altweiss-50);
}
.standort-name {
	color: var(--c-graphit);
}
.contact-iconlink {
	display: flex;
	grid-gap: 15px;
	margin-bottom: 8px;
}
.contact-iconlink a {
	color :var(--c-graphit);
	text-decoration: underline !important;
}
.contact-iconlink a:hover {
	color :var(--c-primary);
}
.contact-iconlink svg {
	position: relative;
}

.oeffnungszeiten_row {
	display: flex;
	margin-bottom: var(--space-xs);
}
.oeffnungszeiten_row:last-child {
	margin-bottom: 0;
}
.oeffnungszeiten_tage {
	width: 96px;
}
.oeffnungszeiten_uhrzeiten {
	width: calc(100% - 96px);
}
@media (max-width: 767px) {
	.standorte-filternav-container > .flex,
	#standorte-filternav fieldset {
		display: block;
	}
	.svn-checbkox-item {
		margin-top: var(--gap-half);
	}
}


/* downloads */
.dl-text-link {
	display: inline-flex;
	grid-gap: 10px;
	color: var(--c-graphit);
}
.dl-text-link:hover {
	color: var(--c-primary);
}
.dl-button-link svg {
	position: relative;
	top: -1px;
}
.dl-text-link svg {
	position: relative;
	top: 1px;
}

.downloads-wrapper.dl-cat-pdf .dl-item {
	position: relative;
}
.downloads-wrapper.dl-cat-pdf .dl-item::after {
	content:"";
	position: absolute;
	right: calc((var(--space-l) / 2) * -1);
	top: 0;
	bottom: 0;
	margin:auto;
	height: 100%;
	width: 1px;
	background-color: var(--c-graphit);
}

@media (min-width:1081px) {
	.downloads-wrapper.dl-cat-pdf .dl-item:nth-child(3n)::after {
		display: none;
	}
}
@media (min-width:788px) and (max-width:1080px) {
	.downloads-wrapper.dl-cat-pdf .dl-item:nth-child(2n)::after {
		display: none;
	}
}
@media (max-width:767px) {
	.downloads-wrapper.dl-cat-pdf .dl-item::after {
		top: auto;
		height: 1px;
		width: 100%;
		right: 0;
		left: 0;
		bottom: calc((var(--space-l) / 2) * -1);
	}
	.downloads-wrapper.dl-cat-pdf .dl-item:last-child::after {
		display: none;
	}
}

/* @media (min-width: 768px) { */
	.downloads-wrapper.dl-cat-img > .container > .grid {
		grid-gap: var(--space-l) var(--gap-default);
	}
	.downloads-wrapper.dl-cat-pdf > .container > .grid {
		grid-gap: var(--space-l);
	}
/* } */


/* posts */
/* archive */
/* cards */
.post-item-holder.loading {
	opacity: 0.4;
}
.grid.post-item-holder {
	grid-gap: var(--space-m) var(--gap-default);
}
.post-image-link {
	overflow: hidden;
}
.post-categories {
	position: static;
	pointer-events: all;
}
.post-categories .tag {
	/* margin: 2px;
	padding: 5px 10px;
	border-radius: var(--border-radius, 2px); */
	background-color: var(--c-primary);
	/* color: var(--c-white, #FFFFFF); */
}
/* filternav */
button.cat-filter {
	background-color: transparent;
	border-color: var(--c-primary);
	color: var(--c-graphit);
}
button.cat-filter.active {
	background-color: var(--c-graphit);
	border-color: var(--c-graphit);
	color: var(--c-text);
}
/* pagination */
.pagination-item {
	background: none !important;
	border: none !important;
	color: var(--c-graphit);
	font-weight: 400;
	padding: 0;
	box-shadow: none;
}
.pagination-number.active {
	color: var(--c-graphit) !important;
	font-weight: 700;
	text-decoration: underline;
}
.pagination-item svg {
	width: 30px;
	height: 30px;
}
.pagination-item.disabled {
	pointer-events: none;
}
.pagination-item.pagination-next.disabled,
.pagination-item.pagination-prev.disabled {
	opacity: 0.4;
}

/* blog */
/* single */
@media (max-width:1080px) {
	.crosslink-swiper {
		padding-bottom: 80px !important;
	}
}
/* blockquote */
blockquote {
	font-weight: bold;
	position: relative;
	margin: 20px 20px 20px 22px;
}
blockquote::before {
	content:"";
	position: absolute;
	top:0;
	bottom:0;
	left: -20px;
	margin:auto;
	width: 2px;
	background-color: var(--c-graphit);
}
/* blockquote > p:first-child::before {
	content:'"';
}
blockquote > p:last-child::after {
	content:'"';
} */

/* tabs horizontal */
button.tab-title:focus-visible {
	outline-offset: -6px;
	outline-color: currentColor;
}