/* ==========================================================
   Landingpages: aus dem Divi-Childtheme uebernommene Klassen
   (ikk_*, balken_*, Logowand, Zeitstrahl). Divi-Strukturen
   -> Gutenberg: .et_pb_text = .cs-text, .et_pb_column = .cs-col,
   .et_pb_blurb = .cs-blurb, Blurb-Bild = .cs-blurb-media
   ========================================================== */

/* Spalte = Zeile, wenn die einzige Spalte keine eigene Gruppe hat */
.cs-row:not(:has(> .cs-col, > .wp-block-columns)).ikk_lp_row_probleme,
.ikk_lp_row_probleme > .cs-col,
.ikk_lp_row_probleme > .wp-block-columns > .wp-block-column {
	display: grid;
	gap: 50px;
}
@media (min-width: 981px) {
	.cs-row:not(:has(> .cs-col, > .wp-block-columns)).ikk_lp_row_probleme,
	.ikk_lp_row_probleme > .cs-col,
	.ikk_lp_row_probleme > .wp-block-columns > .wp-block-column {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 767px) {
	.cs-row:not(:has(> .cs-col, > .wp-block-columns)).ikk_lp_row_probleme,
	.ikk_lp_row_probleme > .cs-col,
	.ikk_lp_row_probleme > .wp-block-columns > .wp-block-column {
		grid-template-columns: 1fr;
	}
}
.cs-row.ikk_lp_row_probleme .cs-blurb.cs-blurb {
	margin-bottom: 0 !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
.cs-row.ikk_lp_row_probleme .cs-blurb-media.cs-blurb-media {
	display: inline-block;
	vertical-align: baseline;
	padding-top: 50%;
	position: relative;
	width: 100%;
	overflow: hidden;
	margin: 0 0 20px !important;
}
.cs-row.ikk_lp_row_probleme .cs-blurb-media.cs-blurb-media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	object-position: center;
	filter: grayscale(1) brightness(1.5);
}
.ikk_lp_row_probleme .cs-blurb-media::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(45deg, rgba(0, 85, 103, 0.5), rgba(0, 85, 103, 0.5));
}
.ikk_lp_row_probleme .cs-blurb-body {
	margin: auto;
	max-width: 280px;
	margin-bottom: 20px;
}

/* Hervorhebung (gelber Balken) in Ueberschriften */
.ikk_lp_hero .cs-text span.highlight_gradient,
.ikk_lp_text.cs-text span.highlight_gradient {
	background-image: linear-gradient(45deg, #cdb828, #cdb828);
	padding: 8px 12px;
	font-size: clamp(1rem, calc(2.7826vw + 0.1304rem), 2.2rem);
	color: #fff;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	line-height: 1.4em;
	text-transform: uppercase;
}

/* Hero-Liste mit Haken-Icon */
.ikk_lp_hero .cs-text ul {
	list-style: none;
	padding-left: 0;
}
.ikk_lp_hero .cs-text ul li {
	position: relative;
	padding-left: 2em;
	margin-bottom: 0.5em;
	margin-left: 0.8em;
}
.ikk_lp_hero .cs-text ul li::before {
	content: '\5a';
	font-family: 'ETmodules';
	font-size: 1.8rem;
	color: inherit;
	position: absolute;
	left: 0;
}

/* Aufzaehlungen mit Icon */
.ikk_row_text_bulletpoints .cs-text ul {
	list-style: none;
	padding-left: 0;
}
.ikk_row_text_bulletpoints .cs-text ul li {
	display: flex;
	align-items: flex-start;
	margin-bottom: 1em;
}
.ikk_row_text_bulletpoints .cs-text ul li:last-child {
	margin-bottom: 0 !important;
}
.ikk_row_text_bulletpoints .cs-text ul li::before {
	content: '\5a';
	font-family: 'ETmodules';
	font-size: 1.3rem;
	color: #000;
	margin-right: 0.2em;
}
.ikk_row_text_bulletpoints .cs-text.ikk_neutral_marker ul li::before {
	content: '\57';
	font-size: 1.2rem;
}

@media (max-width: 767px) {
	.ikk_lp_hero .cs-text ul li {
		margin-left: 0;
		margin-bottom: 1em;
		line-height: 1.5em;
	}
	.ikk_lp_hero .cs-text ul {
		padding-top: 11.5px;
	}
	.ikk_lp_hero .cs-text span.highlight_gradient,
	.ikk_lp_text.cs-text span.highlight_gradient {
		font-size: clamp(16px, 5vw, 30px);
		font-weight: 600;
		display: inline-block;
	}
}

/* Balken oberhalb/unterhalb einer Spalte bzw. Sektion */
.cs-col.balken_oben,
.cs-col.balken_unten,
.cs-section.balken-case-study {
	position: relative;
}
.cs-col.balken_oben::before,
.cs-col.balken_unten::after,
.cs-section.balken-case-study::before {
	content: '';
	position: absolute;
	display: block;
	background-color: #005567;
	width: 93px;
	height: 5px;
	left: 50%;
	transform: translate(-50%);
}
.cs-col.balken_oben::before {
	top: -80px;
}
.cs-col.balken_unten::after {
	bottom: -80px;
}
.cs-section.balken-case-study::before {
	top: 2.5px;
}
.cs-row:has(.balken_oben),
.cs-row:has(.balken_unten) {
	overflow: visible;
}

/* Logowand (Galerie): Raster mit farbigen Kacheln */
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr);
	gap: 15px !important;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image {
	width: auto !important;
	margin: 0 !important;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #fff;
	pointer-events: none;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image img {
	width: 100% !important;
	height: auto !important;
	max-width: none;
	max-height: none;
	object-fit: cover;
	display: block;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+1),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+10),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+14),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+18),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+22) {
	background-color: #6fb7bf;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+2),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+6),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+15),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+19),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+23) {
	background-color: #b9c159;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+3),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+7),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+11),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+20),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+24) {
	background-color: #9aa3a8;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+4),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+8),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+12),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+16),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+25) {
	background-color: #2b8a95;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+5),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+9),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+13),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+17),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(25n+21) {
	background-color: #0f5f6b;
}

@media (max-width: 980px) {
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) {
	grid-template-columns: repeat(3, 1fr);
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+1),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+12),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+14) {
	background-color: #6fb7bf;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+2),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+4),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+15) {
	background-color: #b9c159;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+3),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+5),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+7) {
	background-color: #9aa3a8;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+6),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+8),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+10) {
	background-color: #2b8a95;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+9),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+11),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(15n+13) {
	background-color: #0f5f6b;
}
}

@media (max-width: 767px) {
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) {
	grid-template-columns: repeat(2, 1fr);
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+1),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+10) {
	background-color: #6fb7bf;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+2),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+3) {
	background-color: #b9c159;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+4),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+5) {
	background-color: #9aa3a8;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+6),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+7) {
	background-color: #2b8a95;
}
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+8),
.ikk_row_logowall .wp-block-gallery.cs-gallery:not(.cs-dsm-gallery) > figure.wp-block-image:nth-child(10n+9) {
	background-color: #0f5f6b;
}
}

/* Timeline (Divi-Child ikk_row_timeline): Pfeil ueber erreichten Karten, aktive Karte leicht vergroessert */
.ikk_row_timeline .cs-timeline-item.is-active {
	transform: scale(1.01);
	transition: all .1s ease-in-out;
}
.ikk_row_timeline .cs-timeline-item ~ .cs-timeline-item::before {
	content: "\33";
	font-family: ETmodules;
	font-weight: 400;
	font-style: normal;
	position: absolute;
	top: -48px;
	line-height: 1;
	left: 50%;
	transform: translateX(-53.5%);
	font-size: 4em;
	color: #005567;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.ikk_row_timeline .cs-timeline-item.is-active::before {
	opacity: 1;
}

/* Checkpoints (Divi-Child .ikk_lp_row_checkpoints .et_pb_column): Spalte hoechstens 650px breit */
.ikk_lp_row_checkpoints > .cs-col,
.ikk_lp_row_checkpoints > .wp-block-columns > .wp-block-column {
	max-width: 650px;
}

/* Icon-Blurbs "Strategien" (Divi-Child icon-blurb-strategien): Inhalt vertikal mittig */
.cs-blurb.icon-blurb-strategien {
	display: flex;
	align-items: center;
}
.cs-blurb.icon-blurb-strategien > .cs-blurb-content {
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
}
.cs-blurb.icon-blurb-strategien .cs-blurb-left {
	align-items: center;
}

/* Footer der Landingpages: Menuepunkte zentriert wie Divi */
.cs-footer-nav-center,
.cs-footer-nav-center .wp-block-navigation-item,
.cs-footer-nav-center a {
	text-align: center;
}

/* Fliessende Überschriften der Landingpages (wie Childtheme) */
.ikk_lp_text h1 {
	font-size: clamp(2.4rem, calc(4.8696vw + 0.8783rem), 4.5rem);
	line-height: 1.1em;
}
.ikk_lp_text h2 {
	font-size: clamp(1.7rem, calc(2.5507vw + 0.9029rem), 2.8rem);
	line-height: 1.2em;
}
.ikk_lp_text h3 {
	font-size: clamp(1.5rem, calc(1.6232vw + 0.9928rem), 2.2rem);
	line-height: 1.4em;
}
.ikk_lp_text h4 {
	font-size: clamp(1.2rem, calc(1.3913vw + 0.7652rem), 1.8rem);
	line-height: 1.4em;
}
@media (max-width: 388px) {
	.ikk_lp_text h1 {
		font-size: 2.1rem;
	}
}

/* Hero-Zeilen der Landingpages bis 767 px 90 % breit (wie Childtheme) */
@media (max-width: 767px) {
	.ikk_lp_hero .cs-row {
		width: 90%;
	}
}
