/********************************************************/
/*
/*      General CSS
/*
/********************************************************/

	/******************************/
	/* Modifier classes
	/******************************/
	/* Layout */
	.flex												{ display: flex; }
	.flex-column										{ flex-direction: column; }
	.justify-start										{ justify-content: start; }
	.justify-center										{ justify-content: center; }
	.justify-end										{ justify-content: end; }
	.justify-around										{ justify-content: space-around; }
	.justify-between									{ justify-content: space-between; }
	.justify-evenly										{ justify-content: space-evenly; }
	.align-start										{ align-items: start; }
	.align-center										{ align-items: center; }
	.align-end											{ align-items: end; }
	
	/* Color */
	.black,
	.focus-black:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--black); }
	.off-black,
	.focus-off-black:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--off-black); }
	.gray,
	.focus-gray:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--gray); }
	.off-gray,
	.focus-off-gray:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--off-gray); }
	.white,
	.focus-white:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--white); }
	.off-white,
	.focus-off-white:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--off-white); }
	.green,
	.focus-green:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--green); }
	.off-green,
	.focus-off-green:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--off-green); }
	.yellow,
	.focus-yellow:is(:hover, :focus, :active) 			{ color: var(--wp--preset--color--yellow); }
	.off-yellow,
	.focus-off-yellow:is(:hover, :focus, :active) 		{ color: var(--wp--preset--color--off-yellow); }
	.bg-black 											{ background-color: var(--wp--preset--color--black); }
	.bg-off-black 										{ background-color: var(--wp--preset--color--off-black); }
	.bg-gray 											{ background-color: var(--wp--preset--color--gray); }
	.bg-off-gray 										{ background-color: var(--wp--preset--color--off-gray); }
	.bg-white 											{ background-color: var(--wp--preset--color--white); }
	.bg-off-white 										{ background-color: var(--wp--preset--color--off-white); }
	.bg-green 											{ background-color: var(--wp--preset--color--green); }
	.bg-off-green 										{ background-color: var(--wp--preset--color--off-green); }
	.bg-yellow 											{ background-color: var(--wp--preset--color--yellow); }
	.bg-off-yellow										{ background-color: var(--wp--preset--color--off-yellow); }
	
	/* Text */
	.x-small											{ font-size: var(--wp--preset--font-size--x-small); }
	.small												{ font-size: var(--wp--preset--font-size--small); }
	.medium-size										{ font-size: var(--wp--preset--font-size--medium); }
	.large												{ font-size: var(--wp--preset--font-size--large); }
	.x-large											{ font-size: var(--wp--preset--font-size--x-large); }
	.xx-large											{ font-size: var(--wp--preset--font-size--2-x-large); }
	.thin												{ font-weight: 100; }
	.extra-light										{ font-weight: 200; }
	.light												{ font-weight: 300; }
	.regular											{ font-weight: 400; }
	.medium-weight										{ font-weight: 500; }
	.semibold											{ font-weight: 600; }
	.bold												{ font-weight: 700; }
	.extra-bold											{ font-weight: 800; }
	.heavy												{ font-weight: 900; }
	.uppercase											{ text-transform: uppercase; }
	.lowercase											{ text-transform: lowercase; }
	.underline											{ text-decoration: underline; }
	.text-deco-none,
	.text-deco-none	a									{ text-decoration: none; }
	
	/* Images */
	.cover,
	.cover img											{ object-fit: cover; }
	.contain,
	.contain img										{ object-fit: contain; }
	
	/* Opacity */
	.opacity-full										{ opacity: 1; }
	.opacity-half										{ opacity: .5; }
	.opacity-zero										{ opacity: 0; }
	
	/* Other */
	.user-select-none									{ user-select: none; }
	
	/******************************/
	/* Buttons
	/******************************/
	/* Popup open/close buttons */
	button:is(.burger-popup-open, .burger-popup-close) {
		position: relative;
		width: 20px;
		height: 20px;
		background-color: transparent;
		padding: unset;
		border: unset;
		cursor: pointer;
		
		& > svg {
			width: 100%;
			height: 100%;
			fill: var(--wp--custom--color--default--text);
			transition: fill var(--wp--custom--speed--fast);
			
			.wp-site-blocks:has(.site-head + #burger-popup:not(:popover-open)) & {
				opacity: 1;
				transition: fill var(--wp--custom--speed--fast), opacity var(--wp--custom--speed--medium) var(--wp--custom--speed--fast);
			}
			
			.wp-site-blocks:has(.site-head + #burger-popup:popover-open) :not(:hover, :focus, :active) > & {
				fill: var(--wp--preset--color--white);
			}
		}
		
		&:is(:hover, :focus, :active) {
			& > svg {
				fill: var(--wp--custom--color--default--focus);
			}
		}
	}
	
	/******************************/
	/* Forms & inputs
	/******************************/
	
	/******************************/
	/* Patterns
	/******************************/
	/* Coordinates */
	.coordinates > div,
	.coordinates p {
		margin-block: unset;
	}
	
	.coordinates p {
		font-size: var(--wp--preset--font-size--x-small);
		line-height: 1.2;
	}
	
	.coordinates p a {
		text-decoration: none;
	}
	
	.coordinates > div + div {
		margin-block-start: var(--wp--preset--spacing--1-5);
	}
	
	/* Opening hours */
	.opening-hours > p {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		margin-block: 0;
	}
	
	.opening-hours .days {
		font-weight: 700;
	}
	
	/******************************/
	/* ScrollTrigger animations
	/******************************/
	.st:not(.target-before, .target-after, .target-selector),
	.st:not(.target-selector).target-before::before,
	.st:not(.target-selector).target-after::after,
	.st.target-selector .target,
	.st.target-selector.target-before .target::before,
	.st.target-selector.target-after .target::after {
		opacity: var(--st-initial-opacity, 1) !important;
		transform: translate(var(--st-initial-translation-h, 0%), var(--st-initial-translation-v, 0%)) rotate(var(--st-initial-rotation, 0deg)) scale(var(--st-initial-scale, 1)) !important;
	}
	
	.st:not(.target-before, .target-after, .target-selector):not(.revealed),
	.st:not(.target-selector).target-before:not(.revealed)::before,
	.st:not(.target-selector).target-after:not(.revealed)::after,
	.st.target-selector:not(.revealed) .target,
	.st.target-selector.target-before:not(.revealed) .target::before,
	.st.target-selector.target-after:not(.revealed) .target::after {
		transition-property: unset !important;
		transition-duration: unset !important;
		transition-delay: unset !important;
		transition-timing-function: unset !important;
	}
	
	.st:not(.stay-visible):not(.target-before, .target-after, .target-selector),
	.st:not(.stay-visible):not(.target-selector).target-before::before,
	.st:not(.stay-visible):not(.target-selector).target-after::after,
	.st:not(.stay-visible).target-selector .target,
	.st:not(.stay-visible).target-selector.target-before .target::before,
	.st:not(.stay-visible).target-selector.target-after .target::after {
		visibility: hidden !important;
	}
	
	.st:not(.target-before, .target-after, .target-selector):is(.active, .revealed),
	.st:not(.target-selector).target-before:is(.active, .revealed)::before,
	.st:not(.target-selector).target-after:is(.active, .revealed)::after,
	.st.target-selector:is(.active, .revealed) .target,
	.st.target-selector.target-before:is(.active, .revealed) .target::before,
	.st.target-selector.target-after:is(.active, .revealed) .target::after {
		visibility: visible !important;
		opacity: var(--st-final-opacity, 1) !important;
		transform: translate(var(--st-final-translation-h, 0%), var(--st-final-translation-v, 0%)) rotate(var(--st-final-rotation, 0deg)) scale(var(--st-final-scale, 1)) !important;
	}
	
	.st:not(.target-before, .target-after, .target-selector).active,
	.st:not(.target-selector).target-before.active::before,
	.st:not(.target-selector).target-after.active::after,
	.st.target-selector.active .target,
	.st.target-selector.target-before.active .target::before,
	.st.target-selector.target-after.active .target::after {
		pointer-events: none !important;
		transition-property: opacity, transform !important;
		transition-duration: var(--st-duration, 1250ms) !important;
		transition-delay: var(--st-delay, 0ms) !important;
		transition-timing-function: var(--st-timing-function, cubic-bezier(0.5, 0, 0, 1)) !important;
	}
	
	/******************************/
	/* Other
	/******************************/
	/* Cookie banner/modal styling */
	#moove_gdpr_cookie_info_bar {
		background-color: var(--wp--preset--color--off-black) !important;
		border: 1px solid var(--wp--preset--color--white) !important;
	}
	
	.moove-gdpr-info-bar-container *,
	#moove_gdpr_cookie_modal * {
		-webkit-font-smoothing: auto !important;
		letter-spacing: 1px !important;
	}	
	
	.moove-gdpr-cookie-notice > p,
	.moove-gdpr-infobar-settings-btn,
	.moove_gdpr_text {
		color: var(--wp--preset--color--white) !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn) {
		color: var(--wp--preset--color--off-black) !important;
		background-color: var(--wp--preset--color--white) !important;
		box-shadow: inset 0 0 0 1px currentColor !important;
	}
	
	:is(.moove-gdpr-infobar-allow-all, .moove-gdpr-infobar-reject-btn):is(:hover, :focus, :active) {
		color: var(--wp--preset--color--white) !important;
		background-color: var(--wp--preset--color--off-black) !important;
	}
	
	.moove-gdpr-infobar-settings-btn {
		color: var(--wp--preset--color--white) !important;
		background-color: transparent !important;
	}
	
	.moove-gdpr-infobar-settings-btn:is(:hover, :focus, :active) {
		color: var(--wp--preset--color--off-black) !important;
		background-color: var(--wp--preset--color--white) !important;
	}
	
	.moove-gdpr-company-logo-holder img {
		object-fit: contain;
		filter: var(--wp--custom--color--off-black--filter);
	}
	
	#moove-gdpr-menu li::before,
	#moove_gdpr_cookie_modal .cookie-switch::before,
	#moove_gdpr_cookie_modal .cookie-switch::after {
		display: none;
	}
	
	#moove_gdpr_save_popup_settings_button {
		background-color: var(--wp--preset--color--off-black) !important;
		border: 1px solid  var(--wp--preset--color--white) !important;
		box-sizing: content-box;
		cursor: pointer;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon {
		position: relative;	
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon::after {
		content: '';
		position: absolute;
		top: 50%;
		left: 50%;
		width: calc(100% *  (2/3));
		height: calc(100% *  (2/3));
		background: url(../images/privacy.svg) no-repeat center;
		background-size: contain;
		filter: var(--wp--custom--color--white--filter);
		translate: -50% -50%;
	}
	
	#moove_gdpr_save_popup_settings_button span.moove_gdpr_icon svg {
		display: none;
		/* translate: -.5px .5px; */
	}