/* =========================
   IMAGE / TEXT DIAGONAL
   ========================= */

.image-text-diagonal {
	position: relative;
	isolation: isolate;

	width: 100%;

	container-type: inline-size;
}

.page-content .image-text-diagonal {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* =========================
   GRUNDAUFBAU
   ========================= */

.image-text-diagonal-inner {
	display: grid;

	grid-template-columns: 56% 44%;

	align-items: stretch;

	width: 100%;
	min-height: 520px;

	overflow: visible;
}


/* =========================
   TEXT
   ========================= */

.image-text-diagonal-content {
	display: flex;
	flex-direction: column;
	justify-content: center;

	padding: 4rem 7rem 4rem 3rem;

	min-width: 0;
}


.image-text-diagonal-header {
	margin-top: 0;
	margin-bottom: 2rem;
}


.image-text-diagonal-text {
	line-height: 1.6;
}


.image-text-diagonal-text > :first-child {
	margin-top: 0;
}


.image-text-diagonal-text > :last-child {
	margin-bottom: 0;
}


.image-text-diagonal-cta {
	align-self: flex-start;

	margin-top: 1.75rem;
}


/* =========================
   BILD
   ========================= */

.image-text-diagonal-media {
	position: relative;

	min-width: 0;
	min-height: 100%;

	overflow: hidden;
}


.image-text-diagonal-picture {
	position: absolute;

	inset: 0;

	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


/* =========================
   BILD RECHTS
   ========================= */

.image-text-diagonal-right .image-text-diagonal-media {
	position: relative;

	width: calc(
		100% + 4rem + ((100vw - 100cqw) / 2)
	);

	margin-left: -4rem;

	clip-path: polygon(
		18% 0,
		100% 0,
		100% 100%,
		0 100%
	);
}


/* =========================
   BILD LINKS
   ========================= */

.image-text-diagonal-left .image-text-diagonal-inner {
	grid-template-columns: 44% 56%;
}


.image-text-diagonal-left .image-text-diagonal-media {
	grid-column: 1;
	grid-row: 1;

	position: relative;

	left: calc((100cqw - 100vw) / 2);

	width: calc(
		100% + 4rem + ((100vw - 100cqw) / 2)
	);

	clip-path: polygon(
		0 0,
		100% 0,
		82% 100%,
		0 100%
	);

	margin: 0;
}


.image-text-diagonal-left .image-text-diagonal-content {
	grid-column: 2;
	grid-row: 1;

	padding:
		4rem
		3rem
		4rem
		7rem;
}


/* =========================
   TABLET
   ========================= */

@media (max-width: 1000px) {

	.image-text-diagonal-inner {
		grid-template-columns: 58% 42%;

		min-height: 450px;
	}


	.image-text-diagonal-content {
		padding:
			3rem
			5rem
			3rem
			2rem;
	}


	.image-text-diagonal-right .image-text-diagonal-media {
		margin-left: -3rem;
	}


	.image-text-diagonal-left .image-text-diagonal-inner {
		grid-template-columns: 42% 58%;
	}


	.image-text-diagonal-left .image-text-diagonal-media {
		margin-right: -3rem;
	}


	.image-text-diagonal-left .image-text-diagonal-content {
		padding:
			3rem
			2rem
			3rem
			5rem;
	}

}


/* =========================
   MOBILE
   ========================= */

@media (max-width: 700px) {

	.image-text-diagonal-inner,
	.image-text-diagonal-left .image-text-diagonal-inner {
		display: flex;
		flex-direction: column;

		min-height: 0;
	}


	.image-text-diagonal-content,
	.image-text-diagonal-left .image-text-diagonal-content {
		order: 1;

		padding: 2rem 1rem;
	}


	.image-text-diagonal-media,
	.image-text-diagonal-left .image-text-diagonal-media {
		order: 2;

		width: 100%;
		min-height: 280px;

		margin: 0;

		clip-path: none;
	}


	.image-text-diagonal-picture {
		position: absolute;
	}

}
