/* === Section ============================================================== */

section.m2_text_and_image {
	--basisImageHeight: 675px;
	--imageHeight: var(--basisImageHeight);
}

section.m2_text_and_image.m2_hf_zweiteilig {
	z-index: 2;
}

section.m2_text_and_image[data-variante="ikonboxen"] {
	--basisImageHeight: 745px;
}

section.m2_text_and_image[class*="_auskragung_bild"] {
	--basisImageHeight: 790px;
}

/* === Layout =============================================================== */
section.m2_text_and_image .flex_row_reverse {
	flex-direction: row-reverse;
}

section.m2_text_and_image .mM_row {
	align-items: center;
	--gap: 110px;
	gap: 50px var(--gap);
}

section.m2_text_and_image[data-variante="ikonboxen"] .mM_row {
	align-items: flex-start;
}

section.m2_text_and_image[data-variante="textbloecke"] .mM_row {
	align-items: stretch;
}

/* === Galerie: m2_content_wrapper ========================================== */
section.m2_text_and_image.m2_hf_zweiteilig .m2_content_wrapper {
	margin-left: -500px;
	width: calc(50% + 500px - var(--gap) / 2);
	padding-left: 500px;
	position: relative;
	z-index: 1;
	max-width: none;
}

section.m2_text_and_image.m2_hf_zweiteilig .flex_row_reverse .m2_content_wrapper {
	margin-left: 0;
	padding-left: 0;
	margin-right: -500px;
	padding-right: 500px;
}

section.m2_text_and_image.m2_hf_zweiteilig .m2_content_wrapper:before {
	content: '';
	position: absolute;
	inset: 0;
	height: calc(300px + 75px + 100%);
	top: calc(0px - (150px + 75px));
	background-color: var(--bc);
	z-index: -1;
}

/* === Galerie: m2_galerie_wrapper ========================================== */
section.m2_text_and_image[data-variante="textbloecke"] .m2_galerie_wrapper {
	position: relative;
	overflow: hidden;
	z-index: 2;
}

/* Textbloecke variant: graue Frame-Box hinter dem Bild (links/unten versetzt). */
/* section.m2_text_and_image.m2_variant_textbloecke .m2_galerie_wrapper {
	position: relative;
	isolation: isolate;
} */
/* section.m2_text_and_image.m2_variant_textbloecke .m2_galerie_wrapper::before {
	content: "";
	position: absolute;
	left: -64px;
	right: 64px;
	top: 64px;
	bottom: -48px;
	background: #f2f4f5;
	z-index: -1;
} */

/* === Galerie: m2_galerie_container ======================================== */
section.m2_text_and_image .m2_galerie_container {
	height: var(--imageHeight);
}

section.m2_text_and_image[data-variante="textbloecke"] .m2_galerie_container {
	position: absolute;
	inset: 0;
}

/* === Galerie: m2_galerie_item ============================================= */
section.m2_text_and_image .m2_galerie_item {
	height: 100%;
}

/* === Textblöcke =========================================================== */
section.m2_text_and_image .m2_subblocks_textbloecke {
	--gap: 40px;
	align-items: start;
	gap: 30px var(--gap);
	margin-top: 75px;
}

section.m2_text_and_image .m2_subblocks_textbloecke:not(:has(.m2_textblock_ascending)) {
	padding-top: 30px;
	border-top: 1px solid rgb(from var(--font_color) r g b / 0.5);
}

section.m2_text_and_image .m2_textblock_ascending {
	padding: 30px 44px 35px;
	clip-path: polygon(0 0, calc(100% - 37px) 0, 100% 37px, 100% 100%, 0 100%);
}

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

section.m2_text_and_image .m2_textblock_ascending .m2_zahl_head {
	align-items: baseline;
	margin-bottom: 20px;
}

section.m2_text_and_image .m2_textblock_dark * {
	color: #fff;
}

section.m2_text_and_image .m2_textblock_titel {
	position: relative;
	margin-bottom: 16px;
	font-weight: 500;
}

section.m2_text_and_image .m2_textblock_text {
	line-height: 1.55;
	color: rgba(51, 57, 70, 0.67);
}

section.m2_text_and_image .m2_textblock_text p {
	margin: 0 0 0.5em;
}

section.m2_text_and_image .m2_textblock_text p:last-child {
	margin-bottom: 0;
}

/* === Ikonboxen ============================================================ */

section.m2_text_and_image .m2_subblocks.m2_subblocks_ikonboxen {
	margin-top: 60px;
	--gap: 40px;
	gap: 63px var(--gap);
}

section.m2_text_and_image .m2_ikonbox_icon {
	height: 62px;
	margin-bottom: 18px;
}

section.m2_text_and_image .m2_ikonbox_icon * {
	height: 100%;
	width: auto;
}

section.m2_text_and_image .m2_ikonbox_icon svg {
	fill: #ec7328;
}

section.m2_text_and_image .m2_ikonbox_titel {
	display: inline-block;
	margin-bottom: 12px;
}

/* === Auskragung =========================================================== */
section.m2_text_and_image.m2_auskragung_bild_oben {
	padding-top: 0;
}

section.m2_text_and_image.m2_auskragung_bild_oben .mM_row {
	align-items: start;
}

section.m2_text_and_image.m2_auskragung_bild_oben .m2_galerie_wrapper {
	margin-top: -65px;
}

section.m2_text_and_image.m2_auskragung_bild_oben .m2_content_inner {
	padding-top: var(--section_padding);
}

section.m2_text_and_image.m2_auskragung_bild_oben  {
	
}

/* === Responsive =========================================================== */

@media screen and (min-width: 1400px) {
	section.m2_text_and_image[data-variante="textbloecke"] .m2_galerie_container {
		height: auto;
	}
}

@media (min-width: 2000px) {
	section.m2_text_and_image {
		--imageHeight: calc(var(--basisImageHeight) + 50px);
	}
}

@media (min-width: 2200px) {
	section.m2_text_and_image {
		--imageHeight: calc(var(--basisImageHeight) + 100px);
	}
}

@media (min-width: 2400px) {
	section.m2_text_and_image {
		--imageHeight: calc(var(--basisImageHeight) + 150px);
	}
}

@media (max-width: 1799px) {
	section.m2_text_and_image .m2_textblock_ascending {
		padding: 30px 20px 20px;
	}
}

@media (max-width: 1599px) {
	section.m2_text_and_image,
	section.m2_text_and_image[data-variante="ikonboxen"] {
		--basisImageHeight: 625px;
	}

	section.m2_text_and_image .mM_row {
		--gap: 45px;
	}

	section.m2_text_and_image .m2_subblocks_textbloecke {
	    --gap: 20px;
		margin-top: 60px;
	}

	section.m2_text_and_image .m2_textblock_ascending {
		padding: 30px 20px 25px;
	}
}

@media (max-width: 1399px) {
	section.m2_text_and_image,
	section.m2_text_and_image[data-variante="ikonboxen"] {
		--basisImageHeight: 585px;
	}

	/* section.m2_text_and_image .mM_row {
		--gap: 80px;
	} */

	section.m2_text_and_image[data-variante="textbloecke"] .m2_content_wrapper,
	section.m2_text_and_image[data-variante="textbloecke"] .m2_galerie_wrapper {
		width: 100%;
	}

	section.m2_text_and_image[data-variante="textbloecke"] .m2_content_wrapper {
		padding: 0;
		margin: 0;
	}

	section.m2_text_and_image.m2_hf_zweiteilig .m2_content_wrapper:before {
		width: calc(100% + 50px);
		left: -50px;
	}

	section.m2_text_and_image.m2_hf_zweiteilig .flex_row_reverse .m2_content_wrapper:before {
		left: auto;
		right: -50px;
	}

	section.m2_text_and_image[data-variante="textbloecke"] .m2_galerie_container {
		position: static;
	}

	section.m2_text_and_image .m2_subblocks_textbloecke {
		margin-top: 35px;
	}

	section.m2_text_and_image .m2_subblocks_textbloecke:not(:has(.m2_textblock_ascending)) {
		padding-top: 25px;
	}
}

@media (max-width: 991px) {
	section.m2_text_and_image {
		--basisImageHeight: 585px !important;
	}

	section.m2_text_and_image.m2_auskragung_bild_oben .m2_galerie_wrapper {
		margin-top: -30px;
	}

	section.m2_text_and_image.m2_hf_zweiteilig .m2_content_wrapper:before {
		height: calc(200px + 50px + 100%);
		top: calc(0px - (100px + 50px));
	}

	section.m2_text_and_image.m2_auskragung_bild_oben .m2_content_inner {
		padding-top: 0;
	}
	
	section.m2_text_and_image .m2_subblocks .m2_ikonbox,
	section.m2_text_and_image .m2_subblocks_textbloecke .m2_textblock {
		width: calc(50% - var(--gap) / 2);
	}
}

@media (max-width: 767px) {
	section.m2_text_and_image {
		--basisImageHeight: 485px !important;
	}
}

@media (max-width: 575px) {
	section.m2_text_and_image.m2_hf_zweiteilig .m2_content_wrapper:before {
		width: calc(100% + 40px);
		left: -20px !important;
		height: calc(120px + 35px + 100%);
		top: calc(0px - (60px + 35px));
	}

	section.m2_text_and_image .m2_galerie_container {
		height: auto;
	}

	section.m2_text_and_image .m2_subblocks.m2_subblocks_ikonboxen {
		gap: 40px var(--gap);
	}

	section.m2_text_and_image .m2_subblocks .m2_ikonbox,
	section.m2_text_and_image .m2_subblocks_textbloecke .m2_textblock {
		width: 100%;
	}
}
