/**
 * Internet Explorer 11 only — requires class `is-ie11` on <html>
 * (added via wp_head in functions.php).
 */

/* --- Divi header / primary navigation (flex + fixed positioning bugs) --- */

.is-ie11 #top-header,
.is-ie11 #main-header {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both;
	z-index: 100000;
}

.is-ie11 body.et_fixed_nav #top-header,
.is-ie11 body.et_fixed_nav #main-header {
	position: relative !important;
}

.is-ie11 #top-header .container,
.is-ie11 #main-header .container {
	display: block;
	width: 100%;
	max-width: 100%;
}

.is-ie11 #main-header .container::after,
.is-ie11 #top-header .container::after {
	content: "";
	display: table;
	clear: both;
}

.is-ie11 #main-header .logo_container {
	float: left;
}

.is-ie11 #et-top-navigation {
	display: block;
	float: right;
	text-align: right;
}

.is-ie11 #top-menu,
.is-ie11 nav#top-menu {
	display: block;
	margin: 0;
	padding: 0;
	overflow: visible;
}

.is-ie11 #top-menu::after {
	content: "";
	display: table;
	clear: both;
}

.is-ie11 #top-menu > li {
	float: left;
	position: relative;
	list-style: none;
}

.is-ie11 #top-menu > li > a {
	display: block;
}

.is-ie11 #et_mobile_nav_menu {
	display: block;
	clear: both;
}

.is-ie11 #page-container {
	overflow: visible;
}

/* Reduce reliance on JS-computed fixed header offset in IE11 */
.is-ie11 body.et_fixed_nav #page-container {
	padding-top: 0 !important;
}

/* --- Divi Theme Builder global header fallback --- */

.is-ie11 .et-l--header .fixedHeader,
.is-ie11 .et-l--header .et_pb_section--fixed {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	-ms-transform: none !important;
	transform: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

.is-ie11 .fixedHeader--hero {
	margin-top: 0 !important;
}

.is-ie11 .et_pb_section_0_tb_header,
.is-ie11 .et_pb_section_1_tb_header,
.is-ie11 .et_pb_section_2_tb_header {
	max-width: 100% !important;
}

@media only screen and (min-width: 981px) {
	.is-ie11 .et_pb_section_0_tb_header {
		display: block !important;
	}

	.is-ie11 .et_pb_section_1_tb_header,
	.is-ie11 .et_pb_section_2_tb_header {
		display: none !important;
	}

	.is-ie11 .et_pb_column_0_tb_header {
		display: table !important;
		width: 100% !important;
		table-layout: fixed;
	}

	.is-ie11 .et_pb_image_0_tb_header,
	.is-ie11 .et_pb_menu_0_tb_header,
	.is-ie11 .et_pb_code_0_tb_header {
		display: table-cell !important;
		float: none !important;
		vertical-align: middle;
	}

	.is-ie11 .et_pb_image_0_tb_header {
		width: 320px;
	}

	.is-ie11 .et_pb_image_0_tb_header .et_pb_image_wrap img {
		width: 100% !important;
		max-width: 320px !important;
		height: auto !important;
		max-height: none !important;
	}

	.is-ie11 .et_pb_menu_0_tb_header .et_pb_menu__wrap,
	.is-ie11 .et_pb_menu_0_tb_header .et_pb_menu__menu,
	.is-ie11 .et_pb_menu_0_tb_header .et-menu-nav {
		display: block !important;
		float: none !important;
		width: 100% !important;
	}

	.is-ie11 .et_pb_menu_0_tb_header .et-menu {
		float: none !important;
		text-align: center !important;
	}

	.is-ie11 .et_pb_menu_0_tb_header .et-menu > li {
		display: inline-block !important;
		float: none !important;
		padding-right: 18px !important;
	}

	.is-ie11 .et_pb_menu_0_tb_header .et-menu > li:last-child {
		padding-right: 0 !important;
	}

	.is-ie11 .et_pb_code_0_tb_header {
		width: 220px;
		text-align: right;
	}
}

@media only screen and (max-width: 980px) {
	.is-ie11 .et_pb_section_0_tb_header {
		display: none !important;
	}

	.is-ie11 .et_pb_section_1_tb_header,
	.is-ie11 .et_pb_section_2_tb_header {
		display: block !important;
	}

	.is-ie11 .et_pb_column_3_tb_header {
		display: table !important;
		width: 100% !important;
		table-layout: fixed;
	}

	.is-ie11 .et_pb_image_1_tb_header,
	.is-ie11 .et_pb_code_1_tb_header {
		display: table-cell !important;
		float: none !important;
		vertical-align: middle;
	}

	.is-ie11 .et_pb_image_1_tb_header .et_pb_image_wrap img {
		width: 100% !important;
		max-width: 320px !important;
		height: auto !important;
		max-height: none !important;
	}
}

@media only screen and (min-width: 768px) and (max-width: 980px) {
	.is-ie11 .et_pb_row_0_tb_header,
	.is-ie11 .et_pb_row_2_tb_header {
		display: none !important;
	}
}

@media only screen and (max-width: 767px) {
	.is-ie11 .et_pb_row_0_tb_header,
	.is-ie11 .et_pb_row_1_tb_header,
	.is-ie11 .et_pb_row_2_tb_header {
		display: none !important;
	}
}

/* --- Child theme: CSS Grid → float / flex fallbacks --- */

.is-ie11 .khk__grid--2 {
	display: block;
}

.is-ie11 .khk__grid--2::after {
	content: "";
	display: table;
	clear: both;
}

.is-ie11 .khk__grid--2 > * {
	float: left;
	width: 48%;
	margin-right: 4%;
	margin-bottom: 32px;
	box-sizing: border-box;
}

.is-ie11 .khk__grid--2 > *:nth-child(2n) {
	margin-right: 0;
}

.is-ie11 .khk__grid--3 {
	display: block;
}

.is-ie11 .khk__grid--3::after {
	content: "";
	display: table;
	clear: both;
}

.is-ie11 .khk__grid--3 > * {
	float: left;
	width: 31.33%;
	margin-right: 3%;
	margin-bottom: 24px;
	box-sizing: border-box;
}

.is-ie11 .khk__grid--3 > *:nth-child(3n) {
	margin-right: 0;
}

.is-ie11 .khk__grid--flex {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -12px;
}

.is-ie11 .khk__grid--flex > * {
	margin: 12px;
	box-sizing: border-box;
}

.is-ie11 .khk-stellenboerse__grid {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.is-ie11 .khk-stellenboerse__grid > .khk-betrieb,
.is-ie11 .khk-stellenboerse__grid > article {
	width: 300px;
	max-width: 100%;
	margin: 12px;
	box-sizing: border-box;
}

.is-ie11 .khk-stellenboerse__filter_auswahl {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.is-ie11 .khk-stellenboerse__filter_auswahl > * {
	width: 48%;
	margin-right: 4%;
	margin-bottom: 16px;
	box-sizing: border-box;
}

.is-ie11 .khk-stellenboerse__filter_auswahl > *:nth-child(2n) {
	margin-right: 0;
}

.is-ie11 .khk__horizontalScroll--row {
	display: block;
	white-space: nowrap;
	font-size: 0;
}

.is-ie11 .khk__horizontalScroll--row > * {
	display: inline-block;
	white-space: normal;
	font-size: 18px;
	vertical-align: top;
	margin-right: 2em;
}

.is-ie11 .khk__team_buttons {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.is-ie11 .khk__team_buttons > div {
	-ms-flex: 1 1 45%;
	flex: 1 1 45%;
	margin-bottom: 1em;
	box-sizing: border-box;
}

/* Card rows */
.is-ie11 .khk__card_kompakt--intro {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

.is-ie11 .khk-betrieb__wrapper--angeboteundctas,
.is-ie11 .khk-betrieb__stellenangebote {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.is-ie11 .khk-betrieb__kontakt {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	align-items: center;
}

/* Fixed inner nav: IE needs -ms-transform */
.is-ie11 .khk-content-page__inner-nav-fixed-right {
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

/* clip-path not supported in IE11 */
.is-ie11 .khk__select_contentBeschreibung--polygon {
	clip-path: none;
	-webkit-clip-path: none;
	width: 40%;
}

/* Narrow viewports: match mobile breakpoint behavior without relying on grid */
@media only screen and (max-width: 720px) {
	.is-ie11 .khk__grid--2 > *,
	.is-ie11 .khk__grid--3 > * {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.is-ie11 .khk-stellenboerse__filter_auswahl > * {
		width: 100%;
		margin-right: 0;
	}
}