header {
	position: absolute;
	width: 100%;
	height: 100vh;
	z-index: 999;
	top: 0;
	left: 0;
	pointer-events: none;
}

header > * {
	pointer-events: auto;
}

ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ============================================================
   DESKTOP — Sidebar (links, vertikal) + Topbar (oben rechts)
   ============================================================ */

.btw_header_desktop {
	display: contents;
}

.btw_header_sidebar {
	display: contents;
}

.btw_header_sidebar_logo {
	position: fixed;
	top: 40px;
	left: 17px;
	width: 73px;
	height: 184px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	z-index: 999;
	transition: opacity .3s ease;
}

.btw_header_sidebar_logo.is-hidden-by-footer,
.btw_header_mobile_logo.is-hidden-by-footer {
	opacity: 0;
	pointer-events: none;
}

.btw_header_sidebar_logo a,
.btw_header_sidebar_logo svg,
.btw_header_sidebar_logo img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	width: auto;
}

.btw_header_sidebar_logo svg {
	fill: #fff;
}

.btw_header_sidebar_logo svg path {
	transition: fill .4s ease;
}

.btw_header_sidebar_logo.is-on-purple svg path[style*="3f437c"] {
	fill: #fff !important;
}

.btw_header_sidebar_logo.is-on-purple svg path[style*="ffffff"] {
	fill: #3f437c !important;
}

.btw_header_sidebar_socials {
	position: absolute;
	top: 50%;
	left: 0;
	width: 110px;
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
}

.btw_header_sidebar_socials_inner {
	display: flex;
	flex-direction: row;
	gap: 46px;
	transform: rotate(-90deg);
	transform-origin: center;
	white-space: nowrap;
}

.btw_header_sidebar_socials_inner a,
.btw_header_sidebar_social_link {
	font-family: "Effra", "Avenir Next", sans-serif;
	font-size: 0.882rem;
	letter-spacing: 1.125px;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	transition: color .3s;
}

.btw_header_sidebar_socials_inner a:hover,
.btw_header_sidebar_social_link:hover {
	color: #cbc9dc;
}

.btw_header_topbar {
	position: fixed;
	top: 0;
	left: 110px;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 50px;
	padding: 0;
	z-index: 999;
	background: transparent;
}

.btw_header_nav {
	padding: 39px 32px;
	transition: -webkit-backdrop-filter .3s ease, backdrop-filter .3s ease;
}

.btw_header_topbar.is-scrolled .btw_header_nav {
	background: rgba(255, 255, 255, .3);
	-webkit-backdrop-filter: blur(17px);
	backdrop-filter: blur(17px);
}

.btw_header_topbar.is-scrolled .btw_header_nav_list > li:not(:last-child) > a {
	color: #4d4d4f;
}

.btw_header_topbar.is-scrolled .btw_header_nav_list > li:not(:last-child) > a::after {
	background: #4d4d4f;
}

/* ============================================================
   has-light-bg — Seiten ohne Hero-Bild (z.B. Kontakt)
   ============================================================ */

header.has-light-bg .btw_header_nav_list > li:not(:last-child) > a {
	color: #4d4d4f;
}

header.has-light-bg .btw_header_nav_list > li:not(:last-child) > a::after {
	background: #4d4d4f;
}

header.has-light-bg .header_burger_bar {
	background: #4d4d4f;
}

.btw_header_nav_list {
	display: flex;
	align-items: center;
	gap: 32px;
}

.btw_header_nav_list li a {
	position: relative;
	font-family: "Myriad Pro", "Avenir Next", sans-serif;
	font-size: 1.118rem;
	letter-spacing: 0.475px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	transition: color .3s ease;
}

.btw_header_nav_list li a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .4s ease, background .3s ease;
}

.btw_header_nav_list li a:hover::after,
.btw_header_nav_list li.current-menu-item > a::after,
.btw_header_nav_list li.current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.btw_header_nav_list > li:last-child {
	margin-left: 17px;
}

.btw_header_nav_list > li:last-child > a {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: auto;
	height: 73px;
	padding: 0 32px;
	background: #40437d;
	color: #fff;
	font-family: "Effra", "Avenir Next", sans-serif;
	font-size: 0.882rem;
	font-weight: 700;
	letter-spacing: 3.4px;
	text-transform: uppercase;
	transition: background .3s;
}

.btw_header_nav_list > li:last-child > a:hover {
	background: #cbc9dc;
}

.btw_header_nav_list > li:last-child > a::after,
.btw_header_nav_list > li:last-child > a:hover::after {
	content: '';
	position: static;
	width: 19px;
	height: 8px;
	margin-top: -2px;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 149.03'><polygon fill='%23fff' points='243.54 24.07 334.83 115.36 0 115.37 0 149.03 383.36 149.03 400 132.39 267.61 0'/></svg>") no-repeat center / contain;
	transform: none;
	flex-shrink: 0;
	transition: none;
}

/* ============================================================
   MOBILE-DRAWER (bestehende Struktur, nur unter <=1199px aktiv)
   ============================================================ */

.header_main_mobile {
	display: none;
}

.header_main_mobile_content {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 78px 33px 43px;
	width: 500px;
	right: 0;
	transition: transform .4s, top .4s;
	transform: translateX(500px);
	top: -27px;
	height: 100vh;
	position: absolute;
	background-color: #ebebf5;
	z-index: 2;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.header_main_mobile_content.open {
	transform: translateX(0);
}

html:has(header.is-menu-open),
body:has(header.is-menu-open) {
	overflow: hidden;
}

.header_main_mobile_overlay {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: -27px;
	left: 0;
	z-index: 1;
	visibility: hidden;
	opacity: 0;
	background: rgba(0, 0, 0, 0.3);
	/* -webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px); */
	transition: visibility 0s linear 300ms, opacity .4s, top .4s;
}

.header_main_mobile_overlay.show {
	visibility: visible;
	opacity: 1;
	transition: visibility 0s linear 0s, opacity .4s;
}

.header_main_mobile_background_img {
	position: absolute;
	top: -27px;
	right: 0;
	width: 500px;
	height: 100vh;
	transition: transform .4s, top .4s;
	transform: translateX(500px);
}

.header_main_mobile_overlay.show ~ .header_main_mobile_background_img {
	transform: translateX(0);
}

.header_main_mobile_background_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.header_burger_menu_icon,
.header_container_close_button {
	cursor: pointer;
}

.header_main_mobile_content_top_1 .menu {
	list-style: none;
	padding: 0;
	margin: 0;
}

.header_main_mobile_content_top_1 .menu > li {
	margin-bottom: 24px;
}

.header_main_mobile_content_top_1 .menu > li > a {
	position: relative;
	display: inline-block;
	font-family: "Myriad Pro", "Avenir Next", sans-serif;
	font-size: 1.4rem;
	letter-spacing: 0.475px;
	color: #40437d;
	text-decoration: none;
}

.header_main_mobile_content_top_1 .menu > li > a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -4px;
	width: 100%;
	height: 2px;
	background: #40437d;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .4s ease;
}

.header_main_mobile_content_top_1 .menu > li > a:hover::after,
.header_main_mobile_content_top_1 .menu > li.current-menu-item > a::after,
.header_main_mobile_content_top_1 .menu > li.current_page_item > a::after {
	transform: scaleX(1);
	transform-origin: left center;
}

.header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo_container {
	height: 60px;
}

.logo_container a,
.logo_container svg,
.logo_container img {
	height: 100%;
}

.logo_container svg,
.logo_container img {
	width: auto;
}

.logo_container svg {
	fill: #092939;
}

.header_burger_menu_icon {
	display: flex;
	flex-direction: column;
	align-items: end;
}

.header_burger_bar {
	display: block;
	width: 26px;
	height: 2px;
	background: #3f7898;
	border-radius: 50px;
	transform-origin: center;
	transition: transform .4s ease, opacity .3s ease, background .3s ease;
}

.header_burger_bar:not(:last-child) {
	margin-bottom: 6px;
}

.header_inner.open .header_burger_bar_1 {
	transform: translateY(8px) rotate(-45deg);
	background: #4d4d4f;
	transition-delay: 0s, 0s, .4s;
}

.header_inner.open .header_burger_bar_2 {
	opacity: 0;
}

.header_inner.open .header_burger_bar_3 {
	transform: translateY(-8px) rotate(45deg);
	background: #4d4d4f;
	transition-delay: 0s, 0s, .4s;
}

.header_main_mobile_content,
.header_main_mobile_content a {
	color: #40437d;
}

.header_main_mobile_socials {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 32px;
}

.header_main_mobile_social_link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: "Effra", "Avenir Next", sans-serif;
	font-size: 0.882rem;
	font-weight: 400;
	letter-spacing: 1.125px;
	color: #40437d;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .4s;
}

.header_main_mobile_social_link svg {
	width: 25px;
	height: 25px;
	fill: #40437d;
	flex-shrink: 0;
	transition: fill .4s;
}

.header_main_mobile_social_link:hover,
.header_main_mobile_social_link:hover svg {
	color: #cbc9dc;
	fill: #cbc9dc;
}

.header_main_mobile_content_bottom_1 {
	margin-bottom: 17px;
}

.header_main_mobile_content_bottom_2_left,
.header_main_mobile_content_bottom_2_right_email_phone_fax_container {
	display: flex;
	flex-direction: column;
}

.header_main_mobile_content_bottom_2_left {
	margin-bottom: 25px;
}

.header_main_mobile_content_bottom_2_right_email_phone_fax_container {
	align-items: flex-start;
}

.header_main_mobile_content_bottom_2_left a:not(:last-child),
.header_main_mobile_content_bottom_2_right_phone_container {
	margin-bottom: 10px;
}

.header_main_mobile_content_bottom_2_right_item a {
	position: relative;
	font-weight: 200;
}

.header_main_mobile_content_bottom_2_right_item a span {
	font-weight: 500;
}

.header_main_mobile_content_bottom_2_right_item a:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: rgba(64, 67, 125, .35);
	transition: background .4s;
}

.header_main_mobile_content_bottom_2 a,
.header_main_mobile_content_bottom_2 a * {
	transition: color .4s;
}

.header_main_mobile_content_bottom_2 a:hover,
.header_main_mobile_content_bottom_2 a:hover * {
	color: #cbc9dc;
}

.header_main_mobile_content_bottom_2_right_item a:hover:after {
	background: #cbc9dc;
}

/* ============================================================
   BREAKPOINTS
   ============================================================ */

@media screen and (max-width: 1599px) {
	.btw_header_topbar {
		gap: 32px;
	}
}

@media screen and (max-width: 1399px) {
	.btw_header_nav_list {
		gap: 24px;
	}
	.btw_header_nav_list > li:last-child > a {
		gap: 16px;
		padding: 0 24px;
		letter-spacing: 2px;
	}
}

@media screen and (max-width: 1199px) {
	.btw_header_desktop {
		display: none;
	}

	.header_main_mobile {
		display: block;
	}

	header {
		position: fixed;
		height: auto;
		background: transparent;
		padding: 27px 0;
		pointer-events: auto;
		transition: background .3s ease;
	}

	header.is-scrolled {
		background: rgba(255, 255, 255, .3);
		-webkit-backdrop-filter: blur(17px);
		backdrop-filter: blur(17px);
	}

	.header_burger_bar {
		background: #fff;
		transition: background .3s ease;
	}

	header.is-scrolled .header_burger_bar {
		background: #4d4d4f;
	}

	.btw_header_mobile_logo {
		position: fixed;
		top: 10px;
		left: 17px;
		width: 73px;
		height: auto;
		z-index: 1000;
		transition: opacity .3s ease;
	}

	header.is-menu-open {
		background: #fff;
	}

	header.is-menu-open .btw_header_mobile_logo {
		pointer-events: none;
	}

	.btw_header_mobile_logo svg path {
		transition: fill .4s ease;
	}

	.btw_header_mobile_logo.is-on-purple svg path[style*="3f437c"] {
		fill: #fff !important;
	}

	.btw_header_mobile_logo.is-on-purple svg path[style*="ffffff"] {
		fill: #3f437c !important;
	}

	.header_main_mobile .header_inner_right {
		position: relative;
		z-index: 2;
	}

	.header_main_wrapper > .container {
		max-width: 100% !important;
		padding: 0 22px;
	}

	.header_burger_menu_mobile {
		display: flex;
		flex-direction: column;
		align-items: end;
	}
}

@media screen and (max-width: 499px) {
	.header_main_mobile_content {
		width: 100%;
		transform: translateX(100%);
	}
}

@media screen and (max-width: 375px) {
	.btw_header_mobile_logo {
		width: 60px;
		height: 151px;
	}

	.header_main_mobile_content {
		padding: 78px 22px 43px;
	}
}

@media screen and (max-width: 350px) {
	.header_main_mobile_content_bottom_2 {
		flex-direction: column-reverse;
	}

	.header_main_mobile_content_bottom_2_right_email_phone_fax_container {
		align-items: start;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 325px) {
	.btw_header_mobile_logo {
		width: 52px;
		height: 131px;
	}
}
