/*
Theme Name:   helloelementorchild
Description:  Test
Author:       GRUPPE DREI
Author URL:   https://www.gruppedrei.com
Template:     hello-elementor
Version:      1.1
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  helloelementorchild
*/

/* Schreibe hier Dein eigenes persönliches Stylesheet */
/*
1. Custom Animations 
2. Globals
3. Header
4. Footer
5. Weitere Elemente
*/

@import "css/reset.css";
@import "css/animations.css";
@import "css/form.css";
@import "css/portal.css";


/*** GLOBALS ***/
.e-container,
.e-con {
	--full-width-padding: max(1%, calc((50vw - var(--scrollbar-width) / 2) - var(--container-max-width) / 2));

	--spacer-240: clamp(120px, 12.5vw, 240px);
	--spacer-180: clamp(80px, 9.375vw, 180px);
	--spacer-160: clamp(80px, 8.3333vw, 160px);
	--spacer-140: clamp(70px, 7.3vw, 140px);
	--spacer-120: clamp(60px, 6.25vw, 120px);
	--spacer-100: clamp(50px, 5.2vw, 100px);
	--spacer-80: clamp(40px, 4.16vw, 80px);
	--spacer-60: clamp(30px, 3.125vw, 60px);
	--spacer-50: clamp(25px, 2.6vw, 50px);
	--spacer-40: clamp(20px, 2.08vw, 40px);
	--spacer-30: clamp(15px, 1.5626vw, 30px);
	--spacer-20: clamp(10px, 1.04vw, 20px);
	--spacer-10: clamp(5px, 0.5vw, 10px);
	--spacer-rem: 1rem;

	--hero-height: calc(100vh - var(--header-height));

	--r: var(--spacer-30);
}

@media (max-width: 1024px) {
	.e-container,
	.e-con {
		--full-width-padding: 2vw;
	}
	.e-con.e-parent:not(.e-child, .no-side-padding) {
		padding-left: var(--full-width-padding);
		padding-right: var(--full-width-padding);
	}
}

@media (max-width: 768px) {
	.e-container,
	.e-con {
		--full-width-padding: 4vw;
	}
}

/* Content Breite eine Seite - Full width andere Seite */
.full-width-padding-left {
	padding-left: var(--full-width-padding);
}
.full-width-padding-right {
	padding-right: var(--full-width-padding);
}

/* Content Breite Ende */

/*P, Links + Hover Effekt*/

p a,
.list-hover-line a span {
	color: inherit;
	position: relative;
	--lineColor: var(--e-global-color-primary);

	background:
		linear-gradient(var(--lineColor, #ffffff33) 0 0) 0 100% /var(--d, 0) 2px no-repeat;
	transition: 0.3s;
}

p a:hover,
p a:focus,
.list-hover-line a:hover span,
.list-hover-line a:focus span {
	--d: 100%;
}

/* Ende */

/* Elementor Buttons */
.elementor-form .elementor-button,
.elementor-button,
.uc_more_btn,
.elementor-widget-posts .elementor-post__read-more,
.file-right .wpfd_downloadlink {
	--r: 10px;
	--cut-x: 26px;
	--cut-y: 22px;
	--color: #1E8FE0;
	--bg: #fff;

	min-width: 200px;

	position: relative;
	isolation: isolate;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	color: #182449;
	background: var(--bg);
	box-sizing: border-box;
	transition: color 0.45s cubic-bezier(0.4, 0, 0.2, 1);

	border: 1px solid transparent;
	border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 212 62' fill='none'%3E%3Cpath d='M10 0.5H202C207.247 0.5 211.5 4.7533 211.5 10V37.8574C211.5 40.3769 210.499 42.7936 208.718 44.5752L197.504 55.7891C193.847 59.4457 188.887 61.5 183.716 61.5H10C4.7533 61.5 0.5 57.2467 0.5 52V10C0.500001 4.7533 4.7533 0.5 10 0.5Z' stroke='%231E8FE0' stroke-width='1'/%3E%3C/svg%3E");
	border-image-slice: 10 28 24 10;
	border-image-width: 10px 28px 24px 10px;
	border-image-repeat: stretch;

	clip-path: shape(from 100% var(--r),
			curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--r)),
			curve to var(--r) 100% with 0% calc(100% - var(--r) * 0.448) / calc(var(--r) * 0.448) 100%,
			hline to calc(100% - var(--cut-x)),
			curve to calc(100% - var(--cut-x) * 0.513) calc(100% - var(--cut-y) * 0.257) with calc(100% - var(--cut-x) * 0.817) 100% / calc(100% - var(--cut-x) * 0.642) calc(100% - var(--cut-y) * 0.106),
			line to calc(100% - var(--cut-x) * 0.116) calc(100% - var(--cut-y) * 0.722),
			curve to 100% calc(100% - var(--cut-y)) with calc(100% - var(--cut-x) * 0.053) calc(100% - var(--cut-y) * 0.795) / calc(100% - var(--cut-x) * 0.018) calc(100% - var(--cut-y) * 0.896),
			vline to var(--r),
			close);
}
.elementor-button::before,
.uc_more_btn::before,
.elementor-widget-posts .elementor-post__read-more::before,
.file-right .wpfd_downloadlink::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--color);
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: -1;
}
.elementor-button::after,
.uc_more_btn::after,
.elementor-widget-posts .elementor-post__read-more::after,
.file-right .wpfd_downloadlink::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	/*border: 1px solid transparent;
  border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 212 62' fill='none'%3E%3Cpath d='M10 0.5H202C207.247 0.5 211.5 4.7533 211.5 10V37.8574C211.5 40.3769 210.499 42.7936 208.718 44.5752L197.504 55.7891C193.847 59.4457 188.887 61.5 183.716 61.5H10C4.7533 61.5 0.5 57.2467 0.5 52V10C0.500001 4.7533 4.7533 0.5 10 0.5Z' stroke='%231E8FE0' stroke-width='1'/%3E%3C/svg%3E");
  border-image-slice: 10 28 24 10;
  border-image-width: 10px 28px 24px 10px;
  border-image-repeat: stretch;*/
	transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-button:hover,
.uc_more_btn:hover,
.elementor-widget-posts .elementor-post__read-more:hover,
.file-right .wpfd_downloadlink:hover {
	color: white !important;
}
.elementor-button:hover::before,
.uc_more_btn:hover::before,
.elementor-widget-posts .elementor-post__read-more:hover::before,
.file-right .wpfd_downloadlink:hover::before {
	clip-path: inset(0 0% 0 0);
}
.elementor-button:hover::after,
.uc_more_btn:hover::after,
.elementor-widget-posts .elementor-post__read-more:hover::after,
.file-right .wpfd_downloadlink:hover::after {
	opacity: 0;
}
.elementor-button .elementor-button-icon svg,
.uc_more_btn svg {
	transition: filter 0.4s;
}
.elementor-button:hover .elementor-button-icon svg,
.uc_more_btn:hover svg {
	filter: brightness(0) invert(1);
}

.btn-lightblue .elementor-button,
.uc_more_btn {
	--bg: var(--e-global-color-e3aecc0);
}
.btn-darkblue .elementor-button {
	--bg: var(--e-global-color-primary);
	color: white;
}
.btn-blue .elementor-button {
	--bg: var(--e-global-color-accent);
	--border-color: #ffffff;
	color: white;
	border-image-source: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 212 62' fill='none'%3E%3Cpath d='M10 0.5H202C207.247 0.5 211.5 4.7533 211.5 10V37.8574C211.5 40.3769 210.499 42.7936 208.718 44.5752L197.504 55.7891C193.847 59.4457 188.887 61.5 183.716 61.5H10C4.7533 61.5 0.5 57.2467 0.5 52V10C0.500001 4.7533 4.7533 0.5 10 0.5Z' stroke='%23ffffff' stroke-width='1'/%3E%3C/svg%3E");
}
.btn-blue .elementor-button .elementor-button-icon svg {
	filter: brightness(0) invert(1);
}
.btn-blue .elementor-button:hover .elementor-button-icon svg {
	filter: none
}
.btn-blue .elementor-button:hover {
	color: var(--e-global-color-accent) !important;
}





/* Ende */

.mt-auto {
	margin-top: auto;
}

.lineheight-reset {
	line-height: 0;
}

/* Show overflow on both sides/right side of carousel*/
.carousel-overflow :is(.swiper, .owl-carousel .owl-stage-outer) {
	overflow: visible;
}
.carousel-overflow-right :is(.swiper, .owl-carousel .owl-stage-outer) {
	overflow: visible;
	clip-path: inset(-100vw -100vw -100vw 0);
}

/* Remove absolute positioning on mobile*/
@media (max-width: 768px) {
	.position-mobile {
		position: relative !important;
	}
}


/* Cut corners */
.footer-cut {
	--cut: clamp(60px, 8.85vw, 170px);
}
.cut-180 {
	--cut: clamp(60px, 9.375vw, 180px);
}
.cut-150 {
	--cut: clamp(40px, 7.8125vw, 150px);
}
.cut-140 {
	--cut: clamp(40px, 7.3vw, 140px);
}
.cut-100 {
	--cut: clamp(20px, 5.2vw, 100px);
}

.cut-corners,
.cut-corners-img img {
	/*clip-path: polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));*/

	clip-path: shape(from 0% var(--cut),
			curve to calc(var(--cut) * 0.114) calc(var(--cut) * 0.725) with 0% calc(var(--cut) * 0.897) / calc(var(--cut) * 0.041) calc(var(--cut) * 0.798),
			line to calc(var(--cut) * 0.729) calc(var(--cut) * 0.112),
			curve to var(--cut) 0% with calc(var(--cut) * 0.801) calc(var(--cut) * 0.04) / calc(var(--cut) * 0.898) 0%,
			line to calc(100% - var(--r)) 0%,
			curve to 100% var(--r) with calc(100% - var(--r) * 0.448) 0% / 100% calc(var(--r) * 0.448),
			vline to calc(100% - var(--cut)),
			curve to calc(100% - var(--cut) * 0.114) calc(100% - var(--cut) * 0.725) with 100% calc(100% - var(--cut) * 0.897) / calc(100% - var(--cut) * 0.041) calc(100% - var(--cut) * 0.798),
			line to calc(100% - var(--cut) * 0.729) calc(100% - var(--cut) * 0.112),
			curve to calc(100% - var(--cut)) 100% with calc(100% - var(--cut) * 0.801) calc(100% - var(--cut) * 0.04) / calc(100% - var(--cut) * 0.898) 100%,
			hline to var(--r),
			curve to 0% calc(100% - var(--r)) with calc(var(--r) * 0.448) 100% / 0% calc(100% - var(--r) * 0.448),
			vline to var(--cut),
			close);
}
.cut-corners.invert,
.cut-corners-img.invert img {
	/*clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut)));*/
	clip-path: shape(from 100% var(--cut),
			curve to calc(100% - var(--cut) * 0.114) calc(var(--cut) * 0.725) with 100% calc(var(--cut) * 0.897) / calc(100% - var(--cut) * 0.041) calc(var(--cut) * 0.798),
			line to calc(100% - var(--cut) * 0.729) calc(var(--cut) * 0.112),
			curve to calc(100% - var(--cut)) 0% with calc(100% - var(--cut) * 0.801) calc(var(--cut) * 0.04) / calc(100% - var(--cut) * 0.898) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--cut)),
			curve to calc(var(--cut) * 0.114) calc(100% - var(--cut) * 0.725) with 0% calc(100% - var(--cut) * 0.897) / calc(var(--cut) * 0.041) calc(100% - var(--cut) * 0.798),
			line to calc(var(--cut) * 0.729) calc(100% - var(--cut) * 0.112),
			curve to var(--cut) 100% with calc(var(--cut) * 0.801) calc(100% - var(--cut) * 0.04) / calc(var(--cut) * 0.898) 100%,
			hline to calc(100% - var(--r)),
			curve to 100% calc(100% - var(--r)) with calc(100% - var(--r) * 0.448) 100% / 100% calc(100% - var(--r) * 0.448),
			vline to var(--cut),
			close);
}

.cut-corner-top-right,
.img-back-carousel .owl-item,
.custom-carousel .swiper-slide {
	/*clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 0);*/

	/*clip-path: shape(from calc(100% - var(--cut)) 0%,
			curve to calc(100% - var(--cut) * 0.055) calc(var(--cut) * 0.851) with calc(100% - var(--cut) * 0.87) 0% / calc(100% - var(--cut) * 0.02) calc(var(--cut) * 0.102),
			line to calc(100% - var(--cut) * 0.645) calc(var(--cut) * 0.165),
			curve to 100% var(--cut) with calc(100% - var(--cut) * 0.74) calc(var(--cut) * 0.058) / 100% calc(var(--cut) * 0.056),
			vline to calc(100% - var(--r)),
			curve to calc(100% - var(--r)) 100% with 100% calc(100% - var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 100%,
			hline to var(--r),
			curve to 0% calc(100% - var(--r)) with calc(var(--r) * 0.448) 100% / 0% calc(100% - var(--r) * 0.448),
			vline to var(--r),
			curve to var(--r) 0% with 0% calc(var(--r) * 0.448) / calc(var(--r) * 0.448) 0%,
			hline to calc(100% - var(--cut)),
			close);*/
	
	clip-path: shape(from calc(100% - var(--cut)) 0%,
			curve to calc(100% - var(--cut) * 0.65325) calc(var(--cut) * 0.143607) with calc(100% - var(--cut) * 0.86991) 0% / calc(100% - var(--cut) * 0.74521) calc(var(--cut) * 0.051665),
			line to calc(100% - var(--cut) * 0.053883) calc(var(--cut) * 0.743013),
			curve to 100% calc(var(--cut) * 0.873040) with calc(100% - var(--cut) * 0.019373) calc(var(--cut) * 0.777461) / 100% calc(var(--cut) * 0.824303),
			vline to calc(100% - var(--r)),
			curve to calc(100% - var(--r)) 100% with 100% calc(100% - var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 100%,
			hline to var(--r),
			curve to 0% calc(100% - var(--r)) with calc(var(--r) * 0.448) 100% / 0% calc(100% - var(--r) * 0.448),
			vline to var(--r),
			curve to var(--r) 0% with 0% calc(var(--r) * 0.448) / calc(var(--r) * 0.448) 0%,
			hline to calc(100% - var(--cut)),
			close);
}
.cut-corner-bottom-left {
	/*clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 0);*/

	clip-path: shape(from 100% var(--r),
			curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--cut)),
			curve to calc(var(--cut) * 0.055) calc(100% - var(--cut) * 0.851) with 0% calc(100% - var(--cut) * 0.944) / calc(var(--cut) * 0.02) calc(100% - var(--cut) * 0.898),
			line to calc(var(--cut) * 0.645) calc(100% - var(--cut) * 0.165),
			curve to var(--cut) 100% with calc(var(--cut) * 0.74) calc(100% - var(--cut) * 0.058) / calc(var(--cut) * 0.87) 100%,
			hline to calc(100% - var(--r)),
			curve to 100% calc(100% - var(--r)) with calc(100% - var(--r) * 0.448) 100% / 100% calc(100% - var(--r) * 0.448),
			vline to var(--r),
			close);
}
.cut-corner-bottom-right,
.certificate-carousel .ue-item,
.cut-img-corner-bottom-right img {
	clip-path: shape(from 100% var(--r),
			curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--r)),
			curve to var(--r) 100% with 0% calc(100% - var(--r) * 0.448) / calc(var(--r) * 0.448) 100%,
			hline to calc(100% - var(--cut)),
			curve to calc(100% - var(--cut) * 0.645) calc(100% - var(--cut) * 0.165) with calc(100% - var(--cut) * 0.87) 100% / calc(100% - var(--cut) * 0.74) calc(100% - var(--cut) * 0.058),
			line to calc(100% - var(--cut) * 0.055) calc(100% - var(--cut) * 0.851),
			curve to 100% calc(100% - var(--cut)) with calc(100% - var(--cut) * 0.02) calc(100% - var(--cut) * 0.898) / 100% calc(100% - var(--cut) * 0.944),
			vline to var(--r),
			close);
}
.cut-corner-bottom-right-small {
	/*--edge-size: 0.8em;
	clip-path: polygon(0 0,
			0 0,
			100% 0,
			100% calc(100% - var(--edge-size)),
			calc(100% - var(--edge-size)) 100%,
			0 100%);*/
	--r: 10px;
	--cut-x: 26px;
	--cut-y: 22px;

	clip-path: shape(from 100% var(--r),
		curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
		hline to var(--r),
		curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
		vline to calc(100% - var(--r)),
		curve to var(--r) 100% with 0% calc(100% - var(--r) * 0.448) / calc(var(--r) * 0.448) 100%,
		hline to calc(100% - var(--cut-x)),
		curve to calc(100% - var(--cut-x) * 0.513) calc(100% - var(--cut-y) * 0.257) with calc(100% - var(--cut-x) * 0.817) 100% / calc(100% - var(--cut-x) * 0.642) calc(100% - var(--cut-y) * 0.106),
		line to calc(100% - var(--cut-x) * 0.116) calc(100% - var(--cut-y) * 0.722),
		curve to 100% calc(100% - var(--cut-y)) with calc(100% - var(--cut-x) * 0.053) calc(100% - var(--cut-y) * 0.795) / calc(100% - var(--cut-x) * 0.018) calc(100% - var(--cut-y) * 0.896),
		vline to var(--r),
	close);
}
.cut-corner-top-right-no-radius {
	clip-path: shape(from calc(100% - var(--cut)) 0%,
		curve to calc(100% - var(--cut) * 0.65325) calc(var(--cut) * 0.143607) with calc(100% - var(--cut) * 0.86991) 0% / calc(100% - var(--cut) * 0.74521) calc(var(--cut) * 0.051665),
		line to calc(100% - var(--cut) * 0.053883) calc(var(--cut) * 0.743013),
		curve to 100% calc(var(--cut) * 0.873040) with calc(100% - var(--cut) * 0.019373) calc(var(--cut) * 0.777461) / 100% calc(var(--cut) * 0.824303),
		vline to 100%, 
		hline to 0,
		vline to 0,
		hline to 100%, close);
}

.text-shape,
.img-shape-right img {
	clip-path: shape(from 0% var(--r),
			curve to var(--r) 0% with 0% calc(var(--r) * 0.448) / calc(var(--r) * 0.448) 0%,
			line to calc(100% - var(--r)) 0%,
			curve to 99.84% 7.02% with calc(100% - var(--r) * 0.326) 0% / 100.55% 3.54%,
			line to 85.33% 77.83%,
			curve to 77.24% 87.92% with 84.2% 83.33% / 81.02% 87.3%,
			line to var(--r) 100%,
			curve to 0% calc(100% - var(--r)) with calc(var(--r) * 0.466) calc(100% + var(--r) * 0.059) / 0% calc(100% - var(--r) * 0.406),
			vline to var(--r),
			close);
}

.shape-left {
	clip-path: shape(from 100% 94.33%, 
		curve to 96.28% 100% with 100% 97.46%/98.34% 100%,
		hline to 3.72%,
		curve to 0.19% 92.54% with 1.18% 100%/-0.61% 96.21%,
		line to 18.04% 10.36%,
		curve to 27.45% 0% with 19.39% 4.18%/23.18% 0%,
		hline to 96.28%, 
		curve to 100% 5.67% with 98.34% 0%/100% 2.54%, 
		line to 100% 94.33%,
		close);
}

.shape-right{
	clip-path: shape(from 0% 94.33%, 
		curve to 3.72% 100% with 0% 97.46%/1.66% 100%,
		hline to 96.28%,
		curve to 99.81% 92.54% with 98.82% 100%/100.61% 96.21%,
		line to 81.96% 10.36%,
		curve to 72.55% 0% with 80.61% 4.18%/76.82% 0%,
		hline to 3.72%, 
		curve to 0% 5.67% with 1.66% 0%/0% 2.54%, 
		line to 0% 94.33%,
		close);
}

.border-radius img{
	border-radius: var(--r);
}

@media(max-width: 1024px){
	.cut-corner-top-right-no-radius {
		clip-path: shape(from calc(100% - var(--cut)) 0%,
			curve to calc(100% - var(--cut) * 0.65325) calc(var(--cut) * 0.143607) with calc(100% - var(--cut) * 0.86991) 0% / calc(100% - var(--cut) * 0.74521) calc(var(--cut) * 0.051665),
			line to calc(100% - var(--cut) * 0.053883) calc(var(--cut) * 0.743013),
			curve to 100% calc(var(--cut) * 0.873040) with calc(100% - var(--cut) * 0.019373) calc(var(--cut) * 0.777461) / 100% calc(var(--cut) * 0.824303),
			vline to calc(100% - var(--r)),
			curve to calc(100% - var(--r)) 100% with 100% calc(100% - var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 100%,
			hline to var(--r),
			curve to 0% calc(100% - var(--r)) with calc(var(--r) * 0.448) 100% / 0% calc(100% - var(--r) * 0.448),
			vline to var(--r),
			curve to var(--r) 0% with 0% calc(var(--r) * 0.448) / calc(var(--r) * 0.448) 0%,
			hline to calc(100% - var(--cut)),
			close);
	}
}

@media(max-width: 767px){
	.text-shape,
	.img-shape-right img {
		clip-path: none;
		border-radius: var(--r);
	}
}
/* */

/* Lists */
.elementor-widget-text-editor ul {
	list-style: none;
}
.elementor-widget-text-editor ul li {
	display: flex;
	gap: 14px;
	align-items: baseline;
}
.elementor-widget-text-editor ul li::before {
	content: "";
	background-color: var(--e-global-color-accent);
	width: 10px;
	height: 10px;
	flex-shrink: 0;
}

.custom-icon-list .elementor-icon-list-item {
	padding-top: var(--spacer-20) !important;
	padding-bottom: var(--spacer-20) !important;
}
.custom-icon-list .elementor-icon-list-item:not(:last-of-type) {
	border-bottom: 1px solid rgba(29, 40, 65, 0.30);
}
.custom-icon-list .elementor-icon-list-item a:hover {
	display: flex;
	gap: 1rem;
}
.custom-icon-list .elementor-icon-list-item a:hover::before {
	content: "";
	background: url(/wp-content/uploads/2023/10/arrow.svg) no-repeat center/contain;
	width: 28px;
	height: 18px;
}
.elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-icon {
	flex-shrink: 0;
}

.two-column.elementor-widget-icon-list ul {
	gap: var(--spacer-60);
}
.two-column.elementor-widget-icon-list ul li {
	flex: 45%;
	margin: 0 !important;
	padding: 0 !important;
}
.two-column.elementor-widget-icon-list ul li .elementor-icon-list-text {
	align-self: flex-start;
}
.two-column.small.elementor-widget-icon-list ul {
	gap: var(--spacer-10);
}

@media(max-width:1024px) {
	.two-column.small.elementor-widget-icon-list ul li {
		flex: 100%;
	}
}
@media(max-width:767px) {
	.two-column.elementor-widget-icon-list ul li {
		flex: 100%;
	}
}

/* */

.no-caps .elementor-heading-title,
.no-caps.elementor-widget-text-editor p,
.no-caps.elementor-widget-icon-box .elementor-icon-box-title span,
.no-caps.elementor-widget-image-box .elementor-image-box-title {
	text-transform: none !important;
}

.hexagon-headline {
	aspect-ratio: 46 / 41;
	display: flex;
	align-items: center;
}

.strong-accent strong {
	font-weight: 400;
	color: var(--e-global-color-accent);
}

.e-n-accordion-item-title-icon svg {
	width: var(--n-accordion-icon-size) !important;
}

/*** GLOBALS ENDE ***/


/*** NAVIGATION/HEADER/POPUP ***/
.main-menu .e-n-menu-item .e-n-menu-title {
	position: relative;
}
.main-menu .e-n-menu-item:has(.e-active) .e-n-menu-title::after {
	content: "" !important;
	width: 100%;
	height: 1px !important;
	background: var(--e-global-color-accent);
	position: absolute;
	bottom: calc(var(--spacer-40) * -1);
	left: 0;
	border: none !important;
}
.main-menu .sub-menu .menu-item:has(.elementor-item-active, :hover) {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.main-menu .sub-menu .menu-item:has(.elementor-item-active, :hover)::before {
	content: "" !important;
	background: url(/wp-content/uploads/2023/10/arrow.svg) no-repeat center/contain;
	width: 28px;
	height: 18px;
}
.main-menu .sub-menu ul li:not(:last-of-type) {
	border-bottom: 1px solid rgba(29, 40, 65, 0.30);
}

.wpml-ls-legacy-dropdown {
	width: max-content;
	display: flex;
	align-items: center;
	gap: 6px;
}
.wpml-ls-legacy-dropdown::before {
	content: "";
	background: url(/wp-content/uploads/2023/10/globe.svg) no-repeat center/contain;
	width: 1rem;
	height: 1rem;
}
.wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
	background: url(/wp-content/uploads/2023/10/angle-down.svg) no-repeat center/contain;
	border: none;
	width: 10px;
	height: 6px;
}
.wpml-ls-legacy-dropdown a {
	border: none;
	padding: 0;
}

#mobile-menu ul a.has-submenu {
	justify-content: space-between;
}
#mobile-menu ul.sub-menu {
	position: static;
	margin: 0;
	padding-bottom: 20px;
}
#mobile-menu ul.sub-menu li a {
	line-height: var(--e-global-typography-d98887b-line-height);
}
#mobile-menu ul li:not(.sub-menu *) {
	border-bottom: 1px solid rgba(103, 115, 134, 0.30);
}
#mobile-menu .sub-arrow {
	margin: 0;
	padding: 0;
	background: url(/wp-content/uploads/2023/10/plus.svg) no-repeat center/contain;
	width: 16px;
	height: 16px;
}
#mobile-menu .highlighted .sub-arrow {
	background: url(/wp-content/uploads/2023/10/minus.svg) no-repeat center/contain;
}
#mobile-menu .sub-arrow svg {
	display: none;
}


.toplink svg path {
	fill: var(--e-global-color-primary);
}
.toplink a:hover svg path {
	fill: white;
}

.search-form svg path {
	fill: white !important;
}

/*** NAVIGATION/HEADER/POPUP ENDE ***/


/*** FOOTER ***/

/*** FOOTER ENDE ***/


/*** WEITERE ELEMENTE ***/
#breadcrumbs>span>span:not(.breadcrumb_last) {
	display: inline-flex;
	align-items: center;
}
#breadcrumbs>span>span:not(.breadcrumb_last)::after {
	content: "";
	background: url('/wp-content/uploads/2026/02/angle.svg') no-repeat center/contain;
	display: inline-block;
	width: 10px;
	height: 15px;
	margin: 0 0.625rem 0 1rem;
}

/*** COOKIEBOT YOUTUBE ***/
.custom-video{
	line-height: 0;
}
.custom-video iframe,
.custom-video .cookieconsent-optout-marketing div {
	aspect-ratio: 16 / 9;
}
.custom-video .cookieconsent-optout-marketing div {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	background-color: rgba(0, 0, 0, 0.5);
}
.custom-video .cookieconsent-optout-marketing div a {
	color: var(--e-global-color-1af7315);
	width: 75%;
	line-height: 1.6
}

/*** COOKIEBOT YOUTUBE UND GOOLGLE MAPS ENDE ***/


.start-hero .e-n-carousel{
	height: calc(90vh - var(--header-height));
}

.certificate-carousel .ue-item {
	padding: var(--spacer-100) var(--spacer-120);
	flex-direction: row !important;
	gap: var(--spacer-40);
	--cut: clamp(40px, 7.8125vw, 150px);
}
.certificate-carousel .ue-item>* {
	flex: 50%;
}
.certificate-carousel .ue-item .uc_dark_carousel_content {
	justify-content: flex-end;
}
.certificate-carousel .ue-item .uc_dark_carousel_placeholder img {
	max-width: 275px;
}
.certificate-carousel .ue-item p {
	margin-block-end: 0;
}
.certificate-carousel .ue-item .ue-content-bottom {
	margin-top: var(--spacer-40) !important;
}

.ue-remote-arrow:not(.white-arrows *) svg path {
	stroke: var(--e-global-color-text);
}

@media(max-width: 1024px) {
	.certificate-carousel .ue-item {
		padding: var(--spacer-80) var(--spacer-80);

	}
}

@media(max-width: 767px) {
	.certificate-carousel .ue-item {
		flex-direction: column !important;
		padding: var(--spacer-60) var(--spacer-40);
		gap: var(--spacer-40);
	}
	.certificate-carousel .ue-item>* {
		flex: 100%;
	}
}

.patents-carousel .ue-item>.uc_dark_carousel_placeholder {
	flex: 30%;
}
.patents-carousel .ue-item>.uc_dark_carousel_content {
	flex: 70%;
	justify-content: flex-start;
}

.elementor-widget-image-carousel .swiper-wrapper {
	align-items: stretch;
}
.elementor-widget-image-carousel:not(.no-cut) .swiper-slide {
	--cut: clamp(70px, 9.375vw, 180px);
	clip-path: polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
	height: auto;
}
.elementor-widget-image-carousel .swiper-slide :is(figure, img) {
	height: 100%;
	object-fit: cover;
}
.elementor-widget-image-carousel .swiper-pagination {
	bottom: calc(var(--spacer-40) * -1) !important;
	display: flex;
	justify-content: center;
	align-items: center;
}
.elementor-widget-image-carousel .swiper-pagination .swiper-pagination-bullet {
	border-radius: 0;
}
.elementor-widget-image-carousel .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	width: 16px;
	height: 16px;
}


.img-back-carousel .owl-item {
	--cut: clamp(40px, 7.8125vw, 150px);
	/*clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 0);*/
}
.img-back-carousel .uc_dark_carousel_placeholder {
	position: absolute !important;
	width: 100%;
	height: 100% !important;
	z-index: 0;
}
.img-back-carousel .uc_dark_carousel_content {
	background: linear-gradient(180deg, #00132F00, rgb(0 11 38 / 70%));
	z-index: 1;
	justify-content: flex-end;
}
.img-back-carousel .uc_dark_carousel_content p:empty {
	display: none;
}

@media(max-width:1024px) {
	.ue-remote-tabs {
		overflow-x: scroll;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.ue-remote-tabs::-webkit-scrollbar {
		display: none;
		/* Older Safari and Chromium */
	}
	
	.ue-remote-tabs .uc-items-wrapper{
		justify-content: flex-start !important;
	}
	.ue-remote-tabs .ue-item {
		flex-shrink: 0;
	}
}

.custom-carousel .swiper {
	margin-bottom: var(--spacer-40);
}
.custom-carousel .swiper-slide {
	--cut: clamp(40px, 7.3vw, 140px);
	min-height: 560px;
	/*clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%, 0 0);*/
}
.custom-carousel .elementor-swiper-button {
	position: static !important;
	transform: none !important;
}

@media(max-width: 1024px) {
	.custom-carousel .swiper-slide {
		min-height: 400px;
	}
}
@media(max-width: 767px) {
	.custom-carousel .swiper-slide {
		min-height: 300px;
	}
}


.pipac-historie-carousel .ue-item{
    flex-direction: row!important;
    padding: var(--spacer-40);
    gap: var(--spacer-80)
}
.pipac-historie-carousel .ue-item >*{
    width: 100%;
}
.pipac-historie-carousel .ue-item img{
    border-radius: var(--r);
    height: auto;
    max-height: 600px;
    width: auto !important;
    max-width: 100%;
}
.pipac-historie-carousel .img-caption{
	margin-top: var(--spacer-20);
}
@media(max-width: 767px){
    .pipac-historie-carousel .ue-item{
        flex-direction: column !important;
        gap: var(--spacer-20);
    }
}


.elementor-widget-hotspot .elementor-widget-container {
	max-width: 100% !important;
}
.elementor-widget-hotspot .e-hotspot .e-hotspot__button {
	/*--edge-size: 0.8em;
    clip-path: polygon(
        0 0,
	    0 0,
        100% 0,
        100% calc(100% - var(--edge-size)),
        calc(100% - var(--edge-size)) 100%,
        0 100%
    );*/

	padding: 13px 50px 13px 25px !important;
	--r: 10px;
	--cut-x: 26px;
	--cut-y: 22px;

	clip-path: shape(from 100% var(--r),
			curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--r)),
			curve to var(--r) 100% with 0% calc(100% - var(--r) * 0.448) / calc(var(--r) * 0.448) 100%,
			hline to calc(100% - var(--cut-x)),
			curve to calc(100% - var(--cut-x) * 0.513) calc(100% - var(--cut-y) * 0.257) with calc(100% - var(--cut-x) * 0.817) 100% / calc(100% - var(--cut-x) * 0.642) calc(100% - var(--cut-y) * 0.106),
			line to calc(100% - var(--cut-x) * 0.116) calc(100% - var(--cut-y) * 0.722),
			curve to 100% calc(100% - var(--cut-y)) with calc(100% - var(--cut-x) * 0.053) calc(100% - var(--cut-y) * 0.795) / calc(100% - var(--cut-x) * 0.018) calc(100% - var(--cut-y) * 0.896),
			vline to var(--r),
			close);
}
.elementor-widget-hotspot .e-hotspot__button .e-hotspot__icon {
	filter: brightness(0) invert(1);
}
.elementor-widget-hotspot .e-hotspot .e-hotspot__tooltip {
	/*--edge-size: 40px;
	clip-path: polygon(
        0 0,
	    0 0,
        100% 0,
        100% calc(100% - var(--edge-size)),
        calc(100% - var(--edge-size)) 100%,
        0 100%
    );*/
	--cut: var(--spacer-50);
	clip-path: shape(from 100% var(--r),
			curve to calc(100% - var(--r)) 0% with 100% calc(var(--r) * 0.448) / calc(100% - var(--r) * 0.448) 0%,
			hline to var(--r),
			curve to 0% var(--r) with calc(var(--r) * 0.448) 0% / 0% calc(var(--r) * 0.448),
			vline to calc(100% - var(--r)),
			curve to var(--r) 100% with 0% calc(100% - var(--r) * 0.448) / calc(var(--r) * 0.448) 100%,
			hline to calc(100% - var(--cut)),
			curve to calc(100% - var(--cut) * 0.645) calc(100% - var(--cut) * 0.165) with calc(100% - var(--cut) * 0.87) 100% / calc(100% - var(--cut) * 0.74) calc(100% - var(--cut) * 0.058),
			line to calc(100% - var(--cut) * 0.055) calc(100% - var(--cut) * 0.851),
			curve to 100% calc(100% - var(--cut)) with calc(100% - var(--cut) * 0.02) calc(100% - var(--cut) * 0.898) / 100% calc(100% - var(--cut) * 0.944),
			vline to var(--r),
			close);
}

@media(max-width: 1024px) {
	.elementor-widget-hotspot:not(.tower-hotspots) .e-hotspot {
		display: none;
	}
}

.elementor-widget-posts .elementor-post .elementor-post__text {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.elementor-widget-posts .elementor-post .elementor-post__text .elementor-post__read-more {
	padding: 13px 25px 13px 25px;
	--bg: var(--e-global-color-e3aecc0);
}


/* Downloads */
.kataloge>.e-con:nth-of-type(2n + 1) {
	background: var(--e-global-color-e3aecc0);
}
.kataloge>.e-con:nth-of-type(2n + 1) .elementor-button {
	--bg: var(--e-global-color-e3aecc0)
}



/* Startseite Karriere Teaser in EN ausblenden */
html[lang="en-US"] .hide-en {
	display: none;
}

:is(.menu-hover-imgs, .hover-img-list-imgs) .elementor-widget-image {
	display: none;
}
:is(.menu-hover-imgs, .hover-img-list-imgs) .elementor-widget-image.active {
	display: block;
}
:is(.menu-hover-imgs, .hover-img-list-imgs):not(:has(.active)) .elementor-widget-image:first-child {
	display: block;
}



/* Arthoskopie System Lynx Tower */
.system>section>.e-con-inner {
	padding-right: var(--spacer-120);
}

@media(max-width: 1024px) {
	.system>section>.e-con-inner {
		padding-right: 0;
	}
}

.system-sidebar-wrapper {
	position: absolute;
	top: 0;
	right: var(--spacer-30);
	pointer-events: none;
}
.system-sidebar-list {
	position: sticky;
	top: 30vh;
	backdrop-filter: blur(8px);
	pointer-events: auto;
}
.system-sidebar-list nav.elementor-nav-menu--layout-vertical ul.sub-menu {
	position: static;
	display: block;
	margin: 0;
	background: transparent;
	width: auto;
}
.system-sidebar-list ul li a.elementor-item-active {
	gap: var(--spacer-10);
}
.system-sidebar-list ul li a.elementor-item-active::before {
	content: url(/wp-content/uploads/2026/02/angle.svg);
	position: absolute;
	left: calc(var(--spacer-10) * -1);
	translate: -100% 0;
}
.system-sidebar-list ul.sub-menu li a.elementor-item-active::before {
	left: 0;
	translate: 0;
}

.tower-hotspots .e-hotspot__icon {
	filter: none !important;
}
.tower-hotspots .e-hotspot__label {
	line-height: 1.3em;
}
.tower-hotspots a.e-hotspot .e-hotspot__button {
	padding: 10px 20px !important;
}
.tower-hotspots a.e-hotspot::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	height: 1px;
	width: 7vw;
	background: var(--e-global-color-af5d341);
	translate: -100% -50%;
}
.tower-hotspots a.e-hotspot::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -7vw;
	height: 8px;
	width: 8px;
	background: var(--e-global-color-af5d341);
	translate: -100% -50%;
}
.tower-hotspots .e-hotspot__button:hover .e-hotspot__label {
	color: var(--e-global-color-accent);
}

@media(max-width: 767px) {
	.tower-hotspots .e-hotspot {
		display: none;
	}
}


.ug-gallery-wrapper{
	height: auto !important;
	display: flex !important;
	flex-direction: column-reverse;
}
.ug-gallery-wrapper .ug-slider-wrapper{
	background-color: transparent !important;
	position: relative !important;
	aspect-ratio: 3 / 2;
	height: auto !important;
}
.ug-gallery-wrapper .ug-slider-wrapper .ug-slider-inner{
	height: 100% !important;
}
.ug-gallery-wrapper .ug-slider-wrapper .ug-slider-inner .ug-slide-wrapper{
	height: 100% !important;
}
.ug-gallery-wrapper .ug-slider-wrapper .ug-slider-inner .ug-slide-wrapper .ug-item-wrapper{
	position: static;
	height: 100% !important;
}
.ug-gallery-wrapper .ug-slider-wrapper .ug-slider-inner .ug-slide-wrapper .ug-item-wrapper img{
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: top;
}
.ug-gallery-wrapper .ug-strip-panel{
	position: static !important;
	background-color: transparent !important;
}
.ug-gallery-wrapper .ug-strip-panel .ug-thumbs-strip{
	position: relative !important;
}

	
.produktsysteme-thumbnail-slider .owl-carousel:not(.uc-carousel-slider-thumbs-wrapper *) .owl-item .item {
	aspect-ratio: 3 / 2;
	height: auto !important;
	width: 75%;
	margin: 0 auto;
}
.produktsysteme-thumbnail-slider .uc-carousel-slider-thumbs-wrapper .owl-item a.ue-thumb-holder {
	border: 1px solid var(--e-global-color-primary);
	padding: 10px;
}
.produktsysteme-thumbnail-slider .uc-carousel-slider-thumbs-wrapper .owl-item:is(:hover, .active) a.ue-thumb-holder {
	border: 1px solid var(--e-global-color-accent);
}
.produktsysteme-thumbnail-slider .uc-carousel-slider-thumbs-wrapper .owl-item.cloned {
	opacity: 0;
}

.produktsysteme-thumbnail-gallery .ug-item-wrapper img {
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
}


.pipac-thumbnail-slider .owl-item .ue-main-item{
	height: auto !important;
	aspect-ratio: 23 / 10;
}
.pipac-thumbnail-slider .owl-item .ue-thumb-holder .item.ue-thumb{
    height: auto;
    aspect-ratio: 2.31 / 1;
}


/*** WEITERE ELEMENTE ENDE ***/