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

@plugin "less-plugin";
//@ui-icon-plus: ui-icon-plus();


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

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

.mixin_typography_secondary() {
	color: var( --e-global-color-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 );
    line-height: var( --e-global-typography-secondary-line-height );
}

.mixin_typography_text() {
	color: var( --e-global-color-secondary );
    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 );
    line-height: var( --e-global-typography-text-line-height );
}



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

html, body {
}

html {
	background-color: var( --e-global-color-primary );
}

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

* {
	-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 ******/

@font-face {
	font-family: 'UniversCondensedRegular';
	src: url('fonts/UniversCondensedRegular.ttf') format("truetype");
}

@font-face {
	font-family: 'UniversCondensedBold';
	src: url('fonts/UniversCondensedBold.ttf') format("truetype");
}

@font-face {
	font-family: 'UniversCondensedLight';
	src: url('fonts/UniversCondensedLight.ttf') format("truetype");
}

.elementor-kit-5 {
	--e-global-typography-primary-font-family: 'UniversCondensedBold', Arial, sans-serif !important;
	//--e-global-typography-primary-font-size: 43px !important;
	//--e-global-typography-primary-font-weight: normal !important;
	--e-global-typography-primary-line-height: 1.5em !important;
	--e-global-typography-primary-text-transform: uppercase !important;
	//--e-global-typography-primary-text-decoration: none !important;
	//--e-global-typography-primary-font-style: normal !important;

	--e-global-typography-secondary-font-family: 'UniversCondensedRegular', Arial, sans-serif !important;
	//--e-global-typography-secondary-font-size: 21px !important;
	//--e-global-typography-secondary-font-weight: normal !important;
	--e-global-typography-secondary-line-height: 1.2em !important;
	//--e-global-typography-secondary-text-transform: none !important;
	//--e-global-typography-secondary-text-decoration: none !important;
	//--e-global-typography-secondary-font-style: normal !important;

	--e-global-typography-accent-font-family: 'UniversCondensedLight', Arial, sans-serif !important;
	//--e-global-typography-accent-font-size: 43px !important;
	//--e-global-typography-accent-font-weight: normal !important;
	--e-global-typography-accent-line-height: 1.2em !important;
	//--e-global-typography-accent-text-transform: none !important;
	//--e-global-typography-accent-text-decoration: none !important;
	//--e-global-typography-accent-font-style: normal !important;

	--e-global-typography-text-font-family: 'UniversCondensedRegular', Arial, sans-serif !important;
	//--e-global-typography-text-font-size: 21px !important;
	//--e-global-typography-text-font-weight: normal !important;
	--e-global-typography-text-line-height: 1.5em !important;
	//--e-global-typography-text-text-transform: none !important;
	//--e-global-typography-text-text-decoration: none !important;
	//--e-global-typography-text-font-style: normal !important;

	--e-global-typography-0b38b14-font-family: 'UniversCondensedBold', Arial, sans-serif !important;
	//--e-global-typography-0b38b14-font-size: 21px !important;
	//--e-global-typography-0b38b14-font-weight: normal !important;
	--e-global-typography-0b38b14-line-height: 1.2em !important;
	//--e-global-typography-0b38b14-text-transform: none !important;
	//--e-global-typography-0b38b14-text-decoration: none !important;
	//--e-global-typography-0b38b14-font-style: normal !important;

	--e-global-typography-4b7755b-font-family: 'UniversCondensedRegular', Arial, sans-serif !important;
	//--e-global-typography-4b7755b-font-size: 21px !important;
	//--e-global-typography-4b7755b-font-weight: normal !important;
	--e-global-typography-4b7755b-line-height: 1.2em !important;
	//--e-global-typography-4b7755b-text-transform: none !important;
	//--e-global-typography-4b7755b-text-decoration: none !important;
	//--e-global-typography-4b7755b-font-style: normal !important;

	--e-global-typography-470ccc5-font-family: 'UniversCondensedBold', Arial, sans-serif !important;
	//--e-global-typography-470ccc5-font-size: 21px !important;
	//--e-global-typography-470ccc5-font-weight: normal !important;
	--e-global-typography-470ccc5-line-height: 1.1em !important;
	--e-global-typography-470ccc5-text-transform: uppercase !important;
	//--e-global-typography-470ccc5-text-decoration: none !important;
	//--e-global-typography-470ccc5-font-style: normal !important;
}

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

a {
	color: var(--e-global-color-primary);
}


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

[data-elementor-type="header"].elementor-location-header {
	position: fixed;
    top: 0;
    left: 0;
	background-color: transparent;
	transition: all 0.3s;
	z-index: 1000;

	.ue_menu {
		max-width: 500px !important;
		left: unset !important;
		right: 0 !important;

		.ue_inner_menu-box {
			max-width: 500px;
			height: 100%;
			max-height: 650px;
			justify-content: space-between;

			&>div {
				display: block !important;
   				padding: 0 60px !important;

				.elementor-icon-list-items.elementor-inline-items {
					display: flex !important;
					justify-content: space-between !important;

					.elementor-icon-list-icon i {
						width: auto !important;
					}
				}
			}
		}
	}

	/* >[data-elementor-type="wp-post"] {
		>section {
			>.elementor-container {
				>.elementor-column {
					transition: transform 0.3s, margin 0.3s;

					&:first-of-type {
						transform-origin: left center;
					}

					&:last-of-type {
						transform-origin: right center;
					}
				}
			}
		}
	} */

	.ha11e_header_logo {
		img {
			transition: width 0.3s;
		}

		&+.elementor-column {
			&>.elementor-widget-wrap {
				transition: padding 0.3s;

				.elementor-widget-wrap {
					transition: padding 0.3s;
				}
			}
		}
	}

	&.scroll {
		background-color: rgba(114, 81, 34, 0.85);
		//max-height: 70px;

		/* >[data-elementor-type="wp-post"] {
			>section {
				>.elementor-container {
					>.elementor-column {
						transform: scale(0.75);
						margin-top: -15px;
					}
				}
			}
		} */

		.ha11e_header_logo {
			img {
				width: 250px;
			}

			&+.elementor-column {
				&>.elementor-widget-wrap {
					padding-top: 0;
					padding-bottom: 0;

					.elementor-widget-wrap {
						padding-top: 0;
						padding-bottom: 0;
					}
				}
			}
		}
	}
}

#uc_fullscreen_navigation_menu_elementor18299 .ue_menu > div > div > div {
   
}


/****** LAYOUT ******/

.elementor-location-footer {
	position: relative;
	z-index: 0;
}

#content {
	background: white;
	position: relative;
	z-index: 1;
}


/****** ANIMATIONS ******/

.animated.tada {
	-webkit-animation-name: pulse_;
			animation-name: pulse_;
	-webkit-animation-duration: 4s;
			animation-duration: 4s;
	-webkit-animation-iteration-count: infinite;
			animation-iteration-count: infinite;

	&:nth-of-type(3n+2) {
		-webkit-animation-delay: 0.1s;
		        animation-delay: 0.1s;
	}

	&:nth-of-type(3n+3) {
		-webkit-animation-delay: 0.2s;
		        animation-delay: 0.2s;
	}
}

.neo_rotate {
	transition: opacity 0.25s;
	-webkit-animation-name: rotate_;
			animation-name: rotate_;
	-webkit-animation-duration: 15s;
			animation-duration: 15s;
	-webkit-animation-iteration-count: infinite;
			animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
			animation-timing-function: linear;
}

.menu-opened #content .neo_rotate {
	opacity: 0;
}

@-webkit-keyframes pulse_ {
	0% {
		transform: scale(1);
	}

	25% {
		transform: scale(1.05);
	}

	50% {
		transform: scale(1);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes pulse_ {
	0% {
		transform: scale(1);
	}

	25% {
		transform: scale(1.05);
	}

	50% {
		transform: scale(1);
	}

	100% {
		transform: scale(1);
	}
}

@-webkit-keyframes rotate_ {
	from {
		transform: rotate(0) translateZ(0);
	}

	to {
		transform: rotate(359deg) translateZ(0);
	}
}

@keyframes rotate_ {
	from {
		transform: rotate(0) translateZ(0);
	}

	to {
		transform: rotate(359deg) translateZ(0);
	}
}

.ken_burns .elementor-background-overlay {
	animation: zoom_in 30s alternate linear infinite;
	will-change: transform;
}

@keyframes zoom_in {
	0% {
		transform:scale(1);
	}
	100% {
		transform:scale(1.2);
	}
}


/****** ACCORDION ******/

.elementor-accordion {
	.elementor-accordion-item {
		border-bottom: 0.5px solid var( --e-global-color-primary ) !important;

		.elementor-tab-title {
			display: flex;
			flex-direction: row-reverse;
			justify-content: space-between;
			align-items: center;

			/* .elementor-accordion-icon {
				i {
					font-size: 12px;
				}
			} */
		}
	}
}


/****** ICON BOXES ******/

.ha11e_iconboxes_outer_container {
	max-width: 1230px;
	margin: auto;

	.ha11e_iconboxes_inner_container {
		@number_of_columns: 3;
		@number_of_gaps: calc( @number_of_columns - 1 );
		@gap: 60px;
		/* display: grid;
		grid-template-columns: repeat( @number_of_columns, calc( 100% / @number_of_columns - ( @number_of_gaps * @gap ) / @number_of_columns ) ); */

		display: flex;
		flex-wrap: wrap;
		justify-content: center;

		gap: @gap;

		.ha11e_iconbox_outer_container {
			text-align: center;
			position: relative;
			flex: 0 0 calc( 100% / 3 - 40px );

			-webkit-animation-name: pulse_;
					animation-name: pulse_;
			-webkit-animation-duration: 4s;
					animation-duration: 4s;
			-webkit-animation-iteration-count: infinite;
					animation-iteration-count: infinite;

			&:nth-of-type(3n+2) {
				-webkit-animation-delay: 0.2s;
				        animation-delay: 0.2s;
			}

			&:nth-of-type(3n+3) {
				-webkit-animation-delay: 0.4s;
				        animation-delay: 0.4s;
			}

			&:nth-of-type(3n+4) {
				-webkit-animation-delay: 0.6s;
				        animation-delay: 0.6s;
			}

			&:nth-of-type(3n+5) {
				-webkit-animation-delay: 0.8s;
				        animation-delay: 0.8s;
			}

			&:nth-of-type(3n+6) {
				-webkit-animation-delay: 1s;
				        animation-delay: 1s;
			}

			.ha11e_iconbox_icon_container {
				img {
					max-height: 60px;
					width: auto;
				}
			}

			.ha11e_iconbox_content_container {
				position: relative;
				perspective: 400px;

				.ha11e_iconbox_inner_container {

					transition: transform 0.25s;
					transition-timing-function: linear;
					padding: 20px;
					

					&.backside, &.frontside {
						.ha11e_iconbox_small_headline_container h5 {
							.mixin_typography_secondary();
						}
						.ha11e_iconbox_large_headline_container h4 {
							.mixin_typography_primary_less_lineheight();
						}
						.ha11e_iconbox_description_text_container p, & p {
							.mixin_typography_text();
						}

						&:after {
							content: "";
							background: transparent;
							height: 130px;
							position: absolute;
							left: 0px;
							bottom: 20px;
							width: calc( 100% - 0px );
							z-index: -1;
							box-shadow: 4px 4px 4px 0px rgba( 0, 0, 0, 0.5 );
						}
					}

					&:not( [data-has-backside='true'] ) .backside {
						display: none;
					}

					&.backside {
						transform: rotateY( 90deg );
						transform-origin: center;
						position: absolute;
						/* top: 50%;
						left: 50%; */
						width: 100%;
						top: 0;
						transition-delay: 0s;
						height: 100%;
						display: grid;
						justify-content: center;
						align-content: center;

						.ha11e_iconbox_description_text_container p, & p {
							font-size: 18px;
						}
					}

					&.frontside {
						transform: rotateY( 0deg );
						transform-origin: center;
						transition-delay: 0.25s;
					}
				}
			}

			&[data-has-backside='true']:hover {
				&, * {
					cursor: help;
				}

				.ha11e_iconbox_content_container {
					.ha11e_iconbox_inner_container {
						&.backside {
							transform: rotateY( 0deg );
							transform-origin: center;
							transition-delay: 0.25s
						}

						&.frontside {
							transform: rotateY( -90deg );
							transition-delay: 0s
						}
					}
				}
			}

			.__ha11e_iconbox_shadow_container {
				background: transparent;
				height: 130px;
				position: absolute;
				left: 20px;
				bottom: 0;
				width: calc( 100% - 40px );
				z-index: -1;
				box-shadow: 4px 4px 4px 0px rgba( 0, 0, 0, 0.5 );
			}
		}
	}
}

[data-elementor-device-mode="tablet"] {
	.ha11e_iconboxes_outer_container {
		.ha11e_iconboxes_inner_container {
			justify-content: space-around;
			.ha11e_iconbox_outer_container {
				flex: auto;
				width: calc(100% / 2 - 60px);
				max-width: calc(100% / 2 - 60px);
				margin-bottom: 60px;
			}
		}
	}
}

[data-elementor-device-mode="mobile"] {
	.ha11e_iconboxes_outer_container {
		.ha11e_iconboxes_inner_container {
			gap: 0;
			.ha11e_iconbox_outer_container {
				flex: auto;
				width: 100%;
				max-width: 100%;
				margin-bottom: 60px;
			}
		}
	}
}


/****** GALLERY LOAD MORE ******/

.ha11e_gallery {
	@columns: 3;
	@gap: 0px;
	pointer-events: none;

	.elementor-widget-container {
		transition: height 1s;

		.gallery{

			pointer-events: none;
			margin-left: -20px;
			margin-right: -20px;

			.gallery-item {
				width: calc( 100% / @columns - ( ( @columns - 1 ) * @gap ) / @columns );

				img {
					width: 100%;
					height: 100%;
					aspect-ratio: 1;
					-o-object-fit: cover;
					   object-fit: cover;
					padding: 5px;
				}

				&:nth-of-type( 5n - 4 ) {
					width: calc( 100% / 3 * 2 );
					z-index: 100;
				}

				&:nth-of-type( 5n - 2 ) {
					img {
						width: 100%;
						height: 200%;
						aspect-ratio: 1 / 2;
						-o-object-fit: cover;
						   object-fit: cover;
					}
				}
			}

			each(range(0.0s, 5.0s, 0.2), {
				.gallery-item.gallery_item_number_@{index} {
					transition-delay: @value !important;

					img {
						animation-delay: @value !important;
					}
				}
			});

			.gallery-item.gallery_item_visible {
				//display: block;
				opacity: 1;
				pointer-events: all;
				img {
					opacity: 0;

					&.fade_in {
						-webkit-animation: fade_in_image 1s forwards;
						        animation: fade_in_image 1s forwards;
					}
				}
				
			}

			.gallery-item.gallery_item_hidden {
				//display: none;
				opacity: 0;
				pointer-events: none;
			}

		}


	}
}

@-webkit-keyframes fade_in_image {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes fade_in_image {
	0% {
		opacity: 0;
		transform: scale(0.8);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}


/****** DSGVO ******/

body {
	.cmplz-links .cmplz-link.cookie-statement, .cmplz-links .cmplz-link.impressum {
		display: none !important;
	}

	.cmplz-cookiebanner .cmplz-categories .cmplz-category {
		background: white !important;
	}

	.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title, .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
		color: black !important;
	}

	.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before {
		background: black !important;
	}

	.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before {
		background: green !important;
	}

	.cmplz-cookiebanner .cmplz-message {
		margin-bottom: 20px !important;
	}

	.cmplz-title, .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title, .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		.mixin_typography_secondary();
	}

	.cmplz-message, .cmplz-description *, .cmplz-link, .cmplz-always-active {
		.mixin_typography_text();
	}

	.cmplz-description a {
		color: black !important;
		text-decoration: underline !important;
	}

	.cmplz-category * {
		font-size: 12px !important;
	}

	#cmplz-manage-consent {
		display: none !important;
	}

	&.datenschutzerklaerung, &.impressum {
		h3, h4 {
			margin-top: 30px;
		}
	}
}


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

.elementor-location-footer {
	.elementor-widget-google_maps {
		filter: sepia(18%) hue-rotate(354deg);
	}
}