:is( .wbp-pseudo-b-l,
.wbp-pseudo-b-r,
.wbp-pseudo-b-c,
.wbp-pseudo-b-c-l,
.wbp-pseudo-b-c-r ):not( :has( div.wbp-img-teaserblock ) )::before {
	content: '';
	background-color: var( --wbp-color-background-pseudo );
	position: absolute;
	width: var( --wbp-size-pseudo-before );
	height: 100%;
	top: 0;
	left: var( --wbp-position-left-before );
	right: var( --wbp-position-right-before );
	mix-blend-mode: multiply;
	z-index: 1;
}

.wbp-pseudo-b-c::before {
	translate: -50% 0;
}

.wbp-pseudo-b-100 {
	--wbp-size-pseudo-before: 100%;
}

.wbp-pseudo-b-50 {
	--wbp-size-pseudo-before: 50%;
}

.wbp-pseudo-b-25 {
	--wbp-size-pseudo-before: 25%;
}

:is( .wbp-pseudo-b-100,
.wbp-pseudo-b-50,
.wbp-pseudo-b-25 )::before {
	width: var( --wbp-size-pseudo-before );
}

.wbp-text-l,
.wbp-text-r,
.wbp-text-c-r,
.wbp-text-c-l {
	&::after {
		content: '';
		background-color: inherit;
		position: absolute;
		width: var( --wbp-text-25 );
		height: 100%;
		top: 0;
		left: var( --wbp-position-left-after );
		right: var( --wbp-position-right-after );
	}

	> *:not( .wbp-img-teaserblock, .wbp-img-thema ) {
		position: relative;
		left: var( --wbp-position-left-children );
		right: var( --wbp-position-right-children );
		z-index: 1;
	}
}

.elementor-widget-social-icons.wbp-social-icons {
	translate: calc( -2rem * .11 ) 0;

	&.wbp-icon-white a {
		color: var( --wbp-white );
	}

	&.wbp-icon-green a {
		color: var( --wbp-green-1 );
	}

	a.elementor-icon.elementor-social-icon {
		transition: inherit;
		background-color: var( --wbp-transparent );
		padding: 5px;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;

		&:hover, &:focus {
			background-color: var( --wbp-white );
			color: var( --wbp-grey );
			font-size: 1.5rem;
		}

		i {
			color: inherit;
		}

		.elementor-social-icons-wrapper:has( > .elementor-grid-item > & ) {
			display: flex;
			justify-content: flex-start;
			align-items: center;
		}
	}
}

#back-to-top, #wbp-menu-opener {
	transition: 300ms ease-in;
	opacity: 1;

	&:hover, &:focus {
		cursor: pointer;

		.wbp-icon-btt-green, .wbp-icon-menu-green {
			fill: var( --wbp-green-1 );
		}
	}
}

.wbp-font-button a:hover {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

#wbp-form-checkbox {
	appearance: none;
	background-color: var( --wbp-white );
	cursor: pointer;
	position: relative;

	&:checked {
		background-color: var( --wbp-green-2 );
	}

	&:hover, &:focus {
		background-color: var( --wbp-green-1 );
	}

	+ label {
		cursor: pointer;
	}
}

.wbp-google-maps iframe {
	opacity: .75;
	filter: grayscale( .5 );

	&:hover {
		opacity: 1;
		filter: grayscale( 0 );
	}
}

#wbp-header-bth img {
	scale: 1;
	transform-origin: top left;
	background-color: var( --wbp-white );
}

body:has( .wbp-navi-is-shown ) {
	overflow: hidden;
	
	header {
		--wbp-navi-shadow-vertical: 100vh;
		--wbp-navi-shadow-expand: 100vh;
		
		#wbp-header-bth img {
			scale: clamp( var( --wbp-header-img-scale-min ), ( var( --wbp-100vw ) * ( var( --wbp-header-img-scale-max ) - var( --wbp-header-img-scale-min ) ) + 320 * ( 6 * var( --wbp-header-img-scale-min ) - var( --wbp-header-img-scale-max ) ) ) / 1600, var( --wbp-header-img-scale-max ) );
		}

		#navigation {
			scale: 1;
			opacity: 1;
			transition-property: scale, opacity;
			transition-duration: .3s;
		}

		+ * {
			position: relative;

			&::before {
				content: '';
				width: 100%;
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				z-index: 10;
			}
		}
	}
}

a.wbp-size-icon:is( :hover, :focus ) svg {
	translate: 1rem 0;
}

@media ( min-width: 1601px ) {
	div:has( > .wbp-cont-50-25 ) > div:nth-child( 1n + 3 ) {
		flex-direction: row-reverse;
	}
}

@media ( min-width: 1025px ) {
	.wbp-cont-switch > div:nth-child( even ) {
		flex-direction: row-reverse;
	}
}

@media ( max-width: 1600px ) {
	:root {
		--wbp-size-pseudo-before: calc( 100% / 3 );
	}

	:is( .wbp-text-l,
	.wbp-text-r,
	.wbp-text-c-r,
	.wbp-text-c-l )::after {
		height: 0;
		width: 0;
	}
}
