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

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

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

.opacity_0{
	opacity: 0;
}

/* link / button */
.button{
	padding: 17px 30px 15px 30px;
	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;
	border-radius: 3px;
	text-transform: uppercase;
	display: inline-block;
}

.button.primary{
	background-color:var(--primarbutton_background_color);
	color: var(--primarbutton_font_color);
}

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

.button.primary:not([disabled]):hover {
	background-color:var(--primarbutton_hover_background_color);
	color:var(--primarbutton_hover_font_color);
}

.button.primary:hover svg {
	fill: var(--primarbutton_hover_font_color);
}

.button.secondary{
	background-color:var(--sekundarbutton_background_color);
	color:var(--sekundarbutton_font_color);
}

.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;
}

.button.secondary:not([disabled]):hover {
	background-color:var(--sekundarbutton_hover_background_color);
	color:var(--sekundarbutton_hover_font_color);
}

.button.secondary:hover svg {
	fill: var(--sekundarbutton_hover_font_color);
}

.button.tertiary{
	background-color:var(--tertiarebutton_background_color);
	color:var(--tertiarebutton_font_color);
}

.button.tertiary svg {
	fill: var(--tertiarebutton_font_color);
	-webkit-transition: fill .4s;
	-moz-transition: fill .4s;
	-ms-transition: fill .4s;
	-o-transition: fill .4s;
	transition: fill .4s;
}

.button.tertiary:not([disabled]):hover {
	background-color:var(--tertiarebutton_hover_background_color);
	color:var(--tertiarebutton_hover_font_color);
}

.button.tertiary:hover svg {
	fill: var(--tertiarebutton_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);
}

.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);
}

@media all and (max-width: 767px) {
	.button {
		padding: 14px 24px 10px 22px;
	}
}

/* end link / button */

/* 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;
}

.wpcf7 form .form_files .wpcf7-not-valid-tip {
	margin-top: -10px;
}

.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;
}

.wpcf7 form.sent .wpcf7-response-output{
	color: #0f5132;
    background-color: #d1e7dd;
    border-color: #badbcc;
}

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

:-ms-input-placeholder,
::-ms-input-placeholder{
	color: gray;
	opacity: 1;
}

.wpcf7-form *::placeholder{
	color: gray;
}

.form_container{
	display:flex;
	justify-content: space-between;
	gap: 0 15px;
	margin-bottom: 15px;
}

.form_files .form_container {
	margin: 0;
}

.form_acceptance_submit_container {
	align-items: center;
	margin-top: 30px;
	margin-bottom: 0;
}

.form_select {
	margin-bottom: 15px;
}

.form_wunschtermin {
	margin-top: 15px;
}

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

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

.form_acceptance{
	margin-top: 15px;
}

.form_headline {
	font-weight: 600;
	font-size: 0.88rem;
	margin-top: 14px;
	margin-bottom: 13px;
}

.form_title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	/* text-align: end; */
	gap: 10px 20px;
	margin-bottom: 43px;
}

.form_title * {
	margin: 0;
}

.form_title h2 {
	font-size: 2.65rem;
}

.form_hinweis {
	opacity: .5;
	font-size: 0.88rem;
	text-align: end;
}

.wpcf7-form-control {
	padding: 15px 32px 13px;
	border: 1px solid rgba(26, 46, 37, .3);
	background-color: transparent;
	color: #1a2e25;
	border-radius: 3px;
	outline: none;
	font-size: 1rem;
	font-family: "Proxima Nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font_size);
	line-height: 1.5;
	position: relative;
	
	transition: background-color .4s, color .4s;
}
	
.wpcf7-form-control.submit{
	padding: 17px 30px 15px 30px;
	border: none;
	font-size: 0.88rem;
}

.wpcf7-form-control.filled,
.wpcf7-form-control:focus {
	background-color: rgba(212, 230, 181, 0.4);
}

.wpcf7-form-control[aria-invalid="true"] {
	background-color: rgba(248, 215, 218, 0.4);
}

::placeholder{
	color: #1a2e25 !important;
	opacity: 1 !important;
}

.wpcf7-form-control-wrap .mM_select_selected {
	padding: 15px 52px 13px 32px;
	border: 1px solid rgba(26, 46, 37, .3);
	color: #1a2e25;
	border-radius: 3px;
	
	transition: background-color .4s, border-color .4s, border-radius .4s;
}

.wpcf7-form-control-wrap:not(:has(.wpcf7-not-valid-tip)):has(.mM_same_as_selected) .mM_select_selected {
	background-color: rgba(212, 230, 181, 0.4);
}

.wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .mM_select_selected {
	background-color: rgba(248, 215, 218, 0.4);
}

.wpcf7-form-control-wrap .mM_select_arrows {
	width: 7px;
	height: 11px;
	background-size: 7px 11px;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 40.65' style='fill: %231a2e25;'%3E%3Cpath class='cls-1' d='M21.81,19.49c-.14-.26-.23-.39-.34-.5L3.19.55C2.47-.18,1.29-.18.56.55-.06,1.18-.14,2.16.32,2.88l15.96,16.11c.11.11.2.24.34.5.14.29.21.62.19.95v.12c-.03.17-.07.32-.12.45l-.02.05c-.06.13-.14.26-.25.41L.3,37.77c-.19.3-.3.65-.3,1.02,0,.5.19.97.54,1.33.69.71,1.92.71,2.63,0l18.44-18.65c.11-.14.19-.28.25-.41l.02-.05c.05-.13.08-.27.11-.45v-.12c.03-.33-.03-.65-.18-.95Z'/%3E%3C/svg%3E");
	
	position: absolute;
	right: 32px;
	top: 23px;
	
	transform: rotate(90deg);
	
	transition: transform .4s;
}

.mM_select_selected.mM_select_arrow_active {
	border-bottom-color: transparent;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.wpcf7-form-control-wrap .mM_select_selected:hover .mM_select_arrows,
.wpcf7-form-control-wrap .mM_select_selected.mM_select_arrow_active .mM_select_arrows{
	transform: rotate(-90deg);
}

.mM_custom_select .mM_select_items {
	padding: 0 22px;
	border: 1px solid rgba(26, 46, 37, .0);
	border-top: none;
	color: #1a2e25;
	border-radius: 3px;
	
	transition: border-color .4s, border-radius .4s;
}

body[data-title="Karriere"] .mM_custom_select .mM_select_items {
	background-color: #f5f6f0;
}

.mM_custom_select:has(.mM_select_arrow_active) .mM_select_items {
	border-color:  rgba(26, 46, 37, .3);
	border-top-right-radius: 0;
	border-top-left-radius: 0;
}

.mM_custom_select .mM_select_item {
	padding: 2px 10px;
	transition: background-color .4s;
}

.mM_custom_select .mM_select_item:first-child {
	margin-top: 5px;
}

.mM_custom_select .mM_select_item:last-child {
	margin-bottom: 5px;
}

.mM_custom_select .mM_select_item:hover,
.mM_custom_select .mM_select_item.mM_same_as_selected {
	background-color: rgba(212, 230, 181, 0.4);
}

textarea.wpcf7-form-control {
	resize: none;
	height: 130px;
}

.form_item [data-name="ihr_anliegen"] .wpcf7-not-valid-tip{
	margin-top: -5px;
}

.form_submit{
	position: relative;
	margin-top: 10px;
}

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

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

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

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

.form_item_submit {
	position: relative;
}

.wpcf7-spinner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}

/* input checked */
.wpcf7-acceptance input {
	display: none;
}

.wpcf7-acceptance label {
	position: relative;
	padding-left: 32px;
	font-size: 0.88rem;
	display: inline-block;
}

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

.wpcf7-acceptance label:before {
	width: 20px;
	height: 20px;
	top: 0px;
	left: 0;
	background-color: transparent;
	border-radius: 3px;
	border: 1px solid #d7d9d8;
}

.wpcf7-acceptance label:has(input.checked):before {
	background-color: #d7d9d8;
}

.wpcf7-acceptance label:after {
	opacity: 0;
	top: 6px;
	left: 4px;
	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:%23fff'/%3E%3C/svg%3E");
	background-size: 12px 9px;
	width: 12px;
	height: 9px;
}

.wpcf7-acceptance label:has(input.checked):after {
	opacity: 1;
}

.wpcf7-acceptance label a {
	text-decoration: underline;
}
/* end input checked */



[data-name="uhrzeit"]:after,
[data-name="datum"]:after {
	content: '';
	position: absolute;
	right: 32px;
	top: 20px;
	background-size: 17px 17px;
	width: 17px;
	height: 17px;
	pointer-events: none;
}

[data-name="uhrzeit"]:after {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Capa_1' data-name='Capa 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' style='fill: %231a2e25'%3E%3Cpath d='M256,0C114.84,0,0,114.84,0,256s114.84,256,256,256,256-114.84,256-256S397.16,0,256,0ZM256,480c-123.52,0-224-100.48-224-224S132.48,32,256,32s224,100.48,224,224-100.48,224-224,224h0Z'/%3E%3Cpath d='M272,96h-32v166.62l100.69,100.69,22.63-22.63-91.31-91.31V96Z'/%3E%3C/svg%3E");
}

[data-name="datum"]:after {
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' style='fill: %231a2e25'%3E%3Cpath d='M446,40h-46v-24c0-8.84-7.16-16-16-16s-16,7.16-16,16v24h-224v-24c0-8.84-7.16-16-16-16s-16,7.16-16,16v24h-46C29.61,40,0,69.61,0,106v340c0,36.39,29.61,66,66,66h380c36.39,0,66-29.61,66-66V106c0-36.39-29.61-66-66-66ZM66,72h46v16c0,8.84,7.16,16,16,16s16-7.16,16-16v-16h224v16c0,8.84,7.16,16,16,16s16-7.16,16-16v-16h46c18.75,0,34,15.25,34,34v38H32v-38c0-18.75,15.25-34,34-34ZM446,480H66c-18.75,0-34-15.25-34-34V176h448v270c0,18.75-15.25,34-34,34Z'/%3E%3C/svg%3E");
}



.form_custom_input_file {
	padding: 15px 64px 13px 32px;
	border: 1px solid rgba(26, 46, 37, .3);
	color: #1a2e25;
	border-radius: 3px;
	outline: none;
	font-size: 1rem;
	font-family: "Proxima Nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font_size);
	line-height: 1.5;
	position: relative;
	text-align: start;
	cursor: pointer;
	margin-bottom: 15px;
	
	transition: background-color .4s;
}

.wpcf7-form-control-wrap:has(.filled) .form_custom_input_file,
.form_custom_input_file:focus {
	background-color: rgba(212, 230, 181, 0.4);
}

.wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip) .form_custom_input_file {
	background-color: rgba(248, 215, 218, 0.4);
}

.form_custom_input_file:after {
	content: '';
	position: absolute;
	right: 32px;
	top: 20px;
	background-size: 22px 18px;
	width: 22px;
	height: 18px;
	
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_3' data-name='Layer 3' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 479.06 400.14' style='fill: %231a2e25'%3E%3Cpath d='M364.31,96.84C347.16,28.35,277.7-13.28,209.16,3.85c-45.77,11.44-81.52,47.13-93.02,92.85C45.7,103.31-6.04,165.72.57,236.1c6.18,65.79,61.45,116.06,127.57,116.04h48.03c8.84,0,16.01-7.16,16.01-16s-7.17-16-16.01-16h-48.03c-53.06.15-96.19-42.7-96.35-95.72-.15-53.02,42.73-96.13,95.79-96.28,8.51.64,16.12-5.27,17.61-13.66,7.48-52.41,56.06-88.84,108.51-81.36,42.22,6.02,75.4,39.17,81.42,81.36,1.73,8.07,8.92,13.79,17.18,13.66,53.06,0,96.07,42.98,96.07,96s-43.01,96-96.07,96h-48.03c-8.84,0-16.01,7.16-16.01,16s7.17,16,16.01,16h48.03c70.74-.74,127.49-58.64,126.74-129.33-.68-65.01-50.03-119.19-114.74-125.96h0Z'/%3E%3Cpath d='M308.96,235.45c6.36,6.14,16.5,5.96,22.64-.39,5.99-6.2,5.99-16.03,0-22.23l-80.06-80c-6.25-6.25-16.39-6.25-22.64,0l-80.06,80c-6.14,6.36-5.97,16.49.39,22.62,6.2,5.99,16.04,5.99,22.25,0l52.73-52.69v201.38c0,8.84,7.17,16,16.01,16s16.01-7.16,16.01-16v-201.38l52.73,52.69Z'/%3E%3C/svg%3E");
}

.wpcf7-field-group {
	text-align: end;
	position: relative;
	margin-bottom: 15px;
}

.wpcf7-field-group .wpcf7-field-group-add, 
.wpcf7-field-group .wpcf7-field-group-remove {
	outline: 0;
	border: 0;
	padding: 0;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	font-size: 1rem;
	color: #fff !important;
	background-color: #2e5955;
	font-weight: 400;
	cursor: pointer;
	margin-left: 10px;
}

.wpcf7-field-group .wpcf7-field-group-add:after {
	content: 'Weitere Dokumente hochladen';
	position: absolute;
	right: 62px;
	color: #1a2e25 !important;
	text-align: start;
}

.wpcf7-field-group:nth-child(1) .wpcf7-field-group-add:after {
	right: 31px;
}



.wpcf7-form-control-wrap [type="file"] {
	display: none;
}

@media screen and (max-width: 1599px) {
	.form_files .form_container {
		flex-direction: column;
	}
}
	
@media screen and (max-width: 767px) {
	.form_files .form_container {
		gap: 0;
	}
	
	.form_container{
	    flex-direction: column;
		align-items: start;
		gap: 15px 0;
	}
	
	.form_title h2 {
		font-size: 1.76rem;
	}
	
	.wpcf7-form-control,
	.wpcf7-form-control-wrap .mM_select_selected,
	.mM_custom_select .mM_select_item,
	.form_custom_input_file,
	.wpcf7-field-group .wpcf7-field-group-add:after {
		font-size: .824rem;
	}
	
	.wpcf7-form-control {
		padding: 11px 18px 9px;
	}
	
	.wpcf7-form-control-wrap .mM_select_selected {
		padding: 11px 39px 9px 18px;
	}
	
	.form_custom_input_file {
		padding: 11px 51px 9px 18px;
	}
	
	.wpcf7-form-control-wrap .mM_select_arrows {
		top: 18px;
		right: 18px;
	}
	
	[data-name="uhrzeit"]:after, 
	[data-name="datum"]:after {
		right: 18px;
		top: 16px;
		background-size: 14px 14px;
		width: 14px;
		height: 14px;
	}
	
	.form_custom_input_file:after {
		right: 18px;
		top: 14px;
		background-size: 18px 15px;
		width: 18px;
		height: 15px;
	}
}

/* end form */




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

/********************
*       Fonts       *
********************/

@font-face {
	font-family: "Proxima Nova";
	font-weight: 400;
	src: url("../fonts/proximanova_regular.ttf") format("truetype");
}

@font-face {
	font-family: "Proxima Nova";
	font-weight: 700;
	src: url("../fonts/proximanova_bold.ttf") format("truetype");
}

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

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

:root {
	scroll-behavior: unset;
}

html,
body{
	font-family: "Proxima Nova", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font_size);
	line-height: 1.5;
	background-color: var(--background_color);
}

body {
	margin: 0;
	overflow-x: hidden;
}

body[data-title="Karriere"],
body.single-stellenangebote {
	background-color: #f5f6f0;
}

*:not(svg, use){
	color:var(--font_color);
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4{
	margin: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4 {
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.1;
}

h1,
.h1 {
	font-size: 5.882rem;
}

h2,
.h2 {
	font-size: 3.529rem;
	margin-bottom: 30px;
}

h3,
.h3 {
	font-size: 1.765rem;
}

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

h1 span.lightgreen,
h2 span.lightgreen,
h3 span.lightgreen,
h4 span.lightgreen,
p span.lightgreen {
	color: #d4e6b5;
}

h1 span.darkgreen,
h2 span.darkgreen,
h3 span.darkgreen,
h4 span.darkgreen,
p span.darkgreen {
	color: #8cb369;
}

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;';
}

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

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

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

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

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

[data-innerer-abstand="innerer_abstand_oben_und_unten"]{
	padding-top: 113px;
	padding-bottom: 113px;
}

[data-innerer-abstand="innerer_abstand_nur_oben"]{
	padding-top: 113px;
	padding-bottom: 0;
}

[data-innerer-abstand="innerer_abstand_nur_unten"]{
	padding-top: 0;
	padding-bottom: 113px;
}

[data-auserer-abstand="auserer_abstand_oben_und_unten"]{
	margin-top: 113px;
	margin-bottom: 113px;
}

[data-auserer-abstand="auserer_abstand_nur_oben"]{
	margin-top: 113px;
	margin-bottom: 0;
}

[data-auserer-abstand="auserer_abstand_nur_unten"]{
	margin-top: 0;
	margin-bottom: 113px;
}

.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: 30px;
}

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

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

section.weiss {
	background: #fff;
}

section.weiss * {
	color: var(--font_color);
}

section.grau {
	background: #f5f6f0;
}

section.grau * {
	color: var(--font_color);
}

section.dunkelgruen {
	background: #1a2e25;
}

section.dunkelgruen * {
	color: #f6f7f2;
}

/* letzte section bevor m11_modul mit kurze ausgabe */
section:has(+ section.m11_references[data-kurze-ausgabe="false"]) {
	padding-bottom: calc(113px + 87px);
}

/* nächste section zu m2_modul mit auskragung unten */
section.m2_text_und_bild.bild_ragt_raus + section {
	padding-top: calc(113px + 57px);
}

/* nächste section zu m3_modul mit auskragung unten */
section.m3_bild.ragt_nach_unten + section {
	padding-top: calc(113px + 540px);
}

/* nächste section zu m9_modul mit auskragung unten */
section.m9_schnellnavigation_seiten.ragt_nach_unten + section {
	padding-top: calc(113px + 264px);
}

/* nächste section zu m22_modul mit auskragung unten */
section.m22_aufsteigende_zahlen.ragt_nach_unten + section {
	padding-top: calc(113px + 113px);
}

@media all and (min-width: 576px) {
	.mM_container {
		max-width: 540px;
	}
	
	.mM_col_25,
	.mM_col_33 {
		width: calc(50% - (var(--row_gap) / 2));
	}
}

@media all and (min-width: 768px) {
	.mM_container {
		max-width: 720px;
	}
}

@media all and (min-width: 992px) {
	.mM_container {
		max-width: 960px;
	}
	
	.mM_col_50 {
		width: calc(50% - (var(--row_gap) / 2));
	}
	
	.mM_col_33 {
		width: calc(33.3333% - ((var(--row_gap) * 2) / 3));
	}
}

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

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

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

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

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

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


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


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

@media all and (max-width: 1199px) {
	/* nächste section zu m22_modul mit auskragung unten */
	section.m22_aufsteigende_zahlen.ragt_nach_unten + section {
		padding-top: 113px;
	}
}

@media all and (max-width: 991px) {
	/* nächste section zu m2_modul mit auskragung unten */
	section.m2_text_und_bild.bild_ragt_raus + section {
		padding-top: 113px;
	}
	
	/* nächste section zu m3_modul mit auskragung unten */
	section.m3_bild.ragt_nach_unten + section {
		padding-top: calc(113px + 50px);
	}
}

@media all and (max-width: 767px) {
	h1,
	.h1 {
		font-size: 2.176rem;
		hyphens: auto;
	}
	
	h2,
	.h2 {
		font-size: 1.588rem;
		margin-bottom: 30px;
		hyphens: auto;
	}
	
	h3,
	.h3 {
		font-size: 1.176rem;
		hyphens: auto;
	}
	
	h4,
	.h4 {
		font-size: 1rem;
		hyphens: auto;
	}
	
	p, a {
		font-size: .824rem;
	}
	
	
	
	[data-innerer-abstand="innerer_abstand_oben_und_unten"]{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	[data-innerer-abstand="innerer_abstand_nur_oben"]{
		padding-top: 40px;
		padding-bottom: 0;
	}
	
	[data-innerer-abstand="innerer_abstand_nur_unten"]{
		padding-top: 0;
		padding-bottom: 40px;
	}
	
	/* nächste section zu m22_modul mit auskragung unten */
	section.m22_aufsteigende_zahlen.ragt_nach_unten + section {
		padding-top: 40px;
	}
	
	/* nächste section zu m2_modul mit auskragung unten */
	section.m2_text_und_bild.bild_ragt_raus + section {
		padding-top: 40px;
	}
	
	/* nächste section zu m2_modul mit variante 2 */
	section.m2_text_und_bild.variante2 + section {
		padding-top: calc(40px + 61px);
	}
	
	/* nächste section zu m3_modul mit auskragung unten */
	section.m3_bild.ragt_nach_unten + section {
		padding-top: calc(40px + 50px);
	}
	
	/* nächste section zu m9_modul mit auskragung unten */
	section.m9_schnellnavigation_seiten.ragt_nach_unten + section {
		padding-top: 40px;
	}
}

@media all and (max-width: 575px) {
	.mM_container {
		padding: 0 20px;
	}
	
	/* nächste section zu m2_modul mit variante 2 */
	section.m2_text_und_bild.variante2 + section {
		padding-top: calc(40px + 53px);
	}
}

/* Footer */

footer {
	background: #1a2e25;
	padding-bottom: 55px;
	padding-top: 29px;
}

footer * {
	color: #f5f6f0;
}

footer .mM_footer_bottom {
	border: 2px solid rgba(255, 255, 255, .3);
	border-radius: 3px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 41px 8px 40px;
	margin-top: 106px;
}

footer .mM_footer_bottom * {
	color: rgba(255, 255, 255, .5);
}

footer .mM_footer_bottom_middle {
	display: flex;
}

footer .mM_footer_bottom_middle a {
	width: 55px;
	height: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid rgba(246, 247, 242, .3);
	border-radius: 3px;
	transition: background .4s;
}

footer .mM_footer_bottom_middle a:hover {
	background: var(--primarbutton_background_color);
}

footer .mM_footer_bottom_middle svg {
	fill: #f3f5ee;
	width: 20px;
}

footer .mM_footer_bottom_middle .mM_social_item:first-child a{
	border-right: 1px solid rgba(246, 247, 242, .15);
}

footer .mM_footer_bottom_middle .mM_social_item:last-child a {
	margin-left: -1px;
	border-left: 1px solid rgba(246, 247, 242, .15);
}

footer .mM_footer_bottom_left *,
footer .mM_footer_bottom_right * {
	font-size: .794rem;
}

footer .mM_footer_top {
	display: flex;
	/* justify-content: flex-end; */
	justify-content: space-between;
}

footer .mM_footer_top .mM_footer_top_logo {
	/* width: 150px; */
	height: 110px;
	/* margin-top: -29px; */
}

footer .mM_footer_top .mM_footer_top_logo img {
	width: auto;
	height: 100%;
}

footer .mM_footer_scroll_top {
	width: 56px;
	height: 56px;
	border: 1px solid rgba(245, 246, 240, .3);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	margin-right: -126px;
}

footer .mM_footer_scroll_top svg {
	width: 17px;
	transform: rotate(-90deg);
	fill: #f3f5ee;
	transition: margin-bottom .4s;
}

footer .mM_footer_scroll_top:hover svg {
	margin-bottom: 10px;
}

footer .mM_footer_middle {
	justify-content: space-between;
	margin-top: 29px;
}

footer .mM_footer_address_container {
	display: flex;
	gap: 102px;
}

footer .mM_footer_middle_right {
	display: flex;
	justify-content: space-between;
	gap: 155px;
}

footer #menu-rechtliche-nav-1 {
	display: flex;
	justify-content: space-between;
}

footer .logo_container {
	height: 45px;
}

footer .logo_container svg {
	max-height: 45px;
}

footer .mM_footer_container_logo {
	margin-bottom: 51px;
}

footer .mM_footer_address_container {
	font-size: .882rem;
}

footer .menu > li > a {
	color: #d4e6b5;
	font-size: .882rem;
	text-transform: uppercase;
	transition: color .4s;
}

footer .menu > li > a:hover,
footer .menu > li.current_page_item > a {
	color: #8cb369;
}

footer .menu#menu-footer-nav > li:not(:last-child) > a {
	margin-bottom: 27px;
}

footer .menu#menu-footer-nav-leistungen > li > a {
	margin-bottom: 18px;
}

footer .menu#menu-rechtliche-nav-1 > li > a {
	color: rgba(245, 246, 240, .5);
	text-transform: none;
}

footer .menu#menu-rechtliche-nav-1 > li > a:hover,
footer .menu#menu-rechtliche-nav-1 > li.current_page_item > a {
	color: rgba(245, 246, 240, 1);
}

footer .menu-rechtliche-nav-container {
	margin-top: 62px;
}

footer .menu#menu-footer-nav-leistungen .sub-menu li:not(:last-child) a {
	margin-bottom: 6px;
}

footer .sub-menu > li > a {
	color: #f5f6f0;
	font-size: .882rem;
	transition: color .4s;
}

footer .sub-menu > li > a:hover {
	color: rgba(245, 246, 240, .5);
}

footer .mM_footer_middle_right_left,
footer .mM_footer_middle_right_middle {
	margin-top: 16px;
}

footer .footer_copyright_text a {
	transition: color .4s;
	text-decoration: underline;
}

footer .footer_copyright_text a:hover {
	color: #f5f6f0;
}

footer .mM_footer_address_strasse,
footer .mM_footer_address_phone {
	margin-bottom: 3px;
}

footer li.current_page_item .current_page_item > a {
	color: #8cb369 !important;
	font-weight: 700;
}

@media screen and (max-width: 1920px) {
	footer .mM_footer_middle_right {
		gap: 100px;
	}
}

@media screen and (max-width: 1790px) {
	footer .mM_footer_scroll_top {
		margin-right: -86px;
	}
}

@media screen and (max-width: 1705px) {
	footer .mM_footer_scroll_top {
		margin-right: 0;
	}
}

@media screen and (max-width: 1599px) {
	footer .mM_footer_scroll_top {
		margin-right: -56px;
	}
}

@media screen and (max-width: 1299px) {
	footer .mM_footer_scroll_top {
		margin-right: 0;
	}
}

@media screen and (max-width: 1199px) {
	footer {
		padding-bottom: 20px;
	}
	
	footer .mM_footer_middle {
		flex-direction: column;
	}
	
	footer .mM_footer_address_container {
		flex-direction: column;
	}
	
	footer .mM_footer_middle_right {
		flex-direction: column;
	}
	
	footer #menu-rechtliche-nav-1 {
		justify-content: start;
		gap: 21px;
	}
	
	footer .mM_footer_middle_right_right_top a {
		width: 100%;
		text-align: center;
	}
	
	footer .menu-rechtliche-nav-container {
		margin-top: 33px;
	}
	
	footer .mM_footer_address_container {
		gap: 14px;
	}
	
	footer .logo_container {
		height: 35px;
		margin-bottom: 42px;
		padding-right: 20px;
	}
	
	footer .logo_container svg {
		max-height: 35px;
	}
	
	footer .mM_footer_scroll_top {
		margin-right: 0;
		width: 47px;
		height: 47px;
	}
	
	footer .mM_footer_top {
		/* margin-bottom: -70px; */
	}
	
	footer .mM_footer_middle_left {
		max-width: calc(100% - 47px);
	}
	
	footer .mM_footer_bottom {
		margin-top: 33px;
	}
	
	footer .menu:not(#menu-rechtliche-nav-1) > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	footer .menu:not(#menu-rechtliche-nav-1) > li > a:after {
		content: '';
		background-image: url('/wp-content/uploads/2025/03/arrow_white_2.svg');
		width: 11px;
		height: 9px;
		display: inline-block;
		background-repeat: no-repeat;
		transition: margin-right .4s;
	}
	
	footer .menu:not(#menu-rechtliche-nav-1) > li > a:hover:after {
		margin-right: 10px;
	}
	
	footer .menu:not(#menu-rechtliche-nav-1) > li {
		border-top: 1px solid rgba(255, 255, 255, .2);
	}
	
	footer .menu#menu-footer-nav > li:last-child {
		border-bottom: 1px solid rgba(255, 255, 255, .2);
	}
	
	footer .menu#menu-footer-nav > li:not(:last-child) > a,
	footer .menu#menu-footer-nav > li > a {
		margin-bottom: 14px;
		margin-top: 15px;
	}
	
	footer .menu#menu-footer-nav-leistungen > li > a {
		margin-top: 15px;
		margin-bottom: 6px;
	}
	
	footer .menu#menu-footer-nav-leistungen .sub-menu li a,
	footer .menu#menu-footer-nav-leistungen .sub-menu li {
		line-height: 1;
	}
	
	footer .mM_footer_middle_right {
		gap: 1px;
	}
	
	footer .mM_footer_middle_right_right {
		padding-top: 25px;
	}
}

@media screen and (max-width: 991px) {
	footer .mM_footer_bottom {
		flex-wrap: wrap;
		padding: 15px 18px 22px 18px;
		border: 1px solid rgba(255, 255, 255, .3);
	}
	
	footer .mM_footer_bottom_left {
		width: 60%;
	}
	
	footer .mM_footer_bottom_middle {
		width: 40%;
		display: flex;
		justify-content: flex-end;
	}
	
	footer .mM_footer_bottom_right {
		width: 100%;
		padding-top: 19px;
	}
	
	footer .mM_footer_bottom_middle a {
		width: 46px;
		height: 46px;
	}
}

@media screen and (max-width: 370px) {
	footer .mM_footer_bottom_left {
		width: 100%;
		order: 1;
	}
	
	footer .mM_footer_bottom_middle {
		width: 100%;
		order: 3;
		justify-content: start;
		padding-top: 25px;
	}
	
	footer .mM_footer_bottom_right {
		order: 2;
	}
}

/* @media screen and (max-width: 315px) {
	footer .mM_footer_top {
		margin-bottom: 0;
	}
	
	footer .mM_footer_middle_left {
		max-width: 100%;
	}
} */