/****** VARIABLES ******/

@plugin "less-plugin";
@slide_overlay: slide-overlay();
// Alte Farbe Seitenleiste: #EAEAEAD1



/****** HTML, BODY ******/

html, body {
}

html {
}

body {
	overflow-x: hidden !important;
	-webkit-text-size-adjust: none;
	padding-right: 60px;
}

[data-elementor-device-mode="mobile"] {
	padding-right: 0px;
}

* {
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

.ready/* , .pace-done */ {
	//background: white;
	overflow-y: auto;

	[data-elementor-type="header"], [data-elementor-type="archive"], [data-elementor-type="product"], [data-elementor-type="single-page"], [data-elementor-type="footer"], [data-elementor-type="error-404"], [data-elementor-type="search-results"], #content {
		opacity: 1;
	}
}




/****** TYPOGRAPHY ******/

h1, h2, h3, h4, h5, p {
	cursor: text;
}


/****** MIXINS ******/

.mixin_typography_primary() {
	font-family: var(--e-global-typography-primary-font-family ), Sans-serif;
    font-size: var(--e-global-typography-primary-font-size );
    font-weight: var(--e-global-typography-primary-font-weight );
    text-transform: var(--e-global-typography-primary-text-transform );
    font-style: var(--e-global-typography-primary-font-style );
    -webkit-text-decoration: var(--e-global-typography-primary-text-decoration );
            text-decoration: var(--e-global-typography-primary-text-decoration );
    letter-spacing: var(--e-global-typography-primary-letter-spacing );
    word-spacing: var(--e-global-typography-primary-word-spacing );
}

.mixin_typography_secondary() {
	font-family: var(--e-global-typography-secondary-font-family ), Sans-serif;
    font-size: var(--e-global-typography-secondary-font-size );
    font-weight: var(--e-global-typography-secondary-font-weight );
    text-transform: var(--e-global-typography-secondary-text-transform );
    font-style: var(--e-global-typography-secondary-font-style );
    -webkit-text-decoration: var(--e-global-typography-secondary-text-decoration );
            text-decoration: var(--e-global-typography-secondary-text-decoration );
    letter-spacing: var(--e-global-typography-secondary-letter-spacing );
    word-spacing: var(--e-global-typography-secondary-word-spacing );
}

.mixin_typography_text() {
	font-family: var(--e-global-typography-text-font-family ), Sans-serif;
    font-size: var(--e-global-typography-text-font-size );
    font-weight: var(--e-global-typography-text-font-weight );
    text-transform: var(--e-global-typography-text-text-transform );
    font-style: var(--e-global-typography-text-font-style );
    -webkit-text-decoration: var(--e-global-typography-text-text-decoration );
            text-decoration: var(--e-global-typography-text-text-decoration );
    letter-spacing: var(--e-global-typography-text-letter-spacing );
    word-spacing: var(--e-global-typography-text-word-spacing );
}

.mixin_typography_accent() {
	font-family: var(--e-global-typography-accent-font-family ), Sans-serif;
    font-size: var(--e-global-typography-accent-font-size );
    font-weight: var(--e-global-typography-accent-font-weight );
    text-transform: var(--e-global-typography-accent-text-transform );
    font-style: var(--e-global-typography-accent-font-style );
    -webkit-text-decoration: var(--e-global-typography-accent-text-decoration );
            text-decoration: var(--e-global-typography-accent-text-decoration );
    letter-spacing: var(--e-global-typography-accent-letter-spacing );
    word-spacing: var(--e-global-typography-accent-word-spacing );
}


/****** HEADER ******/

[data-elementor-type="header"] {
	position: fixed;
    right: 0;
    top: 0;
    z-index: 100;

	#uc_fullscreen_navigation_menu_elementor_e2e7efc .ue_hamburger > div:before, #uc_fullscreen_navigation_menu_elementor_e2e7efc .ue_hamburger > div:after {
		top: -15px;
	}

	#uc_fullscreen_navigation_menu_elementor_e2e7efc .ue_hamburger > div:after {
		top: 15px;
	}

	#uc_fullscreen_navigation_menu_elementor_e2e7efc .ue_menu {
		width: calc( 100% - 60px );
	}
}

[data-elementor-device-mode="mobile"] {
	[data-elementor-type="header"] {
		#uc_fullscreen_navigation_menu_elementor_e2e7efc .ue_menu {
				width: 100%;
			}
		}
}

.home #small_logo {
	display: none;
}


/****** TEAM GALLERY ******/

/* #team_gallery .elementor-widget-container {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 1.5s;
    background: blue;
    min-height: 10px;
}

#team_gallery .elementor-widget-container:hover {
    grid-template-rows: 1fr;
}

#team_gallery .elementor-loop-container {
    overflow: hidden;
} */


#team_gallery {
	.elementor-widget-container {
		display: grid;
		grid-template-rows: 0fr;
		transition: grid-template-rows 1.5s;
		transition: grid-template-rows 1.5s, -ms-grid-rows 1.5s;
	}

	&.opened {
		.elementor-widget-container {
			grid-template-rows: 1fr;
		}

		&::before {
			content: "";
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX( -50% );
			height: 1px;
			width: 100%;
			max-width: 800px;
			background: var( --e-global-color-primary );
		}

		.elementor-loop-container {
			padding-top: 100px;
		}
	}

	.elementor-loop-container {
		overflow: hidden;
		padding-top: 0px;
		transition: padding-top 1.5s;
	}
}

#join_the_team {
	display: none;
	&.opened {
		display: block;
	}
}


/****** TEAM SEITE ******/

[data-elementor-device-mode="tablet"], [data-elementor-device-mode="mobile"] {

	.elementor-animated-content .elementor-animated-item--enter-from-left, .elementor-animated-content .elementor-animated-item--enter-from-right {
		display: none;
	}

	.elementor-animated-content .elementor-animated-item--enter-from-right {
		display: none;
	}

	.elementor-gallery-item__content, .elementor-gallery-item__overlay {
		display: none;
	}

	.mobile_caption_container {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		background: rgba(0,0,0,0.5);
		padding: 10px;
		text-align: center;

		.name {
			color: var(--e-global-color-02572d3);
			font-family: var(--e-global-typography-accent-font-family), Sans-serif;
			font-size: 16px;
			font-size: var(--e-global-typography-accent-font-size);
			font-weight: var(--e-global-typography-accent-font-weight);
			text-transform: var(--e-global-typography-accent-text-transform);
			font-style: var(--e-global-typography-accent-font-style);
		}

		.position {
			color: var(--e-global-color-02572d3);
			font-family: var(--e-global-typography-text-font-family), Sans-serif;
			font-size: 14px;
			font-weight: var(--e-global-typography-text-font-weight);
			font-size: var(--e-global-typography-text-font-size);
			text-transform: var(--e-global-typography-text-text-transform);
			font-style: var(--e-global-typography-text-font-style);
			-webkit-text-decoration: var(--e-global-typography-text-text-decoration);
			        text-decoration: var(--e-global-typography-text-text-decoration);
			line-height: 20px;
		}
	}

}


/****** LEISTUNGEN SLIDER ******/

.leistungen_slider {
	position: relative;
	overflow: hidden;

	/* &:before {
		content: "";
		position: absolute;
		top: -1px;
		left: -1px;
		width: 50%;
		height: 100px;
		background-image: @slide_overlay;
		z-index: 100;
		background-repeat: no-repeat;
		background-size: contain;
		background-position: top left;
		pointer-events: none;
	} */

	&:after_ {
		content: "";
		width: 100%;
		height: 100px;
		position: absolute;
		bottom: 5px;
		left: 0;
		//background: linear-gradient(0deg, rgba(128,108,64,1) 0%, rgba(128,108,64,0) 100%);
		background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0) 100%);
		z-index: 1;
	}

	.swiper-slide {
		img {
			width: 100%;
			height: 65vh;
			-o-object-fit: cover;
			   object-fit: cover;
			-o-object-position: center;
			   object-position: center;
		}
	}

	.swiper-button-next, .swiper-button-prev {
		width: 20px;
		height: 30px;
		margin-top: -15px;
		-webkit-filter: drop-shadow(0px 0px 6px black);
		        filter: drop-shadow(0px 0px 6px black);
		
	}

	.swiper-button-next {
		background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M27 22L5 44l-2.1-2.1L22.8 22 2.9 2.1 5 0l22 22z' fill='white'/%3E%3C/svg%3E");
	}
	
	.swiper-button-prev {
		background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27 44'%3E%3Cpath d='M0 22L22 0l2.1 2.1L4.2 22l19.9 19.9L22 44 0 22z' fill='white'/%3E%3C/svg%3E");
	}

	.swiper-pagination {
		position: relative;
		width: 100%;
		margin: 5px 0 20px 0;
		bottom: unset !important;
		overflow: visible;

		span.swiper-pagination-bullet {
			.mixin_typography_accent();
			font-size: 15px;
			color: var( --e-global-color-primary );
			display: inline-block;
			background: transparent;
			margin: 0px 10px 10px 10px;
			opacity: 1;
			border-radius: 3px;
			padding: 7px 10px 3px 10px;
			width: auto;
			height: auto;
			transition: outline 0.25s;
			outline: thin solid transparent;

			&.swiper-pagination-bullet-active, &:hover {
				outline: thin solid var( --e-global-color-primary );
			}
		}
	}

}

.leistungen_slider_captions_outer_container {
	overflow: hidden;
	text-align: center;
	margin-top: 60px;

	.leistungen_slider_caption_headline_container {
		.mixin_typography_accent();
		color: var( --e-global-color-primary );
		margin-bottom: 30px;
		padding: 0 100px;
	}

	.leistungen_slider_caption_text_container {
		.mixin_typography_text();
		color: var( --e-global-color-text );
		padding: 0 100px;

		.leistungen_read_more {
			background-color: var(--e-global-color-primary );
    		border-radius: 7px 7px 7px 7px;
			.mixin_typography_accent();
			font-size: 16px;
			color: var(--e-global-color-02572d3 );
			padding: 12px 24px;
			text-align: center;
			margin-top: 20px;
			display: inline-block;

			transition: background-color 0.3s;

			&:hover {
				background-color: var(--e-global-color-accent );
			}
		}
	}
}

[data-elementor-device-mode="mobile"] {
	.leistungen_slider {
		.swiper-button-prev, .swiper-button-next {
			top: 70%;
		}
		.swiper-slide {
			img {
				width: 100%;
				height: 45vh;
			}
		}
	}
	.leistungen_slider_captions_outer_container {
		.leistungen_slider_caption_headline_container {
			padding: 0 15px;

			h3 {
				-webkit-hyphens: auto;
				    -ms-hyphens: auto;
				        hyphens: auto;
			}
		}
	
		.leistungen_slider_caption_text_container {
			padding: 0 15px;
	
			.leistungen_read_more {
				&:hover {
				}
			}
		}
	}
}


/****** LEISTUNGSSEITE ******/

.single-leistungen, .leistungen {
	h1, h2 {
		-webkit-hyphens: auto;
		    -ms-hyphens: auto;
		        hyphens: auto;
	}
}

[data-elementor-device-mode="tablet"] {
	.leitungen {
		h2 {
			-webkit-hyphens: auto;
			    -ms-hyphens: auto;
			        hyphens: auto;
		}
	}
}


/****** CTA ******/

.colored_area {
	height: 40px;
	width: 100%;
	background-color: var(--e-global-color-accent );
	border-radius: 3px;
}


/****** FOOTER ******/

.silbermann_table {
	* {
		border: none !important;
		background: transparent !important;
		padding: 0 !important;
	}

	td {
		padding-bottom: 5px !important;
	}
}


/****** DATENSCHUTZ ******/

.datenschutzerklaerung {
	h1, h2, h3, h4 {
		margin-top: 80px;
	}

	.elementor-text-editor {
		h2:first-of-type {
			margin-top: 0;
		}
	}

	ul {
		margin-bottom: 40px;
	}
}


/****** POPUP ******/

.dialog-close-button.dialog-lightbox-close-button {
	&:focus-visible {
		outline: none;
	}
}


/****** COMPLIANZ ******/

#cmplz-manage-consent .cmplz-manage-consent {
	display:block; 
	bottom: 20px!important; /* remove this if you only want the button to appear on mouse-over */
	left: 20px!important; /* remove this if you only want the button to appear on mouse-over */
	right: unset !important;
	color:white!important; /* text color */
	background: var( --e-global-color-accent )!important; /* background color */
	padding: 0px;
	border-radius:0px;
	min-width: 50px;
}

.cmplz-manage-consent {
	font-family: inherit; /* set the font family */
	font-weight: 500;
}

.cmplz-manage-consent::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;  
  	content: "\f564"; 
  	display: inline-block;
  	padding-right: 0px;
  	vertical-align: middle;
	color: white; /* change color if needed */
	font-size: 30px;
}

.cmplz-placeholder-1 {
    height: 349px !important;
}