/********************
*      Modules      *
********************/

*, :after, :before {
	box-sizing: border-box;
}

.opacity_0{
	opacity: 0;
}

/* link / button */
.mM_button:not(.menu-item),
input.mM_button,
.menu-item.mM_button a {
	padding: 12px 26px 11px 21px;
	cursor: pointer;
	border-radius: 23px;
	font-weight: 500;
	font-family: "Karla";
	font-size: 0.8333rem;
	text-transform: uppercase;
	letter-spacing: 0.05rem;
	display: inline-block;
	border: 1px solid transparent;
	
	-webkit-transition: background .4s, border .4s, color .4s;
	-moz-transition: background .4s, border .4s, color .4s;
	-ms-transition: background .4s, border .4s, color .4s;
	-o-transition: background .4s, border .4s, color .4s;
	transition: background .4s, border .4s, color .4s;
}

input.mM_button,
.menu-item.mM_button a {
	-webkit-transition: background .4s, color .4s, border .4s;
	-moz-transition: background .4s, color .4s, border .4s;
	-ms-transition: background .4s, color .4s, border .4s;
	-o-transition: background .4s, color .4s, border .4s;
	transition: background .4s, color .4s, border .4s;
}

input.mM_button {
	
}

.mM_button .mM_button_text {
	-webkit-transition: color .4s;
	-moz-transition: color .4s;
	-ms-transition: color .4s;
	-o-transition: color .4s;
	transition: color .4s;
	
	margin: 0;
	display: inline-block;
}

.menu-item.mM_button a:after {
	content: '';
}

.mM_button .mM_button_circle,
.menu-item.mM_button a:after {
	display: inline-block;
	height: 5.5px;
	width: 5.5px;
	
	border: 1px solid;
	background-color: transparent;
	border-radius: 50%;
	
	margin-left: 8px;
	margin-bottom: 2px;
	
	-webkit-transition: border-color .4s;
	-moz-transition: border-color .4s;
	-ms-transition: border-color .4s;
	-o-transition: border-color .4s;
	transition: border-color .4s;
}

.mM_button svg {
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

.mM_button.primary:not(.menu-item),
.menu-item.mM_button.primary a {
	background-color:var(--primarbutton_background_color);
}

.mM_button.primary .mM_button_text,
input.mM_button.primary,
.menu-item.mM_button.primary a {
	color: var(--primarbutton_font_color);
}

.mM_button.primary .mM_button_circle {
	border-color: var(--primarbutton_font_color);
}

.mM_button.primary svg {
	fill: var(--primarbutton_font_color);
}

.mM_button.primary:not([disabled]):not(.menu-item):hover,
.menu-item.mM_button.primary a:hover {
	background-color:var(--primarbutton_hover_background_color);
	border-color: var(--primarbutton_hover_font_color);
}

.mM_button.primary:not([disabled]):hover .mM_button_text,
input.mM_button.primary:not([disabled]):hover,
.menu-item.mM_button.primary a:hover {
	color:var(--primarbutton_hover_font_color);
}

.mM_button.primary:not([disabled]):hover .mM_button_circle {
	border-color: var(--primarbutton_hover_font_color);
}

.mM_button.primary:not([disabled]):hover svg {
	fill: var(--primarbutton_hover_font_color);
}

.mM_button.secondary:not(.menu-item),
.menu-item.mM_button.secondary a {
	background-color:var(--sekundarbutton_background_color);
}

.mM_button.secondary .mM_button_text,
input.mM_button.secondary,
.menu-item.mM_button.secondary a {
	color:var(--sekundarbutton_font_color);
}

.mM_button.secondary .mM_button_circle {
	border-color: var(--sekundarbutton_font_color);
}

.mM_button.secondary svg {
	fill: var(--sekundarbutton_font_color);
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

.mM_button.secondary:not([disabled]):not(.menu-item):hover,
.menu-item.mM_button.secondary a:hover {
	background-color:var(--sekundarbutton_hover_background_color);
	border-color: var(--sekundarbutton_hover_font_color);
}

.mM_button.secondary:not([disabled]):hover .mM_button_text,
input.mM_button.secondary:not([disabled]):hover,
.menu-item.mM_button.secondary a:hover {
	color:var(--sekundarbutton_hover_font_color);
}

.mM_button.secondary:not([disabled]):hover .mM_button_circle {
	border-color: var(--sekundarbutton_hover_font_color);
}

.mM_button.secondary:not([disabled]):hover svg {
	fill: var(--sekundarbutton_hover_font_color);
}

.link{
	cursor:pointer;
	-webkit-transition: color .4s, background .4s;
	-moz-transition: color .4s, background .4s;
	-ms-transition: color .4s, background .4s;
	-o-transition: color .4s, background .4s;
	transition: color .4s, background .4s;
}

.link.primary{
	color:var(--primarlink_font_color);
	position: relative;
}

.link.primary:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 2px;
	left: 0;
	background-color: var(--primarlink_font_color);
	transform: scaleX(1);
	transform-origin: left;
	transition: transform .4s;
}

.link.primary:focus:after,
.link.primary:hover:after {
	background-color: var(--primarlink_hover_font_color);
	transform: scaleX(0);
	transform-origin: right;
}

.link svg {
	width: 18px;
	min-width: 18px;
	margin-right: 5px;
	margin-bottom: -2px;
}

.link.primary svg {
	fill: var(--primarlink_font_color);
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

.link.primary:hover{
	color:var(--primarlink_hover_font_color);
}

.link.primary:hover svg {
	fill: var(--primarlink_hover_font_color);
}

.link.secondary{
	color:var(--sekundarlink_font_color);
}

.link.secondary svg {
	fill: var(--sekundarlink_font_color);
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

.link.secondary:hover{
	color:var(--sekundarlink_hover_font_color);
}

.link.secondary:hover svg {
	fill: var(--sekundarlink_hover_font_color);
}

.mM_link_circle {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: #262520;
	display: flex;
	justify-content: center;
	align-items: center;
	border: none;
}

.mM_link_circle_arrow {
	fill: #e5e0dd;
	min-width: 17px;
	width: 17px;
	
	transform: rotate(135deg);
	transition: transform .4s;
}

.mM_link_circle:hover .mM_link_circle_arrow,
a:hover .mM_link_circle_arrow {
	transform: rotate(180deg);
}

@media screen and (max-width: 575px) {
	.mM_link_circle {
		width: 38px;
		height: 38px;
	}
	
	.mM_link_circle_arrow {
		min-width: 14px;
		width: 14px;
	}
}
/* end link / button */

/* arrows / dots */

.mM_arrows {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	transform: translateY(50%);
} 

.mM_arrow,
.slick-slider .slick-arrow {
	position: absolute;
	top: 50%;
	cursor: pointer;
	padding: 0 !important;
	width: 46px;
	height: 46px;
	display: flex !important;
	justify-content: center;
	align-items: center;
	
	border-radius: 50%;
	background-color: var(--primarbutton_background_color);
	border: 1px solid transparent;
}

.slick-slider .slick-arrow {
	background-color: var(--primarbutton_background_color) !important;
}

.slick-slider .slick-arrow:before {
	all: unset;
	opacity: 1 !important;
	content: '';
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 469 341.33' style='fill: %23fff'%3E%3Cpath d='M447.68,149.6H72.78l112.84-112.92c8.47-8.19,8.7-21.69.52-30.17-8.18-8.47-21.68-8.71-30.14-.52-.18.17-.35.35-.52.52L6.24,155.85c-8.32,8.33-8.32,21.83,0,30.17l149.23,149.33c8.47,8.18,21.96,7.95,30.14-.52,7.98-8.27,7.98-21.37,0-29.64l-112.84-112.92h374.91c11.77,0,21.32-9.55,21.32-21.33s-9.54-21.33-21.32-21.33h0Z'/%3E%3C/svg%3E");
	background-size: 17px 13px;
	width: 17px;
	height: 13px;
}

.mM_arrow[disabled],
.slick-slider .slick-arrow[disabled] {
	opacity: 0 !important;
}

.mM_arrow svg {
	width: 20px;
	fill: #dd3333;
	transition: fill .4s;
}

.mM_arrow:not([disabled]):hover,
.slick-slider .slick-arrow:not([disabled]):hover {
	background-color: var(--primarbutton_hover_background_color);
	border-color: var(--primarbutton_hover_font_color);
}

.slick-slider .slick-arrow:not([disabled]):hover:before {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_2' data-name='Layer 2' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 469 341.33' style='fill: %232e2e2e'%3E%3Cpath d='M447.68,149.6H72.78l112.84-112.92c8.47-8.19,8.7-21.69.52-30.17-8.18-8.47-21.68-8.71-30.14-.52-.18.17-.35.35-.52.52L6.24,155.85c-8.32,8.33-8.32,21.83,0,30.17l149.23,149.33c8.47,8.18,21.96,7.95,30.14-.52,7.98-8.27,7.98-21.37,0-29.64l-112.84-112.92h374.91c11.77,0,21.32-9.55,21.32-21.33s-9.54-21.33-21.32-21.33h0Z'/%3E%3C/svg%3E");
}

.slick-slider .slick-arrow:not([disabled]):hover {
	background-color: var(--primarbutton_hover_background_color) !important;
}

.slick-slider .slick-arrow .slick-next-icon,
.slick-slider .slick-arrow .slick-prev-icon{
	display: none !important; 
}

.mM_arrow:hover svg {
	fill: #0056a1;
}

section.m3_image .mM_arrow.mM_arrow_prev,
section.m3_image .slick-slider .slick-arrow.slick-prev {
	translate: -50%;
}

section.m3_image .mM_arrow.mM_arrow_next,
section.m3_image .slick-slider .slick-arrow.slick-next {
	translate: 50%;
}

.mM_arrow.mM_arrow_prev,
.slick-slider .slick-arrow.slick-prev {
	left: 0;
	transform: translateY(-50%);
}

.mM_arrow.mM_arrow_next,
.slick-slider .slick-arrow.slick-next {
	right: 0;
	transform: rotate(180deg) translateY(50%);
}

.mM_dots {
	height: 0;
}

.mM_dots .slick-dots {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	bottom: 38px;
	z-index: 3;
}

.mM_dots .mM_dot {
	width: 25px;
	height: 2px;
	background: #fff;
	opacity: .5;
	padding: 0;
	transition: opacity .4s, width .4s, height .4s;
}

.mM_dots .mM_dot:before {
	content: none;
}

.mM_dots .slick-dots li {
	width: auto;
	height: auto;
	margin: 0;
	display: flex;
	padding: 3px 8px;
	align-items: center;
}

.mM_dots li .mM_dot:focus,
.mM_dots li .mM_dot:hover {
	opacity: .75;
}

.mM_dots li.slick-active .mM_dot {
	opacity: 1;
	width: 50px;
	height: 4px;
}

/* end arrows / dots */

/* edit post link */

a.mM_edit_post {
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 99999;
	font-size: 1.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #0056a1;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	color: #f67939;
	-webkit-transition: color .4s, background .4s;
	-moz-transition: color .4s, background .4s;
	-ms-transition: color .4s, background .4s;
	-o-transition: color .4s, background .4s;
	transition: color .4s, background .4s;
}

a.mM_edit_post_global {
	position: fixed;
	top: 150px;
	left: 40px;
}

a.mM_edit_post svg {
	width: 24px;
	fill: #f67939;
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

a.mM_edit_post:hover svg {
	fill: #0056a1
}

a.mM_edit_post:hover {
	background: #f67939;
	color: #0056a1;
}

/* end edit post link */

/* form */

.wpcf7 form .wpcf7-not-valid-tip{
	margin-top: 5px;
    position: relative;
    font-size: 0.8rem;
    padding: 6px 10px;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #842029;
    background-color: #f8d7da;
    border-color: #f5c2c7;
    margin-bottom:0;
	font-size: 0.8333rem !important;
}

.wpcf7 form .wpcf7-response-output{
    position: relative;
    font-size: 0.8rem;
    padding: 6px 10px;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 5px;
    color: #664d03;
    background-color: #fff3cd;
    border-color: #ffecb5;
    margin: 0;
    margin-top: 10px;
	font-size: 0.8333rem !important;
}

.wpcf7 form.sent .wpcf7-response-output{
	color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
	font-size: 0.8333rem !important;
}

.wpcf7-form .cf7_top_container {
	align-items: baseline;
	justify-content: space-between;
	gap: 5px 20px !important;
	margin-bottom: 45px;
}

.wpcf7-form .cf7_top_title *{
	color: #2e2e2e;
}

.wpcf7-form .cf7_pflichtfelder_container * {
	font-size: 0.833rem;
	color: rgba(46, 46, 46, 0.5);
}

.wpcf7-form{
	display: table;
	width: 100%;
}

.wpcf7-form *:not([type="submit"]):not(.cf7_top_container *),
.wpcf7-form * ::placeholder {
	color: rgba(46, 46, 46, 0.5);
	
	font-family: "Karla", Tahoma, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1rem;
	line-height: 1.444;
	letter-spacing: 0.035rem;
}

:-ms-input-placeholder,
::-ms-input-placeholder{
	color: rgba(46, 46, 46, 0.5);
	opacity: 1;
}

.wpcf7-form .form_container{
	display:flex;
	gap: 0 47px;
	margin-bottom: 30px;
}

.wpcf7-form .form_item,
.wpcf7-form .wpcf7-form-control{
	width: 100%;
}

.wpcf7-form .form_headline p {
	font-weight: 700 !important;
	margin-top: 30px;
}

.wpcf7-form .form_headline:first-child p {
	margin-top: 0;
}

.form_wrapper_outer {
	margin-top: 60px;
}

.wpcf7-form .form_item{
	display: flex;
	flex-direction: column;
}

.wpcf7-form .form_item>label{
	opacity: 0;
	height: 0;
	width: 0;
	overflow: hidden;
	margin: 0 !important;
}

.wpcf7-form .form_acceptance{
	margin-top: 20px;
}

.wpcf7-form .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance):not(.wpcf7-checkbox) {
	padding: 5px 0px;
	border-radius: 0;
	border: none;
	border-bottom: 1px solid rgba(46, 46, 46, 0.2);
	color: rgba(46, 46, 46, 1);
	
	transition: border-color .4s;
}

.wpcf7-form .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance):hover,
.wpcf7-form .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance):focus  {
	border-color: rgba(46, 46, 46, 0.5);
}

.wpcf7-form .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance):focus {
	outline-color: rgba(46, 46, 46, 0.5);
}

.wpcf7-form .wpcf7-form-control:not([type="submit"]):not(.wpcf7-acceptance).active {
	border-color: rgba(46, 46, 46, 0.75);
}

.wpcf7-form textarea.wpcf7-form-control {
	resize: none;
	height: 62px;
	display: block;
}

.wpcf7-form .wpcf7-form-control.wpcf7-checkbox {
	display: flex;
	flex-direction: column;
}

.wpcf7-form .wpcf7-form-control.wpcf7-checkbox .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7 .form_accept_submit {
	gap: 15px 20px;
	justify-content: space-between;
	align-items: baseline;
	position: relative;
	margin-top: 31px;
}

.wpcf7-form .form_submit .wpcf7-spinner{
	position: absolute;
    left: calc(50% - 12px);
	top: calc(50% - 12px);
    margin: 0;
}

.wpcf7-form .wpcf7-acceptance .wpcf7-list-item{
	margin:0;
}

.wpcf7-form .wpcf7-acceptance {
	padding:0;
	border:none;
}

.wpcf7-form .wpcf7-submit:not([disabled]) {
	cursor: pointer;
}

.wpcf7-form .wpcf7-list-item-label a {
	transition: color .4s;
	text-decoration: underline;
}

.wpcf7-form .form_accept_submit .wpcf7-list-item-label a:hover {
	color: rgba(46, 46, 46, 0.75);
}

/* input checked */
.wpcf7-form .wpcf7-acceptance input,
.wpcf7-form .wpcf7-checkbox input {
	/* height: 0;
	width: 0;
	margin: 0;
	overflow: hidden; */
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
}

.wpcf7-form .wpcf7-acceptance label,
.wpcf7-form .wpcf7-checkbox label {
	position: relative;
	padding-left: 42px;
}

.wpcf7-form .wpcf7-list-item-label,
.wpcf7-form .wpcf7-list-item-label * {
	font-size: 0.833rem !important;
}

.wpcf7-form .wpcf7-acceptance label:before,
.wpcf7-form .wpcf7-acceptance label:after,
.wpcf7-form .wpcf7-checkbox label:before,
.wpcf7-form .wpcf7-checkbox label:after {
	content: '';
	position: absolute;
}

.wpcf7-form .wpcf7-acceptance label:before,
.wpcf7-form .wpcf7-checkbox label:before {
	width: 23px;
	height: 23px;
	top: 1px;
	left: 0;
	background-color: transparent;
	border: 1.5px solid #d4d3d2;
}

.wpcf7-form .wpcf7-acceptance label:has(input.checked):before,
.wpcf7-form .wpcf7-checkbox label:has(input.checked):before {
	background-color: rgba(212, 211, 210, 0.5);
	border-color: rgba(46, 46, 46, 0.2);
}

.wpcf7-form .wpcf7-acceptance label:has(input:focus-visible):before,
.wpcf7-form .wpcf7-acceptance label:has(input:focus):before,
.wpcf7-form .wpcf7-checkbox label:has(input:focus-visible):before,
.wpcf7-form .wpcf7-checkbox label:has(input:focus):before {
	border-color: rgba(46, 46, 46, 1);
}

.wpcf7-form .wpcf7-acceptance label:after,
.wpcf7-form .wpcf7-checkbox label:after {
	opacity: 0;
	top: 7px;
	left: 3px;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Isolationsmodus' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 359.22 255.12'%3E%3Cpath class='cls-1' d='M351.86,7.58c-9.93-9.99-26.12-10.12-36.2-.28L126.43,193.31,44.17,108.61c-9.81-10.17-26.05-10.5-36.28-.75-10.23,9.76-10.56,25.91-.75,36.08.04.05.09.09.13.14l100.3,103.38c4.8,4.87,11.36,7.63,18.22,7.66h.28c6.73-.02,13.18-2.67,17.96-7.38L351.63,43.58c10.03-9.89,10.13-25.99.23-36.01Z' style='fill:%2326252088'/%3E%3C/svg%3E");
	background-size: 18px 10px;
	width: 18px;
	height: 10px;
}

.wpcf7-form .wpcf7-acceptance label:has(input.checked):after,
.wpcf7-form .wpcf7-checkbox label:has(input.checked):after {
	opacity: 1;
}
/* end input checked */

@media screen and (max-width: 767px) {
	.wpcf7-form .form_container{
	    flex-direction: column;
		gap: 20px 0;
		margin-bottom: 20px;
	}
	
	.wpcf7-form .cf7_top_container {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 767px) {
	.wpcf7-form .wpcf7-acceptance label {
		padding-left: 30px;
	}
}
	
/* end form */




/************************************************************************************************************************************/



/* *** Font Families *** */
@font-face {
	font-family: 'Karla';
	src: 	url(fonts/Karla/Karla-Light.ttf) format('truetype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Karla';
	src: 	url(fonts/Karla/Karla-Regular.ttf) format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Karla';
	src: 	url(fonts/Karla/Karla-Medium.ttf) format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Karla';
	src: 	url(fonts/Karla/Karla-Bold.ttf) format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Spectral';
	src: 	url(fonts/Spectral/Spectral-Regular.ttf) format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Spectral';
	src: 	url(fonts/Spectral/Spectral-MediumItalic.ttf) format('truetype');
	font-weight: 500;
	font-style: italic;
	
}
/* *** Font Families *** */





/****************************
*       Custom Styles       *
****************************/

:root {
	scroll-behavior: unset;
	
	--padding_desktop: 120px;
	--padding_tablet: 80px;
	--padding_mobile: 40px;
}

html,
body{
	font-family: "Karla", Tahoma, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: var(--font_size);
	line-height: 1.444;
	background-color: var(--background_color);
	letter-spacing: 0.035rem;
}

body {
	margin: 0;
	position: relative;
	padding-top: var(--header_height);
}

*{
	color:var(--font_color);
}

section{
	position: relative;
	width:100%;
	opacity: 0;
}

section > .mM_container >  *:not(.mM_dots):not(.mM_arrows) {
	position: relative;
	z-index: 3;
}

/* hide lines behind background color */
section.z_index_bigger {
	z-index: 4; /* mm lines z index + 2 */
}

h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4 {
	margin: 0;
	font-weight: 700;
	letter-spacing: -0.005rem;
}

h1, .h1 {
	font-size: 3.333rem;
	line-height: 1;
	margin-bottom: 21px;
}

h2, .h2 {
	font-size: 2.5rem;
	line-height: 1;
	margin-bottom: 28px;
}

h3, .h3 {
	font-size: 1.222rem;
	margin-bottom: 7px;
}

h4, .h4 {
	font-size: 1rem;
}

h1 span, .h1 span,
h2 span, .h2 span,
h3 span, .h3 span,
h4 span, .h4 span {
	font-family: "Spectral", Tahoma, sans-serif;
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0.01rem;
}

.spectral {
	font-family: "Spectral", Tahoma, sans-serif;
}

.karla {
	font-family: "Karla", Tahoma, sans-serif;
}

.fw_400 {
	font-weight: 400;
}

.fw_500 {
	font-weight: 500;
}

.fw_600 {
	font-weight: 600;
}

.uppercase {
	text-transform: uppercase;
}

p {
	margin-top: 0;
}

p:last-child {
	margin-bottom: 0;
}

a {
	display: inline-block;
	text-decoration: none;
}

img,
svg {
	max-width: 100%;
	width: 100%;
	height: auto;
}

.coverimg {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

img.coverimg {
	font-family: 'object-fit: cover; object-position: center;';
}

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

.visually_hidden {
	opacity: 0;
	height: 0;
	width: 0;
	overflow: hidden;
	margin: 0 !important;
	position: absolute;
}

.overflow_x_hidden{
	overflow-x: hidden !important;
}

.overflow_y_hidden{
	overflow-y: hidden !important;
}

.wpgmza-filter-widgets {
	display: none !important;
}

.mM_container {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.mM_lines {
	position: absolute;
	top: calc(0px - var(--header_height)); left: 0;
	width: 100%;
	height: calc(100% + var(--header_height));
	display: flex;
	justify-content: center;
	
	opacity: .1;
	z-index: 2;
	pointer-events: none;
}

.mM_lines_container {
	position: absolute;
	height: 100%;
	width: 100%;
	max-width: calc(100% - 20px);
}

.mM_lines_container.central {
	max-width: 1px;
}

.mM_line {
	height: 100%;
	width: 1px;
	position: absolute;
	background-color: #1b1b1b;
}

.mM_line.left {
	left: 0;
}

.mM_line.right {
	right: 0;
}

.mM_row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--row_gap);
}

[data-innerer-abstand="innerer_abstand_oben_und_unten"]{
	padding-top:var(--padding_desktop);
	padding-bottom:var(--padding_desktop);
}

[data-innerer-abstand="innerer_abstand_nur_oben"]{
	padding-top:var(--padding_desktop);
	padding-bottom:0;
}

[data-innerer-abstand="innerer_abstand_nur_unten"]{
	padding-top:0;
	padding-bottom:var(--padding_desktop);
}

[data-auserer-abstand="auserer_abstand_oben_und_unten"]{
	margin-top:var(--padding_desktop);
	margin-bottom:var(--padding_desktop);
}

[data-auserer-abstand="auserer_abstand_nur_oben"]{
	margin-top:var(--padding_desktop);
	margin-bottom:0;
}

[data-auserer-abstand="auserer_abstand_nur_unten"]{
	margin-top:0;
	margin-bottom:var(--padding_desktop);
}

section:not(.m29_home_entry_subpages):has(+ section.m3_image.overhanging_top) {
	padding-bottom: calc(70px + 77px);
}

.mM_container[data-ausrichtung="links"]{
	padding-left: 0;
	margin-left: 0;
}

.mM_container[data-ausrichtung="rechts"]{
	padding-right: 0;
	margin-right:0;
}

.mM_container[data-ausrichtung="zentriert_ausfuellung_rechts"]{
	/* padding-right: 0;
	margin-right: 0; */
}

.mM_container[data-ausrichtung="zentriert_ausfuellung_links"]{
	/* padding-left: 0;
	margin-left: 0; */
}

.mM_container[data-container="container_full"] {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}

[data-appearance="fade"]{
	opacity: 0;
}

.mM_d_flex {
	display: flex;
}

.mM_d_none {
	display: none;
}

.mM_d_block {
	display: block;
}

.mM_d_inlineblock {
	display: inline-block;
}

.mM_links {
	margin-top: 65px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 10px;
}

[class*="mM_col_"] {
	flex: 0 0 auto;
	max-width: 100%;
}

.mM_col_100,
[class*="mM_col_"] {
	width: 100%;
}

p#breadcrumbs {
	font-size: 0.833rem;
}

p#breadcrumbs span a {
	position: relative;
	padding-right: 20px;
	margin-right: 20px;
	color: #9a9693;
	
	transition: color .4s;
}

p#breadcrumbs span a:hover {
	color: #e5e0dd;
}

p#breadcrumbs span a:after {
	content: '';
	transform: rotate(-90deg);
	position: absolute;
	top: calc(50% - 3px); right: 0;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Ebene_1' data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 326.33' style='fill: %239a9693'%3E%3Cpath d='M441.67,0l-185.67,185.67L70.33,0,0,70.33l256,256L512,70.33,441.67,0Z'/%3E%3C/svg%3E");
	background-size: 8px 5px;
	width: 8px;
	height: 5px;
}

p#breadcrumbs span:has(+ .breadcrumb_last) a:after {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Ebene_1' data-name='Ebene 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 326.33' style='fill: %23e5e0dd'%3E%3Cpath d='M441.67,0l-185.67,185.67L70.33,0,0,70.33l256,256L512,70.33,441.67,0Z'/%3E%3C/svg%3E");
}

@media all and (min-width: 576px) {
	.mM_container {
		max-width: 540px;
	}
	
	.mM_lines_container {
		max-width: 570px;
	}
	
	.mM_col_25,
	.mM_col_33,
	.mM_col_67 {
		width: calc(50% - (var(--row_gap) / 2));
	}
	
	section:has(+ section.m31_objects[data-kurze-ausgabe="false"][data-show-filter="true"]):not(.m22_ascending_numbers) {
		/* 160 px for overhanging filter upper */
		padding-bottom: calc(var(--padding_tablet) + 160px); 
	}
}

@media all and (min-width: 768px) {
	.mM_container {
		max-width: 720px;
	}
	
	.mM_lines_container {
		max-width: 760px;
	}
	
	.mM_col_67 {
		width: calc(66.6667% - (var(--row_gap) / 3));
	}
}

@media all and (min-width: 992px) {
	.mM_container {
		max-width: 960px;
	}
	
	.mM_lines_container {
		max-width: 1000px;
	}
		
	.mM_col_50,
	.mM_col_67 {
		width: calc(50% - (var(--row_gap) / 2));
	}
	
	.mM_col_33 {
		width: calc(33.3333% - ((var(--row_gap) * 2) / 3));
	}
	
	section:has(+ section.m22_ascending_numbers.overhanging_top) {
		padding-bottom: calc(var(--padding_desktop) + 210px);
	}
	
	section.m22_ascending_numbers.overhanging_top + section {
		padding-top: calc(var(--padding_desktop) + 100px);
	}
	
	section:has(+ section.m27_contact_cta.overhanging_top) {
		padding-bottom: calc(70px + 135px);
		z-index: 3;
	}
	
	section.m23_text_and_2_images.v2 + section[data-innerer-abstand="innerer_abstand_nur_oben"],
	section.m23_text_and_2_images.v2 + section[data-innerer-abstand="innerer_abstand_oben_und_unten"] {
		padding-top: calc(var(--padding_desktop) + 85px);
	}
	
	section.m27_contact_cta[data-variant="v2"] + section {
		/* 200px = m27 overhanging */
		padding-top: 145px; 
	}
	
	section:has(+ section.m31_objects[data-kurze-ausgabe="false"][data-show-filter="true"]):not(.m22_ascending_numbers) {
		/* 160 px for overhanging filter upper */
		padding-bottom: calc(var(--padding_desktop) + 160px); 
	}
	
	section.m27_contact_cta.overhanging_bottom + section {
		padding-top: calc(var(--padding_desktop) + 135px);
	}
}

@media all and (min-width: 1200px) {
	.mM_container,
	.mM_lines_container {
		max-width: 1140px;
	}
	
	.mM_col_25 {
		width: calc(25% - ((var(--row_gap) * 3) / 4));
	}
	
	.mM_col_67 {
		width: calc(66.6667% - (var(--row_gap) / 3));
	}
}

@media all and (min-width: 1400px) {
	.mM_container,
	.mM_lines_container {
		max-width: 1320px;
	}
}

@media all and (min-width: 1600px) {
	.mM_container,
	.mM_lines_container {
		max-width: 1520px;
	}
}

@media all and (min-width: 1800px) {
	.mM_container,
	.mM_lines_container {
		max-width: 1720px;
	}
}
	
@media all and (min-width: 1921px) {
	.mM_container,
	.mM_lines_container {
		max-width: 1841px;
	}
}

@media all and (min-width: 2200px) {
	.mM_container,
	.mM_lines_container {
		max-width: 2120px;
	}
}

@media all and (max-width: 1839px) {
	h1, .h1 {
		font-size: 3.056rem;
	}
}

@media all and (max-width: 1599px) {
	h1, .h1 {
		font-size: 2.778rem;
	}
}

@media all and (max-width: 991px) {
	section:has(+ section.m3_image.overhanging_top) {
		padding-bottom: calc(var(--padding_tablet) + 77px);
	}
	
	section.m27_contact_cta[data-variant="v2"] + section {
		padding-top: calc(200px + var(--padding_tablet));
	}
	
	.mM_dots .slick-dots {
		bottom: 28px;
	}
	
	.mM_dots .slick-dots li {
		padding: 3px 6px;
	}
	
	.mM_dots .mM_dot {
		width: 20px;
	}
	
	.mM_dots li.slick-active .mM_dot {
		width: 40px;
	}
	
	[data-innerer-abstand="innerer_abstand_oben_und_unten"]{
		padding-top:var(--padding_tablet);
		padding-bottom:var(--padding_tablet);
	}
	
	[data-innerer-abstand="innerer_abstand_nur_oben"]{
		padding-top:var(--padding_tablet);
		padding-bottom:0;
	}
	
	[data-innerer-abstand="innerer_abstand_nur_unten"]{
		padding-top:0;
		padding-bottom:var(--padding_tablet);
	}
	
	[data-auserer-abstand="auserer_abstand_oben_und_unten"]{
		margin-top:var(--padding_tablet);
		margin-bottom:var(--padding_tablet);
	}
	
	[data-auserer-abstand="auserer_abstand_nur_oben"]{
		margin-top:var(--padding_tablet);
		margin-bottom:0;
	}
	
	[data-auserer-abstand="auserer_abstand_nur_unten"]{
		margin-top:0;
		margin-bottom:var(--padding_tablet);
	}
	
	h1, .h1 {
		font-size: 2.5rem;
	}
}

@media screen and (max-width: 767px) {
	section.m3_image .mM_arrow.mM_arrow_prev,
	section.m3_image .slick-slider .slick-arrow.slick-prev {
		translate: -20%;
	}
	
	section.m3_image .mM_arrow.mM_arrow_next,
	section.m3_image .slick-slider .slick-arrow.slick-next {
		translate: 20%;
	}
}

@media all and (max-width: 575px) {
	html,
	body{
		font-size: 16px;
	}
	
	section.m27_contact_cta[data-variant="v2"] + section {
		padding-top: calc(200px + var(--padding_mobile));
	}
	
	section:has(+ section.m3_image.overhanging_top) {
		padding-bottom: calc(var(--padding_mobile) + 77px);
	}
	
	section:not(.m29_home_entry_subpages):has(+ section.m3_image.overhanging_top) {
		padding-bottom: calc(var(--padding_mobile) + 77px);
	}
	
	.mM_arrows {
		left: 10px;
		width: calc(100% - 20px);
	}
	
	section.m3_image .mM_arrow.mM_arrow_prev,
	section.m3_image .slick-slider .slick-arrow.slick-prev {
		translate: calc(-20% + 10px);
	}
	
	section.m3_image .mM_arrow.mM_arrow_next,
	section.m3_image .slick-slider .slick-arrow.slick-next {
		translate: calc(20% - 10px);
	}
	
	.mM_dots .slick-dots {
		bottom: 23px;
	}
	
	.mM_dots .slick-dots li {
		padding: 2px 5px;
	}
	
	.mM_dots .mM_dot {
		width: 16px;
	}
	
	.mM_dots li.slick-active .mM_dot {
		width: 32px;
	}
	
	.mM_container {
		padding: 0 20px;
	}
	
	[data-innerer-abstand="innerer_abstand_oben_und_unten"]{
		padding-top:var(--padding_mobile);
		padding-bottom:var(--padding_mobile);
	}
	
	[data-innerer-abstand="innerer_abstand_nur_oben"]{
		padding-top:var(--padding_mobile);
		padding-bottom:0;
	}
	
	[data-innerer-abstand="innerer_abstand_nur_unten"]{
		padding-top:0;
		padding-bottom:var(--padding_mobile);
	}
	
	[data-auserer-abstand="auserer_abstand_oben_und_unten"]{
		margin-top:var(--padding_mobile);
		margin-bottom:var(--padding_mobile);
	}
	
	[data-auserer-abstand="auserer_abstand_nur_oben"]{
		margin-top:var(--padding_mobile);
		margin-bottom:0;
	}
	
	[data-auserer-abstand="auserer_abstand_nur_unten"]{
		margin-top:0;
		margin-bottom:var(--padding_mobile);
	}
	
	h1, .h1 {
		font-size: 2.222rem;
	}
	
	h2, .h2 {
		font-size: 2.1875rem;
	}
	
	p#breadcrumbs > span > span:not(.breadcrumb_last) a {
		padding-right: 15px;
		margin-right: 15px;
	}
	
	p#breadcrumbs > span > span:not(.breadcrumb_last) a:after {
		background-size: 6px 4px;
		width: 6px;
		height: 4px;
	}
	
	.mM_links {
		margin-top: 45px;
	}
}

@media all and (max-width: 399px) {
	h1, .h1,
	h2, .h2 {
		font-size: 1.944rem;
	}
}

footer {
	background-color: #afa8a9;
	padding: 45px 0 28px;
	position: relative;
	z-index: 2;
}

/* footer top */
.mM_footer_top_container {
	padding-bottom: 45px;
}

.mM_footer_scroll_top_container {
	text-align: right;
	display: flex;
	justify-content: end;
}

.mM_footer_scroll_top_btn {
	position: relative;
}

.mM_footer_scroll_top {
	cursor: pointer;
	padding: 0 !important;
}

.mM_footer_scroll_top_btn svg {
	transform: rotate(90deg) !important;
}
/* footer top */

/* footer middle */
.mM_footer_middle_left {
	display: flex;
	flex-wrap: wrap;
	--gap_x: 95px;
	gap: 30px var(--gap_x);
}

.mM_footer_logo_social_links_container {
	width: calc(22% - (var(--gap_x) * 1 / 2));
	margin-top: 6px;
}

.mM_footer_container_logo.logo_container {
	height: 270px;
}

.mM_footer_container_logo.logo_container svg {
	fill: #1b1b1b;
}

.header_main_mobile_social_links_container,
.mM_footer_social_links_container {
	gap: 8px;
}

.header_main_mobile_social_links_container {
	margin-top: 66px;
}

.mM_footer_social_links_container {
	margin-top: 36px;
}

.mM_footer_social_link,
.header_main_mobile_social_link {
	border: 1px solid #2e2e2e;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	
	transition: border .4s, background-color .4s;
}

.mM_footer_social_link:focus-visible,
.mM_footer_social_link:focus-visible,
.header_main_mobile_social_link:hover,
.header_main_mobile_social_link:hover {
	border-color: #2e2e2e;
	background-color: #2e2e2e;
}

.mM_footer_social_link svg,
.header_main_mobile_social_link svg {
	height: 19px;
	width: auto;
	fill: #2e2e2e;
	
	transition: fill .4s;
}

.mM_footer_social_link:focus-visible svg,
.header_main_mobile_social_link:hover svg,
.mM_footer_social_link:focus-visible svg,
.header_main_mobile_social_link:hover svg {
	fill: #e5e0dd;
}

.mM_footer_firmen_daten {
	width: calc(78%  - (var(--gap_x) * 1 / 2));
}

.mM_footer_contact_container,
.header_main_mobile_contact_container {
	margin-top: 33px;
	margin-left: -5px;
	gap: 5px 27px;
}

.mM_footer_contact_item,
.header_main_mobile_contact_item {
	border-radius: 16px;
	
	backdrop-filter: blur(0);
	
	transition: backdrop-filter .4s;
}

.mM_footer_contact_item a,
.header_main_mobile_contact_item a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 4px 11px 2px;
	height: 100%;
}

.mM_footer_contact_item a:before,
.header_main_mobile_contact_item a:before {
	content: '';
	background-color: #2e2e2e;
	opacity: .0;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 16px;
	z-index: -1;
	pointer-events: none;
	
	transition: opacity .4s;
}

.mM_footer_contact_item a:hover,
.mM_footer_contact_item a:focus,
.header_main_mobile_contact_item a:hover,
.header_main_mobile_contact_item a:focus {
	backdrop-filter: blur(15px);
}

.mM_footer_contact_item a:hover:before,
.mM_footer_contact_item a:focus:before,
.header_main_mobile_contact_item a:hover:before,
.header_main_mobile_contact_item a:focus:before {
	opacity: .1;
}

.header_main_mobile_contact_icon,
.mM_footer_contact_icon {
	display: flex;
}

.header_main_mobile_contact_item svg,
.mM_footer_contact_item svg {
	margin-right: 15px;
	min-width: 16px;
	width: 16px;
	
	fill: #2e2e2e;
}

.header_main_mobile_contact_item.mM_footer_telefon_container svg,
.mM_footer_contact_item.mM_footer_telefon_container svg {
	min-width: 14px;
	width: 14px;
}

.header_main_mobile_contact_item.mM_footer_email_container svg,
.mM_footer_contact_item.mM_footer_email_container svg {
	min-width: 20px;
	width: 20px;
}

.mM_footer_middle_right_inner {
	--row_gap: 10px;
	gap: 40px var(--row_gap);
}

.mM_footer_nav .menu>li>a,
.header_main_mobile .menu>li>a {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 0.833rem;
}

.mM_footer_nav .menu .sub-menu,
.header_main_mobile .menu .sub-menu {
	margin-top: 6px;
}

.mM_footer_nav .menu .menu-item-has-children:not(:last-child),
.header_main_mobile .menu .menu-item-has-children:not(:last-child) {
	margin-bottom: 31px;
}

.mM_footer_nav .menu .menu-item-has-children:not(:first-child),
.header_main_mobile .menu .menu-item-has-children:not(:first-child) {
	margin-top: 31px;
}

.mM_footer_nav .menu a,
.header_main_mobile .menu a {
	position: relative;
}

.mM_footer_nav .menu a:after,
.header_main_mobile .menu a:after {
	content: '';
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 2px; left: 0;
	background-color: var(--font_color);
	
	transform-origin: right;
	transform: scaleX(0);
	
	transition: transform .4s;
}

.mM_footer_nav .menu>li>a:after,
.header_main_mobile .menu>li>a:after {
	height: 2px;
}

.mM_footer_nav .menu li.current-menu-ancestor>a:after,
.mM_footer_nav .menu li.current-menu-item>a:after,
.mM_footer_nav .menu a:focus-visible:after,
.mM_footer_nav .menu a:hover:after,
.header_main_mobile .menu li.current-menu-ancestor>a:after,
.header_main_mobile .menu li.current-menu-item>a:after,
.header_main_mobile .menu a:focus-visible:after,
.header_main_mobile .menu a:hover:after {
	transform-origin: left;
	transform: scaleX(1);
}

.header_main_mobile_ext_link,
.mM_footer_ext_link {
	margin-bottom: 40px;
}

.mM_footer_nav_legacy,
.mM_footer_ext_link {
	display: flex;
	justify-content: flex-end;
}

.nav_legacy a {
	font-weight: 300 !important;
}

.nav_legacy a:after {
	height: 1px !important;
}

.nav_legacy {
	font-size: 0.833rem;
	text-transform: uppercase;
}

.nav_legacy ul {
	display: flex;
	justify-content: center;
}

.nav_legacy ul {
	justify-content: start;
}

.nav_legacy ul li {
	position: relative;
}

.nav_legacy ul li:not(:last-child) {
	padding-right: 25px;
}
/* footer middle */

/* footer bottom */
.mM_footer_bottom {
	font-size: 0.833rem;
	margin-top: 90px;
	padding-top: 60px;
	border-top: 1px solid rgba(27, 27, 27, 0.3);
}

.mM_footer_bottom_right {
	text-align: right;
}

.mM_footer_bottom #btw-link {
	text-decoration: underline;
}
/* footer bottom */


@media screen and (min-width: 1200px) {
	.mM_footer_social_links_container.mobile {
		/* display: none; */
	}
}

@media screen and (max-width: 1839px) {
	.mM_footer_middle {
		gap: 60px 35px;
		--row_gap: 35px;
	}
	
	.mM_footer_middle_left {
		--gap_x: 45px;
	}
	
	.mM_footer_ext_link .mM_button {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media screen and (max-width: 1599px) {
	.mM_footer_nav {
		width: calc(50% - (var(--row_gap) / 2));
		order: 1;
	}
	
	.mM_footer_nav_legacy {
		width: 100%;
		order: 2;
		display: flex;
		justify-content: flex-end;
	}
}

@media screen and (max-width: 1399px) {
	.mM_footer_middle_left {
		--gap_x: 20px;
	}
	
	.mM_footer_logo_social_links_container {
		width: calc(30% - (var(--gap_x) * 1 / 2));
	}
	
	.mM_footer_firmen_daten {
		width: calc(70% - (var(--gap_x) * 1 / 2));
	}
}

@media screen and (max-width: 1199px) {
	.mM_footer_logo_social_links_container,
	.mM_footer_firmen_daten {
		width: 100%;
	}
	
	.mM_footer_social_links_container.desktop {
		display: none;
	}
	
	.mM_footer_contact_container {
		margin-top: 23px;
	}
}

@media screen and (max-width: 991px) {
	.mM_footer_social_links_container {
		margin-top: 26px;
	}
	
	.mM_footer_middle_right_inner {
		gap: 60px var(--row_gap);
	}
	
	.mM_footer_nav_legacy,
	.mM_footer_ext_link {
		justify-content: flex-start;
	}
	
	.mM_footer_bottom>div {
		width: calc(50% - (var(--row_gap) * 1 / 2));
	}
}

@media screen and (max-width: 767px) {
	.mM_footer_ext_link {
		margin-bottom: 25px;
	}
	
	.mM_footer_bottom {
		gap: 10px;
		padding-top: 40px;
		margin-top: 76px;
	}
	
	.mM_footer_bottom>div {
		text-align: start;
		width: 100%;
	}
}

@media screen and (max-width: 575px) {
	.mM_footer_top_container {
		padding-bottom: 20px;
	}
	
	.mM_footer_logo_social_links_container {
		margin-top: 0;
	}
	
	.mM_footer_container_logo.logo_container {
		height: 200px;
	}
	
	.mM_footer_social_link {
		width: 38px;
		height: 38px;
	}
	
	.mM_footer_social_link svg {
		height: 16px;
	}
	
	.mM_footer_nav {
		width: 100%;
	}
	
	.mM_footer_middle_right_inner {
		gap: 25px var(--row_gap);
	}
	
	.mM_footer_nav .menu .menu-item-has-children:not(:first-child) {
		margin-top: 10px;
	}
	
	.mM_footer_nav .menu .menu-item-has-children:not(:last-child) {
		margin-bottom: 10px;
	}
	
	.mM_footer_nav .menu .sub-menu {
		margin-top: 0;
	}
	
	.mM_footer_nav_legacy {
		margin-top: 10px;
	}
	
	.mM_footer_bottom {
		padding-top: 20px;
		margin-top: 46px;
	}
}