/* General
--------------------------------------------------------- */
:root {
	--fw-100:100;
	--fw-200:200;
	--fw-300:300;
	--fw-400:400;
	--fw-500:500;
	--fw-600:600;
	--fw-700:700;
	--fw-800:800;
	--fw-900:900;
}
.fw-100 {font-weight:var(--fw-100);}.fw-200 {font-weight:var(--fw-200);}.fw-300 {font-weight:var(--fw-300);}.fw-400 {font-weight:var(--fw-400);}.fw-500 {font-weight:var(--fw-500);}.fw-600 {font-weight:var(--fw-600);}.fw-700 {font-weight:var(--fw-700);}.fw-800 {font-weight:var(--fw-800);}.fw-900 {font-weight:var(--fw-900);}.h1,.h2,.h3,.h4,.h5,.h6,.elementor-widget-heading h1.elementor-heading-title,.entry-content h1,h1,.elementor-widget-heading h2.elementor-heading-title,.entry-content h2,h2,.elementor-widget-heading h3.elementor-heading-title,.entry-content h3,h3,.elementor-widget-heading h4.elementor-heading-title,.entry-content h4,h4,.elementor-widget-heading h5.elementor-heading-title,.entry-content h5,h5,.elementor-widget-heading h6.elementor-heading-title,.entry-content h6,h6 {
	font-weight:var(--fw-700);
}
body {
	max-width:100%;
	overflow: hidden;
}
/* Typo
--------------------------------------------------------- */
body {
	font-weight: var(--fw-300);
	line-height: var(--lh-m);
}
.h1, .h2, .h3, .h4, .h5, .h6, .elementor-widget-heading h1.elementor-heading-title, .entry-content h1, h1, .elementor-widget-heading h2.elementor-heading-title, .entry-content h2, h2, .elementor-widget-heading h3.elementor-heading-title, .entry-content h3, h3, .elementor-widget-heading h4.elementor-heading-title, .entry-content h4, h4, .elementor-widget-heading h5.elementor-heading-title, .entry-content h5, h5, .elementor-widget-heading h6.elementor-heading-title, .entry-content h6, h6 {
	line-height: 1.2;
}
.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(3.2rem, 2.676rem + 0.700vw, 4rem);
	font-weight: var(--fw-900);
	color: var(--c-primary);
}
.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.8rem, 2.276rem + 0.700vw, 3.6rem);
	font-weight: var(--fw-900);
}
.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(2.5rem, 2.041rem + 0.600vw, 3.2rem);
	font-weight: var(--fw-900);
}
.fs-huge,.fs-huge h1,.fs-huge h2,.fs-huge h3,.fs-huge h4,.fs-huge h5,.fs-huge h6,.fs-huge .h1,.fs-huge .h2,.fs-huge .h3,.fs-huge .h4,.fs-huge .h5,.fs-huge .h6 {
	font-size: var(--fs-huge) !important;
	line-height: .9 !important;
	font-weight: var(--fw-900) !important;
	text-transform: lowercase;
}
.wysiwyg ul li::before, .elementor-widget-text-editor ul li:not(.elementor-editor-element-edit)::before {
	top: calc(0.5lh - 0.35rem);
	width: 0.5em;
	height: 0.2em;
	border-radius: 0;
	background-color: var(--c-primary);
}
.card.post-type-projects .post-title-overlay-link,
.card.post-type-projects .post-title,
.single-projects h1 {
	text-transform: none !important;
}
.widget-single-projects-text h1,
.widget-single-projects-text h2,
.widget-single-projects-text h3,
.widget-single-projects-text h4,
.widget-single-projects-text h5,
.widget-single-projects-text h6 {
	text-transform: none !important;
	color: var(--c-primary);
}
/* inverted bg */
html[data-color-theme="light"] .bg-bg-invert {
	--c-text: #ffffff;
	--c-headlines: #ffffff;
	color: var(--c-text);
}
html[data-color-theme="dark"] .bg-bg-invert {
	--c-text: #2D2D2D;
	--c-headlines: #2D2D2D;
	color: var(--c-text);
}
.bg-white,
.bg-white h1, .bg-white .h1,
.bg-white h2, .bg-white .h2,
.bg-white h3, .bg-white .h3,
.bg-white h4, .bg-white .h4,
.bg-white h5, .bg-white .h5,
.bg-white h6, .bg-white .h6 {
	color: var(--c-dark-fixed);
}
input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
	font-family: var(--ff-default);
}
@media (min-width: 768px) {
	.wysiwyg p {
		hyphens: none;
	}
}
a {
	transition: color var(--a-timing-default, 0.2s) var(--a-easing-default, ease), background-color var(--a-timing-default, 0.2s) var(--a-easing-default, ease), opacity var(--a-timing-default, 0.2s) var(--a-easing-default, ease);
}
a:hover {
	color: var(--c-primary);
}
/* content startseite logo und umschalter umfärben */
.page-id-1367:not(.sticky-nav) #logo-default > svg > g > g > g > path {
	fill: var(--c-bg);
}
.page-id-1367:not(.sticky-nav) #theme-toggle[aria-label="light"] {
	border-color:var(--c-bg);
}
.page-id-1367:not(.sticky-nav) #theme-toggle #sleepy-mode {
	color:var(--c-bg);
}

/* page transition */
.page-transition {
	display: none !important;
	
	position: fixed;
	z-index: 99999999;
	background-color: color-mix(in srgb, var(--c-bg) 70%, black);
	width:100%;
	height: 100%;
	bottom:0;
	left:0;
	transition: all var(--transition-1-timing) var(--transition-1-timing);
}

/* cover video */
.cover > video {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

/* Buttons
--------------------------------------------------------- */
button.rcb-sc-link,#main-menu li.mm-btn a,.wp-block-button__link, .elementor-widget-button .elementor-button, input#submit, input[type="button"], input[type="submit"], input[type=reset], .button {
	animation-timing-function: ease-out;
	animation-duration: 300ms;
	padding: 1.7rem 2.0rem 1.4rem;
	border-radius: 100px;
	border-width: 2px;
	line-height: var(--lh-s);
	font-size:var(--fs-m);
	font-weight: var(--fw-300);
	user-select: none;
}
.button.outline:hover {
	color: var(--c-text);
}
.button.primary.filled,
.button.primary:hover,
#main-menu li.mm-btn a:hover .menu-hover-text,
#main-menu li.mm-btn a:hover {
	color: var(--c-dark-fixed) !important;
}
.lhp-pills-wrap-inner .button {
	opacity: 1 !important;
	transform: translateY(0px) !important;
}
/* white */
/* filled */
.button.white {
	background-color: #ffffff;
	color: #2d2d2d;
	border-color: #ffffff;
}
.button.white:hover {
	background-color: color-mix(in srgb, #ffffff 80%, black);
	border-color: color-mix(in srgb, #ffffff 80%, black);
}
/* outline */
button.rcb-sc-link,
.button.white.outline {
	border-color: #ffffff;
	color: #ffffff;
}
button.rcb-sc-link:hover,
.button.white.outline:hover {
	background-color: #ffffff;
	color: #2d2d2d;
	border-color: #ffffff;
}
/* real cookie banner buttons */
.rcb-content-blocker a[role="button"], .rcb-tb-right a[role="button"] {
	font-size: 1.8rem !important;
}
body .rcb-tb-right a[role="button"] {
	color: var(--c-dark-fixed) !important;
}
.rcb-content-blocker a[role="button"] > span, .rcb-tb-right a[role="button"] > span,
html[data-color-theme="dark"] .rcb-content-blocker a[role="button"], html[data-color-theme="dark"] .rcb-tb-right a[role="button"], html[data-color-theme="dark"] .rcb-content-blocker a[role="button"] > span, html[data-color-theme="dark"] .rcb-tb-right a[role="button"] > span {
	color: var(--c-dark-fixed) !important;
}
button.rcb-sc-link {
	background-color: transparent;
	color: var(--c-text);
	border-color: var(--c-text);
}
button.rcb-sc-link:hover {
	background-color: var(--c-text);
	color: var(--c-bg) !important;
	border-color: var(--c-text);
}
.submit-spinner-wrapper .spinner, .load-more-button .spinner {
	height: 19px;
	width: 19px;
}

/* button textfarbe */
/* filled */
html[data-color-theme="dark"] .bg-bg-invert .button.text,
html[data-color-theme="light"] .button.text {
	color: #ffffff;
	background-color: #2D2D2D;
	border-color: #2D2D2D;
}
html[data-color-theme="dark"] .bg-bg-invert .button.text:hover,
html[data-color-theme="light"] .button.text:hover {
	color: #ffffff;
	background-color: color-mix(in srgb, #2D2D2D 90%, white);
	border-color: color-mix(in srgb, #2D2D2D 90%, white);
}
html[data-color-theme="light"] .bg-bg-invert .button.text,
html[data-color-theme="dark"] .button.text {
	color: #2D2D2D;
	background-color: #ffffff;
	border-color: #ffffff;
}
html[data-color-theme="light"] .bg-bg-invert .button.text:hover,
html[data-color-theme="dark"] .button.text:hover {
	color: #2D2D2D;
	background-color: color-mix(in srgb, #ffffff 80%, black);
	border-color: color-mix(in srgb, #ffffff 80%, black);
}

/* outline */
html[data-color-theme="dark"] .bg-bg-invert .button.text.outline,
html[data-color-theme="light"] .button.text.outline {
	color: #2D2D2D;
	background-color: transparent;
	border-color: #2D2D2D;
}
html[data-color-theme="dark"] .bg-bg-invert .button.text.outline:hover,
html[data-color-theme="light"] .button.text.outline:hover {
	color: #ffffff;
	background-color: #2D2D2D;
	border-color: #2D2D2D;
}
html[data-color-theme="light"] .bg-bg-invert .button.text.outline,
html[data-color-theme="dark"] .button.text.outline {
	color: #ffffff;
	background-color: transparent;
	border-color: #ffffff;
}
html[data-color-theme="light"] .bg-bg-invert .button.text.outline:hover,
html[data-color-theme="dark"] .button.text.outline:hover {
	color: #2D2D2D;
	background-color: #ffffff;
	border-color: #ffffff;
}

/* arrow buttons */
input[type="submit"],
.button.arrow-button {
	padding: 1rem 3rem 1rem 0;
	border-radius: 0;
	font-weight: var(--fw-900);
	font-size: clamp(2.5rem, 2.041rem + 0.600vw, 3.2rem);
	background: none !important;
	border: none;
	text-transform: lowercase;
}
input[type="submit"] span,
.button.arrow-button span {
	position: relative;
	z-index: 2;
}
.btn-arrow {
	position: absolute;
	right: 0;
	top:-30px;
	bottom:0;
	margin:auto;
	z-index: 3;
	transition: all .15s ease-out;
	width: clamp(10.16rem, 7.551rem + 3.400vw, 12.7rem);
	height:auto;
	pointer-events: none;
	transform: rotate(4deg)
}
/* primary arrow */
input[type="submit"],
.button.arrow-button.primary-arrow {
	color: var(--c-primary);
}
input[type="submit"] svg.btn-arrow,
.button.arrow-button.primary-arrow svg.btn-arrow {
	color: var(--c-lightest-gray);
}
input[type="submit"]:hover,
.button.arrow-button.primary-arrow:hover {
	color: var(--c-secondary);
}
input[type="submit"]:hover svg.btn-arrow,
.button.arrow-button.primary-arrow:hover svg.btn-arrow {
	color: var(--c-primary);
}
/* text color arrow */
.button.arrow-button.text-arrow {
	color: var(--c-text);
}
.button.arrow-button.text-arrow svg.btn-arrow {
	color: var(--c-primary);
}
.button.arrow-button.text-arrow:hover {
	color: var(--c-primary);
}
.button.arrow-button.text-arrow:hover svg.btn-arrow {
	color: var(--c-bg-invert);
}
/* secondary arrow */
.button.arrow-button.secondary-arrow {
	color: var(--c-secondary);
}
.button.arrow-button.secondary-arrow svg.btn-arrow {
	color: var(--c-primary);
}
.button.arrow-button.secondary-arrow:hover {
	color: #ffffff;
}
.button.arrow-button.secondary-arrow:hover svg.btn-arrow {
	color: var(--c-secondary);
}
/* white arrow */
.button.arrow-button.white-arrow {
	color: #ffffff;
}
.button.arrow-button.white-arrow svg.btn-arrow {
	color: var(--c-primary);
}
.button.arrow-button.white-arrow:hover {
	color: var(--c-primary);
}
.button.arrow-button.white-arrow:hover svg.btn-arrow {
	color: var(--c-lightest-gray);
}
html[data-color-theme="dark"] .button.arrow-button.primary-arrow:hover {
	color: #fff !important;
}

.btn-arrow .arrow-tip,
.btn-arrow .arrow-line {
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	transition: stroke-dashoffset 0s linear 0s !important;
}
.cf7-submit-wrapper:hover .btn-arrow .arrow-tip,
.cf7-submit-wrapper:hover .btn-arrow .arrow-line,
.button:hover .btn-arrow .arrow-tip,
.button:hover .btn-arrow .arrow-line {
	transition: stroke-dashoffset 1s ease !important;
	stroke-dashoffset: 0;
}
.cf7-submit-wrapper:hover .btn-arrow .arrow-tip,
.button:hover .btn-arrow .arrow-tip {
	transition-delay: .4s !important;
}



.wp-block-buttons.text.outline .wp-block-button__link:hover, .elementor-widget-button.text.outline .elementor-button:hover, .button.text.outline:hover {
	background-color: var(--c-text);
	color: var(--c-bg);
	border-color: var(--c-text);
}


.bh-pill-list .button {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing),
	opacity var(--a-timing-default) var(--a-easing-default),
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(2) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .1s,
	opacity var(--a-timing-default) var(--a-easing-default) .1s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(3) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .2s,
	opacity var(--a-timing-default) var(--a-easing-default) .2s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(4) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .3s,
	opacity var(--a-timing-default) var(--a-easing-default) .3s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(5) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .4s,
	opacity var(--a-timing-default) var(--a-easing-default) .4s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(6) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .5s,
	opacity var(--a-timing-default) var(--a-easing-default) .5s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(7) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .6s,
	opacity var(--a-timing-default) var(--a-easing-default) .6s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(8) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .7s,
	opacity var(--a-timing-default) var(--a-easing-default) .7s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(9) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .8s,
	opacity var(--a-timing-default) var(--a-easing-default) .8s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}
.bh-pill-list .button:nth-child(10) {
	transition:	color var(--a-timing-default) var(--a-easing-default),
	background-color var(--a-timing-default) var(--a-easing-default),
	border-color var(--a-timing-default) var(--a-easing-default),
	transform var(--transition-1-timing) var(--transition-1-easing) .9s,
	opacity var(--a-timing-default) var(--a-easing-default) .9s,
	outline-width 0s linear 0s,
	outline-color 0s linear 0s;
}

/* Header
--------------------------------------------------------- */
header#main-header {
	background: none;
	box-shadow: none !important;
	transform: translateY(-120px);
	/* transition: var(--transition-1); */
	transition: all 300ms ease;
}
.sticky-nav header#main-header {
	box-shadow: 0 -5px 20px 0 rgba(0,0,0,.1) !important;
	background-color: var(--c-bg);
}
html[data-color-theme="dark"] .sticky-nav header#main-header {
	box-shadow: 0 -5px 20px 0 rgba(0, 0, 0, .4) !important;
}
.mobile-menu-open header#main-header {
	box-shadow: none !important;
	background: none;
}
#hm-col-1,#hm-col-2 {
	transform: translateY(-120px);
	transition: var(--transition);
}
#hm-col-2 {
	transition-delay: 0.2s;
}
body.initialized #hm-col-1,
body.initialized #hm-col-2 {
	transform: translateY(0);
}

.logo img, .logo svg {
	height: 60px;
}
.mobile-menu-open .logo img, .mobile-menu-open .logo svg, .sticky-nav .logo img, .sticky-nav .logo svg {
	height: 40px;
}
.burger-close,
.burger {
	width:44px;
	height:44px;
	border-radius:44px;
	border: 2px solid currentColor;
	display: inline-block;
	color: var(--c-primary);
}
.burger::before,
.burger::after,
.burger .patty {
	height: 3px;
	border-radius: 3px;
	width: 19px;
	transition: var(--transition-1);
}
.burger::before,
.burger::after {
	width: 17px;
}
body:not(.mobile-menu-open) .burger:hover::before {
	left: -13.5px;
}
body:not(.mobile-menu-open) .burger:hover::after {
	right: -13.5px;
}
.burger-close {
	position: absolute;
	top: clamp(-8.3rem, -7.679rem - 3.400vw, -14.3rem);
	right: 24px;
}
.burger:hover {
	color: var(--c-primary) !important;
}

#main-menu li.mm-btn a {
	border: 2px solid var(--c-primary);
	color: var(--c-primary);
	padding-top:0;
	padding-bottom:0;
	height: 44px;
	line-height: 44px;
	font-weight: var(--fw-700);
	text-transform: lowercase;
	font-size: 2rem;
}
#main-menu li.mm-btn a:hover {
	border: 2px solid var(--c-primary);
	background-color: var(--c-primary);
	color: var(--c-secondary);
}
#main-menu li.mm-btn a span {
	height: 39px;
	justify-content:center;
	align-items:center;
	display: inline-flex;
	width: 100%;
}
.mm-unit-leistung.mm-unit-menu-item.active > a {
	text-decoration: underline;
}

/* light dark mode */
#theme-toggle {
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 44px;
	margin: 0 var(--gap-default) 0 var(--gap-default);
	border: 2px solid currentColor;
}
.theme-toggle-inner {
	width: 40px;
	height: 40px;
	padding: 4px;
	position: relative;
	display: inline-block;
	background: none;
}
#theme-toggle .toggler-icon {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transition: transform var(--transition-1-timing) var(--transition-1-easing);
	width:25px;
	height:25px;
}

#theme-toggle #sleepy-mode {
	width:28px;
	height:28px;
	right: auto;
	left:6px;
}
#wake-up-samurai,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-white) #theme-toggle,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-white) #sleepy-mode,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-white) #wake-up-samurai {
	color: #EDEDED;
}
#sleepy-mode,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-black) #theme-toggle,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-black) #sleepy-mode,
body.single:not(.sticky-nav, .mobile-menu-open):has(.darkmode-toggle-fixed-black) #wake-up-samurai {
	color: #2D2D2D;
}
html[data-color-theme="dark"] #sleepy-mode,
html[data-color-theme="light"] #wake-up-samurai {
	top: -100px;
}
html[data-color-theme="light"] #theme-toggle:hover #sleepy-mode {
	transform: rotate(-40deg);
}
html[data-color-theme="dark"] #theme-toggle:hover #wake-up-samurai {
	transform: rotate(-45deg);
}

/* burger mobile menu overlay / mega menu */
#mobile-menu-container {
	z-index: 1050;
}
.mm-item-wrap {
	padding-top: clamp(10rem, 6.069rem + 5.200vw, 16rem);
}
.mobile-menu-open .mobile-menu-inner {
	transform: translateY(-8rem);
}
.mobile-menu-inner {
	bottom: auto;
	min-height: 200px;
	background-color: var(--c-bg-invert);
	border-radius: 0 0 48px 48px;
	padding: 75px 0 50px;
	box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.30);
	transform: translateY(-100%);
	transition: transform var(--transition-1-timing) var(--transition-1-easing);
	max-height: calc(100svh + 50px);
	margin: 0 auto;
	max-width: 1920px;
	width:100%;
	right:0;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.mobile-menu-inner::-webkit-scrollbar {
	display: none;
}
.mobile-menu-inner::before {
	content:"";
	height: 200px;
	width: 100%;
	position: absolute;
	top: -190px;
	left:0;
	background-color: var(--c-bg-invert);
}
.mm-top {
	padding-bottom: clamp(3rem, 1.034rem + 2.600vw, 6rem);
}
#mobile-main-menu,.grid.mm-units {
	grid-gap: clamp(7rem, 5.357rem + 2.200vw, 8.6rem);
}
@media (min-width:1081px) {
	#mobile-main-menu,
	.grid.mm-units {
		grid-template-columns: repeat(4, 1fr);
	}
	#mobile-main-menu > li,
	.grid.mm-units .mm-unit-col {
		grid-column: span 1;
	}
}
@media (max-width:1080px) {
	#mobile-main-menu,
	.grid.mm-units {
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 3.4rem;
	}
	#mobile-main-menu {
		grid-gap: 2.1rem;
	}
	#mobile-main-menu > li,
	.grid.mm-units .mm-unit-col {
		grid-column: span 1;
	}
}
.mm-units li {
	width: 100%;
}
.mm-units .mm-unit-menu-item {
	padding-left: 18px;
	position: relative;
	margin-bottom: clamp(1.5rem, 0.517rem + 1.300vw, 3rem);
}
.mm-units .mm-unit-menu-item:last-child {
	margin-bottom: 0;
}
.mm-units .mm-unit-menu-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(0.5lh - 2px);
	width: 8px;
	height: 3px;
	border-radius: 0;
	background-color: var(--c-primary);
}
.mm-unit-title {
	font-weight: var(--fw-900) !important;
	width: auto;
}
.mm-units li.mm-unit-menu-item a {
	color: var(--c-bg);
	font-size: var(--fs-m);
}
.mm-units li.mm-unit-menu-item a:hover {
	color: var(--c-primary);
}

#mobile-main-menu li span,
#mobile-main-menu li button, #mobile-main-menu li a {
	color: var(--c-primary) !important;
	font-weight: var(--fw-900);
}
.mm-unit-submenu {
	margin-top: clamp(3rem, 1.034rem + 2.600vw, 6rem);
}
.menu li.mm-unit-main {
	display: inline-flex;
	justify-content: space-between;
}
.mm-unit-submenu-toggle {
	display: inline-flex !important;
	width: 30px;
	height: 30px;
	align-items:center;
	justify-content:center;
	margin-bottom: 0;
}
.mm-unit-title {
	width: calc(100% - 35px);
}
.mm-unit-submenu-toggle svg {
	display: inline-block;
	transform: rotate(180deg);
	transition: var(--transition);
	position: relative;
	top:-1px;
}
.menu.mm-unit-leistungen.active .mm-unit-submenu-toggle svg {
	transform: rotate(0deg);
}
@media (min-width:1081px) {
	.mm-unit-submenu-toggle {
		display: none !important;
	}
	.mm-unit-title {
		width: 100%;
	}
}
@media (max-width:1080px) {
	.mm-unit-submenu {
		display: none;
	}
	#mobile-main-menu li button, #mobile-main-menu li a {
		margin: 0;
	}
}

/* overlay menu */
#mobile-main-menu {
	display: grid;
	align-items: center;
}
@media (max-width:767px) {
	.mm-item-wrap {
		padding-top: 12rem;
	}
	#mobile-main-menu {
		grid-template-columns: repeat(1, 1fr);
	}
	.mm-top {
		padding-bottom: 3rem;
	}
	.grid.mm-units {
		grid-gap: 3rem;
	}
	.mm-unit-submenu {
		margin-top: 2rem;
	}
	.burger-close {
		top: -83px;
	}
	.logo img, .logo svg {
		height: 44px !important;
	}
}

/* Cards
--------------------------------------------------------- */
/* projects */
/* archive / cards */
.post-item-holder.grid {
	grid-gap: 7.6rem var(--gap-default);
}
.card .post-image-container {
	background-color: var(--c-bg-invert-95);
	border-radius: 14px;
}
.project-style-archive .card {
	margin-bottom: var(--space-m);
}
.project-style-archive .card .post-image-container {
	border-radius: 0;
}
.project-style-archive .grid.post-item-holder {
	grid-gap: 0;
}
.card:nth-child(3n+2) .post-image-container {
	background-color: var(--c-primary);
}
.project-style-archive .post-image-link {
	max-height: 800px;
	width:100%;
}
.project-style-archive .post-title.h3 {
	display: none;
}
.post-title {
	margin-bottom: clamp(5rem, 4.689rem + 0.700vw, 5.8rem) !important;
}


.post-title-link:hover {
	color: var(--c-primary);
	opacity: 1.0 !important; 
	z-index: 1 !important;
	transform: translate3d(0, 0, 0) !important;
	-webkit-font-smoothing: antialiased !important;
	padding-top: 4px;
}



.post-content-container {
	padding-top: clamp(5rem, 4.689rem + 0.700vw, 5.8rem);
}
.card .missing-image-container {
	display: none;
}
/* archive overlay */
.project-content-overlay {
	position: absolute;
	top: 0;
	left:0;
	display: flex;
	z-index:3;
	width: 100%;
	height: 100%;
	background: rgba(0, 209, 202, .7);
	backdrop-filter: blur(9.9px);
	-webkit-backdrop-filter: blur(9.9px);
	transition: var(--transition);
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	padding: 7rem 5rem;
	align-items: center;
	justify-content: center;
}
.post-image-container:hover .project-content-overlay {
	opacity: 1;
	pointer-events: all;
	visibility: visible;
}
.pco-inner {
	width: 100%;
	transform: translateY(40px);
	opacity: 0;
	transition: var(--transition);
}
.post-image-container:hover .pco-inner {
	transform: translateY(0px);
	opacity: 1;
}
.card.inView .button {
	opacity: 1 !important;
	transform: translateY(0px) !important;
}
/* single */
#meta-website a {
	color: var(--c-text);
}
#meta-website a:hover {
	color: var(--c-primary);
}
.single-projects video {
	display: block;
}
.sc-block .media-wrapper.contain {
	display: flex;
	align-items: center;
	justify-content: center;
}
.intro-media-col .media-wrapper.contain video {
	border-radius: 40px 0 0 40px;
}
.media-wrapper.contain.hochformat {
	background: var(--c-bg-invert-5);
	padding: clamp(2.4rem, 1.352rem + 1.400vw, 4rem);
}
.media-wrapper.contain.hochformat video {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: 100%;
	border-radius: 2rem;
	border: 5px solid var(--c-bg-invert-10);
	box-shadow: 0px 10px 20px rgba(0,0,0,.2);
}
.two-images-video-left + .two-images-video-right .media-wrapper.contain.hochformat {
	background: var(--c-bg-invert-10);
}
.single-projects .elementor-widget-mj-text > .elementor-widget-container {
	display: inline-flex;
	align-items: center;
	width: 100%;
}
.single-projects .elementor-widget-mj-text .nosun-widget.widget-text {
	width: 100%;
}
.single-post-nav > div {
	width: calc(100% / 3);
	min-height: 1px;
}
.prev-post-link-wrapper a.button {
	transform: scale(-1, 1);
}
.random-post-link-wrapper {
	text-align:center;
}
.next-post-link-wrapper {
	text-align: right;
}
.random-post-link-wrapper .button.arrow-button {
	padding-right: 0;
}
.mobile-posts-archive-link {
	margin-top: 7.6rem;
}
.random-post-link-wrapper .button .animated-icon {
	position: absolute;
	left:11px;
	right:0;
	margin:auto;
	pointer-events: none;
}
.random-post-link-wrapper .button .animated-icon .brush-group path {
	stroke-dashoffset: 0 !important;
}

/* single post nav */
@media (max-width:767px) {
	.single-post-nav-container {
		padding-bottom: var(--space-s);
	}
	.single-post-nav {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.single-post-nav > div {
		width: 100%;
		min-width: 100%;
	}
	.prev-post-link-wrapper {
		grid-column: 1 / span 1;
		grid-row: 1;
		text-align:left;
	}
	.next-post-link-wrapper {
		grid-column: 2 / span 1;
		grid-row: 1;
		text-align:right;
	}
	.random-post-link-wrapper {
		margin-top: var(--gap-default);
		grid-column: 1 / span 2;
		grid-row: 2;
		text-align:center;
	}
}
@media (max-width: 489px) {
	.single-post-nav .prev-post-link-wrapper,
	.single-post-nav .next-post-link-wrapper {
		width: 50%;
		order: 2;
	}
	.single-post-nav .next-post-link-wrapper {
		order: 3;
	}
	.single-post-nav .random-post-link-wrapper {
		order: 1;
		width: 100%;
		text-align:center;
		margin: var(--gap-default) 0;
	}
}


/* Animated Icons
--------------------------------------------------------- */
.animated-icon {
	z-index: 4;
	width:auto;
	height: 100px;
	color: var(--c-primary);
	stroke: currentColor;
	position: relative;
	overflow: visible;
}
.animated-icon .brush-group {
	opacity: 0.7;
}
.animated-icon .brush-group path {
	stroke-width: 6px;
	stroke-miterlimit: 10;
	stroke-linejoin: round;
	stroke-linecap: round;
}
.sj-iconbox .animated-icon {
	opacity: 0;
}
.sj-iconbox.inView .animated-icon {
	opacity: 1;
}
.sj-iconbox .animated-icon .brush-group path {
	stroke-dashoffset: 0;
}
.sj-iconbox.inView .animated-icon .brush-group path {
	stroke-dashoffset: 0 !important;
}
.brush-dot {
	opacity: 0 !important;
	stroke: none;
	fill: currentColor;
	transition-duration: 0.2s;
	transition-timing-function: linear;
	transition-property: all;
}
.inView .brush-dot {
	opacity: 0.75 !important;
}


/* Big Headline
--------------------------------------------------------- */
.elementor-widget-mj-big-headline {
	overflow-y: visible;
}
.big-headline-wrapper {
	text-align:center;
	position: relative;
	margin: auto;
}
.big-headline {
	position: relative;
}
.big-headline-line {
	display: inline-block;
	width: 100%;
	text-align:center;
	transition: var(--transition-1);
	/* transition: var(--transition); */
}
.big-headline .headline-inner {
	position: relative;
	display: inline-block;
	z-index: 2;
	transform: translateX(0);
	transition: all .7s cubic-bezier(.22,.68,0,1.71);
	opacity: 0;
}
.elementor-editor-active .big-headline .headline-inner,
.big-headline.inView .headline-inner {
	opacity: 1;
}
.icon-wrapper {
	position: absolute;
	z-index: 3;
	pointer-events: none;
}
.big-headline-icon path {
	opacity: 0.75;
}
svg.big-headline-icon {
	height: 100% !important;
}
.widget-big-headline.icon-type-kreis svg {
	max-width:90%;
}
body:not(.elementor-editor-active) .big-headline:not(.inView) .big-headline-bottom {
	transform: translateX(200px) !important;
}
body:not(.elementor-editor-active) .big-headline:not(.inView) .big-headline-top {
	transform: translateX(-200px) !important;
}

.big-headline .big-headline-bottom .headline-text {
	transform: scale(-1, -1);
	position: relative;
	display: inline-block;
}
.not-mirrored .big-headline .big-headline-bottom .headline-text {
	transform: scale(1, 1);
}
.big-headline-wysiwyg {
	margin-top: clamp(5rem, 1.724rem + 4.300vw, 10rem);
}
.big-headline-wysiwyg p:last-child {
	margin-bottom: 0;
}
.bh-pill-list {
	margin-top: clamp(2rem, -1.081rem + 4.100vw, 5rem);
	grid-gap: 2rem;
	flex-wrap:wrap;
	justify-content: center;
}
.bh-pill-list .button {
	margin-bottom:0;
}
.big-headline svg.animated-icon {
	opacity: 0;
	stroke: currentColor;
	stroke-linecap: round;
	overflow:visible;
	position: relative;
}
.elementor-editor-active .big-headline svg.animated-icon,
.big-headline.inView svg.animated-icon {
	opacity: 1;
}
.elementor-editor-active .big-headline svg.animated-icon path,
.widget-unit-banner .big-headline.inView svg.animated-icon path,
.widget-contact-form .big-headline.inView svg.animated-icon path,
.widget-big-headline .big-headline.inView svg.animated-icon path {
	stroke-dashoffset: 0 !important;
}
.big-headline:not(.inView) svg.animated-icon path {
	transition-delay: 0s !important;
	transition-duration: 0s !important;
}
.links-as-pills .big-headline-wysiwyg p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	grid-gap: var(--gap-default) 0;
}
.links-as-pills .big-headline-wysiwyg a {
	display: inline-flex;
	margin-left: 2px;
	margin-right: 10px;
	padding: 15px 16px 13px 20px;
	color: var(--c-text);
	border: 2px solid var(--c-text);
	border-radius: 100px;
	line-height: 1;
	font-size: 2rem;
	font-size:var(--fs-m);
	font-weight: 300;
}
.bh-pill-list a.current-page-item,
.links-as-pills a.current-page-item,
.links-as-pills .big-headline-wysiwyg a:hover {
	color: var(--c-bg);
	border: 2px solid var(--c-text);
	background-color: var(--c-text);
}
@media (max-width:767px) {
	.big-headline {
		width: 100%;
	}
}

/* Cards
--------------------------------------------------------- */
.card:first-child {transition-delay: .2s;}
.card:nth-child(3n + 2) {transition-delay: .4s;}
.card:nth-child(3n + 3) {transition-delay: .6s;}
.card:nth-child(3n + 1):not(:first-child) {transition-delay: .2s;}
.card.col-6:nth-child(odd) {transition-delay: .2s;}
.card.col-6:nth-child(even) {transition-delay: .4s;}
@media (max-width: 1080px) {
	.card:nth-child(odd) {transition-delay: .2s;}
	.card:nth-child(even) {transition-delay: .4s;}
}
@media (max-width: 767px) {
	.card:nth-child(odd),
	.card:nth-child(even),
	.card {transition-delay: .2s;}
}

/* Contact Form
--------------------------------------------------------- */
.wpcf7-form label .label-title {
	color: var(--c-text);
}
.wpcf7[data-wpcf7-id="400"] .sunon-label .plh-text {
	font-size: 4rem;
	font-size: clamp(2.8rem, 2.014rem + 1.000vw, 4rem);
	color: #515151;
	font-weight: var(--fw-700);
	position: absolute !important;
	top: 0;
	left:0;
	margin:auto;
	line-height: var(--lh-s);
	z-index: 3;
	pointer-events: none;
}
.wpcf7[data-wpcf7-id="400"] input[type="text"],
.wpcf7[data-wpcf7-id="400"] input[type="email"],
.wpcf7[data-wpcf7-id="400"] textarea {
	border: none;
	background: none;
	font-size: clamp(2.8rem, 2.014rem + 1.000vw, 4rem);
	color: var(--c-text);
	font-weight: var(--fw-700);
	min-height: 0 !important;
	box-sizing: border-box;
	resize: none;
	border-radius: 0 !important;
	padding: 0 !important;
	margin-top: 0 !important;
	outline-color: transparent;
	outline-style: none;
	outline-width: 0px;
	height: clamp(3.36rem, 2.417rem + 1.200vw, 4.8rem);
}
body #content .wpcf7[data-wpcf7-id="400"] input[type="submit"]:focus,
body #content .wpcf7[data-wpcf7-id="400"] input[type="text"]:focus,
body #content .wpcf7[data-wpcf7-id="400"] input[type="email"]:focus,
body #content .wpcf7[data-wpcf7-id="400"] textarea:focus,
body #content .wpcf7[data-wpcf7-id="400"] input[type="submit"]:focus-visible,
body #content .wpcf7[data-wpcf7-id="400"] input[type="text"]:focus-visible,
body #content .wpcf7[data-wpcf7-id="400"] input[type="email"]:focus-visible,
body #content .wpcf7[data-wpcf7-id="400"] textarea:focus-visible {
	outline: 0 !important;
	border: none !important;
}
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper {
	position: relative;
}
.wpcf7[data-wpcf7-id="400"] .wpcf7-form label {
	display: block;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
	background-color: transparent !important;
	color: var(--c-text) !important;
	box-shadow: none !important;
	-webkit-text-fill-color: var(--c-text) !important;
	-webkit-box-shadow: none !important;
	background-clip: text !important;
}
.im_blinkin_xO {
	animation: blinker 1s linear infinite;
}
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper label.sunon-label:has(input[type="email"]:not(:placeholder-shown)) .plh-text,
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper label.sunon-label:has(input[type="text"]:not(:placeholder-shown)) .plh-text,
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper label.sunon-label:has(input:focus-visible) .plh-text,
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper label.sunon-label:has(textarea:not(:placeholder-shown)) .plh-text,
.wpcf7[data-wpcf7-id="400"] .inputs-wrapper label.sunon-label:has(textarea:focus-visible) .plh-text {
	display: none;
}
input[type="email"]::placeholder,
textarea::placeholder,
input::placeholder {
	color: var(--c-bg);
}
textarea::placeholder {
	color: var(--c-text) !important;
	opacity: .5 !important;
	font-size: var(--fs-m) !important;
}
.wpcf7[data-wpcf7-id="400"] textarea::placeholder {
	color: var(--c-bg) !important;
	opacity: 0 !important;
	font-size: var(--fs-m) !important;
}
input[type="submit"] {
	color: var(--c-text);
}
input[type="submit"]:focus-visible,
input[type="submit"]:hover {
	color: var(--c-primary);
}
.cf7-submit-wrapper {
	position: relative;
	margin: var(--gap-default) 0;
	display: inline-block;
}
.cf7-submit-wrapper input[type="submit"] {
	margin: 0;
}
.cf7-submit-wrapper .wpcf7-spinner {
	position: absolute;
}
.cf7-submit-wrapper .btn-arrow {
	color: var(--c-text);
}
.cf7-submit-wrapper:has(input[type="submit"]:focus-visible) .btn-arrow .arrow-tip,
.cf7-submit-wrapper:has(input[type="submit"]:focus-visible) .btn-arrow .arrow-line,
.cf7-submit-wrapper:hover .btn-arrow .arrow-tip, .cf7-submit-wrapper:hover .btn-arrow .arrow-line {
	stroke-dashoffset: 0;
}
/* toast message */
body .wpcf7 form .wpcf7-response-output {
	position: fixed;
	bottom: var(--gap-default);
	right: var(--gap-default);
	z-index: 10;
	margin: auto;
	width:calc(100% - (var(--gap-default) * 2));
	max-width: 600px;
	transition: var(--transition);
	color: var(--c-bg);
	background-color: var(--c-bg-invert);
	font-size: 1.6rem;
	line-height: 1.2;
	padding: 20px 20px 20px 50px !important;
}
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.success .wpcf7-response-output {
	background-color: var(--c-success, #48C572);
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	background-color: var(--c-danger, #C84630);
}
.wpcf7 form.spam .wpcf7-response-output {
	background-color: var(--c-warning, #FCC130);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	background-color: var(--c-warning, #FCC130);
}

/* upload field */
body .codedropz-upload-handler {
	border-radius: 0;
	border-color: var(--c-text);
	transition: all .2s ease;
	margin-top: 10px;
}
body .codedropz-upload-wrapper:hover .codedropz-upload-handler {
	border-color: var(--c-primary);
}
body .dnd-progress-bar:has(span[style="width: 100%;"]) {
	display: none;
}
body .dnd-progress-bar span {
	background: var(--c-success);
}
body .dnd-upload-status .dnd-upload-image {
	background-image: url('../../images/document.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	border-radius: 0;
	border: none;
}
body .dnd-upload-status .dnd-upload-details .name em,
body .dnd-upload-status .dnd-upload-details .name {
	color: var(--c-text);
	font-weight: 300;
	font-style: normal;
}
body .dnd-upload-status .dnd-upload-details .name em {
	opacity: .6;
}
body .dnd-upload-status .dnd-upload-details .remove-file {
	width: 20px;
	height: 20px;
}
body .dnd-upload-status .dnd-upload-details .remove-file::after,
body .dnd-upload-status .dnd-upload-details .remove-file::before {
	content:"";
	width: 100%;
	height: 2px;
	border-radius: 2px;
	background-color: var(--c-text);
	position: absolute;
	top: 0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	transform:rotate(45deg);
}
body .dnd-upload-status .dnd-upload-details .remove-file::before {
	transform:rotate(-45deg);
}
body .dnd-upload-status .dnd-upload-image span.file,
body .dnd-upload-status .dnd-upload-details .remove-file span {
	display: none !important;
}
body .wpcf7 form .wpcf7-response-output {
	padding-right: 7rem !important;
}
body .wpcf7 form .wpcf7-response-output .custom-wpcf7-close {
	width: 5rem;
	height: 5rem;
	border-radius: 0;
	border: none;
	position: absolute;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
	background: none;
	color: currentColor;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
body .wpcf7 form .wpcf7-response-output .custom-wpcf7-close svg {
	width: 24px;
	height: 24px;
	display: inline-block;
}
@keyframes blinker {
	50% {
		opacity: 0;
	}
}
.inputs-wrapper {
	display: none;
}
.inputs-wrapper.visible {
	display: block;
}
.wpcf7-form .cf7-submit-wrapper .spinner {
	position: absolute;
	right: 0;
	top: 0;
	bottom: 4px;
	margin: auto;
	border-top-color: var(--c-primary);
	display: none;
}
.wpcf7-form.submitting .cf7-submit-wrapper .spinner {
	display: block;
}
.wpcf7-form.submitting .cf7-submit-wrapper .btn-arrow {
	display: none;
}
@media (max-width:767px) {
	.cf-container {
		margin-top: 2.3rem;
	}
	.button .btn-arrow .arrow-line,
	.button .btn-arrow .arrow-tip {
		transition: stroke-dashoffset 1s ease !important;
	}
	.button .btn-arrow .arrow-tip {
		transition-delay: .4s !important;
	}
	.button.inView .btn-arrow .arrow-tip, .button.inView .btn-arrow .arrow-line {
		stroke-dashoffset: 0;
	}
}

/* loading icon contact form */
.anfrage-outer {
	position: relative;
}
.loading-icon-container {
	position: absolute;
	top:0;
	left:-4px;
	width:calc(100% + 4px);
	height:100%;
	z-index: 3;
	background-color: var(--c-bg);
	pointer-events: none;
	transition: var(--transition);
	opacity: 0;
}
.loading-icon-container .loading-icon-container-inner {
	width: 100%;
	max-width: 280px;
	display: flex;
	align-items:center;
	justify-content: center;
	flex-direction:column;
}
.loading-icon-container .loading-icon {
	margin: 0;
}
.loading-icon-container .loading-icon::before {
	border-radius: 0;
	clip-path: circle(50% at center);
	transition: clip-path 0.4s ease;
}
.loading-text {
	margin-top: 40px;
	font-weight: bold;
	font-size: var(--fs-l);
	text-align: center;
}
.wpcf7-form.sent .loading-icon-container,
.wpcf7-form.resetting .loading-icon-container,
.wpcf7-form.submitting .loading-icon-container {
	opacity: 1;
}
.loading-icon-container .loading-text .im_blinkin_xO {
	animation: blinker_hold 3s infinite alternate;
	animation-delay: 0s;
	animation-fill-mode: forwards;
}
.loading-icon-container .loading-text .im_blinkin_xO.delay-2 {
	animation: blinker_hold 3s infinite alternate;
	animation-delay: 1s;
}
.loading-icon-container .loading-text .im_blinkin_xO.delay-3 {
	animation: blinker_hold 3s infinite alternate;
	animation-delay: 2s;
}
@keyframes blinker_hold {
	0% {
		opacity: 0;
	}
	20% {
		opacity: 0;
	}
	40% {
		opacity: 1;
	}
	60% {
		opacity: 1;
	}
	80% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}
.loading-icon-sent,
.loading-text-sent {
	display: none;
}
.wpcf7-form.sent .loading-icon-container .loading-icon-sent,
.wpcf7-form.sent .loading-icon-container .loading-text-sent {
	display: block;
}
.wpcf7-form.sent .loading-icon-container .loading-icon-submitting,
.wpcf7-form.sent .loading-icon-container .loading-text-submitting {
	display: none;
}
.loading-icon-sent svg {
	width: 80px;
	height: 80px;
}
.loading-icon-sent path {
	transition-delay: 0s !important;
}
.wpcf7-form.sent .loading-icon-sent path {
	stroke-dashoffset: 0 !important;
}
@media (max-width:767px) {
	.loading-icon-container .loading-icon-container-inner {
		max-width: 100%;
	}
}

/* Offene Stellen
--------------------------------------------------------- */
.single-offene-stellen .animated-icon .brush-group path {
	stroke-linecap: round;
}
.single-offene-stellen label .label-title,
#wpcf7-f68-p137-o1 label .label-title {
	font-weight: 900 !important;
	font-size: var(--fs-l);
	position: static;
}
.single-offene-stellen input[type=email], .single-offene-stellen input[type=number], .single-offene-stellen input[type=password], .single-offene-stellen input[type=search], .single-offene-stellen input[type=tel], .single-offene-stellen input[type=text], .single-offene-stellen input[type=url], .single-offene-stellen select, .single-offene-stellen textarea,
#wpcf7-f68-p137-o1 input[type=email], #wpcf7-f68-p137-o1 input[type=number], #wpcf7-f68-p137-o1 input[type=password], #wpcf7-f68-p137-o1 input[type=search], #wpcf7-f68-p137-o1 input[type=tel], #wpcf7-f68-p137-o1 input[type=text], #wpcf7-f68-p137-o1 input[type=url], #wpcf7-f68-p137-o1 select, #wpcf7-f68-p137-o1 textarea {
	border-radius: 0 !important;
	border: 4px solid var(--c-text) !important;
	background: none !important;
	color: var(--c-text);
	font-family: var(--ff-default);
	font-size: var(--fs-m);
	box-shadow: 0 0 0px 1000px var(--c-bg) inset !important;
}
.single-offene-stellen label .label-title + .wpcf7-form-control-wrap:has(textarea),
#wpcf7-f68-p137-o1 label .label-title + .wpcf7-form-control-wrap:has(textarea) {
	margin-top: 0;
}
body input:-internal-autofill-selected {
	background-color: transparent !important;
	color: var(--c-text) !important;
	box-shadow: none !important;
}
.single-offene-stellen input[type="text"]:focus-visible,
.single-offene-stellen input[type="email"]:focus-visible,
.single-offene-stellen textarea:focus-visible {
	outline-offset: 2px;
	outline-style: dashed;
	outline-width: 2px;
}
@media (max-width: 1080px) {
	.offene-stellen .sj-iconbox {
		margin-bottom: var(--gap-default);
	}
	.offene-stellen .sj-iconbox .animated-icon {
		max-height: 100px;
	}
}
@media (max-width: 767px) {
	.offene-stellen .sj-iconbox .animated-icon {
		max-height: 80px;
	}
}

.user-is-tabbing input[type=email]:focus-visible, .user-is-tabbing input[type=number]:focus-visible, .user-is-tabbing input[type=password]:focus-visible, .user-is-tabbing input[type=reset]:focus-visible, .user-is-tabbing input[type=search]:focus-visible, .user-is-tabbing input[type=tel]:focus-visible, .user-is-tabbing input[type=text]:focus-visible, .user-is-tabbing input[type=url]:focus-visible, .user-is-tabbing textarea:focus-visible, select:focus-visible {
	border-width: 4px !important;
}

/* Footer
--------------------------------------------------------- */
.footer-middle {
	background-color: var(--c-bg);
}
.f-logo-wrap {
	margin-bottom: clamp(2rem, -1.081rem + 4.100vw, 5rem);
}
.footer-socials {
	margin-top: clamp(2rem, -1.081rem + 4.100vw, 5rem);
}
.logo-footer svg,
.logo-footer img {
	max-width: 100%;
	height: 60px;
	width: auto;
}
html[data-color-theme="light"] #logo-footer-light {
	display: none;
}
html[data-color-theme="dark"] #logo-footer-default {
	display: none;
}
.footer-middle nav {
	height: 100%;
}
#footer-menu li,
#footer-leistungen li {
	margin: 0 0 1.5rem 0 !important;
}
#footer-menu li a,#footer-menu li button,
#footer-leistungen li a, #footer-leistungen li button {
	padding: 0;
}
.fliptext,
.lhp-archive-wrap a,
li a:has(.menu-default-text),
li button:has(.menu-default-text),
#footer-leistungen li button, #footer-leistungen li a,
#footer-menu li button, #footer-menu li a {
	font-size: var(--fs-l);
	font-weight: var(--fw-900);
	color: var(--c-primary);
	text-transform: lowercase;
	text-align:left;
	position: relative;
	overflow: hidden;
	line-height: var(--lh-s);
}
.lhp-archive-wrap a h2,
.lhp-archive-wrap a .h2 {
	font-size: clamp(3.2rem, 2.889rem + 0.700vw, 4rem);
	font-weight: var(--fw-900);
	margin-bottom: 0;
}
.footer-social-media .fsm-item-wrapper {
	margin-right: 5rem;
}
.footer-social-media .fsm-item-wrapper a {
	color: var(--c-primary);
}
.footer-social-media .fsm-item-wrapper a:hover {
	color: var(--c-primary-alt);
}
.footer-social-media .fsm-item-wrapper,
.footer-social-media .fsm-item-wrapper a svg {
	height: 46px;
	display: inline-block;
}
.footer-social-media .fsm-item-wrapper a svg {
	width: auto;
}
@media (max-width: 1080px) and (min-width:767px) {
	#fm-col-1 {
		grid-column: 1 / -1;
	}
}
@media (max-width: 1080px) {
	.footer-middle .grid {
		grid-gap: 0;
	}
	.footer-socials {
		margin-bottom: 2.6rem;
	}
	#footer-menu li, #footer-leistungen li {
		margin: 0 !important;
	}
}
@media (max-width:767px) {
	.logo-footer svg,
	.logo-footer img {
		height: 40px;
	}
}

/* hover double text animation */
.menu-default-text,
.menu-hover-text {
	display: inline-block;
	line-height: clamp(3.2rem, 2.889rem + 0.700vw, 4rem);
	transition: var(--transition-1);
}
.menu-default-text {
	position: relative;
}
.menu-hover-text {
	position: absolute;
	bottom: -100%;
	left:0;
	height: 100%;
	display: inline-flex;
	align-items: center;
	opacity: 0;
	color: var(--c-text);
}
.fliptext:hover .menu-default-text,
.lhp-archive-wrap a:hover .menu-default-text,
.menu li > *:hover .menu-default-text {
	transform: translateY(-100%);
	opacity: 0;
}
.fliptext:hover .menu-hover-text,
.lhp-archive-wrap a:hover .menu-hover-text,
.menu li > *:hover .menu-hover-text {
	transform: translateY(-100%);
	opacity: 1;
}
.mm-unit-title {
	font-size: var(--fs-l) !important;
}
#mobile-main-menu li .menu-default-text,
#mobile-main-menu li .menu-hover-text,
.mm-unit-title .menu-default-text,
.mm-unit-title .menu-hover-text {
	font-size: var(--fs-l) !important;
}
#footer-leistungen li {
	width: 100%;
}
#footer-menu li a,
#footer-menu li button ,
#footer-leistungen li a,
#footer-leistungen li button {
	background: none;
	border: none;
	border-radius: 0;
	font-family: var(--ff-default);
	display: inline-block;
	padding: 0.2rem 0.0rem;
	text-decoration: none;
	cursor: pointer;
}
#fm-col-1 a {
	color: var(--c-text);
}
#fm-col-1 a:hover {
	color: var(--c-text);
}
.footer-contactos a {
	position: relative;
	padding-bottom: 2px;
}
.footer-contactos a::before,
.footer-contactos a::after {
	content:"";
	width:0;
	height: 2px;
	position: absolute;
	bottom: 0;
	left:0;
	background-color: var(--c-primary);
	animation-iteration-count: 1;
	animation-duration: .4s;
	animation-timing-function: linear;
	animation-fill-mode: forwards;
}
.footer-contactos a::before {
	animation-delay: .1s;
}
.footer-contactos a::after {
	width: 100%;
	right:0;
	left:auto;
}
.footer-contactos a:hover::after {
	animation-name: eraseLinkUnderline;
}
.footer-contactos a:hover::before {
	animation-name: drawLinkUnderline;
}
@keyframes eraseLinkUnderline {
	from {
		width: 100%;
	}
	to {
		width: 0%;
	}
}
@keyframes drawLinkUnderline {
	from {
		width: 0%;
	}
	to {
		width: 100%;
	}
}
.fsm-item path {
	fill: var(--c-primary);
}
.fsm-item:hover path {
	fill: var(--c-primary-alt);
}
.fsm-item {
	transition: var(--transition);
	display:inline-block;
}
#fsm-facebook:hover {
	transform: rotate(14deg);
}
#fsm-instagram:hover {
	transform: rotate(-22deg);
}
#fsm-linkedin:hover {
	transform: rotate(-12deg);
}
@media (max-width: 767px) {
	.lhp-archive-wrap a {
		white-space: normal !important;
		max-width: 100%;
	}
}

/* leistungen auflistung pills
--------------------------------------------------------- */
.leistungen-horizontal-pills {
	position: relative;
	overflow: hidden;
}
.horizontal-pill-wrapper-outer {
	padding: 3.5rem 0;
}
.lhp-archive-wrap {
	margin-right: clamp(0rem, -3.111rem + 7.400vw, 8rem); /* width buffer */
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	transition: var(--transition);
}
.lhp-archive-wrap a {
	font-weight: var(--fw-900);
	white-space: nowrap;
	display: inline-flex;
	align-items:center;
}
.horizontal-pill-wrapper-outer:hover .lhp-archive-wrap a {
	overflow: visible;
}
.horizontal-pill-wrapper-outer:hover .btn-arrow .arrow-line,
.horizontal-pill-wrapper-outer:hover .btn-arrow .arrow-tip {
	stroke-dashoffset: 0;
}
.lhp-archive-wrap a .btn-arrow {
	transform: rotate(4deg);
	right: -30px;
}
.horizontal-pill-wrapper-outer:hover .lhp-archive-wrap a .menu-default-text {
	transform: translateY(-100%);
	opacity: 0;
}
.horizontal-pill-wrapper-outer:hover .menu-hover-text {
	transform: translateY(-100%);
	opacity: 1;
}
.mobile-l-accordion {
	display: none;
	cursor: pointer;
	margin-bottom: 0;
	background: none !important;
}
@media (max-width:767px) {
	.horizontal-pill-wrapper-outer .lhp-archive-wrap a .menu-default-text {
		transform: translateY(0) !important;
		opacity: 1 !important;
	}
	.leistungen-horizontal-pills .track-highlight,
	.leistungen-horizontal-pills .menu-hover-text {
		display: none !important;
	}
	.elementor-widget-mj-unit-leistungen .leistungen-horizontal-pills .lhp-pills-wrap {
		display: none;
	}
	.elementor-widget-mj-unit-leistungen .leistungen-horizontal-pills .lhp-archive-wrap,
	.mobile-l-accordion {
		display: inline-flex;
	}
	.leistungen-horizontal-pills .lhp-archive-wrap {
		grid-gap: var(--gap-default);
		margin-bottom: var(--gap-default);
	}
	.elementor-widget-mj-unit-leistungen .leistungen-horizontal-pills .lhp-archive-wrap > a {
		max-width: calc(100% - 30px);
	}
	.leistungen-horizontal-pills .horizontal-pill-wrapper-outer {
		padding: 1.5rem 0;
	}
	.mobile-l-accordion {
		align-items: center;
		justify-content: center;
		background: none;
		color: var(--c-text);
		width: 30px;
		height: 30px;
		border: none;
		border-radius: 0;
		padding: 0;
	}
	.mobile-l-accordion svg {
		width: 30px;
		height: 30px;
	}
	.mobile-l-accordion svg .plus-line-vertical {
		transform-origin: center;
		transition: var(--transition);
	}
	.elementor-widget-mj-unit-leistungen.accordion-open .mobile-l-accordion svg .plus-line-vertical {
		transform: rotate(90deg);
	}
}

svg path {
	stroke-linejoin: round;
}

.lhp-pills-wrap {
	width:100%;
	transition: var(--transition);
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	position: relative;
	overflow:hidden;
	white-space: nowrap;
	height: 65px;
}
.lhp-pills-wrap-inner {
	position: absolute;
	top:0;
	left:0;
	padding-left: 20px;
	transition: var(--transition);
}
.lhp-pills-wrap .button {
	margin-top: 4px;
	margin-bottom: 4px;
	margin-right: var(--gap-default);
}
.track-highlight {
	z-index: -1;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 0;
	pointer-events: none;
	width: 1139.181px;
	height: 549.5px;
	transform: rotate(9.85deg) translateY(-35%) translateX(-50%);
	border-radius: 1139.181px;
	background: radial-gradient(50% 50% at 50% 50%, rgba(0, 209, 202, 0.50) 0%, rgba(0, 209, 202, 0.28) 29%, rgba(30, 30, 30, 0.00) 100%);
}
.leistungen-horizontal-pills:hover .track-highlight {
	opacity: .6;
	backdrop-filter: blur(10px);
}
@media (max-width:1080px) {
	.lhp-pills-wrap .button {
		margin-right: 0;
	}
	.lhp-archive-wrap {
		width:100%;
		min-width:100% !important;
		margin-bottom: var(--gap-default);
	}
	.horizontal-pill-wrapper-outer {
		display: block;
	}
	.lhp-pills-wrap {
		white-space: normal;
		height: auto;
	}
	.lhp-pills-wrap-inner {
		transform: translateX(0) !important;
		padding-left: 0;
		position: static;
		white-space: normal;
		height: auto;
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		grid-gap: 2rem;
	}
}

/* Jobs
--------------------------------------------------------- */
.jobs-horizontal .lhp-pills-wrap {
	white-space: normal;
	height: auto;
	text-align: center;
}
@media (max-width: 1080px) {
	.jobs-horizontal {
		margin-bottom: 1rem;
	}
	.lhp-archive-wrap {
		margin-right: 0;
	}
	.jobs-horizontal .lhp-pills-wrap {
		text-align:left;
	}
}

/* 404
--------------------------------------------------------- */
.error404 {
	background-color: #F6F6F6;
	color: #2d2d2d;
}
.error404 h1,
.error404 h2,
.error404 h3,
.error404 h4,
.error404 h5,
.error404 h6 {
	color: #2d2d2d !important;
}
.ah-ah-ah {
	text-align:center;
	position: relative;
	margin-bottom: 20px;
}
.ah-ah-ah img {
	display: inline-block;
	max-width: 400px !important;
	width:100%;
}
.ah-ah-ah::after {
	content:"";
	height: 100%;
	width: 2px;
	position: absolute;
	top:0;
	right:0;
	background-color: #F6F6F6;
	z-index: 2;
}

/* Icon Test
--------------------------------------------------------- */

.icon-wrapper.icon-type-oval {
	height: 265% !important;
}
.icon-wrapper.icon-type-oval svg {
	height: 100% !important;
}
@media (max-width:767px) {
	.icon-wrapper.icon-type-oval {
		max-height: 155px !important;
	}
}
.page-template-page-icon-uebersicht path {
	stroke-dasharray: 400;
	stroke-dashoffset: 400;
	transition: stroke-dashoffset .6s ease-in-out;
}
.page-template-page-icon-uebersicht .entry-content .column {
	display:flex;
	justify-content: start;
	flex-direction: column;
	align-items: center;
}
.page-template-page-icon-uebersicht .entry-content .column > div:hover path {
	stroke-dashoffset: 0 !important;
}
.page-template-page-icon-uebersicht .entry-content .column > div {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.page-template-page-icon-uebersicht svg.animated-icon {
	stroke-width:4px;
	stroke: var(--c-primary);
	stroke-linecap: round;
	overflow:visible;
}
@media (max-width:767px) {
	.icon-wrapper.icon-type-oval {
		height: 240% !important;
		transform: translateX(8px) !important;
	}
}

/* Team
--------------------------------------------------------- */
#team-container {
	width: calc(100% + var(--gap-default));
	margin-left: calc(var(--gap-half) * -1);
}
.teammitglied {
	background-color: transparent;
	width: 25%;
	height: auto;
	perspective: 1000px;
	aspect-ratio: 342 / 532;
	z-index: 2;
}
.teammitglied.tm-2 {
	margin-top: 100px;
}
.teammitglied.tm-3 {
	margin-top: 50px;
}
.teammitglied.tm-4 {
	margin-top: 150px;
}
.team-card-inner {
	display: grid;
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform .6s var(--transition-1-easing);
	transform-style: preserve-3d;
	padding: var(--gap-half);
	z-index: 2;
}
.teammitglied:hover .team-card-inner {
	transform: rotateY(180deg);
}
.teammitglied .team-card-front img {
	transition: all 300ms linear 0s;
}
.teammitglied:hover .team-card-front img {
	opacity: 0;
	transition: all 300ms linear 100ms;
}
.team-card-front, .team-card-back {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 25px;
	overflow: hidden;
	grid-row: 1;
	grid-column: 1;
	z-index: 2;
	backface-visibility: hidden;
}
.team-card-back {
	transform: rotateY(180deg);
}
.team-card-front img {
	border-radius: 25px !important;
}
.card-back-inner {
	position: relative;
	background-color: var(--c-lighten-bg-95);
	width: 100%;
	height: 100%;
}
.tm-position {
	position: absolute;
	top: 0;
	left:0;
	padding: var(--gap-default);
	color: var(--c-primary);
	width: 100%;
	text-align:left;
}
.tm-name {
	width: 100%;
	height: 100%;
	font-size: 3rem;
	font-size: clamp(3rem, 1.690rem + 1.700vw, 5rem);
	line-height: 1;
	text-transform: lowercase;
	font-weight:var(--fw-900);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.tm-vorname,
.tm-nachname {
	width: 100%;
	height: 5.2rem;
	height: clamp(3.2rem, 1.890rem + 1.700vw, 5.2rem);
	text-indent: -12%;
	position: relative;
	top:5px;
}
.tm-nachname {
	transform: rotate3d(0, 0, 1, 180deg);
	top:-5px;
}
.elementor-editor-active #team-container {
	display:grid !important;
	grid-template-columns: repeat(4, 1fr);
}
.elementor-editor-active #team-container .teammitglied {
	position: static !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	aspect-ratio: auto !important;
}
@media (max-width:1080px) {
	.teammitglied {
		width: calc(100% / 3);
	}
	.teammitglied.tm-3,
	.teammitglied.tm-4 {
		margin-top: 0;
	}
}
@media (max-width:767px) {
	.teammitglied {
		width: 50%;
	}
	.tm-vorname,
	.tm-nachname {
		text-indent: -10%;
	}
	
}
@media (max-width:544px) {
	.team-card-inner {
		padding: 5px;
	}
	.tm-position {
		padding: 20px 10px;
		font-size: 1.2rem;
	}
	.tm-vorname,
	.tm-nachname {
		height: clamp(2.2rem, 0.890rem + 1.700vw, 4.2rem);
	}
	.tm-name {
		font-size: clamp(2rem, 0.690rem + 1.700vw, 4rem);
	}
}
@media (max-width:350px) {
	#team-container {
		height: auto !important;
	}
	.teammitglied {
		position: static !important;
		width: 100%;
		margin: 0 !important;
		top:0 !important;
		left:0 !important;
	}
}

/* scroll top button
--------------------------------------------------------- */
.scrolltop-btn {
	display: none;
}

/* single posts / projects
--------------------------------------------------------- */
.sc-block > .grid {
	grid-gap:0;
}
.sc-block > .grid > .col-6 {
	aspect-ratio: 960 / 730;
	height:100%;
}
.sc-block.sc-block-intro > .grid > .col-6,
.sc-block > .grid > .col-6.bt-text-col {
	aspect-ratio: auto;
}
.sc-block-fullwidth_bild_video > .media-wrapper {
	aspect-ratio: 1920 / 1080;
}

.sc-text {
	padding: clamp(2.4rem, -4.807rem + 9.500vw, 13.4rem);
}
.container .sc-text {
	padding: clamp(0rem, -8.779rem + 11.600vw, 13.4rem);
}
.project-tags {
	display: flex;
	flex-wrap: wrap;
	grid-gap: 2rem 1.5rem;
}
.project-tags .button {
	margin-bottom: 0;
}
.intro-media-col .media-wrapper {
	overflow: hidden;
	border-radius: 40px 0 0 40px;
}
.sc-block-intro {
	padding-bottom: clamp(5rem, -0.503rem + 7.200vw, 13.4rem);
}
.sc-block-intro .button {
	opacity: 1 !important;
	transform: translateY(0) !important;
}
@media (max-width:757px) {	
	.intro-text-col {
		margin-bottom: 0;
	}
}

.single-projects .intro-text-col h1 {
	line-height: var(--lh-s) !important;
	font-weight: var(--fw-900) !important;
	margin-bottom: var(--space-s);
}
.intro-meta-headline {
	font-size: var(--fs-l);
	font-weight: var(--fw-900);
	color: var(--c-primary);
	display: inline-block;
	/* margin-bottom: var(--gap-half); */
	margin-bottom: 7px;
}
.intro-meta-box {
	margin-bottom: clamp(2.4rem, 0.697rem + 2.200vw, 5rem);
}
.sc-block-intro .button {
	padding-top: 1.0rem;
	padding-bottom: 0.8rem;
}

.project-tags-outer {
	position: relative;
}
.sc-more-tags-toggle {
	background: none;
	border: none;
	border-radius: 0;
	color: var(--c-text);
	margin-top: var(--gap-default);
	font-size: 1.4rem;
	cursor: pointer;
	padding: 0;
	text-decoration: underline !important;
}
.sc-more-tags-toggle:hover {
	color: var(--c-primary);
	background: none;
}

@media ( min-width:768px ) {
	.project-tags {
		max-height: 100% !important;
	}
	.sc-more-tags-toggle {
		display: none !important;
	}
}
@media ( max-width:767px ) {
	.single-projects .e-con.e-grid>.e-con-inner {
		display:block;
	}
	.single-projects .e-con .elementor-widget:not(:last-child) {
		margin-bottom: var(--gap-default);
	}
	.project-tags {
		transition: var(--transition);
		overflow: hidden;
	}
	.project-tags-outer.inactive .project-tags {
		overflow: hidden;
	}
	.project-tags-outer.active .project-tags {
		max-height: none;
		overflow: visible;
	}
}

/* ahahah web dev trigger */
.error-code-ahahah {
	position: fixed;
	top: 20px;
	left:20px;
	width:80%;
	height:80%;
	background-image: url('../../images/ah-ah-ah.gif');
	padding: 20px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 999999;
}
.error-code-ahahah#error-nr-1 {top: 40px;left:40px;}
.error-code-ahahah#error-nr-2 {top: 60px;left:60px;}
.error-code-ahahah#error-nr-3 {top: 80px;left:80px;}
.error-code-ahahah#error-nr-4 {top: 20px;left:auto;right:20px}
.error-code-ahahah#error-nr-5 {top: 40px;left:auto;right:40px}
.error-code-ahahah#error-nr-6 {top: 60px;left:auto;right:60px}
.error-code-ahahah#error-nr-7 {top: 20px;left:40px;}
.error-code-ahahah#error-nr-8 {top: 60px;left:auto;right:10px}
.error-code-ahahah#error-nr-9 {top: 140px;left:60px;}
.error-code-ahahah#error-nr-10 {top: 40px;left:40px;}

/* loading screen */
#loading-screen {
	position: fixed;
	background-color: var(--c-bg);
	z-index: 99999999;
	width:100%;
	height:100%;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	
	display: none !important;
}
.loading-icon {
	position: relative;
	width: 120px;
	height: 90px;
	margin: 0 auto;
}
.loading-icon:before {
	content: "";
	position: absolute;
	bottom: 30px;
	left: 50px;
	height: 30px;
	width: 30px;
	border-radius: 50%;
	background: var(--c-bg-invert);
	animation: loading-bounce 0.5s ease-in-out infinite alternate;
}

.loading-icon:after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	height: 12px;
	width: 45px;
	border-radius: 0px;
	box-shadow: 0 12px 0 var(--c-primary), -35px 50px 0 var(--c-primary), -70px 95px 0 var(--c-primary);
	animation: loading-step 1s ease-in-out infinite;
}
@keyframes loading-bounce {
	0% {
		transform: scale(1, 0.7);
	}
	40% {
		transform: scale(0.8, 1.2);
	}
	60% {
		transform: scale(1, 1);
	}
	100% {
		bottom: 140px;
	}
}
@keyframes loading-step {
	0% {
		box-shadow: 0 12px 0 rgba(0, 0, 0, 0),
					0 12px 0 var(--c-primary),
					-35px 50px 0 var(--c-primary),
					-70px 90px 0 var(--c-primary);
	}
	100% {
		box-shadow: 0 12px 0 var(--c-primary),
					-35px 50px 0 var(--c-primary),
					-70px 90px 0 var(--c-primary),
					-70px 90px 0 rgba(0, 0, 0, 0);
	}
}

/* 404
--------------------------------------------------------- */
.error404, .page-template-page-rechtliche {
	color: var(--c-text);
	background-color: var(--c-bg);
}
.error404 h1, .error404 .h1, .page-template-page-rechtliche h1,.error404, .page-template-page-rechtliche .h1,
.error404 h2, .error404 .h2, .page-template-page-rechtliche h2,.error404, .page-template-page-rechtliche .h2,
.error404 h3, .error404 .h3, .page-template-page-rechtliche h3,.error404, .page-template-page-rechtliche .h3,
.error404 h4, .error404 .h4, .page-template-page-rechtliche h4,.error404, .page-template-page-rechtliche .h4,
.error404 h5, .error404 .h5, .page-template-page-rechtliche h5,.error404, .page-template-page-rechtliche .h5,
.error404 h6, .error404 .h6, .page-template-page-rechtliche h6,.error404, .page-template-page-rechtliche .h6 {
	color: var(--c-text) !important;
}

/* Additional Media Queries
--------------------------------------------------------- */
@media (min-width:768px) {
	.desktop-hidden {
		display: none !important;
	}
}
@media (max-width:767px) {
	.mobile-hidden {
		display: none !important;
	}
	.is-iPhone.safari .widget-big-headline .big-headline-icon {
		max-height: 200px;
	}
	
}

:root {
	--icon-scale: 0.8;
}
@media (max-width:1080px) {
	:root {
		--icon-scale: 0.8;
	}
}
body .icon-wrapper:not(.icon-type-oval) {
	transform: scale(var(--icon-scale));
}
body .icon-wrapper svg {
	height: auto !important;
	width: auto !important;
}
body svg.big-headline-icon {
	height: auto !important;
	width: auto !important;
}

/* jobs single */
.single-offene-stellen .teammitglied {
	margin-top: 0 !important;
}
.single-offene-stellen .sos-intro .big-headline-top .headline-inner {
	transform: translateX(-40px);
}
.single-offene-stellen .sos-intro .big-headline-bottom .headline-inner {
	max-width: calc(100% - 40px);
	transform: translateX(40px);
}
.single-offene-stellen .sos-intro .icon-wrapper.icon-type-oval {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transform: translateX(-24px);
}
.single-offene-stellen .sos-intro .icon-wrapper svg.big-headline-icon {
	transform: rotate(25deg) scale(var(--icon-scale));
}
.single-offene-stellen h1,
.single-offene-stellen h2,
.single-offene-stellen h3,
.single-offene-stellen h4,
.single-offene-stellen h5,
.single-offene-stellen h6 {
	color: var(--c-primary) !important;
}
.sj-iconbox-icon-container {
	height: 140px;
	display: flex;
	align-items: center;
}
.sj-iconbox .animated-icon {
	height: auto;
	max-height: 100%;
}

.sj-gallery-band {
	grid-gap: var(--gap-default);
}
.sj-gallery-band .sj-gallery-image {
	height: clamp(23rem, -1.241rem + 31.900vw, 60rem);
	border-radius: 25px;
	overflow: hidden;
}
.sj-gallery-band .sj-gallery-image.image-col-one-third {
	width: calc((100% / 3) - var(--gap-half));
}
.sj-gallery-band .sj-gallery-image.image-col-two-thirds {
	width: calc(((100% / 3) * 2) - var(--gap-half));
}
.sj-gallery-band .sj-gallery-image.image-col-three-thirds {
	width: 100%;
}

.single-offene-stellen .teammitglied {
	width: 50%;
}

@media (min-width: 1080px) {
	#team-container-outer {
		padding-left: var(--space-s);
	}
}
@media (max-width:1080px) {
	.sj-section-2 .grid > .column.col-4 {
		text-align:center;
	}
	.sj-section-2 img {
		display: inline-block;
		max-width: 260px !important;
	}
}
@media (max-width:767px) {
	.single-offene-stellen .sos-intro .big-headline-top .headline-inner {
		transform: translateX(-20px);
	}
	.single-offene-stellen .sos-intro .big-headline-bottom .headline-inner {
		max-width: calc(100% - 20px);
		transform: translateX(20px);
	}
	.single-offene-stellen .sos-intro .icon-wrapper.icon-type-oval {
		transform: translateX(0px) !important;
	}
}

/* Contact Form
--------------------------------------------------------- */
.widget-contact-form .big-headline-top {
	text-align:left;
}
.widget-contact-form .icon-wrapper {
	--icon-scale: 1;
	bottom: 0;
	right:0;
	margin:auto;
	transform: translateX(40px) scale(var(--icon-scale));
}
@media (max-width:1080px) {
	.widget-contact-form .icon-wrapper {
		--icon-scale: 0.8;
	}
}
@media (max-width:767px) {
	.widget-contact-form .big-headline-line.big-headline-bottom {
		text-align:left;
	}
	.widget-contact-form .big-headline-line.big-headline-bottom .headline-inner {
		transform: translateX(40px);
	}
	.widget-contact-form .icon-wrapper {
		transform: translateX(60px) translateY(10px) scale(var(--icon-scale));
	}
	.wpcf7-form-control.wpcf7-acceptance label {
		font-size: 1.4rem;
	}
}

/* animations */
.a-slow {
	transition-duration: var(--transition-2-timing);
}


/* Popup Anpassungen
--------------------------------------------------------- */
.popup-close {
	background: none !important;
	top: 10px;
	right: 10px;
}
.popup-close:hover::before,
.popup-close:hover::after {
	background-color: var(--c-primary);
}
.popup-text-wrapper .wysiwyg {
	font-size: var(--fs-m);
}

.popup {
	opacity: 0;
	transform: translateY(100px) rotateX(20deg);
	transition: var(--transition);
	border-radius: 25px;
}
.popup-wrapper.active .popup {
	opacity: 1;
	transform: translateY(0) rotateX(0deg);
}

.bhi-headline-top {
	--offset: clamp(-3.4rem, -1.434rem + 2.600vw, -6.4rem);
	/* transform: translateX(-64px) !important; */
	/* end
	translateX(-34px) !important
	*/
	transform: translateX(var(--offset)) !important;
}
.bhi-headline-bottom {
	--offset: clamp(2.5rem, 1.517rem + 1.300vw, 4rem);
	transform: translateX(40px) !important;
	/* end
	translateX(25px) !important
	*/
	transform: translateX(var(--offset)) !important;
}

.popup-content-inner .big-headline::after {
	content:"";
	position: absolute;
	top: 0;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	transform: translate(80px, 30px);
	height: clamp(15rem, 5.172rem + 12.900vw, 30rem);
	width: clamp(15rem, 5.172rem + 12.900vw, 30rem);
	z-index: -1;
	background: radial-gradient(at center, rgba(0, 209, 202, 0.5), rgba(0, 209, 202, 0.2), rgba(0, 209, 202, 0), rgba(0, 209, 202, 0));
	border-radius: 50%;
	filter: blur(20px);
}


/* -----------------------------------------------
	Posts Widget Anpassungen
----------------------------------------------- */
 .posts-container .spinner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 4;
	width: 30px;
	height: 30px;
	opacity: 0;
	pointer-events: none;
}
.posts-container:has(.post-item-holder.loading) .spinner {
	opacity: 1;
}
.post-item-holder {
	transition: opacity .2s ease;
}
.post-item-holder:focus-visible {
	outline: none !important;
}
.post-item-holder.loading {
	opacity: 0.3;
}
button.cat-filter {
	border-radius: 40px !important;
}
.post-title-link {
	cursor:pointer;
}

/* -----------------------------------------------
	2.15 Loading Spinner
----------------------------------------------- */
.spinner {
	width: 18px;
	height: 18px;
	display: inline-block;
	border-width: 2px;
	border-style: solid;
	border-color: rgba(0,0,0,.2);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: spinnerRotation 1s linear infinite;
}
html[data-color-theme="dark"] .spinner {
	border-color: rgba(255,255,255,.6);
	border-top-color: currentColor;
}
@keyframes spinnerRotation {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
/* --- load more button spinner --- */
.submit-spinner-wrapper .spinner,
.load-more-button .spinner {
	height: 18px;
	width: 18px;
	display:none !important;
	position: relative;
}
.load-more-button.spinning .spinner {
	display:inline-block !important;
}
/* --- ajax search form spinner --- */
.spinner.ajax-search-loader {
	border-top-color: var(--c-primary, #2F6AFD) !important;
}

/* social sharing */
.social-sharing-links {
	background: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding:0;
	margin:0;
	color: var(--c-bg-invert);
}
.social-sharing-links {
	color: var(--c-primary);
}


/* blog */
/* single */
.single-post .sc-block-intro {
	/* padding-bottom: var(--space-xs); */
}
.single-post img,
.single-post .widget-image-text img {
	border-radius: 25px !important;
}
