/*
Theme Name:     Blue Moon Custom
Theme URI:      https://www.bluemoon.de
Description:    Angepasste Version des Divi Themes durch die Agentur Blue Moon CC GmbH in Neuss. Bitte deinstallieren Sie nicht das Divi Theme, da dies hier nur ein Child-Theme ist wird das Main-Theme immer noch benötigt.
Author:         Blue Moon CC GmbH
Author URI:     https://www.bluemoon.de
Template:       Divi
Version:        1.33.7
*/

body .hidden {
	display: none !important;
}

/*** Variables ***/
:root {
	--hs-darkblue: #102d69;
	--hs-lightblue: #DEE6F2; 
	--hs-darkgray: #474646; /* Text-color */
	--hs-gray: #B5B5B5;
	--hs-lightgray: #EFF0F0; /* Backgrounds */
	--hs-special: #CFBEB9; /* Manufaktur */
	--hs-footer-bg: #DFE2E2; /* Footer BG */
	--h1-fs: clamp(30px, 6vw, 64px);
	--h2-fs: clamp(25px, 5vw, 48px);
	--h3-fs: clamp(22px, 3vw, 36px);
	--h4-fs: clamp(20px, 3vw, 24px);
	--text-fs: clamp(16px, 2vw, 20px);
	--text-lh: 145%;
	--btn-fs: calc(var(--text-fs) + 2px);
}

/*** Default ***/
body, body p, body span, body li, body a {
	color: var(--hs-darkgray);
	font-family: 'Inter', sans-serif;
	font-size: var(--text-fs);
	font-weight: 400;
	line-height: var(--text-lh);
	/* Block users from selecting Text */
	user-select: none
}
body h1, body h2, body h2 span, body h3 {
	color: var(--hs-darkblue);
	font-family: 'Inter', sans-serif;
	letter-spacing: 1%;
	line-height: 120%;
}
body h1 {
	font-size: var(--h1-fs) !important;
	font-weight: 900 !important;
	hyphens: auto;
}
body h2, body h2 span {
	font-size: var(--h2-fs);
	font-weight: 300;
	hyphens: auto;
}
body h3 {
	font-size: var(--h3-fs);
	font-weight: 300;
}
body h4 {
	color: var(--hs-darkblue);
	font-size: var(--h4-fs);
	font-weight: 700;
	letter-spacing: 0%;
	line-height: 135%;
}
body a {
	color: var(--hs-darkblue);
	font-weight: 600;
}
body p a:hover {
	opacity: .8;
	text-decoration: underline;
}
.et_pb_module a.et_pb_button {
	background: transparent;
	border-color: var(--hs-darkblue);
	color: var(--hs-darkblue);
	font-size: var(--btn-fs);
	font-weight: 300;
	padding: 7.5px 25px;

	&::after {
		font-size: calc(var(--btn-fs) + 10px);
		font-weight: 700;
		top: 50%;
		transform: translateY(-50%);
	}
	&:hover {
		background: var(--hs-darkblue);
		border-color: var(--hs-darkblue);
		color: #fff;
		padding: 7.5px 40px 7.5px 25px;
	}
}
.et_pb_section:not(.et_pb_fullwidth_section) {
	padding: clamp(25px, 5vw, 50px) 0;

	.et_pb_row {
		padding: clamp(15px, 3vw, 30px) 0;
		width: 90% !important;
	}
}
#main-content, #page-container {
	min-width: 320px;
	overflow: hidden;
}
.single {
	.et_pb_post {
		margin-bottom: 0;
		padding-bottom: 0;
	}
	h1 {
		font-size: var(--h2-fs) !important;
	}
}
/*** END Default ***/

/*** AI Kennzeichnungspflicht ***/
#main-header #et-top-navigation .mega-menu.values > .sub-menu::before {
	aspect-ratio: 1;
	background-image: url("/wp-content/uploads/2026/08/LABEL_AI_black-transparent.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: 5px;
	content: "";
	position: absolute;
	right: 5px;
	width: 35px;
	z-index: +1;
}
.ai.headerslider .et_pb_slide::after {
	aspect-ratio: 1;
	background-image: url("/wp-content/uploads/2026/08/LABEL_AI_black-transparent.webp");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	bottom: clamp(5px, 1vw, 10px);
	content: "";
	position: absolute;
	right: clamp(5px, 1vw, 10px);
	width: clamp(25px, 5vw, 35px);
	z-index: 10;
}
.ai.et_pb_blurb .et_pb_image_wrap,
.ai.et_pb_image .et_pb_image_wrap {
	position: relative;

	&::after {
		aspect-ratio: 1;
		background-image: url("/wp-content/uploads/2026/08/LABEL_AI_black-transparent.webp");
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		bottom: 15px;
		content: "";
		position: absolute;
		right: 5px;
		width: 35px;
		z-index: +1;
	}
}
/*** END AI Kennzeichnungspflicht ***/

/*** Small Text ***/
.small-text p {
	font-size: clamp(12px, 1vw, 16px);
}
/*** END Small Text ***/

/*** Backgrounds ***/
.bg-logo {
	background-color: var(--hs-lightgray);
	overflow: hidden;

	&.white {
		background-color: #fff;

		&::before {
			mix-blend-mode: darken;
		}
	}
	&::before {
		background-image: url("/wp-content/uploads/2026/05/HS_bildmarke_hintergrund.svg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		content: "";
		filter: grayscale(1);
		height: 110%;
		left: 0;
		mix-blend-mode: color-burn;
		opacity: .03;
		position: absolute;
		top: -5%;
		width: 100%;
	}
}
.bg-gray {
	background-color: var(--hs-lightgray);
}
/*** END Backgrounds ***/

/*** Video Buttons ***/
a.et_pb_button.vid {
	align-items: center;
	display: inline-flex;
	padding: 7.5px 15px 7.5px 35px;

	&:hover {
		padding: 7.5px 35px 7.5px 15px;

		&::before {
			color: #fff;
			right: calc(0% + 5px);
		}
	}
	&::before {
		color: var(--hs-darkblue);
		content: "\45";
		display: inline-block;
		font-family: "ETmodules";
		line-height: 125%;
		opacity: 1;
		position: absolute;
		right: calc(100% - 35px);
		transform: scale(1.5,1);
		transition: all ease-in-out .3s;
	}
	&::after {
		content: unset;
	}
}
div[class*="vid_trigger"] {
	cursor: pointer;
	margin-bottom: 0 !important;

	.et_pb_image_wrap {
		font-size: 0;

		&::before {
			background-color: #111;
			content: "";
			height: 100%;
			left: 0;
			opacity: 0.1;
			position: absolute;
			top: 0;
			transition: opacity ease-in-out .3s;
			width: 100%;
			z-index: +1;
		}
		&::after {
			border-color: transparent transparent transparent #fff;
			border-style: solid;
			border-width: 40px 0px 40px 70px;
			box-sizing: border-box;
			content: "";
			height: 74px;
			left: 50%;
			position: absolute;
			top: 50%;
			transform: translate(-50%, -50%);
			width: 74px;
			z-index: +1;
		}
		&:hover::before {
			opacity: .6;
		}
	}
}
/*** END Video Buttons ***/

.media-types.media-types-required-info {
	display: none;
}

/*** Navigation ***/
#main-header {
	box-shadow: 0 10px 10px -10px rgba(0, 0, 0, 0.5);
	position: fixed !important;

	#et-top-navigation {
		float: left;
		padding: 0 0 0 100px;
		width: 100%;

		#top-menu {
			&> li {
				padding: 0 7.5px;
				transition: all ease-in-out .3s;

				&:hover {
					background-color: var(--hs-darkblue);

					&> a {
						color: #fff;
						opacity: 1;
					}
				}
				&> a {
					font-size: calc(var(--text-fs) - 2px);
					padding-bottom: 23px;
					padding-top: 23px;

					&::after {
						top: unset;
					}
				}
			}
			.sub-menu {
				border-top: 0;

				li {
					padding: 0;
					width: 100%;

					a {
						padding: 6px 20px !important;
						width: 100%;
					}
				}
			}
			li.current-menu-item,
			li.current-menu-parent,
			li.current-menu-ancestor {
				&> a {
					color: var(--hs-darkblue);
					font-weight: 600;
				}
				&:hover > a {
					color: #fff;
				}
			}
		}
		.mega-menu { 
			&> .sub-menu {
				display: flex;
				box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.5);
				filter: drop-shadow(0 10px 5px rgba(0,0,0,.5));
				flex-direction: column;
				gap: 5px;
				top: 100%;

				&> .menu-item {
					max-width: clamp(275px, 60%, 850px);

					a {
						border-bottom: 0;
						color: var(--hs-darkgray) !important;
						font-size: calc(var(--text-fs) - 4px);
						font-weight: 300;

						&:hover {
							background-color: var(--hs-lightgray) !important;
							opacity: 1;
						}
					}
					&:first-child a {
						color: var(--hs-darkgray) !important;
						font-size: var(--text-fs);
					}
					.sub-menu {
						border-top: 2px solid var(--hs-lightgray) !important;
						padding-left: clamp(5px, 2vw, 25px) !important;
					}
				}
				&::after {
					background-color: var(--hs-darkblue);
					background-position: center;
					background-size: cover;
					content: "";
					float: right;
					height: 100%;
					position: absolute;
					right: 0;
					top: 0;
					width: 40%;
				}
			}
			&.bath > .sub-menu::after { background-image: url("/wp-content/uploads/2026/06/HS_01_Menue_Bad_700x700.webp"); } /* Bad */
			&.design > .sub-menu::after { background-image: url("/wp-content/uploads/2026/06/HS_02_Menue_Designserien_700x700.webp"); } /* Designserien */
			&.company > .sub-menu::after { background-image: url("/wp-content/uploads/2026/08/HS_03_Menue_Unternehmen_700x700.webp"); } /* Unternehmen */
			&.values > .sub-menu::after { background-image: url("/wp-content/uploads/2026/06/HS_04_Menue_Werteversprechen_700x700.webp"); } /* Werteversprechen */
			&.services > .sub-menu::after { background-image: url("/wp-content/uploads/2026/06/HS_05_Menue_Service_700x700.webp"); } /* Service */
			&.values > .sub-menu::before {
				aspect-ratio: 1;
				background-image: url("/wp-content/uploads/2026/08/LABEL_AI_black-transparent.webp");
				background-position: center;
				background-repeat: no-repeat;
				background-size: contain;
				bottom: 5px;
				content: "";
				position: absolute;
				right: 5px;
				width: 35px;
				z-index: +1;
			}
		}
		#et-secondary-menu {
			align-items: center;
			display: flex !important;

			#et-secondary-nav {
				display: flex !important;
				margin-left: clamp(10px, 2vw, 15px);

				li {
					margin: 0;
					a {
						align-items: center;
						color: var(--hs-darkblue);
						display: flex;
						font-size: 0;
						min-height: 100%;
						padding: 25px 7.5px;
						transition: all ease-in-out .3s;

						&::before {
							aspect-ratio: 1;
							background-size: contain;
							content: "";
							display: inline-block;
							position: relative;
							width: 20px;
						}
						&:hover {
							background-color: var(--hs-darkblue);
							opacity: 1;

							&::before {
								filter: brightness(0) saturate(100%) invert(1);
								-webkit-filter: brightness(0) saturate(100%) invert(1);
								-moz-filter: brightness(0) saturate(100%) invert(1);
								-ms-filter: brightness(0) saturate(100%) invert(1);
								-o-filter: brightness(0) saturate(100%) invert(1);
							}
							&> span {
								background-color: #fff;
								color: var(--hs-darkblue);
							}
						}
					} 
				}
				li.wcco-lang-trigger a::before { background-image: url("/wp-content/uploads/2026/02/icon_sprachwauswahl.webp"); }
				li.wcco-wishlist-menu-item a::before { background-image: url("/wp-content/uploads/2026/02/icon_merkliste.webp"); }
				li.wcco-compare-menu-item a::before { background-image: url("/wp-content/uploads/2026/02/icon_produktauswahl.webp"); }
			}
			.et-cart-info {
				display: none;
			}
			#et_top_search {
				margin: 0;
				width: unset;

				#et_search_icon {
					padding: 25px 7.5px;
					transition: all ease-in-out .3s;

					&::before {
						aspect-ratio: 1;
						background-image: url("/wp-content/uploads/2026/02/icon_suche.webp");
						background-size: contain;
						content: "";
						display: inline-block;
						position: relative;
						top: 3px;
						width: 20px;
					}
					&:hover {
						background-color: var(--hs-darkblue);
						opacity: 1;

						&::before {
							filter: brightness(0) saturate(100%) invert(1);
							-webkit-filter: brightness(0) saturate(100%) invert(1);
							-moz-filter: brightness(0) saturate(100%) invert(1);
							-ms-filter: brightness(0) saturate(100%) invert(1);
							-o-filter: brightness(0) saturate(100%) invert(1);
						}
						&> span {
							background-color: #fff;
							color: var(--hs-darkblue);
						}
					}
				}
			}
		}
		.mobile_nav.opened .mobile_menu_bar_toggle::before {
			content: "\4d";
		}
	}
	.et_pb_menu_hidden #et-secondary-nav {
		-webkit-animation: fadeOutBottom 1s cubic-bezier(.77,0,.175,1) 1;
		animation: fadeOutBottom 1s cubic-bezier(.77,0,.175,1) 1;
		opacity: 0;
	}
	.et_pb_menu_visible #et-secondary-nav {
		-webkit-animation: fadeInBottom 1s cubic-bezier(.77,0,.175,1) 1;
		animation: fadeInBottom 1s cubic-bezier(.77,0,.175,1) 1;
		opacity: 1;
	}
	.et_search_outer {
		.et_search_form_container {
			width: 95%;
		}
		.et-search-form {
			max-width: clamp(200px, 90%, 500px) !important;

			.et-search-field {
				border: 2px solid var(--hs-darkblue);
				margin: 5px 15px 5px 5px;
				padding: 7.5px 15px;
			}
		}
		.et_close_search_field {
			align-items: center;
			display: flex;
			height: 100%;
			justify-content: center;
			transition: background-color ease-in-out .3s;
			width: 35px;

			&::after {
				color: var(--hs-darkblue);
				transition: color ease-in-out .3s;
			}
			&:hover {
				background-color: var(--hs-darkblue);

				&::after {
					color: #fff;
				}
			}
		}
	}
}
@media all and (max-width: 1920px) {
	#main-header > .container {
		width: 95%;
	}
}
@media all and (max-width: 1440px) {
	#main-header {
		#et-top-navigation .mobile_nav {
			.mobile_menu_bar {
				padding: 20px 1.5px;

				&::before {
					color: var(--hs-darkblue);
					padding: 20px 1.5px;
				}
			}
			.wcco-lang-trigger, .wcco-wishlist-menu-item, .wcco-compare-menu-item {
				display: none;
			}
		}
	}
}
@media all and (max-width: 1240px) {
	#main-header {
		#et-top-navigation {
			float: right;
			width: auto;

			.mobile_menu_bar {
				-webkit-animation: none;
				animation: none;
				opacity: 1;
				transition: background-color ease-in-out .3s;

				&::before {
					transition: color ease-in-out .3s;
				}
				&:hover {
					background-color: var(--hs-darkblue);

					&::before {
						color: #fff;
					}
				}
			}
			#et-secondary-menu.hs_custom {
				float: left;
			}
			#top-menu-nav {
				display: none;
			}
			#et_mobile_nav_menu {
				display: block;

				#mobile_menu {
					border-color: var(--hs-darkblue);
					left: auto;
					max-height: calc(100vh - 72px);
					max-width: 500px;
					overflow-y: scroll;
					padding: clamp(15px, 5%, 25px);
					right: 0;

					.menu-item {
						max-width: 100%;
						position: relative;

						a {
							background-color: transparent;
							border-bottom: 1px solid var(--hs-lightgray);
							font-size: calc(var(--text-fs) - 2px);
							width: calc(100% - 40px);

							&:hover {
								background-color: var(--hs-lightgray);
								opacity: 1;
							}
						}
					}
					.sub-menu {
						filter: unset;
						box-shadow: unset;

						&::after,
						&::before {
							content: unset;
						}
					}
					.mega-menu >  .sub-menu > .menu-item:first-child {
						display: none;
					}
					.mega-menu > .sub-menu > .menu-item  > .sub-menu {
						border-top: 0 !important;
					}
				}
			}
		}
		.child-trigger {
			align-items: center;
			border-bottom: 1px solid var(--hs-lightgray);
			cursor: pointer;
			display: flex;
			height: 100%;
			justify-content: center;
			max-height: calc(var(--text-fs) * 1.45 + 18px);
			position: absolute;
			right: 0;
			top: 0;
			width: 40px;

			i::after {
				color: var(--hs-darkblue);
				content: "\4c";
				font-family: ETmodules;
				font-size: calc(var(--text-fs) + 4px);
				font-style: normal;
				font-weight: 700;
				line-height: var(--text-lh);
			}
			&.child-open i::after {
				content: "\4b";
			}
			&:hover {
				background-color: var(--hs-lightgray);
			}
		}
		.et_search_outer {
			margin-left: 2.5%;
			margin-right: calc(2.5% + 38px);
			width: calc(95% - 38px);

			.et_search_form_container {
				width: 100%;
			}
		}
	}
}
@media all and (max-width: 980px) {
	#main-header {
		.et_search_outer {
			margin-right: calc(2.5% + 38px);
			right: 0;
			width: clamp(150px, calc(90% - 100px), 500px);

			.et-search-form {
				max-width: 100% !important;
				width: 100% !important;

				.et-search-field {
					margin-right: 7.5px;
					width: clamp(150px, 75%, 300px);
				}
			}
		}
	}
}
@media all and (max-width: 500px) {
	#main-header {
		#logo {
			height: 80%;
			max-width: clamp(50px, 20%, 200px);
		}
		#et-top-navigation {
			padding-left: clamp(65px, 20%, 250px) !important;

			#et_mobile_nav_menu #mobile_menu {
				height: calc(100svh - 72px);
				right: -2.5%;
				width: 100vw;
			}
		}
		.et_search_outer {
			width: clamp(150px, calc(90% - 100px), 350px);
		}
	}
}
/*** END Navigation ***/

/*** Header ***/
.headerslider {
	.et_pb_slide::before {
		background: var(--hs-darkgray);
		content: "";
		height: 100%;
		left: 0;
		mix-blend-mode: multiply;
		opacity: .3;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 2;
	}
	.et_pb_slide_description {
		display: flex;
		flex-direction: column;
		gap: clamp(5px, 2vw, 25px);
		justify-content: center;
		max-height: 500px;
		min-height: 51vh;
		padding: 10% 0;
	}
	.et_pb_slide_title a,
	.et_pb_slide_content span {
		color: #fff;
		cursor: normal;
		font-size: var(--h1-fs);
		font-weight: 900;
		pointer-events: none;
	}
	.et_pb_slide_content, 
	.et_pb_slide_content p {
		color: #fff;
		font-size: var(--h4-fs);
	}
	.et_pb_module a.et_pb_button {
		color: var(--hs-darkblue);
		background-color: #fff;
		border-color: #fff;
	}
}
body.home .headerslider {
	.et_pb_slide_title {
		hyphens: none;
		margin: 0 auto;
		max-width: 600px;
	}
}
body:not(.home) .headerslider .et_pb_slide_description {
	min-height: 50svh;
	padding: 7.5% 0;
}
.headerslider.slim .et_pb_slider .et_pb_slide_description {
	min-height: 250px;
}
@media all and (max-width: 1240px) {
	.headerslider .et_pb_slide_description {
		min-height: 45svh !important;
	}
}
@media all and (max-width: 767px) and (orientation: portrait) {
	.headerslider .et_pb_slide_description {
		min-height: 35svh !important;
	}
}
/*** END Header ***/

/*** Intro ***/
body:not(.home) .intro {
	span, p, h2 {
		display: block;
		text-align: center;
	}
	h2 {
		font-weight: 600;
	}
}
.et_pb_code_inner span:has(~ h2) {
	font-weight: 600;
}
.intro {
	h2 {
		padding-bottom: 0;
	}
}
.overview {
	background: var(--hs-darkblue);
	border-left: 2px solid var(--hs-darkblue);
	display: flex;
	flex-direction: column;
	gap: 10px;
	hyphens: auto;
	margin: auto;
	max-width: 300px;
	padding: 15px;

	&> a {
		align-items: center;
		color: #fff;
		display: flex;
		flex-wrap: nowrap;
		gap: 10px;

		&:not(:last-child) {
			margin-bottom: 5px;
		}
		i {
			aspect-ratio: 1;
			background-size: contain;
			display: inline-block;
			filter: brightness(100%) contrast(100) invert(1);
			width: 30px;
		}

	}
	&> a.family i { background-image: url("/wp-content/uploads/2026/02/icon_familienunternehmen.webp"); }
	&> a.prod i { background-image: url("/wp-content/uploads/2026/02/icon_produktionsdaten.webp"); }
	&> a.cert i { background-image: url("/wp-content/uploads/2026/02/icon_zertifikate.webp"); }
}
/*** END Intro ***/

/*** Key Areas ***/
.key_areas {
	background-color: var(--hs-lightgray);

	.et_pb_row {
		display: flex;
		flex-wrap: wrap;
	}
	.et_pb_blurb.et_pb_module {
		height: 100%;

		.et_pb_blurb_content {
			height: 100%;
		}
		.et_pb_main_blurb_image {
			margin-bottom: clamp(15px, 2vw, 25px);
		}
		.et_pb_module_header span {
			color: var(--hs-darkblue) !important;
			font-size: var(--h3-fs);
			font-weight: 300;
		}
		.et_pb_blurb_description { 
			padding-bottom: calc(var(--text-fs) + 15px);

			a {
				background: transparent;
				border: 0;
				bottom: 0;
				color: var(--hs-darkblue);
				font-size: var(--btn-fs);
				font-weight: 300;
				padding: 0;
				opacity: 1;
				position: absolute;
				text-decoration: underline;
				text-underline-offset: 25%;

				&::after {
					-webkit-font-feature-settings: "kern" off;
					-webkit-transition: all .2s;
					content: "\35";
					font-family: ETmodules !important;
					font-feature-settings: "kern" off;
					font-size: calc(var(--btn-fs) + 10px);
					font-style: normal;
					font-variant: none;
					font-weight: 700;
					line-height: 1em;
					margin-left: -1em;
					opacity: 0;
					position: absolute;
					text-transform: none;
					text-shadow: none;
					top: 50%;
					transform: translateY(-50%);
					transition: all .2s;
				}
				&:hover::after {
					margin-left: 0;
					opacity: 1;
				}
			}
		}
	}
}
@media all and (max-width: 980px) {
	.key_areas .et_pb_row .et_pb_column {
		float: unset;
		margin-bottom: clamp(50px, 10vw, 75px);
		margin-left: auto;
		margin-right: auto !important;
		max-width: 450px;
	}
}
/*** END Key Areas ***/

/*** CTA Banner ***/
.cta_banner {
	.et_pb_slide::before {
		background: var(--hs-darkgray);
		content: "";
		height: 100%;
		left: 0;
		mix-blend-mode: multiply;
		opacity: .4;
		position: absolute;
		top: 0;
		width: 100%;
	}
	.et_pb_slide_description {
		display: flex;
		flex-direction: column;
		gap: 25px;
		justify-content: center;
		max-width: 750px;
		min-height: 25vh;
		padding: 10% 0;

		.et_pb_slide_title, 
		.et_pb_slide_title a {
			color: #fff;
			font-size: var(--h1-fs) !important;
			font-weight: 900;
		}
		.et_pb_slide_content p {
			color: #fff;
			font-size: var(--btn-fs);
		}
	}
	.et_pb_module a.et_pb_button {
		color: var(--hs-darkblue);
		background-color: #fff;
		border-color: #fff;
	}
}
/*** END CTA Banner ***/

/*** Overlap ***/
.overlap {
	.et_pb_row {
		display: flex;
		flex-wrap: wrap;
		padding: 0;

		&:last-child {
			align-items: flex-end;

			.et_pb_column:has(.et_pb_image) {
				align-items: flex-end;
			}
		}

		.et_pb_column:has(.et_pb_image) {
			display: flex;
			/*max-height: clamp(500px, 35vw, 750px);*/
			max-height: clamp(400px, 25vw, 550px);
		}
		.et_pb_column:has(.et_pb_text) {
			margin-bottom: 0;
			/*padding: clamp(15px, 2vw, 25px) 0 clamp(25px, 3vw, 35px);*/
			padding: clamp(15px, 2vw, 25px) 0;
		}

		h2 {
			font-size: var(--h2-fs);
		}
	}
}
@media all and (min-width: 1241px) and (max-width: 2000px) {
	.overlap .et_pb_row:first-child .et_pb_column:has(.et_pb_text) { 
		padding-bottom: 10vw;
	}
	.overlap .et_pb_row:last-child .et_pb_column:has(.et_pb_text) { 
		padding-top: 10vw;
	}
}
@media all and (min-width: 981px) and (max-width: 1240px) {
	.overlap .et_pb_row:first-child .et_pb_column:has(.et_pb_text) { 
		padding-bottom: 7vw;
	}
	.overlap .et_pb_row:last-child .et_pb_column:has(.et_pb_text) { 
		padding-top: 7vw;
	}
}
@media all and (max-width: 980px) {
	.overlap .et_pb_row:last-child {
		display: flex;
		flex-direction: column-reverse;
	}
	.overlap .et_pb_row .et_pb_column:has(.et_pb_image) {
		max-height: unset;
	}
	.overlap .et_pb_image, 
	.overlap .et_pb_image img {
		margin: auto;
		max-height: 600px;
	}
}
/*** END Overlap ***/

/*** Partner Logos ***/
.partner_logos.et_pb_section {
	background: var(--hs-lightgray);
	border: 2px solid var(--hs-darkblue);
	border-left: 0;
	border-right: 0;
	padding: 25px 0;

	.et_pb_row { 
		max-width: 1920px;
		width: 95%;

		&:last-child .et_pb_column {
			display: flex;
			flex-wrap: wrap;
			gap: clamp(25px, 2vw, 35px);
			justify-content: center;
		}
		.et_pb_text h3 {
			text-align: center;
		}
		.et_pb_image {
			margin: 0;
			max-width: calc(50% - clamp(25px, 2vw, 35px));
			text-align: center;

			img {
				transition: all ease-in-out .3s;

				&:hover {
					scale: 1.05;
				}
			}
		}
	}
}
@media all and (max-width: 1800px) {
	.partner_logos.et_pb_section .et_pb_row:last-child .et_pb_column {
		float: unset;
		margin: auto !important;
		max-width: 950px;
	}
}
/*** END Partner Logos ***/

/*** News ***/
.news .et_pb_row {
	max-width: 1280px;

	.et_pb_posts .et_pb_ajax_pagination_container {
		display: flex;
		gap: clamp(25px, 3vw, 50px);
		flex-wrap: wrap;
		justify-content: center;

		article {
			border: 2px solid var(--hs-gray);
			flex: 1 0 calc(33% - clamp(25px, 3vw, 50px));
			margin-bottom: 0 !important;
			max-width: 50%;
			min-width: 300px;
			transition: scale ease-in-out .3s;

			&:hover {
				scale: 1.03;
			}
			.entry-featured-image-url {
				border-bottom: 2px solid var(--hs-gray) !important;
				cursor: default;
				left: -2px;
				margin-bottom: 15px !important;
				pointer-events: none;
				top: -2px;
				width: calc(100% + 4px);
			}
			h3 {
				line-height: unset;
				padding-left: clamp(15px, 2vw, 20px);
				padding-right: clamp(15px, 2vw, 20px);

				a {
					cursor: default;
					font-size: var(--btn-fs);
					font-weight: 600;
					pointer-events: none;
				}
			}
			.post-content {
				padding: 0 clamp(15px, 2vw, 20px) calc((var(--text-fs) * 1.2) + clamp(30px, 3vw, 50px));

				p {
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 6;
					display: -webkit-box;
					font-size: var(--text-fs);
					hyphens: auto;
					line-height: var(--text-lh);
					overflow: hidden;
					text-overflow: ellipsis;
					word-wrap: break-word;
				}
			}
			.more-link {
				bottom: clamp(15px, 2vw, 25px);
				display: inline-block;
				font-size: var(--btn-fs);
				font-weight: 300;
				position: absolute;
				text-decoration: underline;
				text-underline-offset: 25%;

				&::after {
					content: "\35";
					direction: ltr;
					font-family: ETmodules !important;
					-webkit-font-feature-settings: "kern" off;
					font-feature-settings: "kern" off;
					font-size: calc(var(--btn-fs) + 10px);
					font-style: normal;
					font-variant: none;
					font-weight: 700;
					line-height: 1em;
					margin-left: -1em;
					opacity: 0;
					position: absolute;
					text-shadow: none;
					text-transform: none;
					top: 50%;
					transform: translateY(-50%);
					-webkit-transition: all .2s;
					transition: all .2s;
				}
				&:hover::after {
					margin-left: 0;
					opacity: 1;
				}
			}
		}
		&> div {
			width: 100%;

			a {
				background: transparent;
				border: 2px solid var(--hs-darkblue);
				color: var(--hs-darkblue);
				display: inline-block;
				font-size: var(--btn-fs);
				font-weight: 300;
				margin-bottom: 15px;
				padding: 7.5px 25px;
				transition: all ease-in-out .3s;

				&:hover {
					background-color: var(--hs-darkblue);
					border-color: var(--hs-darkblue);
					color: #fff;
				}
			}
		}
	}
}
/* Responsive */
@media all and (max-width: 980px) {
	.news .et_pb_row .et_pb_posts .et_pb_ajax_pagination_container article {
		flex: unset;
		max-width: 500px;
		width: 100%;
	}
}
/*** END News ***/

/*** Benefits ***/
.benefits {
	background: var(--hs-lightgray);

	.et_pb_row {
		display: flex;
		gap: clamp(25px, 5vw, 50px);
		padding: clamp(12.5px, 2.5vw, 25px) 0;
		flex-wrap: wrap;

		&::after {
			content: unset;
		}
		&:first-child .et_pb_column:first-child {
			border: 0;
			scale: 1;
		}
		.et_pb_column {
			align-items: center;
			border: 2px solid var(--hs-gray);
			display: flex;
			flex: 1 1 400px;
			flex-wrap: wrap;
			gap: clamp(10px, 1vw, 15px) clamp(15px, 2vw, 25px);
			margin: 0;
			padding: clamp(15px, 2vw, 25px);
			transition: scale ease-in-out .3s;
			width: calc(50% - 25px);

			&:hover {
				scale: 1.03;
			}
			&:hover .et_pb_module:first-child .et_pb_text_inner::before { opacity: 0; }
			&:hover .et_pb_module:first-child .et_pb_text_inner::after { opacity: 1; }
			.et_pb_module {
				margin: 0;
				width: 100%;

				.et_pb_module_header {
					hyphens: auto;
				}
				&:first-child .et_pb_text_inner {
					align-items: center;
					display: flex;
					flex-wrap: wrap;
					min-height: 125px;
					padding-left: calc(125px + clamp(15px, 2vw, 25px));

					&::before,
					&::after {
						background-position: center;
						background-repeat: no-repeat;
						background-size: contain;
						content: "";
						display: inline-block;
						height: 125px;
						left: 0;
						position: absolute;
						top: 0;
						transition: all ease-in-out .3s;
						width: 125px;
					}
					&::before {
						opacity: 1;
					}
					&::after {
						opacity: 0;
					}
				}
			}
			&.benefit-1 .et_pb_module:first-child .et_pb_text_inner::before { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_made-in-Germany256x256-01.svg"); }
			&.benefit-1 .et_pb_module:first-child .et_pb_text_inner::after { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_made-in-Germany256x256-02.svg"); }
			&.benefit-2 .et_pb_module:first-child .et_pb_text_inner::before { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_Produktion256x256-01.svg"); }
			&.benefit-2 .et_pb_module:first-child .et_pb_text_inner::after { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_Produktion256x256-02.svg"); }
			&.benefit-3 .et_pb_module:first-child .et_pb_text_inner::before { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_Planungsdaten256x256_01.svg"); }
			&.benefit-3 .et_pb_module:first-child .et_pb_text_inner::after { background-image: url("/wp-content/uploads/2026/06/HS_11_Icon_Planungsdaten256x256_02.svg"); }
		}
	}
}
/*** END Benefits ***/

/*** HS-Slider ***/
.hs-slider {
	.et_pb_column {
		max-height: 650px;
		opacity: 0;
		overflow: visible;
		transition: all ease-in-out .5s;

		.et_pb_blurb_content {
			max-width: unset;

			.et_pb_main_blurb_image {
				margin-bottom: 15px;
			}
			.et_pb_blurb_container {
				h3 span {
					color: var(--hs-darkblue);
					font-size: var(--h3-fs);
					font-weight: 300;
					letter-spacing: 1%;
					line-height: 120%;
				}
				a {
					display: inline-block;
					font-size: var(--btn-fs);
					position: relative;
					text-decoration: underline;
					text-underline-offset: 25%;

					&::after {
						content: "\35";
						direction: ltr;
						font-family: ETmodules !important;
						-webkit-font-feature-settings: "kern" off;
						font-feature-settings: "kern" off;
						font-size: calc(var(--btn-fs) + 10px);
						font-style: normal;
						font-variant: none;
						font-weight: 700;
						line-height: 1em;
						margin-left: -1em;
						opacity: 0;
						position: absolute;
						text-shadow: none;
						text-transform: none;
						top: 50%;
						transform: translateY(-50%);
						-webkit-transition: all .2s;
						transition: all .2s;
					}
					&:hover::after {
						margin-left: 0;
						opacity: 1;
					}
				}
			}
		}
	}
	.slick-slider {
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-touch-callout: none;
		-khtml-user-select: none;
		ms-touch-action: pan-y;
		touch-action: pan-y;
		-webkit-tap-highlight-color: transparent;
		width: clamp(300px, 75%, 900px);

		&.slick-initialized { 
			max-height: unset;
			opacity: 1;
		}
		.slick-list {
			display: block;
			margin: 0;
			padding: 0 !important;
			position: relative;

			.slick-track:before, 
			.slick-track:after {
				content: '';
				display: table;
			}
			.slick-slide {
				align-items: center;
				cursor: grab;
				display: flex;
				float: left;
				height: 100%;
				justify-content: center;
				margin: 0 clamp(30px, 2vw, 50px) 0 0 !important;
				max-width: 800px;
				position: relative;
				transition: all ease-in-out .3s;
			}
		}
	}
}
.slider-dots .slick-dots {
	display: flex;
	gap: clamp(15px, 2vw, 35px);
	justify-content: center;
	list-style: none;
	padding: 0;

	button {
		aspect-ratio: 1;
		background-color: transparent;
		border: 2px solid var(--hs-darkblue);
		border-radius: 50px;
		cursor: pointer;
		display: inline-block;
		font-size: 0;
		position: relative;
		transition: background-color ease-in-out .3s;
		width: 25px;

		&:hover {
			background-color: var(--hs-darkblue);
		}
	}
	.slick-active button {
		background-color: var(--hs-darkblue);
	}
}
/*** END HS-Slider ***/

/*** Overview Content ***/
div[class*="hs-content"] .et_pb_column {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: clamp(15px, 3vw, 50px);

	.et_pb_module.et_pb_promo,
	.et_pb_module.et_pb_blurb {
		flex: 1 1 350px;
		margin: 0;

		&:not(.group) a {
			background: transparent;
			background-color: transparent;
			border: 2px solid var(--hs-darkblue);
			border-radius: 3px;
			color: var(--hs-darkblue);
			display: inline-block;
			font-size: var(--btn-fs);
			font-weight: 300;
			line-height: 1.7em !important;
			margin-top: clamp(15px, 2vw, 25px);
			padding: 7.5px 25px;
			position: relative;
			-webkit-transition-duration: .2s;
			transition-duration: .2s;
			-webkit-transition-property: all !important;
			transition-property: all !important;

			&::after {
				content: "\35";
				direction: ltr;
				font-family: ETmodules !important;
				-webkit-font-feature-settings: "kern" off;
				font-feature-settings: "kern" off;
				font-size: calc(var(--btn-fs) + 10px);
				font-style: normal;
				font-variant: none;
				font-weight: 700;
				line-height: 1em;
				margin-left: -1em;
				opacity: 0;
				position: absolute;
				text-shadow: none;
				text-transform: none;
				top: 50%;
				transform: translateY(-50%);
				-webkit-transition: all .2s;
				transition: all .2s;
			}
			&:hover::after {
				margin-left: 0;
				opacity: 1;
			}
			&:hover {
				padding: 7.5px 40px 7.5px 25px;
			}
		}
	}
	.et_pb_text {
		flex: 1 1 350px;
		margin: 0;

		h2 {
			hyphens: auto;
		}
	}
	.et_pb_image {
		max-width: 55%;

		span {
			line-height: 0;
		}
	}
	.et_pb_promo {
		background: transparent;
		padding: 0;
		text-align: left;

		h2 {
			color: var(--hs-darkblue) !important;
			hyphens: auto;
		}
	}
	.et_pb_blurb {
		.et_pb_blurb_content {
			max-width: unset;
			text-align: left;

			h3 span {
				color: var(--hs-darkblue) !important;
				font-size: var(--h2-fs);
				font-weight: 300;
				hyphens: auto;
				line-height: 125%;
			}
		}
		&:not(.group) a {
			bottom: clamp(15px, 5vw, 35px);
			position: absolute !important;
		}
	}
	.et_pb_gallery {
		margin-bottom: clamp(25px, 3vw, 35px) !important;
		max-width: 55%;
		overflow: visible;

		.et-pb-slider-arrows a::before {
			background: var(--hs-darkgray);
			border-radius: 50px;
			color: #fff;
			opacity: .8;
		}
		.et-pb-controllers {
			bottom: -35px;

			a {
				background: transparent;
				border: 2px solid var(--hs-darkblue);
				border-radius: 50px;
				height: clamp(15px, 2vw, 25px);
				width: clamp(15px, 2vw, 25px);

				&:hover, &.et-pb-active-control {
					background-color: var(--hs-darkblue);
				}
			}
		}
	}
}
div.hs-content-rev .et_pb_column {
	flex-direction: row-reverse;
}
.et_pb_section .hs-content-grid {
	margin-top: 50px;

	&:last-child {
		margin-top: 0;
	}
}
div.hs-content .et_pb_main_blurb_image,
div.hs-content-rev .et_pb_main_blurb_image {
	margin-bottom: 15px;
}
div.hs-content-grid {
	display: flex;
	flex-wrap: wrap;

	.et_pb_blurb, .et_pb_blurb_content {
		height: 100%;
	}
	.et_pb_blurb .et_pb_blurb_content {
		border: 1px solid var(--hs-lightgray);
		max-width: 700px;
		background: #fff;

		.et_pb_main_blurb_image {
			margin: 0;
		}
		.et_pb_blurb_container {
			padding: clamp(15px, 2vw, 25px) clamp(15px, 5vw, 35px) calc(clamp(15px, 2vw, 35px) + 75px);
		}
	}
}
.et_pb_section:has( .hs-content-special ) {
	background-color: var(--hs-special);
}
div.hs-content-special {
	.et_pb_image {
		flex: 1 1 400px;
		min-width: clamp(275px, 60%, 850px);
	}
	.et_pb_blurb .et_pb_blurb_content .et_pb_blurb_container {
		padding-bottom: calc(clamp(15px, 2vw, 35px) + 25px);

		h2 span {
			color: #000;
			font-weight: 700;
		} 
		a, a::after {
			border-color: #000 !important;
			bottom: 0;
			color: #000 !important;
		}
	}
}
/* Responsive */
@media all and (max-width: 1080px) {
	div[class*="hs-content"] .et_pb_column {
		flex-direction: column-reverse !important;

		.et_pb_module {
			flex: unset !important;
			margin: auto !important;
			max-width: clamp(300px, 100%, 700px);
			width: 100%;
		}
	}
	.bg-logo div[class*="hs-content"] .et_pb_column {
		gap: 0;

		.et_pb_module {
			margin: auto !important;
			max-width: clamp(300px, 100%, 700px);

			&.et_pb_promo {
				background-color: #fff;
				padding: clamp(15px, 2vw, 25px) clamp(15px, 5vw, 35px) calc(clamp(15px, 2vw, 25px) + 15px);
			}
		}
	}
	.hs-content-grid.et_pb_row {
		margin-top: 0;
	}
	div.hs-content-special {
		.et_pb_blurb .et_pb_blurb_content .et_pb_blurb_container {
			margin-bottom: 15px;
			padding-bottom: calc(clamp(15px, 2vw, 35px) + 50px) !important;
		}
		.et_pb_image {
			flex: unset;
		}
	}
}
/*** END Overview Content ***/

/*** FAQ ***/
#main-content #faq,
#main-content .faq {
	.et_pb_accordion .et_pb_toggle {
		background: transparent;
		border: 0;
		border-bottom: 2px solid var(--hs-gray);
		margin-bottom: 25px;
		padding: 0 0 25px;
		width: 100%;

		&.et_pb_toggle_open .et_pb_toggle_title::before {
			content: "\4B";
		}
		.et_pb_toggle_title {
			color: var(--hs-darkblue);

			&::before {
				color: var(--hs-darkblue);
				content: "\4C";
				display: block;
				font-size: var(--h3-fs);
				transform: translateY(-50%);
				margin-top: 0;
			}
		}
		.et_pb_toggle_content img {
			margin-bottom: clamp(15px, 2vw, 25px);
		}
	}
}
.faq_blocks .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px, 2vw, 25px);
	justify-content: center;

	.faq_block {
		align-items: center;
		aspect-ratio: 3 / 2;
		background-size: 100%;
		display: flex;
		flex: 1 1 calc(33% - clamp(15px, 2vw, 25px));
		flex-direction: column;
		justify-content: center;
		margin: 0;
		max-width: 600px;
		min-width: 275px;
		transition: background-size ease-in-out .3s;

		&:hover {
			background-size: 115%;
		}
		.et_pb_module_header {
			font-weight: 400;
		}
		.et_pb_button.et_pb_promo_button {
			background: #fff;

			&:hover {
				background: var(--hs-darkblue);
			}
		}
		&::before {
			background: var(--hs-darkgray);
			content: "";
			height: 100%;
			left: 0;
			mix-blend-mode: multiply;
			opacity: .4;
			position: absolute;
			top: 0;
			width: 100%;
		}
	}
}
@media all and (max-width: 980px) {
	#main-content #faq .et_pb_accordion .et_pb_toggle .et_pb_toggle_title,
	#main-content .faq .et_pb_accordion .et_pb_toggle .et_pb_toggle_title {
		font-size: var(--h4-fs);
	}
}
/*** END FAQ ***/

/*** Certs ***/
.certs .et_pb_row .et_pb_column,
.certs.et_pb_row .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px, 5vw, 50px);
	justify-content: center;

	.et_pb_gallery_items {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(15px, 5vw, 50px);
		justify-content: center;

		.et_pb_gallery_item {
			flex: 1 1 135px;
			margin: 0 !important;
			max-width: 200px;
			transition: all ease-in-out .3s;
			width: calc(50% - clamp(15px, 5vw, 50px));

			.et_pb_gallery_image {
				border: 1px solid var(--hs-gray);

				.et_overlay::before {
					color: var(--hs-darkblue);
				}
			}
			.et_pb_gallery_title {
				color: var(--hs-darkgray);
				font-family: 'Inter', sans-serif;
				font-size: var(--text-fs);
				font-weight: 400;
				line-height: var(--text-lh);
				padding: 15px;
				text-align: center;
			}
		}
	}
}
/*** END Certs ***/

/*** SEO Text ***/
.var-text {
	.et_pb_row {
		.et_pb_image {
			float: right;
			margin: 5px 0 25px 3.5%;
			max-width: 50%;
		}
		&.rev .et_pb_image {
			float: left;
			margin: 5px 3.5% 25px 0;
		}
	}
	.et_pb_text {
		margin-bottom: 0;

		h2 {
			font-size: var(--h2-fs);
			padding-bottom: clamp(15px, 2vw, 25px);
		}
		ul, ol {
			list-style-position: outside;
			/*margin: clamp(15px, 2vw, 25px) clamp(15px, 2vw, 25px) 0;*/
			padding-left: 20px;

			li::marker {
				color: var(--hs-darkblue) !important;
				font-size: var(--btn-fs);
			}
			li:not(:last-child) {
				margin-bottom: clamp(15px, 2vw, 25px);
			}
		}
	}
	.et_pb_button {
		margin-top: clamp(15px, 2vw, 25px);
	}
}
@media all and (max-width: 980px) {
	.var-text {
		.et_pb_row {
			.et_pb_image {
				float: unset !important;
				margin: 0 0 15px;
				max-width: unset;
				text-align: center;
				width: 100%;
			}
		}
	}
}
/*** END SEO Text ***/

/*** Product Lists ***/
.woocommerce-ordering {
	display: none !important;
}
.et_pb_br_filters_group {
	float: left;
	margin-bottom: 0 !important;
	position: relative;
	z-index: +1;

	a.berocket_ajax_filters_toggle {
		align-items: center;
		background: #fff;
		border: 1px solid var(--hs-darkblue);
		color: var(--hs-darkblue);
		cursor: pointer;
		font-size: var(--text-fs);
		font-weight: 400;
		min-height: 65px;
		min-width: 235px;
		padding: clamp(10px, 1vw, 15px);
		display: flex;
		margin: 0 15px 15px 0 !important;
		transition: all ease-in-out .3s;
		width: calc(clamp(200px, 90vw, 1440px) / 5 - 15px) !important;

		&:hover, &.active {
			background-color: var(--hs-darkblue);
			color: #fff;

			&> span {
				i, i::before, i::after {
					background: #fff;
				}
			}
		}
		&> span {
			left: 5px;
			margin-right: 10px;
			top: -6px;

			i, i::before, i::after {
				background: var(--hs-darkblue);
			}
		}
		&.active {
			margin-bottom: var(--filter-box-height, 95px) !important;
		}
	}
	.berocket_element_above_products_is_hide {
		position: absolute;
		width: 80vw;
		max-width: 1440px;
		bottom: 0px;
		transform: translateY(calc(100% + 15px));
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transform-origin: top;
		transition: max-height .35s ease, opacity .3s ease .05s;
		pointer-events: none;
		display: grid;
		min-width: clamp(275px, 90vw, 1440px);
		grid-template-columns: repeat(auto-fit, minmax(min(235px, 100%), 1fr));
		grid-gap: 15px;

		&.bapf-open {
			max-height: var(--filter-box-content-height, 500px);
			opacity: 1;
			pointer-events: auto;
		}
		&> div.berocket_inline_filters {
			margin: 0;
			min-width: 100%;
			padding: 0 !important;

			.bapf_sfilter {
				margin: 0;
			}
		}
		&> div.berocket_inline_filters:nth-child(5 of :not(.bapf_mt_none)) {
			padding-right: 0 !important;
		}
		select {
			-moz-appearance: none;
			-webkit-appearance: none;
			appearance: none;
			background-color: #fff;
			background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
			background-position: right 10px center;
			background-repeat: no-repeat;
			background-size: 20px;
			border: 1px solid var(--hs-darkblue);
			color: var(--hs-darkblue);
			cursor: pointer;
			font-size: var(--text-fs);
			height: 65px;
			max-height: 65px;
			padding: clamp(10px, 1vw, 15px);
		}
	}
}
.et_pb_br_filter_single.et_pb_module {
	float: left;
	margin-bottom: 15px;
	z-index: +1;

	.bapf_sfilter {
		margin: 0;

		select {
			-moz-appearance: none;
			-webkit-appearance: none;
			appearance: none;
			background-color: #fff;
			background-image: url('data:image/svg+xml;utf8,<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9L12 15L18 9" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" stroke="currentColor"/></svg>');
			background-position: right 10px center;
			background-repeat: no-repeat;
			background-size: 20px;
			border: 1px solid var(--hs-darkblue);
			color: var(--hs-darkblue);
			cursor: pointer;
			font-size: var(--text-fs);
			height: 65px;
			max-height: 65px;
			min-width: 235px;
			padding: clamp(10px, 1vw, 15px);
			width: calc(clamp(200px, 90vw, 1440px) / 5 - 15px) !important;
		}
	}
}
#products {
	.woocommerce-result-count {
		align-items: center;
		border: 1px solid var(--hs-darkblue);
		color: var(--hs-darkblue);
		display: flex;
		float: right !important;
		font-size: var(--text-fs);
		font-weight: 400;
		min-height: 65px;
		padding: clamp(10px, 1vw, 15px) !important;
	}	
	ul.products li.product.type-product {
		background: var(--hs-lightgray);
		margin: 0 !important;
		padding: 35px 15px 15px;
		transition: all ease-in-out .3s;

		&:hover {
			box-shadow: 7.5px 7.5px 15px #bebebe, -7.5px -7.5px 15px #fff;
		}
		h2 {
			color: #000;
			font-size: var(--text-fs);
		}
		.wcco-sku {
			color: var(--hs-darkgray);
			font-size: clamp(14px, calc(var(--text-fs) - 2px), 16px);
			font-weight: 200;
		}
		.et_shop_image .et_overlay {
			display: none !important;
		}
		img {
			filter: drop-shadow(3px 3px 3px #DFE0E0);
		}
	}
	.woocommerce-pagination {
		margin-top: clamp(25px, 3vw, 35px);

		a.page-numbers {
			transition: all ease-in-out .3s;

			&:hover {
				background-color: var(--hs-lightgray);
				color: var(--hs-darkblue);
			}
		}
		span.page-numbers.current {
			background-color: var(--hs-darkblue);
			color: #fff;
		}
	}
}
/* Responsive */
@media all and (max-width: 1040px) {
	#products .woocommerce-result-count {
		display: flex;
		justify-content: end;
		width: 100%;
	}
}
@media all and (max-width: 816px) {
	.et_pb_br_filters_group a.berocket_ajax_filters_toggle,
	.et_pb_br_filter_single.et_pb_module .bapf_sfilter select {
		min-width: calc(45vw - 7.5px);
	}
}
@media all and (max-width: 538px) {
	.et_pb_br_filters_group a.berocket_ajax_filters_toggle,
	.et_pb_br_filter_single.et_pb_module .bapf_sfilter select {
		min-width: 90vw;
	}
}
/*** END Product Lists ***/

/*** Single Product ***/
.prodmeta {
	background: var(--hs-lightgray);
	padding: clamp(15px, 2vw, 35px);
}
.single-product .product {
	.et_pb_wc_title h1 {
		font-size: var(--h2-fs) !important;
		font-weight: 400;
	}
	.et_pb_wc_images .woocommerce-product-gallery {
		.flex-viewport {
			float: left;
			width: 84%;

			.woocommerce-product-gallery__image {
				max-width: clamp(450px, 46vw, 700px);
				transition: all ease-in-out .3s;
				width: clamp(450px, 46vw, 700px) !important;

				/*&:not(:first-child, :last-child) {
				margin-right: 5px !important;
			}*/
			}
			img {
				width: 100%;
			}
		}
		.flex-control-nav {
			display: flex;
			flex-direction: column;
			float: right;
			margin: 0;
			width: 15%;

			li {
				border: 1px solid var(--hs-gray);
				float: none;
				margin-bottom: 15px;
				margin-right: 0;
				width: 100%;
			}
		}
		.woocommerce-product-gallery__trigger {
			display: none;
		}
	}

	.prodmeta {
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		min-height: clamp(200px, 50vh, 450px);

		.marker {
			align-items: flex-start;
			display: flex;
			flex-direction: column;
			margin-bottom: clamp(15px, 2vw, 25px);

			&> span {
				color: #fff;
				display: inline-block;
				padding: 2.5px 15px;

				&.new { background-color: var(--hs-darkblue); }
				&.legacy { background-color: var(--hs-darkgray); }
			}
			&> p {
				font-size: var(--text-fs);
				margin-top: 10px;

				a {
					color: var(--hs-darkblue);
					text-decoration: underline;
				}
			}
		}
		.product_meta {
			border: 0;
			padding: 0;

			span {
				font-weight: 200;
			}
		}
		.wcco-variant-switches {
			display: flex;
			flex-direction: column;
			gap: 12px;

			.wcco-variant-color-title {
				.meta_title {
					font-size: var(--btn-fs);
					margin-right: 10px;
				}
				.color_title {
					font-size: var(--btn-fs);
					font-weight: 600;
					text-transform: capitalize;
				}
			}
			.wcco-variant-typ-wrap {
				display: flex;
				flex-direction: column;
				gap: 4px;
				margin: clamp(15px, 2vw, 25px) 0;

				.wcco-variant-typ-toggle {
					align-items: center;
					background: none;
					border: none;
					color: inherit;
					cursor: pointer;
					display: inline-flex;
					font-size: var(--btn-fs);
					gap: 6px;
					padding: 0;
					position: relative;
					text-align: left;

					.wcco-toggle-icon::before {
						content: '\33';
						display: inline-block;
						font-family: "ETmodules";
						font-size: 150%;
						font-style: normal;
						margin-left: -5px;
						position: absolute;
						top: 0;
						transition: transform 0.2s;
					}
					&[aria-expanded="true"] .wcco-toggle-icon::before {
						content: '\32';
					}
				}
				.wcco-variant-typ-list {
					display: flex;
					flex-direction: column;
					gap: 2px;
					list-style: none;
					margin: 4px 0 0 0;
					padding: 0;

					&[hidden] {
						display: none;
					}
					.wcco-variant-typ-item {
						background: none;
						border: none;
						color: inherit;
						cursor: pointer;
						font-size: 90%;
						font-weight: 200;
						padding: 2px 0;
						text-align: left;
						text-decoration: underline;
						text-decoration-color: transparent;
						transition: text-decoration-color 0.15s;

						&:hover {
							text-decoration-color: currentColor;
						}
						&.wcco-typ-item--active {
							cursor: default;
							font-weight: 400;
							pointer-events: none;
							text-decoration: none;
						}
					}
				}
			}
			.wcco-variant-color-wrap {
				display: flex;
				flex-wrap: wrap;
				gap: 8px;
				align-items: center;

				.wcco-color-swatch {
					width: 32px;
					height: 32px;
					border-radius: 50%;
					border: 2px solid #000;
					cursor: pointer;
					padding: 0;
					transition: border-color 0.15s, transform 0.15s;


					&.wcco-swatch--active {
						border-color: #111;
						box-shadow: 0 0 0 2px #fff, 0 0 0 4px #111;
						pointer-events: none;
					}
					&:hover {
						border-color: #555;
						transform: scale(1.1);
					}
				}
			}
		}

		.btm_links {
			margin-top: auto;
			max-width: 450px;

			&> div {
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
				row-gap: clamp(15px, 2vw, 35px);

				a {
					align-items: center;
					color: var(--hs-darkblue);
					display: flex;

					&::before {
						aspect-ratio: 1;
						background-repeat: no-repeat;
						background-size: contain;
						content: "";
						display: inline-block;
						margin-right: 10px;
						position: relative;
						width: 25px;
					}
					&:first-child::before {
						background-image: url("/wp-content/uploads/2026/02/icon_merkliste.webp");
					}
					&:last-child::before {
						background-image: url("/wp-content/uploads/2026/02/icon_produktauswahl.webp");
					}
					&:hover {
						text-decoration: underline;
					}
				}
			}
		}
	}

	.prod_links {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(25px, 3vw, 50px);

		&> a {
			display: inline-block;
			font-size: calc(var(--btn-fs) + 4px);
			padding: 5px;
			position: relative;

			&::after {
				background-color: var(--hs-darkblue);
				bottom: 0;
				content: '';
				height: 2px;
				left: 0;
				position: absolute;
				transform: scaleX(1);
				width: 100%;
			}
			&:hover::after {
				animation: redrawLine 0.6s ease-in-out forwards;
			}
		}
	}

	h3 {
		font-size: var(--h3-fs);
	}

	.assembly.et_pb_promo {
		aspect-ratio: 3 / 2;
		background: url(https://www.placehold.co/600x400/webp);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		display: flex;
		flex-direction: column;
		justify-content: center;
		max-width: 600px;
		padding: clamp(15px, 3vw, 35px);
		text-align: left;

		.et_pb_module_header {
			color: #fff;
			font-weight: 700;
			text-shadow: -2px 2px 5px var(--hs-darkgray);
		}
		p {
			color: #fff;
			font-size: var(--btn-fs);
			text-shadow: -2px 2px 5px var(--hs-darkgray);
		}
		.et_pb_button {
			background: #fff;
			border: 0;
			display: inline-block;
			margin-top: 25px;

			&:hover {
				background: var(--hs-darkblue);
			}
		}
	}

	.product-information-list {
		columns: 2;
		column-width: 250px;
	}

	.et_pb_code:not(:has(> div)) {
		margin: 0 !important;
	}

	.et_pb_code:has(.et_pb_code_inner .download-link) {
		margin-bottom: clamp(15px, 3vw, 30px);
	}
	.download-link {
		align-items: flex-end;
		border: 2px solid transparent;
		display: inline-flex;
		flex-wrap: wrap;
		gap: clamp(5px, 1vw, 7.5px);
		justify-content: space-between;
		padding: clamp(4.5px, 1vw, 7.5px);
		transition: border-color ease-in-out .3s;
		width: clamp(200px, 100%, 425px);

		&:hover {
			border-color: var(--hs-darkblue) !important;
		}
		&> img {
			max-width: 250px;
		}
		&> span {
			font-size: var(--btn-fs);
			max-width: 225px;
			width: 100%;
		}
		&:hover > span {
			text-decoration: underline;
		}
		i {
			aspect-ratio: 1;
			background-image: url("/wp-content/uploads/2026/07/PDP_UX_link.svg");
			background-repeat: no-repeat;
			background-size: contain;
			width: clamp(35px, 5vw, 50px);
		}
		&.cert i {
			background-image: url("/wp-content/uploads/2026/07/PDP_UX_download.svg");
		}
		&.cert > img {
			max-width: clamp(45px, 10vw, 65px);
		}
	}
	#shipping .download-link {
		width: clamp(200px, 100%, 500px);

		&.cert img {
			border: 1px solid var(--hs-lightgray);
			max-width: clamp(65px, 12vw, 130px) !important;
		}
	}
}
img.product-exploded, img.product-dimensional {
	max-width: clamp(275px, 100%, 500px);
}
#series {
	.et_pb_row {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
	}
	.wcco-series {
		.wcco-series__title {
			padding-bottom: clamp(25px, 3vw, 35px);
		}
		.et_pb_button {
			margin-top: clamp(25px, 3vw, 35px);
			display: inline-block;
		}
	}
	.et_pb_gallery.et_pb_module {
		aspect-ratio: 1;
		overflow: hidden;

		.et_pb_gallery_image a {
			pointer-events: none;
		}
		.et-pb-slider-arrows {
			color: #fff;

			> a {
				font-size: 100px;
				transform: translateY(-50%);
			}
		}
		.et-pb-controllers a {
			aspect-ratio: 1;
			background-color: transparent;
			border: 2px solid var(--hs-darkblue);
			border-radius: 50px;
			cursor: pointer;
			display: inline-block;
			font-size: 0;
			position: relative;
			transition: background-color ease-in-out .3s;
			width: 25px;
			height: 25px;
			opacity: 1;

			&:hover,
			&.et-pb-active-control {
				background-color: var(--hs-darkblue);
			}
		}
	}
}
#recommended {
	background-color: var(--hs-lightgray);

	&:not(:has(.et_pb_code .et_pb_code_inner)) {
		display: none;
	}
}
.wcco-carousel-title {
	margin: 18px 0 10px;
}
.wcco-slick-carousel {
	overflow-x: hidden;

	.slick-track {
		display: flex;
	}
	.wcco-slide {
		padding: 0 10px;
		box-sizing: border-box;
		margin: clamp(15px, 2vw, 25px) 0;

		.wcco-card {
			border-radius: 10px;
			padding: 12px;
			height: 100%;
			transition: all ease-in-out .3s;

			&:hover {
				scale: 1.05;
			}
			.wcco-card__img img {
				width: 100%;
				height: auto;
				display: block;
			}
			.wcco-card__body {
				margin-top: 10px;

				.wcco-card__title {
					display: block;
					text-decoration: none;
					font-weight: 600;
					line-height: 1.3;
					color: var(--hs-darkgray);
					font-size: var(--text-fs);
				}
			}
		}
	}

	.slick-arrow, 
	.slick-arrow:hover, 
	.slick-arrow:focus {
		position: absolute;
		font-size: 0;
		line-height: 0;
		padding: 0;
		color: transparent;
		outline: none;
		background: var(--sec-color);
		border: none;
		cursor: pointer;
		top: 50%;
		z-index: 100;
		height: 100px;
		vertical-align: middle;
		border-radius: 50%;
		width: 50px;
		display: flex;
		justify-content: center;
		align-items: center;
		overflow: hidden;
	}
	.slick-prev { 
		left: 0; 
		transform: translate(-100%, -50%);
	}
	.slick-prev:before { content: '\34'; }
	.slick-next { 
		right: 0;
		transform: translate(85%, -50%);
	}
	.slick-next:before { content: '\35'; } 
	.slick-arrow:hover:before { opacity: 0.8; }

	.slick-arrow:before {
		font-family: ETmodules;
		background: transparent;
		opacity: 1;
		font-size: 100px;
		vertical-align: middle;
		color: var(--hs-darkgray);
		text-align: center;
	}
}
.wcco-replacements-table {
	border: 2px solid var(--hs-gray);
	border-collapse: collapse;
	font-size: var(--text-fs);
	width: 100%;

	thead {
		background: var(--hs-lightgray);

		th {
			font-weight: 600;
			text-align: left;
		}
	}
	tbody {
		tr:hover {
			background: var(--hs-lightgray);
		}
	}
	th, td {
		border: 2px solid var(--hs-gray);
		padding: clamp(5px, 1vw, 10px) clamp(10px, 2vw, 15px);
	}
	a {
		font-weight: 500;
		text-decoration: none;

		&:hover {
			text-decoration: underline;
		}
	}
	.col-order { width: 90px; }
	.col-sku { 
		max-width: 300px;
		min-width: 15ch;
		width: 15ch;
	}
}
@keyframes redrawLine {
	0% {
		transform: scaleX(1);
		transform-origin: right;
	}
	49% {
		transform: scaleX(0);
		transform-origin: right;
	}
	50% {
		transform: scaleX(0);
		transform-origin: left; /* Instantly flip origin point */
	}
	100% {
		transform: scaleX(1);
		transform-origin: left;
	}
}
/* Responsive */
@media all and (max-width: 1240px) {
	#replacement .et_pb_row:last-child .et_pb_column {
		width: 100%;

		&:first-child {
			margin-bottom: clamp(15px, 2vw, 35px);
		}
		.wcco-replacements-table {
			border: 0;
			display: inline-block;
			max-width: 100%;
			overflow-x: scroll;

			.col-name {
				min-width: 300px;
			}
		}
	}
}
@media all and (max-width: 980px) {
	.single-product .product {
		.et_pb_wc_images .woocommerce-product-gallery {
			float: unset;
			margin: auto;
			max-width: 525px;
		}
		.prodmeta {
			min-height: unset;
		}
		.download-link {
			span {
				max-width: 215px;
			}
		}
		#shipping .download-link.cert img {
			max-width: clamp(65px, 20vw, 130px) !important;
		}
	}
}
@media all and (max-width: 766px) {
	.single-product .product {
		.wcco-slick-carousel .slick-arrow{
			&.slick-prev {
				left: 25px;
			}
			&.slick-next {
				right: 25px;
			}
		}
		.download-link {
			span {
				max-width: 185px;
			}
			> img {
				max-width: 215px;
			}
		}
		#shipping .download-link span {
			max-width: 155px;
		}
	}
}
/*** END Single Product ***/

/*** Scroll to Top ***/
span.et_pb_scroll_top.et-pb-icon {
	background-color: var(--hs-darkblue);
	border-radius: 10px;
	bottom: 50px;
	right: 5px;

	&::before {
		content: '\21';
	}
}
/*** END Scroll to Top ***/

/*** History ***/
#history {
	.year {
		padding: clamp(15px, 3vw, 35px) 0;

		.et_pb_column {
			align-items: center;
			display: flex;
			flex-direction: row-reverse;
			gap: clamp(25px, 3vw, 50px);

			.et_pb_image {
				margin: 0;
				min-width: clamp(300px, 60%, 800px);
			}
			.et_pb_gallery {
				margin-bottom: clamp(25px, 3vw, 35px) !important;
				max-width: clamp(300px, 60%, 800px);
				min-width: clamp(300px, 60%, 800px);
				overflow: visible;

				.et_pb_gallery_image a {
					pointer-events: none;
				}
				.et-pb-slider-arrows a::before {
					background: var(--hs-darkgray);
					border-radius: 50px;
					color: #fff;
					opacity: .8;
				}
				.et-pb-controllers {
					bottom: -35px;

					a {
						background: transparent;
						border: 2px solid var(--hs-darkblue);
						border-radius: 50px;
						height: clamp(15px, 2vw, 25px);
						width: clamp(15px, 2vw, 25px);

						&:hover, &.et-pb-active-control {
							background-color: var(--hs-darkblue);
						}
					}
				}
			}
			.et_pb_text {
				text-align: right;

				h3 {
					font-size: clamp(35px, 5vw, 75px);
					font-weight: 400;
					position: relative;
				}
			}
		}
		&.rev .et_pb_column {
			flex-direction: row;

			.et_pb_text {
				text-align: left;
			}
		}
		&::before {
			background: var(--hs-darkblue);
			bottom: 0;
			content: "";
			height: 100%;
			left: 50%;
			position: absolute;
			width: 5px;
		}
		&:nth-child(2)::before {
			height: 50%;
		}
		&:has(+ .vision) {
			padding-bottom: clamp(50px, 5vw, 75px);
		}
	}
	.vision {
		border: 5px solid var(--hs-darkblue);
		padding: clamp(25px, 3vw, 50px) 5% !important;

		h3 {
			font-size: clamp(30px, 5vw, 50px);
			font-weight: 600;
			position: relative;
			padding-bottom: clamp(15px, 2vw, 35px);
		}
	}
}
@media all and (max-width: 980px) {
	#history {
		.year {
			.et_pb_column {
				flex-direction: column-reverse !important;
				flex-wrap: wrap;
				justify-content: start;

				.et_pb_gallery {
					max-width: unset;
				}
				.et_pb_text {
					padding-left: 25px;
					text-align: left;

					h3::before {
						background-color: var(--hs-darkblue);
						content: "";
						height: 5px;
						left: -35px;
						position: absolute;
						top: calc(50% - 10px);
						transform: translateY(50%);
						width: 30px;
					}
				}
			}
			&::before {
				left: -15px;
			}
			&:nth-child(2) {
				padding-top: 0;

				&::before {
					height: calc(100% - (clamp(35px, 5vw, 75px) / 2) - 3px);
				}
				.et_pb_text h3::before {
					left: -40px;
					width: 35px;
				}
			}
		}
		.vision {
			&::before {
				border: 5px solid var(--hs-darkblue);
				border-right: 0;
				border-top: 0;
				content: "";
				height: 50px;
				left: -20px;
				position: absolute;
				top: -5px;
				width: 15px;
			}
			h3, p {
				text-align: left !important;
			}
		}
	}
}
@media all and (max-width: 450px) {
	#history {
		.year {
			.et_pb_column {
				.et_pb_text {
					padding-left: 15px;

					h3::before {
						left: -30px;
						width: 25px;
					}
				}
			}
			&:nth-child(2) {
				.et_pb_text h3::before {
					left: -30px;
					width: 25px;
				}
			}
		}
	}
}
/*** END History ***/

/*** Jobs ***/
.jobs.et_pb_row {
	.et_pb_posts .et_pb_ajax_pagination_container {
		display: flex;
		gap: clamp(25px, 3vw, 50px);
		flex-wrap: wrap;
		justify-content: center;

		article {
			border: 2px solid var(--hs-darkblue);
			flex: 0 0 calc(33% - clamp(25px, 3vw, 50px));
			margin-bottom: 0 !important;
			min-width: 400px;
			transition: scale ease-in-out .3s;

			&:hover {
				scale: 1.03;
			}
			.entry-featured-image-url {
				border-bottom: 2px solid var(--hs-darkblue) !important;
				cursor: default;
				left: -2px;
				margin-bottom: 15px !important;
				pointer-events: none;
				top: -2px;
				width: calc(100% + 4px);
			}
			h3 {
				line-height: unset;
				padding-left: clamp(15px, 2vw, 20px);
				padding-right: clamp(15px, 2vw, 20px);

				a {
					cursor: default;
					font-size: var(--btn-fs);
					font-weight: 600;
					pointer-events: none;
				}
			}
			.post-content {
				padding: 0 clamp(15px, 2vw, 20px) calc((var(--text-fs) * 1.2) + clamp(30px, 3vw, 50px));

				p {
					-webkit-box-orient: vertical;
					-webkit-line-clamp: 6;
					display: -webkit-box;
					font-size: var(--text-fs);
					hyphens: auto;
					line-height: var(--text-lh);
					overflow: hidden;
					text-overflow: ellipsis;
					word-wrap: break-word;
				}
			}
			.more-link {
				bottom: clamp(15px, 2vw, 25px);
				display: inline-block;
				font-size: var(--btn-fs);
				font-weight: 300;
				position: absolute;
				text-decoration: underline;
				text-underline-offset: 25%;

				&::after {
					content: "\35";
					direction: ltr;
					font-family: ETmodules !important;
					-webkit-font-feature-settings: "kern" off;
					font-feature-settings: "kern" off;
					font-size: calc(var(--btn-fs) + 10px);
					font-style: normal;
					font-variant: none;
					font-weight: 700;
					line-height: 1em;
					margin-left: -1em;
					opacity: 0;
					position: absolute;
					text-shadow: none;
					text-transform: none;
					top: 50%;
					transform: translateY(-50%);
					-webkit-transition: all .2s;
					transition: all .2s;
				}
				&:hover::after {
					margin-left: 0;
					opacity: 1;
				}
			}
		}
		&:has(:nth-child(4)):not(:has(:nth-child(5))) article,
		&:has(:nth-child(7)):not(:has(:nth-child(8))) article {
			flex: 1 0 calc(50% - clamp(25px, 3vw, 50px));
			max-width: 600px;
		}
	}
	.not-found-title {
		text-align: center;
	}
	.not-found-title + p {
		display: none;
	}
}
.profile .et_pb_row {
	border: 2px solid var(--hs-darkblue);
	max-width: calc(1440px + 10%);
	padding: clamp(25px, 3vw, 50px) 5% !important;

	h2 {
		font-size: var(--h2-fs) !important;
	}
	p {
		padding-bottom: 0;
	}
}
.contactdata {
	background-color: var(--hs-lightgray);

	.et_pb_text {
		margin: auto;
		max-width: 475px;

		strong {
			display: inline-block;
			min-width: 115px;
		}
	}
}
.et_pb_section.bg-gray + .contactdata {
	background-color: #fff;
}
.single .intro {
	padding-bottom: 0;

	&+ .var-text {
		padding-top: 0;
	}
}
/* Responsive */
@media all and (max-width: 919px) {
	.jobs.et_pb_row .et_pb_posts .et_pb_ajax_pagination_container article {
		flex: 1 1 calc(33% - clamp(25px, 3vw, 50px));
		max-width: 600px;
	}
}
@media all and (max-width: 500px) {
	.jobs.et_pb_row .et_pb_posts .et_pb_ajax_pagination_container article {
		min-width: 300px;
	}
}
/*** END Jobs ***/

/*** Industry-Contacts ***/
.industry-contact {
	.et_pb_row {
		padding: clamp(25px, 5vw, 50px);

		&:not(:first-child) {
			border-top: 2.5px solid var(--hs-darkblue);
		}
		&:first-child {
			padding-top: 0;
		}
		.et_pb_text strong {
			display: inline-block;
			min-width: 85px;
		}
	}
}
/*** END Industry-Contacts ***/

/*** Contact Form ***/
#cf {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px, 3vw, 25px);
	margin-top: clamp(25px, 5vw, 50px);

	.cf_field {
		flex: 1 1 calc(50% - clamp(15px, 3vw, 25px));
		min-width: 250px;
		position: relative;

		&.full {
			min-width: 100%;
		}
		&.small {
			display: flex;
			gap: clamp(15px, 3vw, 25px);
			margin-bottom: 15px;

			&> div {
				position: relative;
			}
		}
		label:not(.altcha-label) {
			background: #fff;
			font-size: clamp(12px, calc(var(--text-fs) - 2px), 18px);
			left: 10px;
			padding: 5px;
			position: absolute;
			top: 0;
			transform: translateY(-50%);
			z-index: +1;
		}
		input, textarea {
			background-color: transparent;
			border: 1px solid var(--hs-gray);			
			font-size: var(--text-fs);
			line-height: var(--text-lh);
			padding: 10px 15px;
			width: 100%;
		}
		input[type="number"] {
			-moz-appearance: textfield;
			-webkit-appearance: textfield;
			appearance: textfield;
		}
		input.wpcf7-not-valid,
		input.wpcf7-not-valid ~ .codedropz-upload-handler {
			animation: shake .2s ease-in-out 0s 2;
			border-color: red;
		}
		label:has(+ span input.wpcf7-not-valid) {
			color: red;
		}
		.wpcf7-not-valid-tip {
			display: none;
		}
		textarea {
			height: 200px;
			max-height: 300px;
			max-width: 100%;
			min-height: 150px;
			min-width: 100%;
		}
		.codedropz-upload-wrapper {
			margin-bottom: clamp(15px, 3vw, 35px);

			.codedropz-upload-inner {
				display: flex;
				flex-wrap: wrap;
				gap: 5px;
				justify-content: center;
				padding: 10px;

				span {
					font-size: calc(var(--text-fs) - 4px);
					order: 1;
				}
				.codedropz-btn-wrap {
					order: 0;
					width: 100%;

					a {
						font-size: var(--btn-fs);
					}
				}
			}
		}
		&.privacy {
			.wpcf7-list-item {
				margin: 0;
			}
			label {
				margin-top: 15px;
				padding: 0;
				position: relative;
			}
			input {
				width: auto;
			}
		}
		&.submit input {
			background: transparent;
			border: 2px solid var(--hs-darkblue);
			color: var(--hs-darkblue);
			float: right;
			min-width: 200px;
			width: auto;

			&:not(:disabled):hover {
				cursor: pointer;
				text-decoration: underline;
			}
		}
	}
}
.bg-gray #cf .cf_field label {
	background-color: var(--hs-lightgray);
}
form.sent #cf {
	overflow: hidden;
	animation: vanish .8s forwards;
}
#cf ~ .wpcf7-response-output {
	border: 0 !important;
	font-size: calc(var(--text-fs) + 4px);
	text-align: center;
}
/* Animation */
@keyframes vanish {
	from {
		height: auto;
		min-height: 500px;
		opacity: 1;
	}
	to {
		height: 0;
		min-height: 0;
		padding: 0;
		opacity: 0;
	}
}
@keyframes shake {
	0% { margin-left: 0rem; }
	25% { margin-left: 0.5rem; }
	75% { margin-left: -0.5rem; }
	100% { margin-left: 0rem; }
}
/*** END Contact Form ***/

/*** Pillars ***/
.pillars {
	.et_pb_row:first-child {		
		.et_pb_text .et_pb_text_inner {
			overflow: hidden;
			padding: 65px 0 10px;
			position: relative;

			&::before {
				background: var(--hs-darkblue);
				clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
				content: "";
				inset: 0;
				position: absolute;
			}
			&> * {
				color: #fff;
				margin: auto;
				max-width: clamp(150px, 60%, 500px);
				position: relative;
				z-index: +1;
			}
		}
	}
	.et_pb_row:last-child {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(15px, 3vw, 30px);
		justify-content: center;
		padding-left: 2.5%;
		padding-right: 2.5%;
		padding-top: 0;

		&::after {
			content: unset;
		}
		.et_pb_column {
			border: 2px solid var(--hs-darkblue);
			display: flex;
			flex: 1 1 300px;
			flex-direction: column;
			justify-content: space-between;
			margin: 0;
			padding: clamp(15px, 3vw, 30px);

			.et_pb_text strong {
				color: var(--hs-darkblue);
				font-size: var(--h4-fs);
				line-height: 1.25;
			}
		}
	}
}
@media all and (max-width: 980px) {
	.pillars .et_pb_row:first-child .et_pb_text .et_pb_text_inner {
		padding-top: 85px;
	}
}
@media all and (max-width: 500px) {
	.pillars .et_pb_row:first-child .et_pb_text .et_pb_text_inner > * {
		max-width: clamp(150px, 50%, 500px);
	}
}
/*** END Pillars ***/

/*** SDG Icons ***/
.sdg-icons {
	display: grid;
	gap: 0 15px;
	grid-template-columns: repeat(6, 1fr);
	margin-top: clamp(25px, 3vw, 50px);

	.et_pb_column {
		margin: 0 0 25px !important;
		width: auto !important;

		.et_pb_code {
			margin: 0;

			.dark {
				background: var(--hs-darkblue);
				color: #fff;
				margin-bottom: 10px;
				padding: 16px 8px;
				text-align: center;

				h3 {
					color: #fff;
					font-size: calc(var(--text-fs) + 4px);
					font-weight: 600;
					margin: 0;
					padding: 0;
				}
			}
			.light {
				align-items: center;
				background: #087abd;
				color: #fff;
				display: flex;
				font-size: 24px;
				justify-content: center;
				line-height: 1.15;
				min-height: calc(((var(--text-fs) * 1.45) * 4) + 20px);
				padding: 10px;
				text-align: center;

				span {
					color: #fff;
				}
			}
		}
		.et_pb_image {
			aspect-ratio: 1;
			display: inline-block;
			margin-bottom: 0;
			margin-right: 10px;
			margin-top: 10px;
			position: relative;
			vertical-align: top;
			width: calc(50% - 5px);

			&:nth-of-type(2n + 1) {
				margin-left: 0;
				margin-right: 0;
			}

			& > span {
				line-height: 0;

				img {
					height: auto;
					width: 100%;
				}
			}
		}
	}
}
[lang="en-GB"] .sdg-icons .et_pb_column .et_pb_code {
	.dark {
		align-items: center;
		display: flex;
		justify-content: center;
		min-height: calc((((var(--text-fs) + 4px) * 1.45) * 3) + 20px);
	}
	.light {
		min-height: calc(((var(--text-fs) * 1.45) * 5) + 20px);
	}
}
@media (max-width: 1440px) {
	.sdg-icons {
		grid-template-columns: repeat(3, 1fr);

		.et_pb_column .et_pb_code .light {
			min-height: calc(((var(--text-fs) * 1.45) * 3) + 20px);
		}
	}
	[lang="en-GB"] .sdg-icons .et_pb_column .et_pb_code {
		.dark {
			min-height: calc((((var(--text-fs) + 4px) * 1.45) * 2) + 20px);
		}
		.light {
			min-height: calc(((var(--text-fs) * 1.45) * 3) + 20px);
		}
	}
}
@media (max-width: 980px) {
	.sdg-icons {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.sdg-icons {
		grid-template-columns: 1fr;
	}
	[lang="en-GB"] .sdg-icons .et_pb_column .et_pb_code {
		.dark, .light {
			min-height: unset;
		}
	}
}
/*** END SDG Icons ***/

/*** Downloads ***/
#downloads .et_pb_column {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(15px, 2vw, 25px);
	justify-content: center;

	.et_pb_blurb {
		max-width: 200px;
		transition: all ease-in-out .3s;

		&:hover {
			filter: drop-shadow(0 0 10px var(--hs-gray));
		}
		&.wide {
			max-width: 388px;
		}
		.et_pb_main_blurb_image {
			border: 2px solid var(--hs-lightgray);
			margin-bottom: clamp(15px, 2vw, 25px);

			span {
				line-height: 0;
			}
		}
		.et_pb_module_header {
			text-align: center;
		}
	}
}
/*** END Downloads ***/

/*** Legals ***/
.legals h2 {
	font-size: var(--h3-fs);
	font-weight: 400;
}
/*** END Legals ***/

/*** Search Results ***/
.search-results .et_pb_row {
	margin-top: 20px;
	width: 90%;

	.search-results-list {
		display: flex;
		flex-direction: column;
		gap: clamp(25px, 3vw, 50px);
		margin: clamp(35px, 5vw, 50px) auto;

		.search-highlight {
			background-color: var(--hs-darkblue);
			color: #fff;
			padding: 1px 5px;
		}

		.et_pb_button {
			display: inline-block;
			margin-top: 15px;

			&:hover {
				background-color: var(--hs-darkblue);
				color: #fff;
			}
		}
		.search-item.has-thumb {
			display: flex;
			gap: 1.5rem;
			align-items: center;
		}
		.search-item-thumb {
			flex: 0 0 180px;
			position: relative;
			aspect-ratio: 4 / 3;
			overflow: hidden;
			background-color: #ececec;

			&::before {
				content: "";
				position: absolute;
				inset: 0;
				background: linear-gradient(
					90deg,
					transparent 0%,
					rgba(255, 255, 255, .65) 50%,
					transparent 100%
				);
				background-size: 200% 100%;
				animation: bm-skeleton 1.4s ease-in-out infinite;
			}
			&.is-loaded {
				background-color: transparent;

				&::before {
					animation: none;
					opacity: 0;
				}
			}
			img {
				position: relative;
				display: block;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		}
		.search-item-body {
			flex: 1 1 auto;
			min-width: 0;
		}
	}
}
@keyframes bm-skeleton {
	from { background-position:  200% 0; }
	to   { background-position: -200% 0; }
}
@media (max-width: 767px) {
	.search-results .et_pb_row .search-results-list {
		.search-item.has-thumb {
			flex-direction: column;
			gap: .75rem;
		}
		.search-item-thumb {
			flex-basis: auto;
			width: 100%;
			max-width: 320px;
		}
	}
}
@media (prefers-reduced-motion: reduce) {
	.search-item-thumb::before {
		animation: none;
	}
}
/*** END Search Results ***/

/*** Footer ***/
#main-footer {
	background-color: var(--hs-footer-bg);

	.container {
		width: 90%;
	}

	.widget_media_image {
		margin-bottom: 35px !important;

		img {
			width: clamp(200px, 10vw, 250px);
		}
	}
	.socials {
		display: flex;
		gap: 15px;

		a {
			transition: scale ease-in-out .3s;
		}
		a:hover {
			scale: 1.03;
		}
		a i {
			background-size: contain;
			display: inline-block;
			height: 50px;
			width: 50px;
		}
		.instagram i { background-image: url("https://www.placehold.co/50/webp"); }
		.linkedin i { background-image: url("https://www.placehold.co/50/webp"); }
		.x i { background-image: url("https://www.placehold.co/50/webp"); }
	}
	#footer-widgets {
		display: flex;
		flex-wrap: wrap;
		gap: clamp(15px, 2vw, 25px);
		justify-content: space-between;
		padding: clamp(25px, 5vw, 50px) 0;

		.footer-widget {
			align-items: center;
			display: flex;
			flex: 1 1 300px;
			flex-direction: column;
			margin: 0 !important;
			width: auto !important;

			&:has(.widget_media_image) {
				flex: unset;
			}
			.wp-block-group {
				break-inside: avoid;
				margin-bottom: clamp(15px, 3vw, 25px);
				page-break-inside: avoid;
				-webkit-column-break-inside: avoid;

				&.is-layout-grid {
					columns: 4 230px;
					column-gap: clamp(15px, 3vw, 25px);
					display: block;
					margin-bottom: 0;
				}
			}
			.widget_nav_menu:nth-child(2) {
				margin-top: 25px;
			}
			ul.menu {
				display: flex;
				flex-direction: column;
				gap: .5em;

				li {
					margin: 0;

					a {
						color: var(--hs-darkgray);
					}
					&:first-child a {
						color: #000;
						font-size: var(--btn-fs);
						font-weight: 600;
						padding-bottom: 10px;
					}
					&::before {
						content: unset;
					}
				}
			}
		}
	}
	#et-footer-nav {
		background-color: var(--hs-darkblue);

		ul {
			display: flex;
			flex-wrap: wrap;
			gap: clamp(15px, 3vw, 35px);
			justify-content: center;

			li {
				padding-right: 0;
				a {
					color: #fff;
				}
			}
		}
	}
	#footer-bottom {
		display: none;
	}
}
/* Responsive */
@media all and (max-width: 980px) {
	#main-footer #footer-widgets {
		flex-direction: column;

		.footer-widget {
			flex: unset;
		}
	}
}
@media all and (max-width: 500px) {
	#main-footer #et-footer-nav ul {
		flex-direction: column;
	}
}
/*** END Footer ***/