/* Accordion
--------------------------------------------------------- */
.tab-title {
	padding: var(--gap-default) var(--gap-default);
	cursor:pointer;
	display: inline-flex;
	align-items:center;
	width: 100%;
	grid-gap: var(--gap-default);
	background: none;
	border: none;
}
.tab-title:hover {
	background: none;
}
.tab-content {
	display: none;
	padding: var(--gap-default);
}
.accordion-title {
	display: inline-block;
	line-height: 1;
	text-align: left;
}
.accordion-icon {
	height: 100%;
	display: inline-flex;
	align-items:center;
	justify-content: center;
}
.accordion-icon-opened,
.accordion-icon-closed,
.accordion-icon-opened svg,
.accordion-icon-closed svg {
	height: 26px;
	width: 26px;
}
.accordion-icon-opened,
.accordion-item.active .accordion-icon-closed {
	display: none;
}
.elementor-editor-active .tab-content,
.accordion-item.active .accordion-icon-opened {
	display: block;
}

.acc-no-padding .tab-title {
	padding: var(--gap-default) 0;
}
.acc-no-padding .tab-content {
	padding: 0 0 var(--gap-default) 0;
}

/* Image & Text
--------------------------------------------------------- */
.it-text-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.widget-image-text.img-pos-top > .container > .grid {
	grid-gap:0;
}
.widget-image-text.img-pos-top > .container .it-text-col {
	padding: var(--gap-default) 0 0 0 !important;
}
@media (min-width: 768px) {
	.widget-image-text > .container.fullwidth .it-text-col {
		padding: var(--space-s);
	}
	.img-pos-left .it-text-col {
		padding-left: var(--gap-half);
	}
	.img-pos-right .it-text-col {
		padding-right: var(--gap-half);
	}
	.img-pos-left .it-image-col,
	.img-pos-right .it-image-col {
		width: calc(100% + var(--gap-half));
	}
	.img-pos-left .it-image-col {
		margin-right: calc(var(--gap-half) * -1);
	}
	.img-pos-right .it-image-col {
		margin-left: calc(var(--gap-half) * -1);
	}
}
@media (min-width: 1025px) {
	.widget-image-text > .container.fullwidth .it-text-col {
		padding: var(--space-m);
	}
}
@media (max-width:767px) {
	.widget-image-text > .container.fullwidth {
		padding-left: var(--gap-default);
		padding-right: var(--gap-default);
	}
	.elementor-inner-section .widget-image-text > .container.fullwidth {
		padding-left: 0;
		padding-right: 0;
	}
	.widget-image-text .it-image-col {
		grid-row: 1;
	}
	.widget-image-text .it-text-col {
		grid-row: 2;
	}
	.it-image-col {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Image Boxes
--------------------------------------------------------- */
.widget-image-boxes > .container > .flex {
	width: calc(100% + var(--gap-default));
	margin-left: calc(var(--gap-half)* -1);
	margin-right: calc(var(--gap-half)* -1);
}

/* Logos
--------------------------------------------------------- */
.logo-swiper::after {
	content:"";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	z-index: 0;
	pointer-events: none;
	border-width: 2px 0 2px 0;
	border-color: rgba(0,0,0,.2);
	border-style: solid;
}
.widget-logos.has-pagination.logo-type-slider .swiper-container.logo-swiper::after,
.logo-swiper.has-pagination.logo-type-slider::after {
	height: calc(100% - 50px);
}
.widget-logos.has-pagination.logo-type-slider .swiper-container {
	padding-bottom: 50px;
}
.logo-swiper .swiper-button-next,.logo-swiper .swiper-button-prev {
	top: 0;
	bottom: 0;
	margin:auto;
}
.widget-logos.has-pagination .logo-swiper .swiper-button-next, .widget-logos.has-pagination .logo-swiper .swiper-button-prev {
	top: calc(50% - 4rem);
	bottom: auto;
}
.swiper-slide.logo-item {
	height: auto;
	width:auto;
}
.logo-item {
	padding: 10px 20px;
}
.logo-inner {
	display: inline-flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.image-style-bw .logo-inner {
	filter: grayscale(1);
	opacity: .3;
}
.logo-inner:focus-visible,
.logo-inner:hover {
	filter: grayscale(0);
	opacity: 1;
}
.swiper-slide.logo-item .logo-inner {
	height: 120px;
}
.logo-inner img {
	display: block;
	width: 100%;
	max-height: 120px;
	max-width: 200px !important;
	object-fit:contain;
}
.e--ua-firefox .logo-inner img {
	min-width:200px;
}
@media (max-width:1024px) {
	.logo-wrapper.grid {
		grid-template-columns: repeat(12, 1fr);
	}
}
@media (max-width:767px) {
	.logo-wrapper.grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Slideshow
--------------------------------------------------------- */
.widget-slideshow.has-pagination .swiper-container {
	padding-bottom: 4rem;
}
.widget-slideshow.has-pagination .swiper-container .swiper-button-next,
.widget-slideshow.has-pagination .swiper-container .swiper-button-prev {
	top: calc(50% - 2rem);
}
.auto-width-slider .swiper-slide {
	width: auto;
}
.auto-width-slider .cover {
	height: 100%;
}
#content .auto-width-slider .cover img {
	height: 100%;
	width: auto;
}
.slideshow-item {
	position: relative;
}
.slideshow-content-wrapper {
	top:0;
	left:0;
	position: absolute;
	width:100%;
	height:100%;
	z-index: 10;
	background: linear-gradient(to right, rgba(0,0,0,.7), transparent);
}
.slideshow-overlay {
	top:0;
	left:0;
	position: absolute;
	width:100%;
	height:100%;
	z-index: 5;
	pointer-events:none;
}

/* Testimonials
--------------------------------------------------------- */
.tm-style-3 .tm-inner {
	padding: 40px;
	position: relative;
}
.tm-style-3 .tm-inner svg {
	position: absolute;
	top:-2.5px;
	left:-2.5px;
	padding: 5px;
	z-index: 3;
	background: var(--c-site-background);
}
.tm-style-3 .tm-inner::before,
.tm-style-3 .tm-inner::after {
	content:"";
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: linear-gradient(to right bottom, var(--c-secondary), var(--c-primary));
	border-radius: 20px;
}
.tm-style-3 .tm-inner::before {
	background: var(--c-site-background);
	top:2px;
	left:2px;
	z-index: 1;
	width: calc(100% - 4px);
	height: calc(100% - 4px);
}
.tm-style-3 .tm-title-wrapper,
.tm-style-3 .tm-content-wrapper {
	position: relative;
	z-index: 2;
}
.tm-style-3 .tm-content-wrapper p {
	padding-bottom:0 !important;
}
.tm-style-2-icon {
	height: 11px;
	width:63px;
	background: var(--bg-gradient);
}
/* testimonial swiper */
.testimonial-swiper {
	padding: 60px;
	margin-left: -60px;
	margin-right: -60px;
	padding-bottom: 4rem;
}
.testimonial-swiper .swiper-slide.swiper-slide-visible.swiper-slide-prev,
.testimonial-swiper .swiper-slide {
	height: auto;
	opacity: 0;
	pointer-events:none;
	visibility: hidden;
}
.elementor-editor-active .testimonial-swiper .swiper-slide,
.testimonial-swiper .swiper-slide.swiper-slide-visible {
	opacity: 1;
	pointer-events:all;
	visibility: visible;
}
.testimonial-swiper .swiper-button-prev {
	left: 0;
}
.testimonial-swiper .swiper-button-next {
	right: 0;
}
@media (min-width:1081px) {
	.widget-testimonial > .container.xlarge .testimonial-swiper,
	.widget-testimonial > .container.fullwidth .testimonial-swiper {
		margin-left: 0;
		margin-right: 0;
	}
}
@media (max-width:1200px) {
	.testimonial-swiper {
		padding: 20px 20px 60px;
		margin-left: -20px;
		margin-right: -20px;
	}
	.testimonial-swiper .swiper-button-prev,
	.testimonial-swiper .swiper-button-next {
		display: none;
	}
}

/* Galerie
--------------------------------------------------------- */
.gallery-item {
	display: none;
}
.gallery-item.active {
	display: block;
}
.filebird-filternav {
	margin-bottom: calc(var(--gap-default) + var(--gap-half));
}
.fb-filternav-item {
	font-size: var(--fs-xs);
	line-height: var(--lh-s);
	padding: 1rem 2rem;
	display: inline-block;
	margin: 0 var(--gap-half) var(--gap-half) 0;
	background-color: var(--c-lightest-gray);
	cursor:pointer;
	border-radius: var(--border-radius);
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.fb-filternav-item:last-child {
	margin-right: 0;
}
.fb-filternav-item:hover,
.fb-filternav-item.active {
	background-color: var(--c-primary);
	color: var(--c-white);
}
.fb-filternav-item.active {
	cursor: default;
}

/* Table
--------------------------------------------------------- */
.widget-table {
	color: var(--c-text);
	overflow: auto;
	width: calc(100% - (var(--gap-default) * 2));
	position: relative;
	margin-left: var(--gap-default);
	margin-right: var(--gap-default);
}
@media (max-width:1500px) {
	.widget-table > .container {
		padding-left: 0;
		padding-right: 0;
	}
}

.widget-table table {
	width: auto;
	min-width: var(--container-width-s);
	border-collapse: collapse;
	border-style: solid;
	border-width: 1px 0 0 1px;
	border-color: #e9e9e9;
}
.widget-table th,
.widget-table td {
	text-align:left;
	padding: var(--gap-half) var(--gap-default);
	vertical-align: top;
	border-style: solid;
	border-width: 0 1px 1px 0;
	border-color: var(--c-lightest-gray);
}
.widget-table th {
	border-width: 0 1px 2px 0;
	position: relative;
	background-color: var(--c-lightest-gray);
}
.widget-table th::after {
	content:"";
	height: 2px;
	width: 100%;
	position: absolute;
	left:0;
	bottom:0;
	background: var(--bg-gradient);
}
.widget-table th p:last-child,
.widget-table td p:last-child {
	margin-bottom: 0;
}
.widget-table thead tr th {
	background-color: var(--c-primary);
	color: var(--c-white);
}
.widget-table thead tr th a {
	color: var(--c-white);
	text-decoration: underline;
	opacity: 0.8;
}
.widget-table thead tr:hover th {
	background-color: var(--c-primary-alt);
	color: var(--c-white);
}

/* Counter
--------------------------------------------------------- */
.counter-item {
	margin-bottom: var(--gap-default);
}
.counter-number-wrap {
	/* font-size: clamp(2.4rem, 1.667rem + 2.200vw, 5rem) !important; */
	font-size: clamp(2.2rem, 1.111rem + 2.600vw, 5rem) !important;
}
.counter-text {
	/* font-size: clamp(2.0rem, 1.850rem + 0.800vw, 3.1rem) !important; */
	font-size: clamp(1.9rem, 1.472rem + 1.000vw, 3rem) !important;
}
.counter-content {
	font-size: clamp(1.5rem, 1.383rem + 0.300vw, 1.8rem);
}

/* Posts Advanced
--------------------------------------------------------- */
.loadmore {
	cursor:pointer;
}
.spinner {
	display:none !important;
}
.loadmore.spinning .spinner {
	display:inline-block !important;
}
.spinner,
.spinner::after,
.spinner::before {
	box-sizing: border-box;
	position: relative;
	display: block;
	width: 20px;
	height: 20px
}
.spinner::after,
.spinner::before {
	content: "";
	position: absolute;
	border-radius: 100px
}
.spinner::before {
	animation: spinner 1s cubic-bezier(.6,0,.4,1) infinite;
	border: 3px solid transparent;
	border-top-color: currentColor
}
.spinner::after {
	border: 3px solid;
	opacity: .2
}
@keyframes spinner {
	0% { transform: rotate(0deg) }
	to { transform: rotate(359deg) }
}
.pagination-item {
	display: inline-flex;
	margin: 5px;
	width: 50px;
	height: 50px;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	border: 2px solid transparent;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.pagination-item:hover {
	color: var(--c-primary);
}
.pagination-number.active {
	color: var(--c-primary);
	border-color: var(--c-primary);
}

/* Banner Slideshow
--------------------------------------------------------- */
.swiper-slide.banner-slideshow-item {
	width: 100% !important;
	overflow:hidden;
}
.banner-slideshow-item .slideshow-image,
.banner-slideshow-item {
	aspect-ratio: 1437 / 816;
	min-height: 400px;
}
.banner-slideshow-item .slideshow-text p:last-child {
	margin-bottom: 0;
}
.banner-slideshow-item .slideshow-title,
.banner-slideshow-item .slideshow-text,
.banner-slideshow-item .slideshow-button-wrapper {
	opacity: 0;
	transform:translateY(20px);
}
.slideshow-text {
	font-size: 18px;
}
.slideshow-text.text-bg p {
	padding: 3px 10px;
}
.banner-slideshow-item .slideshow-button-wrapper,
.banner-slideshow-item .slideshow-title {
	transition: all var(--a-timing-default) var(--a-easing-default);
	transition-delay: .4s;
}
.banner-slideshow-item .slideshow-text {
	transition: all var(--a-timing-default) var(--a-easing-default);
	transition-delay: .6s;
}
.banner-slideshow-item .slideshow-button-wrapper {
	transition-delay: .8s;
}
.elementor-editor-active .banner-slideshow-item .slideshow-title,
.elementor-editor-active .banner-slideshow-item .slideshow-text,
.elementor-editor-active .banner-slideshow-item .slideshow-button-wrapper,
.banner-slideshow-item.swiper-slide-active .slideshow-title,
.banner-slideshow-item.swiper-slide-active .slideshow-text,
.banner-slideshow-item.swiper-slide-active .slideshow-button-wrapper {
	opacity: 1 !important;
	transform:translateY(0) !important;
}
@media (min-width: 767px) {
	.banner-slideshow-item .slideshow-button {
		margin-top: var(--space-xs);
	}
	.slideshow-text {
		font-size: 24px;
	}
}
@media (max-width:1080px) {
	.banner-slideshow-item .slideshow-content {
		grid-column: span 6;
		padding: 0 70px;
	}
}
@media (max-width: 767px) {
	.nosun-widget.widget-banner-slideshow .swiper-button-prev,
	.nosun-widget.widget-banner-slideshow .swiper-button-next {
		display: none;
	}
	.banner-slideshow-item .slideshow-content {
		padding: 0 var(--gap-default);
	}
}

/* Leistungskategorien
--------------------------------------------------------- */
.elementor-widget-leistungskategorien {
	overflow: hidden;
}
.swiper-slide.leistungskategorie {
	/* opacity: .29; */
	position:relative;
	height: auto;
}
/* .widget-leistungskategorien.bg-color-c-lightest-gray .leistungskategorie {
	background-color: var(--c-site-background);
}
.widget-leistungskategorien.bg-color-c-site-background .category-link {
	background-color: var(--c-site-background);
} */
.widget-leistungskategorien .lk-content-container {
	background-color: var(--c-lightest-gray);
}
.widget-leistungskategorien.bg-color-c-lightest-gray .lk-content-container {
	background-color: var(--c-site-background);
}
body .lk-slider-nav-below .swiper-button-prev,
body .lk-slider-nav-below .swiper-button-next {
	background: var(--c-lightest-gray);
}
body .widget-leistungskategorien.bg-color-c-lightest-gray .lk-slider-nav-below .swiper-button-prev,
body .widget-leistungskategorien.bg-color-c-lightest-gray .lk-slider-nav-below .swiper-button-next {
	background: var(--c-site-background);
}
.swiper-slide.leistungskategorie::after {
	content:"";
	position: absolute;
	bottom:0;
	left:0;
	width: 100%;
	height: 5px;
	pointer-events: none;
	background: var(--bg-gradient);
}
.swiper-slide.leistungskategorie.swiper-slide-visible {
	opacity: 1;
}
.lk-image-container {
	aspect-ratio: 460 / 358;
	position: relative;
	width: 100%;
}
.lk-headline {
	position: absolute;
	top: 40%;
	left: var(--space-s);
	z-index: 2;
	max-width: calc(100% - var(--space-s) - var(--gap-default));
}
.lk-headline p {
	box-shadow: 0 10px 14px rgba(0,0,0,.16);
}
.lk-content-container {
	padding: var(--gap-default);
	/* background-color: var(--c-lightest-gray); */
}

/* temporary fix */
/* .bp-desc,
.lk-desc {
	font-size: 18px !important;
	min-height: 192px;
}
@media (min-width: 1081px) {
	.nosun-swiper-navigation.bp-navigation {
		display: none !important;
	}
} */


.leistungskategorie h2.category-link a {
	color: var(--c-text);
}
.leistungskategorie h2.category-link a:hover {
	color: var(--c-primary);
}
.bp-slider-nav-below,
.lk-slider-nav-below {
	padding: 40px 0;
	position: relative;
}
.bp-navigation,
.lk-navigation {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	grid-gap: 10px;
}
.bp-slider-nav-below .swiper-pagination,
.lk-slider-nav-below .swiper-pagination {
	position: static !important;
	width: auto !important;
	vertical-align: top;
}
.bp-slider-nav-below .swiper-button-prev,
.bp-slider-nav-below .swiper-button-next,
.lk-slider-nav-below .swiper-button-prev,
.lk-slider-nav-below .swiper-button-next {
	position: static;
	display: inline-flex;
	background: #fff;
}
.bp-slider-nav-below .swiper-button-prev,
.lk-slider-nav-below .swiper-button-prev {
	left:auto;
	right: 40px;
}
.lk-navigation,
.bp-navigation,
.archive-link {
	width: 100%;
	max-width: 300px;
}
.archive-link .button {
	margin-bottom: 0 !important;
}
@media (min-width: 1500px) {
	.swiper-slide.leistungskategorie {
		opacity: .29;
	}
}
@media (min-width: 1081px) {
	.lk-content-container {
		padding: 5.5rem 5.0rem;
	}
}
@media (max-width:1080px) {
	.lk-slider-nav-below .swiper-pagination {
		display: none;
	}
}
@media(max-width:767px) {
	.lk-headline {
		top:auto;
		bottom: calc(var(--gap-default) + 10px);
		left: var(--gap-default);
		max-width: calc(100% - (var(--gap-default) * 2))
	}
	.lk-image-container {
		max-height: 300px;
	}
	.bp-slider-nav-below,
	.lk-slider-nav-below {
		flex-wrap: wrap;
	}
	.bp-navigation,
	.lk-navigation {
		max-width: 100%;
		width: 100%;
		margin-bottom: 20px;
		order: 1;
	}
	.archive-link {
		order: 2;
		text-align:left;
	}
}

/* Referenzen slider
--------------------------------------------------------- */
.widget-referenzen {
	overflow: hidden;
}
.referenz {
	width: 40vw;
	max-width: 714px;
	min-width: 320px;
}
.widget-referenzen .r-outer {
	position: relative;
}
.widget-referenzen .r-inner {
	/* width: 100vw; */
}
.rs-pag-wrapper {
	padding-top:var(--space-s);
	position: relative;
}
.rs-pag-wrapper .swiper-pagination {
	position: static !important;
	text-align:left;
}
.r-image-container {
	overflow: hidden;
	aspect-ratio: 714 / 495;
	width: 100%;
}
.r-image-container img {
	transition: all .7s ease-out;
}
.referenz:hover img {
	transform: scale(1.1);
}
.r-title-container h3 {
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.referenz:hover .r-title-container h3 {
	color: var(--c-primary);
}
.rd-swiper-full .swiper-slide.rd-slide {
	width: 100% !important;
}
.rd-swiper-thumbs .swiper-slide.rd-slide {
	width: calc(25% - 19px) !important;
	cursor:pointer;
}
.swiper-button-next.rd-swiper-button-next,
.swiper-button-prev.rd-swiper-button-prev {
	top: 0;
	bottom: 0;
	margin:auto;
}
@media (min-width:768px) {
	.r-text-col {
		padding-right: var(--space-s);
	}
}
@media (max-width:767px) {
	.referenz-detail .rd-gallery-container {
		grid-row: 2;
		grid-column: 1;
	}
	.referenz-detail .rd-content-container {
		grid-row: 1;
		grid-column: 1;
		text-align:left !important;
		padding: 0;
	}
	.referenz-detail .rd-content-container .wysiwyg p:last-child {
		margin-bottom: 0;
	}
}

/* Counter
--------------------------------------------------------- */
.widget-counter {
	background: var(--bg-gradient);
}
.counter-slider .swiper-wrapper {
	align-items: center;
	height: 540px;
}
body .nosun-widget.widget-counter .swiper-pagination .swiper-pagination-bullet {
	background-color: var(--c-site-background) !important;
}
.counter-item {
	margin-top: var(--gap-default);
	align-items: center;
	display: inline-flex;
	justify-content: center;
}
.counter-item .flex-col-inner {
	aspect-ratio: 1 / 1;
	padding: 60px;
	position: relative;
	max-width: 461px;
	transition: all var(--a-timing-default) var(--a-easing-default);
	
	display: flex;
	align-items: center;
}
.counter-item.box-style-default .flex-col-inner {
	max-width: 100%;
}
@media (min-width: 768px) {
	.counter-item.box-style-default .flex-col-inner {
		max-width: 410px;
	}
}
@media (min-width: 1081px) {
	.swiper-slide-visible.swiper-slide-next.counter-item.box-style-default .flex-col-inner {
		max-width: 461px;
	}
}
.counter-item .flex-col-inner::before,
.counter-item .flex-col-inner::after {
	content:"";
	aspect-ratio: 1 / 1;
	position: absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	border-radius: 50%;
	background-color: var(--c-site-background);
	pointer-events: none;
	width: 100%;
	/* height: 100%; */
}
.counter-item .flex-col-inner::after {
	z-index: 2;
	width: calc(100% - 40px);
	/* height: calc(100% - 40px); */
	border: 5px solid var(--c-bg-invert);
}
.counter-text {
	position: relative;
}
.counter-text::after {
	content:"";
	position: absolute;
	left:0;
	right: 0;
	bottom: -2.5px;
	width: 100%;
	max-width: 136px;
	height: 5px;
	margin: auto;
	background: var(--bg-gradient);
}
.counter-content-wrapper {
	z-index: 3;
	position: relative;
}
@media (max-width:1220px) and (min-width:768px) {
	.widget-counter .flex.cols-3 .flex-col {
		flex-basis: calc(100% / 2);
	}
}
@media (max-width:767px) {
	.counter-item .flex-col-inner,
	.counter-item.box-style-default .flex-col-inner {
		max-width: 300px;
		padding: 40px;
	}
	.counter-item {
		margin-top: 0;
	}
	.counter-slider .swiper-wrapper {
		height: auto;
	}
}

/* Blog Posts
--------------------------------------------------------- */
.bp-content-container {
	padding: var(--gap-default);
	text-align:center;
}
.blog-post {
	height: auto;
	position: relative;
}
.blog-post .bg-content-bg {
	pointer-events:none;
	width: 100%;
	height: 100%;
	padding-top: 83.51%;
	display: block;
	top: 0;
	position: absolute;
}
.gradient-bg::before,
.gradient-bg::after,
.blog-post .bg-content-bg::before,
.blog-post .bg-content-bg::after {
	content:"";
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	background: linear-gradient(to bottom right, var(--c-secondary), transparent);
	opacity: .1;
	z-index: 0;
	pointer-events: none;
}
.blog-post .bg-content-bg::after {
	background: linear-gradient(to top left, var(--c-primary), transparent);
}
.gradient-bg::before {
	background: linear-gradient(to right, var(--c-secondary), transparent);
}
.gradient-bg::after {
	background: linear-gradient(to left, var(--c-primary), transparent);
}
.gradient-bg.schraeg::before {
	background: linear-gradient(to bottom right, var(--c-secondary), transparent);
}
.gradient-bg.schraeg::after {
	background: linear-gradient(to top left, var(--c-primary), transparent);
}
.bp-image-container {
	aspect-ratio: 461 / 385;
	width: 100%;
	overflow: hidden;
}
.lk-item-wrapper,
.bp-item-wrapper {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.lk-content-container,
.bp-content-container {
	flex-grow: 1;
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.lk-content-container {
	align-items: flex-start;
}


.widget-posts-advanced .blog-post {
	background-color: var(--c-lightest-gray);
}
@media (min-width:768px) {
	.bp-content-container {
		padding: 40px;
	}
}
@media (max-width:1080px) {
	.bp-swiper-pagination {
		display: none;
	}
}

/* Banner
--------------------------------------------------------- */
.elementor-widget-mj-link-section,
.widget-banner {
	overflow: hidden;
}
.image-caption,
.linkliste-big-image-inner img,
.widget-banner .banner-image-col img {
	/* max-width: none !important; */
	max-width: 1200px !important;
	width: 100%;
}
@media (min-width:768px) {
	.image-caption.sm-caption {
		display: none;
	}
}
.image-caption,
.widget-banner .banner-image-col img {
	float: left;
}
.linkliste-big-image-inner img,
.widget-banner.img-pos-left .banner-image-col img {
	float: right;
}
.banner-headline-wrapper {
	width: calc(var(--container-width) / 1.7);
	max-width: calc(100vw -(var(--gap-default)* 2));
	position: relative;
	z-index: 2;
}
.banner-headline {
	width: 100%;
}
.text-bg.banner-headline p {
	padding: 10px 10px;
}
.sm-banner-image-container {
	position: relative;
	z-index: 2;
}
.sm-banner-image-container img {
	display: none;
}
.image-caption {
	text-align:right;
	padding: 5px 0;
	font-size: var(--fs-xs);
	font-weight: var(--fw-300);
}
.widget-banner.img-pos-left .image-caption {
	text-align:left;
	float:right;
}
.lk-image-container .image-caption,
.bp-image-container .image-caption {
	padding-left: 5px;
	padding-right: 5px;
	margin-top: -5px;
	width: 100%;
	max-width: 100%;
}
@media (min-width: 767px) {
	.img-pos-left .banner-headline-wrapper {
		float: right;
		text-align: right;
		margin-bottom: var(--space-xs);
	}
	.img-pos-left .banner-headline-wrapper > * {
		text-align: left;
	}
}
@media (min-width:1081px) {
	.img-pos-right .banner-text-col {
		padding-right: var(--space-s);
	}
	.img-pos-left .banner-text-col {
		padding-left: var(--space-s);
	}
}
@media (min-width: 1500px) {
	.image-caption,
	.linkliste-big-image-inner img,
	.widget-banner .banner-image-col img {
		width: calc(100% + (((100vw - var(--container-width)) / 2) - 70px) + var(--gap-default));
	}
	.banner-headline p {
		hyphens: none !important;
	}
}
@media (max-width:1500px) {
	.banner-headline p br {
		display: none;
	}
}
@media (max-width:1080px) {
	.banner-headline-wrapper {
		max-width: calc(100vw - (var(--gap-default) * 2));
	}
}
/* @media (max-width:767px) { */
@media (max-width:1080px) {
	.banner-headline-wrapper {
		width: 100%;
		max-width: 100%;
	}
	.sm-banner-image-container {
		position: relative;
		height: 300px;
		height: clamp(30rem, 10.909rem + 45.500vw, 60rem);
	}
	.sm-banner-image-container img {
		display: block;
		object-fit: cover;
		height: 100% !important;
		width: 100% !important;
	}
	.banner-headline-wrapper {
		position: absolute;
		left: var(--gap-default);
		bottom: var(--gap-default);
		width: calc(100% - (var(--gap-default) * 2));
		max-width: calc(100% - (var(--gap-default) * 2));
	}
	.banner-text-col > .wysiwyg.pt-xs {
		padding-top: var(--gap-default);
	}
	.banner-headline {
		margin-bottom: 10px !important;
	}
	.image-caption {
		text-align: left;
		font-size: var(--fs-s);
	}
	.banner-image-col {
		display: none;
	}
}

/* Leistungen
--------------------------------------------------------- */
/* type list */
.widget-leistungen.type-list {
	border-top: 4px solid var(--c-text);
}
.widget-leistungen.type-list .leistung {
	border-bottom: 2px solid var(--c-text);
	transition: all var(--a-timing-default) var(--a-easing-default);
	position: relative;
	overflow:hidden;
}
.widget-leistungen.type-list .leistung::after {
	content:"";
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	z-index:0;
	transition: all var(--a-timing-default) var(--a-easing-default);
	background: linear-gradient(to right, var(--c-secondary), #fff, var(--c-primary));
	opacity: .3;
	transform: translateX(-100%);
}
.widget-leistungen .leistung:has(.button:focus-visible)::after,
.widget-leistungen.type-list .leistung:hover::after {
	transform: translateX(0);
}
.widget-leistungen.type-list .l-inner {
	position: relative;
	z-index: 2;
}
.widget-leistungen.type-list .l-number-container {
	flex: 0 0 140px;
}
.widget-leistungen.type-list .l-button-container {
	flex: 0 0 300px;
	justify-content: end;
	align-self: center;
	display: flex;
}
.widget-leistungen.type-list .l-button-container .button {
	margin-bottom: 0;
	transform: translateX(-20px);
	opacity: 0;
}
.widget-leistungen.type-list .l-content-container {
	width: 100%;
	flex: 1;
}
.widget-leistungen.type-list .l-number-container.h2 {
	font-weight: var(--fw-400) !important;
}
.widget-leistungen.type-list .leistung .button:focus-visible,
.widget-leistungen.type-list .leistung:hover .button {
	transform: translateX(0);
	opacity: 1;
}
@media (max-width: 1080px) {
	.widget-leistungen.type-list .l-number-container {
		flex: 0 0 50px;
	}
}
@media (max-width: 767px) {
	.widget-leistungen.type-list .l-inner {
		flex-wrap:wrap;
	}
	.widget-leistungen.type-list .l-button-container {
		width: 100%;
		padding-left: calc(var(--space-s) + 50px);
		flex: auto;
		justify-content: start;
	}
	.widget-leistungen.type-list .leistung .button {
		transform: translateX(0);
		opacity: 1;
		margin-top: var(--gap-default);
	}
}
/* type icon */
.widget-leistungen.type-icon {
	position: relative;
}
.widget-leistungen.type-icon::after {
	content:"";
	position: absolute;
	pointer-events: none;
	width: 2px;
	height: 100%;
	background-color: var(--c-site-background);
	top:0;
	bottom:0;
	margin:auto;
	right: calc(var(--gap-default) + 1px);
}
.li-icon img {
	height: 47px !important;
	width:auto !important;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.widget-leistungen.type-icon .leistung {
	min-width: 217px;
	position: relative;
	margin-bottom: var(--gap-default);
}
.widget-leistungen.type-icon .leistung:hover .li-icon img {
	transform: scale(1.1);
}
.widget-leistungen.type-icon .leistung::after {
	content:"";
	position: absolute;
	pointer-events: none;
	width: 2px;
	height: 80%;
	background-color: var(--c-text);
	top:0;
	bottom:0;
	margin:auto;
	right: 1px;
}
.widget-leistungen.type-icon .leistung:last-child::after {
	display: none;
}
@media (max-width: 767px) {
	.widget-leistungen.type-icon .leistung {
		min-width: 100px;
		flex-basis: 50%;
	}
	.widget-leistungen.type-icon .leistung:nts-child(even)::after {
		display: none;
	}
}

/* Link Bereich - Förderungen / Links
--------------------------------------------------------- */
.linkliste-image-container {
	position: relative;
}
.linkliste-headline-im-bild {
	position: absolute;
	right: 20%;
	top: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	align-items: center;
}
.linkliste-headline-im-bild p {
	padding: 10px !important;
}
.linkliste li a {
	color: var(--c-text);
	text-decoration: underline;
}
.linkliste li a:hover {
	color: var(--c-primary);
}
#main-footer .menu li::before,
.linkliste li::before {
	transition: all var(--a-timing-default) var(--a-easing-default);
}
#main-footer .menu li:has(button:hover)::before,
#main-footer .menu li:has(a:hover)::before,
.linkliste li:has(a:hover)::before {
	transform: translateX(8px);
}
@media (min-width: 1081px) {
	.linkliste-image-container {
		padding-right: var(--space-s);
	}
}
@media (max-width:767px) {
	.linkliste-headline-im-bild {
		top: auto;
		bottom: calc(var(--gap-default) + 10px);
		left: var(--gap-default);
	}
	.linkliste-content-container {
		padding-top: 0;
	}
}

/* Contact Information
--------------------------------------------------------- */
.ci-acf-field,
.ci-icon-container {
	vertical-align: middle;
}
.ci-acf-field {
	margin-top: 4px;
	width: calc(100% - 34px);
}
.ci-icon-container {
	width: 34px;
}
.ci-icon-container svg,
.ci-icon-container img {
	width: 34px;
	height: 34px;
}
.ci-acf-field a {
	color: var(--c-text);
}
.ci-acf-field a:hover {
	color: var(--c-primary);
}


/* Video
--------------------------------------------------------- */
.video-wrapper {
	display: inline-block;
	margin: 0;
	padding: 0;
}
.video-wrapper video {
	width: 100%;
	height: auto;
	display: block;
}
.video-thumbnail-container {
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom: 0;
	margin:auto;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.v-play-button {
	background: none !important;
	border: none !important;
	width: 100px;
	height: 100px;
	z-index: 3;
	position: absolute;
	top:0;
	left:0;
	right:0;
	bottom: 0;
	margin:auto;
	cursor:pointer;
}
.v-play-button svg {
	display: inline-block;
	vertical-align: top;
	margin:0;
	padding:0;
}

/* Downloads
--------------------------------------------------------- */
.widget-downloads .download {
	background-color: var(--c-lightest-gray);
}
.widget-downloads.bg-color-c-lightest-gray .download {
	background-color: var(--c-site-background);
}
.download .dl-image-container {
	max-height: 319px;
}
.download .dl-image-container img {
	mix-blend-mode: multiply;
	max-height: 319px;
}
.button.icon-button.dl-btn:hover .button-icon-wrap {
	transform: translateX(0);
}
@media (max-width: 1080px) {
	.widget-downloads .download {
		padding-left: var(--gap-default);
		padding-right: var(--gap-default);
		padding-top: var(--gap-default);
		padding-bottom: var(--gap-default);
	}
}

/* Call To Action
--------------------------------------------------------- */
.cta-contacts-container {
	text-align:center;
}
.cta-c-item {
	background: linear-gradient(to right, var(--c-primary), var(--c-secondary));
	padding: 2px;
	box-shadow: var(--box-shadow-large);
	display: inline-flex;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	/* min-width: 336px; */
	max-width: 337px;
	width: 100%;
	justify-self: center;
}
.cta-c-separator {
	height: 5px;
	width:100%;
	max-width:136px;
	margin: var(--gap-half) auto;
	background: linear-gradient(to right, var(--c-primary), var(--c-secondary));
}
.cta-c-item-inner {
	background-color: var(--c-site-background);
	padding: var(--space-s);
	text-align: center;
	width: 100%;
	/* min-width: 336px; */
	max-width: 337px;
	border-radius: 50%;
	height: auto;
	/* height: 100%; */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
@media (min-width:1081px) {
	.cta-text-col {
		padding-right: var(--space-m);
	}
}
@media (max-width:767px) {
	.cta-c-item,
	.cta-c-item-inner {
		max-width: 250px;
	}
}

/* Referenzen Auflistung
--------------------------------------------------------- */
.rd-slide {
	height: auto;
}
.rd-slide img {
	max-height: 500px;
}
.rd-swiper-thumbs .rd-slide {
	aspect-ratio: 1 / 1;
}

/* Jobs CTA
--------------------------------------------------------- */
.widget-jobs-cta .linkliste-headline-im-bild {
	left: 10%;
	top: 47%;
}
.button.job-link {
	text-transform: none !important;
	letter-spacing: 0 !important;
	align-items: flex-start;
}
.button.job-link svg {
	top: 3px;
	position: relative;
}
@media (max-width:1080px) {
	.widget-jobs-cta .linkliste-headline-im-bild {
		top: auto;
		left: var(--gap-default);
		bottom: calc(var(--gap-default) + 10px);
	}
}
@media (max-width:767px) {
	.widget-jobs-cta .linkliste-headline-im-bild {
		position: static;
	}
}


.jobliste-job {
	padding: var(--gap-default) 0;
	border-top: 1px solid var(--c-text);
}
.jobliste-job:last-child {
	border-bottom: 1px solid var(--c-text);
}

/* Team
--------------------------------------------------------- */
.teammitglied {
	position: relative;
	text-align:center;
}
.team-image-container {
	position: relative;
	overflow: hidden;
}
.teammitglied.has_contacts .team-image-container::after {
	content:"";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20%;
	z-index: 2;
	background:linear-gradient(to top, rgba(0,0,0,.5), transparent);
	transition: all var(--a-timing-default) var(--a-easing-default);
	transform: translateY(100%);
}
.team-image-container::before {
	content:"";
	position: absolute;
	bottom: 0;
	left:0;
	height: 4px;
	width: 100%;
	background: var(--bg-gradient);
	transform: translateX(-100%);
	z-index: 3;
	transition: all var(--a-timing-default) var(--a-easing-default);
}
.team-overlay {
	position: absolute;
	z-index: 3;
	right: var(--gap-default);
	bottom: var(--gap-default);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all var(--a-timing-default) var(--a-easing-default);
	transform: translateX(100%);
}
.team-overlay a {
	color: var(--c-white);
}
.team-overlay a:hover {
	color: var(--c-primary);
}
.teammitglied:focus-visible .team-overlay,
.teammitglied:has(a:focus-visible) .team-overlay,
.teammitglied:hover .team-overlay {
	transform: translateX(0%);
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.teammitglied:focus-visible .team-image-container::before,
.teammitglied:has(a:focus-visible) .team-image-container::before,
.teammitglied:hover .team-image-container::before {
	transform: translateX(0%);
}
.teammitglied:focus-visible .team-image-container::after,
.teammitglied:has(a:focus-visible) .team-image-container::after,
.teammitglied:hover .team-image-container::after{
	transform: translateY(0%);
}
.team-item-wrapper.grid {
	grid-gap: 0;
	align-items:center;
	background-color: #ffffff;
}
.team-content-container.two-cols {
	text-align:left;
}
.widget-team.no-images .team-item-wrapper.grid {
	display: block !important;
}
@media (max-width: 1080px) {
	.team-content-container.two-cols {
		padding: var(--gap-default);
	}
}
@media (max-width: 767px) {
	.team-content-container.two-cols,
	.team-content-container {
		padding: var(--gap-half);
		font-size:var(--fs-s);
	}
	h3.team-headline {
		font-size: var(--fs-l);
	}
}

/* Banner Slideshow
--------------------------------------------------------- */
.widget-banner-slideshow .swiper-button-prev.banner-s-prev.swiper-button-disabled,
.widget-banner-slideshow .swiper-button-next.banner-s-next.swiper-button-disabled {
	pointer-events: all;
	opacity: 1;
	cursor:pointer;
}
.widget-banner-slideshow .swiper-button-prev.banner-s-prev.disablerino,
.widget-banner-slideshow .swiper-button-next.banner-s-next.disablerino {
	pointer-events: none;
	opacity: .5;
}