header{
	background:#f9f6ed;
	position: fixed;
	top: 0;
	left: 0;
    width: 100%;
    z-index: 999;
	-webkit-transition: background .4s;
	-moz-transition: background .4s;
	-ms-transition: background .4s;
	-o-transition: background .4s;
	transition: background .4s;
}

header.scrolled {
	background: #ffffff;
}

footer .header_top_badge_container {
	margin-top: 60px;
}

.header_top_badge_container {
	will-change: transform, opacity;
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease, max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
	max-height: 100px;
	opacity: 1;
}

header.scrolled .header_top_badge_container {
	transform: translateY(-100%);
	max-height: 0;
	opacity: 0;
	pointer-events: none;
}

.header_top_badge {
	display: flex;
	justify-content: center;
}

.header_top_badge_content {
	display: inline-block;
	padding: 12px 70px 13px;
	position: relative;
	z-index: 0;
	--r: 25px;
	--s: 40px;
	--_m: /calc(2*var(--r)) calc(2*var(--r)) radial-gradient(#000 70%,#0000 72%) no-repeat;
	font-size: 0.889rem;
}

/* the white "pill" background is drawn by two halves so each bottom corner
   carries its own mask without the two masks cancelling each other out */
.header_top_badge_content::before,
.header_top_badge_content::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: calc(50% + 75px);
	background: #fff;
	z-index: -1;
}

/* header: curves at the bottom edge; footer: curves at the top edge */
header .header_top_badge_content {
	--vpos: bottom;                                 /* dot anchor edge */
	--vp: 100%;                                      /* radial vertical position */
	--voff: calc(-1 * var(--r));                     /* radial vertical offset */
	--cy: calc(100% - var(--s) - 2 * var(--r));      /* conic center Y */
	--ca-r: 90deg;                                   /* right cutout points down-right */
	--ca-l: 180deg;                                  /* left cutout points down-left */
}
footer .header_top_badge_content {
	--vpos: top;
	--vp: 0%;
	--voff: var(--r);
	--cy: calc(var(--s) + 2 * var(--r));
	--ca-r: 0deg;                                    /* right cutout points up-right */
	--ca-l: 270deg;                                  /* left cutout points up-left */
}

/* right half -> right corner */
.header_top_badge_content::after {
	right: -75px;
	-webkit-mask: right 0 var(--vpos) calc(var(--s) + var(--r)) var(--_m), right calc(var(--s) + var(--r)) var(--vpos) 0 var(--_m), radial-gradient(var(--s) at 100% var(--vp), #0000 99%, #000 101%) calc(-1 * var(--r)) var(--voff) no-repeat, conic-gradient(from var(--ca-r) at calc(100% - var(--s) - 2 * var(--r)) var(--cy), #0000 25%, #000 0);
	mask: right 0 var(--vpos) calc(var(--s) + var(--r)) var(--_m), right calc(var(--s) + var(--r)) var(--vpos) 0 var(--_m), radial-gradient(var(--s) at 100% var(--vp), #0000 99%, #000 101%) calc(-1 * var(--r)) var(--voff) no-repeat, conic-gradient(from var(--ca-r) at calc(100% - var(--s) - 2 * var(--r)) var(--cy), #0000 25%, #000 0);
}

/* left half -> mirrored left corner */
.header_top_badge_content::before {
	left: -75px;
	-webkit-mask: left 0 var(--vpos) calc(var(--s) + var(--r)) var(--_m), left calc(var(--s) + var(--r)) var(--vpos) 0 var(--_m), radial-gradient(var(--s) at 0% var(--vp), #0000 99%, #000 101%) var(--r) var(--voff) no-repeat, conic-gradient(from var(--ca-l) at calc(var(--s) + 2 * var(--r)) var(--cy), #0000 25%, #000 0);
	mask: left 0 var(--vpos) calc(var(--s) + var(--r)) var(--_m), left calc(var(--s) + var(--r)) var(--vpos) 0 var(--_m), radial-gradient(var(--s) at 0% var(--vp), #0000 99%, #000 101%) var(--r) var(--voff) no-repeat, conic-gradient(from var(--ca-l) at calc(var(--s) + 2 * var(--r)) var(--cy), #0000 25%, #000 0);
}

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

.header_inner > * {
	width: 33.333%;
}

.header_container_menu ul{
	list-style:none;
	margin:0;
	padding:0;
	margin-left: -27px;
}

.header_container_menu ul a {
	padding: 18px 27px 19px;
	border-radius: 32.5px;
	-webkit-transition: background .4s;
	-moz-transition: background .4s;
	-ms-transition: background .4s;
	-o-transition: background .4s;
	transition: background .4s;
}

header .header_container_menu ul a:hover {
	background: #fff;
}

header.scrolled .header_container_menu ul a:hover {
	background: #fdfaee;
}

.header_container_logo{
	width:160px;
	margin: 0 auto;
}

.header_container_logo svg {
	fill: #13322b;
}

.header_inner_right {
	display: flex;
	justify-content: flex-end;
}

.header_main_mobile_content{
	width: 60vw;
    right: 0;
	overflow-y: scroll;
	padding: 19px 20px 17px;
    -webkit-transition: -webkit-transform .5s;
    -moz-transition: -moz-transform .5s;
    -ms-transition: -ms-transform .5s;
    -o-transition: -o-transform .5s;
	transition: transform .5s;
    
    -webkit-transform: translateX(60vw);
    -moz-transform: translateX(60vw);
    -ms-transform: translateX(60vw);
    -o-transform: translateX(60vw);
    transform: translateX(60vw);
    top: 0;
    height: 100dvh;
    position: absolute;
    background-color: #f4c540;
}

.header_main_mobile_content.open{
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
}

.header_main_mobile_content_top_2{
	display: flex;
    justify-content: space-between;
}

.header_main_desktop{
	display:block;
}

.header_main_mobile{
	display:none;
}

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

.header_container_mobil_menu ul a {
	font-weight: 500;
	font-size: 1.9444rem;
	-webkit-transition: font-family .4s, font-weight .4s;
	-moz-transition: font-family .4s, font-weight .4s;
	-ms-transition: font-family .4s, font-weight .4s;
	-o-transition: font-family .4s, font-weight .4s;
	transition: font-family .4s, font-weight .4s;
}

.header_main_mobile_overlay{
	background-color:rgba(0, 0, 0, 0.6);
	position:absolute;
	width:100vw;
	height:100vh;
	top:0;
	
	visibility: hidden;
	opacity: 0;
	-webkit-transition: visibility 0s linear 300ms, opacity .4s;
	-moz-transition: visibility 0s linear 300ms, opacity .4s;
	-ms-transition: visibility 0s linear 300ms, opacity .4s;
	-o-transition: visibility 0s linear 300ms, opacity .4s;
	transition: visibility 0s linear 300ms, opacity .4s;
}

.header_main_mobile_overlay.show{
	visibility: visible;
	opacity: 1;
	-webkit-transition: visibility 0s linear 0s, opacity .4s;
	-moz-transition: visibility 0s linear 0s, opacity .4s;
  	-ms-transition: visibility 0s linear 0s, opacity .4s;
  	-o-transition: visibility 0s linear 0s, opacity .4s;
  	transition: visibility 0s linear 0s, opacity .4s;
}

.header_burger_menu_icon,
.header_container_close_button{
	cursor:pointer;
}

.header_container_mobil_menu li.menu-item-has-children{
	overflow:hidden;
}

.header_container_mobil_menu li.menu-item-has-children>a:after{
	content:">";
	display: inline-block;
	
	-webkit-transition: -webkit-transform .3s ease-in-out;
	-moz-transition: -moz-transform .3s ease-in-out;
	-ms-transition: -ms-transform .3s ease-in-out;
	-o-transition: -o-transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
}

.header_container_mobil_menu li.menu-item-has-children>a.open:after{
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transform: rotate(90deg);
}

.sub-menu{
	display:none;
}

.menu_item_img{
	width: 100px;
	height: auto;
}

@media screen and (max-width: 1199px) {
	.header_container_menu ul {
		margin-left: -20px;
	}
	
	.header_container_menu ul a {
		padding: 18px 20px 19px;
	}
}

@media screen and (max-width: 991px) {
	.header_main_desktop{
		display:none;
	}
	
	.header_main_mobile{
		display:block;
	}
	
	.header_inner > * {
		width: auto;
	}
	
	.header_container_logo {
		margin: 0;
		width: 142px;
	}
	
	.header_burger_menu_icon,
	.header_container_close_button {
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 4px;
		width: 57px;
		height: 57px;
		border-radius: 50%;
		border: 1px solid rgba(19,50,43,.5);
		background: transparent;
		-webkit-transition: background .4s, border-color .4s;
		-moz-transition: background .4s, border-color .4s;
		-ms-transition: background .4s, border-color .4s;
		-o-transition: background .4s, border-color .4s;
		transition: background .4s, border-color .4s;
	}
	
	.header_container_close_button {
		background: #f4c540;
		border-color: #13322b;
	}
	
	.header_burger_line {
		display: inline-block;
		width: 22px;
		height: 3px;
		background: #13322b;
		-webkit-transition: background .4s;
		-moz-transition: background .4s;
		-ms-transition: background .4s;
		-o-transition: background .4s;
		transition: background .4s;
	}
	
	.header_burger_menu_icon:hover {
		border-color: #13322b;
		background: #13322b;
	}
	
	.header_burger_menu_icon:hover .header_burger_line {
		background: #f4c540;
	}
	
	.header_container_close_button .header_close_line {
		-webkit-transform: rotate(-45deg) translate(-2px, 2px);
		-moz-transform: rotate(-45deg) translate(-2px, 2px);
		-ms-transform: rotate(-45deg) translate(-2px, 2px);
		-o-transform: rotate(-45deg) translate(-2px, 2px);
		transform: rotate(-45deg) translate(-2px, 2px);
	}
	
	.header_container_close_button .header_close_line[data-index="2"] {
		-webkit-transform: rotate(45deg) translate(-3px,-3px);
		-moz-transform: rotate(45deg)translate(-3px,-3px);
		-ms-transform: rotate(45deg)translate(-3px,-3px);
		-o-transform: rotate(45deg)translate(-3px,-3px);
		transform: rotate(45deg)translate(-3px,-3px);
	}
	
	.header_main_mobile_content_top {
		margin-bottom: 17px;
	}
	
	.header_main_mobile_content_top_2 {
		align-items: center;
	}
	
	.header_main_mobile_content_middle {
		background: #ffffff;
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right center;
		border-radius: 20px;
		padding: 40px 20px;
		height: calc(100% - 57px - 19px - 17px - 17px);
		min-height: 680px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	
	.header_container_mobil_menu ul li:not(:last-child) {
		margin-bottom: 4px;
	}
	
	.header_container_button_container {
		margin-top: 28px;
	}
	
	.header_container_button_container .mm_button {
		display: inline-flex;
	}
	
	.header_main_mobile_contact {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 55px;
		border-bottom: 1px solid rgba(87,79,6,.3);
	}
	
	.header_contact_link {
		font-weight: 500;
	}
	
	.header_main_mobile_content_middle_3 {
		margin-top: auto;
	}
	
	.header_main_mobile_content_middle_3 .footer_rechtliches_nav_menu {
		margin-top: 25px;
		margin-bottom: 10px;
	}
	
	.header_main_mobile_content_middle_3 .footer_rechtliches_menu {
		padding: 0;
		margin: 0;
		list-style-type: none;
		justify-content: flex-start;
		gap: 0 40px;
	}
	
	.header_main_mobile_content_middle_3 .footer_rechtliches_menu a {
		color: rgba(87,79,6,.5);
		font-weight: 300;
		-webkit-transition: color .4s;
		-moz-transition: color .4s;
		-ms-transition: color .4s;
		-o-transition: color .4s;
		transition: color .4s;
	}
	
	.header_main_mobile_content_middle_3 .footer_rechtliches_menu a:hover {
		color: #13322b;
	}
	
	.header_main_mobile_content_middle_3 .footer_copyright_text,
	.header_main_mobile_content_middle_3 .footer_developed_by {
		width: 100%;
		color: rgba(87,79,6,.5);
		font-weight: 300;
		font-size: .8333rem;
		margin-bottom: 0;
		text-align: left;
	}
	
	.header_main_mobile_content_middle_3 .footer_copyright_text * {
		color: rgba(87,79,6,.5);
	}
}

@media screen and (max-width: 767px) {
	.header_main_mobile_content {
		width: 80vw;
		-webkit-transform: translateX(80vw);
		-moz-transform: translateX(80vw);
		-ms-transform: translateX(80vw);
		-o-transform: translateX(80vw);
		transform: translateX(80vw);
	}
	
	.header_top_badge_content {
		display: none;
	}
}

@media screen and (max-width: 575px) {
	.header_main_mobile_content {
		width: 100vw;
		-webkit-transform: translateX(100vw);
		-moz-transform: translateX(100vw);
		-ms-transform: translateX(100vw);
		-o-transform: translateX(100vw);
		transform: translateX(100vw);
	}
}

@media screen and (max-width: 450px) {
	.header_main_mobile_content_middle {
		min-height: 585px;
		padding: 30px 20px;
	}
	
	.header_main_mobile_contact {
		padding-bottom: 35px;
	}
}

@media screen and (max-width: 350px) {
	font-size: 1.744rem;
}