/* General
--------------------------------------------------------- */
body.error404 #content {
	padding-top: calc(var(--header-height) + var(--space-m));
	padding-bottom: var(--space-xl);
}

/* Typography
--------------------------------------------------------- */
/* 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 {
	text-transform: uppercase;
	letter-spacing: var(--ls-m);
}
/* 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 {
	
}
/* 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 {
	
}
/* 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 {
	
}
/* 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 {
	
}


/* Header
--------------------------------------------------------- */
/* main menu */
#main-menu li button:not(.button), #main-menu li a:not(.button) {
	padding-top: 1.0rem;
	padding-left: 1.0rem;
	padding-right: 1.0rem;
	padding-bottom: 0.8rem;
	font-size: var(--fs-xs);
	text-transform: uppercase;
	letter-spacing: var(--ls-l);
	margin-left: var(--gap-half);
}
#main-menu > li > a,
#main-menu > li > button {
	border-width: 2px;
	border-style: solid;
	border-color: transparent;
	text-decoration: none !important;
}
#main-menu > li button:not(.button):hover,
#main-menu > li a:not(.button):hover {
	color:  var(--c-text);
	text-decoration: underline;
}
#main-menu > li:has(.current-menu-item) > a,
#main-menu > li:has(.current-menu-item) > button,
#main-menu > li:hover > a,
#main-menu > li:hover > 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 button:not(.button):hover, #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), #main-menu > li a:not(.button):hover {
	border-color: currentColor;
}
#main-menu > li:has(.current-menu-item) > a,
#main-menu > li:has(.current-menu-item) > 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) {
	color: var(--c-secondary) !important;
}
#main-menu li.menu-item-has-children > .sub-menu-toggle {
	top: 7px;
}
#main-menu li.menu-item-has-children > button, #main-menu li.menu-item-has-children > a {
	padding-right: 4.6rem;
}

#main-menu li li.current-menu-item > a,
#main-menu li li.current-menu-item > button {
	color:  var(--c-text);
	text-decoration: underline;
}

#main-menu > li > .sub-menu {
	transition: all .2s ease;
}


/* mobile main menu */
#mobile-main-menu li button:not(.button), #mobile-main-menu li a:not(.button) {
	padding-top: 1.0rem;
	padding-left: 1.0rem;
	padding-right: 1.0rem;
	padding-bottom: 0.8rem;
	font-size: var(--fs-m);
	text-transform: uppercase;
	letter-spacing: var(--ls-l);
	margin: 0 5px 0;
}
#mobile-main-menu > li > a,
#mobile-main-menu > li > button {
	border-width: 2px;
	border-style: solid;
	border-color: transparent;
	text-decoration: none !important;
}
#mobile-main-menu > li button:not(.button):hover,
#mobile-main-menu > li a:not(.button):hover {
	color:  var(--c-text);
	text-decoration: underline;
}
#mobile-main-menu > li:has(.current-menu-item) > a,
#mobile-main-menu > li:has(.current-menu-item) > button,
/* #mobile-main-menu > li:hover > a,
#mobile-main-menu > li:hover > button, */
#mobile-main-menu > li.current-page-ancestor > button:not(.button), #mobile-main-menu > li.current-menu-ancestor > button:not(.button), #mobile-main-menu > li.current-menu-item > button:not(.button), #mobile-main-menu > li button:not(.button):hover, #mobile-main-menu > li.current-page-ancestor > a:not(.button), #mobile-main-menu > li.current-menu-ancestor > a:not(.button), #mobile-main-menu > li.current-menu-item > a:not(.button), #mobile-main-menu > li a:not(.button):hover {
	/* border-color: currentColor; */
	color: var(--c-secondary);
	text-decoration: underline;
}
#mobile-main-menu > li:has(.current-menu-item) > a,
#mobile-main-menu > li:has(.current-menu-item) > button,
#mobile-main-menu > li.current-page-ancestor > button:not(.button),
#mobile-main-menu > li.current-menu-ancestor > button:not(.button),
#mobile-main-menu > li.current-menu-item > button:not(.button),
#mobile-main-menu > li.current-page-ancestor > a:not(.button),
#mobile-main-menu > li.current-menu-ancestor > a:not(.button),
#mobile-main-menu > li.current-menu-item > a:not(.button) {
	color: var(--c-secondary) !important;
}
#mobile-main-menu li.menu-item-has-children > .sub-menu-toggle {
	top: 9px;
}

#mobile-main-menu li li.current-menu-item > a,
#mobile-main-menu li li.current-menu-item > button {
	color:  var(--c-text);
	text-decoration: underline;
}
#mobile-main-menu > li:has(.current-menu-item) ul.sub-menu {
	display: block;
}
#mobile-main-menu li.menu-item-has-children > button,
#mobile-main-menu li.menu-item-has-children > a {
	margin-right: 0px;
}
.mm-item-wrap {
	text-align: center;
}

/* logo */
.logo img, .logo svg {
	height: 60px;
}

#mobile-main-menu .btn-submenu-toggle svg,
	#mobile-main-menu .sub-menu-toggle svg {
		top: -10px;
		margin-left: -40px;
	}
	
	
@media (max-width: 1371px) {
	.burger {
		display: inline-block;
	}
	header .menu-hauptmenue-container {
		display: none;
	}
}

/* Footer
--------------------------------------------------------- */
footer {
	font-size:var(--fs-xs);
	letter-spacing: var(--ls-l);
	text-transform: uppercase;
}
#footer-menu li {
	margin: 0 0 0.15rem 0;
}
#footer-menu li button:not(.button), #footer-menu li a:not(.button) {
	color: var(--c-text);
	text-transform: uppercase;
	font-size:var(--fs-xs);
	letter-spacing: var(--ls-l);
}
#footer-menu li button:not(.button):hover, #footer-menu li a:not(.button):hover {
	color: var(--c-text);
	text-decoration: underline;
}
.logo-footer-container img {
	height: auto !important;
	width: auto !important;
	max-width:100%;
}
.logo-footer-container img {
	height: 50px !important;
}
@media (max-width:1024px) {
	.logo-footer-container img {
		height: 40px !important;
	}
}
@media (max-width:767px) {
	.logo-footer-container img {
		height: 30px !important;
	}
	/* logo */
	.logo img, .logo svg {
		height: 40px;
	}
}


/* Buttons
--------------------------------------------------------- */
.wp-block-button__link, .elementor-button, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], .button, button {
	text-transform: uppercase;
	letter-spacing: var(--ls-m);
	border-width: 2px;
}
.button.textlink {
	background: none !important;
	border-color: transparent !important;
	color: var(--c-text) !important;
}
.button.textlink:hover {
	background: none !important;
	border-color: currentColor !important;
	color: var(--c-text) !important;
}
.button.textlink.white {
	background: none !important;
	border-color: transparent !important;
	color: var(--c-bg) !important;
}
.button.textlink.white:hover {
	background: none !important;
	border-color: currentColor !important;
	color: var(--c-bg) !important;
}
.button.minimal-button {
	border-width: 0 0 2px 0;
	padding: 5px 0 !important;
	font-size: var(--fs-xs);
	border-color: var(--c-text) !important;
}
.button.minimal-button:hover {
	color: var(--c-secondary) !important;
	border-color: var(--c-secondary) !important;
}


/* Vita
--------------------------------------------------------- */
#vita .h4,
#vita .wysiwyg {
	color: var(--c-bg);
}
#vita .wysiwyg {
	margin-bottom: var(--gap-default);
	font-size: var(--fs-l);
}
.vita-table {
	border:none;
	color: var(--c-bg);
	font-size: var(--fs-l);
}
.werdegang-eintraege {
	margin-bottom: var(--space-m);
}
.vita-table td {
	vertical-align: top;
	padding: 5px 0;
	border: none;
}
.vita-table tr td:last-child {
	padding-left: var(--gap-default);
}
/* Accordion Title Styles */
button.vita-accordion-title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	/* width: 100%; */
	background: transparent;
	border: none;
	cursor: pointer;
	font-size: inherit;
	font-family: inherit;
	text-align: left;
	padding: 1rem 0;
	color: var(--c-text);
}
button.vita-accordion-title svg {
	width: 18px;
	height: 18px;
	position: relative;
	top: -3px;
}

/* WCAG 2.2 AA Focus Visibility */
button.vita-accordion-title:focus-visible {
	outline: 3px solid #005fcc;
	outline-offset: 4px;
}

/* SVG Chevron Animation */
button.vita-accordion-title .feather-chevron-down {
	transition: transform 0.2s ease-in-out;
}

button.vita-accordion-title[aria-expanded="true"] .feather-chevron-down {
	transform: rotate(180deg);
}

/* Content Panel */
.vita-accordion-content[hidden] {
	display: none;
}

@media ( min-width:768px ) {
	.vita-accordion-content {
		padding-left: calc(50% + var(--gap-half));
	}
}
@media (max-width: 767px) {
	.vita-table {
		display: block;
	}
	.vita-table tr {
		margin-bottom: 10px;
	}
	.vita-table tr td:last-child {
		padding-left: 0;
	}
}


/* Shortcode: kontakt-standorte
--------------------------------------------------------- */
.kontakt-standorte-grid {
	font-weight: 300;
	font-style: italic;
	font-size: var(--fs-l);
	line-height: var(--lh-l);
	& a {
		color: var(--c-text);
		&:hover {
			text-decoration: underline;
		}
	}
}
.kontakt-oefnungszeiten br {
	display: none;
}
.kontakt-oefnungszeiten .business-hours {
	width: 100%;
}
.kontakt-oefnungszeiten p {
	margin-bottom: 0 !important;
}
.kontakt-standorte-grid {
	display: block !important;
}
#fm-col-primary {
	margin-bottom: 40px;
}
#fm-col-primary,
#fm-col-secondary {
	grid-column: span 1 !important;
	text-align:center;
}
@media (min-width: 768px) {
	.kontakt-standorte-grid {
		display: grid !important;
		grid-gap: var(--gap-default) 80px !important;
		grid-template-columns: 1fr 1fr !important;
	}
	#fm-col-primary {
		text-align:right;
		margin-bottom: 0;
	}
	#fm-col-secondary {
		text-align:left;
	}
}
@media (min-width: 1025px) {
	.kontakt-standorte-grid {
		grid-gap: var(--gap-default) 160px !important;
	}
	#content p,
	p {
		hyphens: manual;
	}
}


/* News
--------------------------------------------------------- */
/* Archiv */
.card.post {
	padding: 10px 0;
	border-bottom: 2px solid rgba(0, 0, 0, .1);
}
.post-title-link {
	cursor: text !important;
}
.bb-excerpt-inner {
	overflow: hidden;
	font-weight: 300;
	font-style: italic;
	/* font-size: var(--fs-l); */
	line-height: var(--lh-l);
}
.bb-excerpt-inner.expanded {
	-webkit-line-clamp: unset !important;
	height: auto !important;
}
.bb-excerpt-inner > *:last-child {
	margin-bottom: 0 !important;
}