/********************************************************/
/*
/*      Layout CSS
/*
/********************************************************/

	html {
		overflow-x: clip;
		scroll-behavior: smooth;
		margin-block-start: 0 !important;
	}

	body {
		width: 100%;
		max-width: var(--wp--custom--viewport-width);
	}
	
	body:not(.wp-admin) #wpadminbar {
		position: relative !important;
	}
	
	/******************************/
	/* Layout variables adjustment
	/******************************/
	@media (width <= 1200px) {
		body {
			--wp--preset--spacing--10	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--10-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--11	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--11-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--12	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--12-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--13	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--13-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--14	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--14-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--15	: var(--wp--preset--spacing--7-5);
		}
	}
	
	@media (width <= 1100px) {
		body {
			--wp--custom--header-height: 5.75rem;
		}
	}
	
	@media (width <= 800px) {
		body {
			--wp--preset--spacing--6	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--7-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--8	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--8-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--9	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--9-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--10	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--10-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--11	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--11-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--12	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--12-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--13	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--13-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--14	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--14-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--15	: var(--wp--preset--spacing--5);
		}
		#wpadminbar { display: none !important; }
	}
	
	@media (width <= 500px) {
		body {
			--wp--custom--header-height: 5.125rem;
		}
	}
	
	@media (width <= 400px) {
		body {
			--wp--custom--header-height: 5rem;
		}
	}

	/******************************/
	/* Content grid
	/******************************/
	.wp-site-blocks {
		min-width: 100%;
		min-height: 100dvh;
		margin-inline: auto;
		display: flex; 
		flex-direction: column;
		overflow-x: clip;
	}
	
	.wp-site-blocks > * {
		margin-block-start: 0;
	}
	
	.wp-site-blocks > header {
		position: relative;
		display: flex;
		align-items: end;
		width: 100%;
		margin-block-start: 0;
		z-index: 1002; /* High z-index to be above the cookie settings flaoting button */
		/* z-index: 5; */
	}
	
	.wp-site-blocks main {
		flex-grow: 2;
		position: relative;
	}
	
	.wp-site-blocks > main > .entry-content > *,
	.wp-site-blocks > .tribe-block > .entry-content > * {
		box-sizing: border-box;
	}
	
	.wp-site-blocks > .tribe-block > :not(.wp-block-post-content) {
		display: contents;
	}
	
	.wp-site-blocks > main > .entry-content > * + :not([style*="margin-top"]) {
		margin-block-start: 1em;
	}
	
	.wp-site-blocks > main > .entry-content > :last-child {
		margin-block-end: var(--wp--preset--spacing--10);
	}
	
	.wp-site-blocks > footer {
		z-index: 3;
	}
	
	@media (width <= 500px) {
		.wp-site-blocks > main > .entry-content > p:is([style*="margin-left"], [style*="margin-right"]),
		.wp-site-blocks > main > .entry-content > .wp-block-group > p:is([style*="margin-left"], [style*="margin-right"]) {
			margin-inline: unset !important;
		}
	}
	
	/******************************/
	/* Header
	/******************************/
	.site-head {
		display: flex;
		justify-content: space-between;
		align-items: start;
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		height: var(--wp--custom--header-height);
		max-height: var(--wp--custom--header-height);
		margin-inline: auto;
	}
	
	:root .site-head:where(.is-layout-flow) > :is(.site-head-main, .site-head-secondary) { /* Override Gutenberg style */
		margin-block-start: 40px;
	}
	
	.site-head > .site-head-main,
	.site-head > .site-head-secondary {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--wp--preset--spacing--1-5);
	}
	
	.site-head > .site-head-main,
	.site-head > .site-head-secondary > * {
		background-color: var(--wp--custom--color--default--bg);
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--2);
		border: 2px solid var(--wp--custom--color--default--text);
		border-radius: 48px;
		box-sizing: border-box;
	}
	
	/* Header: main */
	.site-head-main > .wp-block-site-logo {
		height: max-content;
		padding-block: 6px 2px;
		margin-inline-end: var(--wp--preset--spacing--10);
	}
	
	/* Header: secondary */
	.site-head-secondary > .burger {
		display: flex;
		justify-content: center;
		align-items: center;
		width: auto;
		height: 100%;
		min-height: 72px;
		aspect-ratio: 1;
		background-color: var(--wp--preset--color--yellow);
		padding: unset;
		margin-block-start: unset;
		border-radius: 100%;
		transition: background-color .3s;
	}
	
	.site-head-secondary > .burger {
		position: relative;
		cursor: pointer;
		z-index: 2;
	}
	
	.site-head-secondary > .burger::before,
	.site-head-secondary > .burger::after {
		display: inline-block;
		font-family: var(--wp--preset--font-family--fontawesome);
		font-size: 1.75em;
		font-weight: 500;
		opacity: 0;
		transition: opacity .3s;
	}
	
	.site-head-secondary > .burger:is(:hover, :focus) {
		background-color: var(--wp--custom--color--default--focus);
	}
	
	.site-head-secondary > .burger::before {
		content: '';
	}
	
	.site-head-secondary > .burger::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		translate: -50% -50%;
	}
	
	#burger-menu-popup-toggle:not(:checked) ~ .site-head .site-head-secondary > .burger::before,
	#burger-menu-popup-toggle:checked ~ .site-head .site-head-secondary > .burger::after {
		opacity: 1;
		transition: color .3s, opacity .3s .15s;
	}
	
	/* Place some blocks behind the header */
	main > .wp-block-post-content > :is(.wp-block-cover):first-child {
		margin-block-start: calc(var(--wp--custom--header-height) * -1);
	}
	
	@media (width <= 1350px) {
		.site-head-main > .wp-block-site-logo {
			margin-inline-end: var(--wp--preset--spacing--3);
		}
	}
	
	@media (width <= 1250px) {
		.site-head-main > .wp-block-site-logo {
			margin-inline-end: unset;
		}
		
		.site-head-main > .wp-block-site-logo img {
			width: 250px;
		}
	}
	
	@media (width <= 1100px) {
		:root .site-head:where(.is-layout-flow) > .site-head-main { /* Override Gutenberg style */
			margin-block-start: 30px;
		}
		
		:root .site-head:where(.is-layout-flow) > .site-head-secondary { /* Override Gutenberg style */
			margin-block-start: 20px;
		}
		
		.site-head > .site-head-main {
			background-color: unset;
			padding: unset;
			border: unset !important;
		}
		
		.site-head-main > .wp-block-site-logo img {
			width: 350px !important;
		}
		
		.site-head-secondary > .burger {
			min-height: 52px;
		}
		
		.site-head-secondary > .burger::before,
		.site-head-secondary > .burger::after {
			font-size: 1.3em;
		}
	}
	
	@media (width <= 800px) {
		.site-head {
			margin-inline: var(--wp--custom--outer-pad);
		}
	}
	
	@media (width <= 500px) {
		:root .site-head:where(.is-layout-flow) > .site-head-secondary { /* Override Gutenberg style */
			margin-block-start: 15px;
		}
		
		.site-head-main > .wp-block-site-logo img {
			width: 250px !important;
		}
	}
	
	@media (width <= 400px) {
		.site-head-main > .wp-block-site-logo img {
			width: 225px !important;
		}
		
		.site-head-secondary > .burger {
			min-height: 48px;
		}
		
		.site-head-secondary > .burger::before,
		.site-head-secondary > .burger::after {
			font-size: 1.2em;
			transform: translateY(1px);
		}
	}
	
	@media (width <= 320px) {
		:root .site-head:where(.is-layout-flow) > .site-head-main { /* Override Gutenberg style */
			margin-block-start: 25px;
		}
		
		.site-head-secondary > .burger {
			min-height: 40px;
		}
		
		.site-head-secondary > .burger::before,
		.site-head-secondary > .burger::after {
			font-size: 1.1em;
			transform: translateY(1px);
		}
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		color: var(--wp--custom--color--default--text);
		margin-inline: auto;
	}
	
	.site-foot > .has-background {
		position: relative;
	}
	
	.site-foot > .has-background::before {
		content: '';
		position: absolute;
		top: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
		background-color: inherit;
		z-index: -1;
	}
	
	/* Foot: main */
	.site-foot > .site-foot-main {
		display: grid;
		grid-template-areas:
		'newsletter empty'
		'newsletter empty'
		'newsletter social-nav'
		'newsletter coords'
		'newsletter logo';
		grid-template-columns: 40% 33%;
		grid-auto-rows: max-content;
		column-gap: 20%;
		row-gap: var(--wp--preset--spacing--2);
		background-color: var(--wp--preset--color--yellow);
		padding-block: var(--wp--preset--spacing--5);
	}
	
	.site-foot > .site-foot-main > * {
		margin-block: unset;
	}
	
	.site-foot-main > .newsletter {
		grid-area: newsletter;
	}
	
	.site-foot-main > .newsletter > :not(.gform_wrapper) {
		max-width: 85%;
		margin-block-end: var(--wp--preset--spacing--2);
	}

	.site-foot-main > .newsletter > .gform_wrapper .gfield_label {
		display: none;
	}
	
	.site-foot-main > .newsletter > .gform_wrapper :is(input, select, textarea):not([type="submit"], [type="button"], [type="file"], [class*="adminbar"]) {
		color: var(--wp--custom--color--default--text);
		background-color: var(--wp--preset--color--white);
	}
	
	.site-foot-main > .newsletter > .gform_wrapper .gform_footer {
		--bg-color: var(--wp--custom--color--rgb-values--elephant-blue);
		--arrow-bg-color: var(--wp--custom--color--rgb-values--astral-blue);
	}
	
	.site-foot-main > .newsletter > .gform_wrapper .gform_footer input[type="submit"] {
		height: 42px !important;
		font-family: var(--wp--preset--font-family--rebond-grotesque) !important;
		font-size: var(--wp--preset--font-size--small) !important;
		font-weight: 600 !important;
		color: inherit !important;
		background-color: transparent !important;
		padding-block: var(--wp--preset--spacing--0-50) !important;
		padding-inline: var(--wp--preset--spacing--3) calc(var(--wp--preset--spacing--3) + 10px + 42px) !important;
		border: unset !important;
		border-radius: unset !important;
		outline: unset !important;
		box-shadow: unset !important;
	}
	
	.site-foot-main > .site-nav.social {
		grid-area: social-nav;
	}
	
	.site-foot-main > .coordinates {
		grid-area: coords;
	}
	
	.site-foot-main > .wp-block-site-logo {
		grid-area: logo;
	}

	/* Foot: credits */
	.site-foot > .site-foot-credits,
	.site-foot-credits > * {
		margin-block: unset !important;
	}
	
	.site-foot > .site-foot-credits {
		display: flex;
		align-items: center;
		padding-block: var(--wp--preset--spacing--0-75);
	}
	
	.site-foot-credits > p {
		font-size: var(--wp--preset--font-size--x-small);
		line-height: normal;
		color: var(--wp--custom--color--default--text);
		text-transform: uppercase;
	}
	
	.site-foot-credits > p:has(> a):is(:hover, :focus) {
		color: var(--wp--custom--color--default--focus);
	}
	
	.site-foot-credits > p > a {
		font-size: inherit;
		color: inherit;
	}
	
	.site-foot-credits > :first-child {
		padding-inline-end: var(--wp--preset--spacing--0-75);
		margin-inline-end: var(--wp--preset--spacing--0-75);
		border-inline-end: 1px solid currentcolor;
	}
	
	
	.site-foot-credits > .cake {
		margin-inline-start: auto;
		filter: var(--wp--custom--color--filter--elephant-blue);
	}
	
	.site-foot-credits > .cake > a {
		display: flex;
	}
	
	@media (width <= 1600px) {
		.site-foot > .site-foot-main {
			grid-template-columns: 45% 40%;
			column-gap: 15%;
		}
	}
	
	@media (width <= 1400px) {
		.site-foot > .site-foot-main {
			grid-template-columns: 50% 45%;
			column-gap: 5%;
		}
		
		.site-foot-main > .newsletter > :not(.gform_wrapper) {
			max-width: 100%;
		}
	}
	
	@media (width <= 1000px) {
		.site-foot > .site-foot-main {
			grid-template-columns: 80% 10%;
			grid-template-areas:
				'newsletter newsletter'
				'coords 	social-nav'
				'logo		logo';
			column-gap: 10%;
			padding-block: var(--wp--preset--spacing--5) var(--wp--preset--spacing--3);
		}
	}
	
	@media (width <= 800px) {
		.site-foot {
			max-width: unset;
		}
		
		.site-foot > * {
			padding-inline: var(--wp--custom--outer-pad);
		}
		
		.site-foot > .site-foot-credits {
			flex-direction: column;
			row-gap: var(--wp--preset--spacing--0-75);
			align-items: start;
		}
		
		.site-foot-credits > .cake {
			margin-block-start: var(--wp--preset--spacing--0-75) !important;
			margin-inline-start: unset;
		}
		
		.site-foot-credits > :first-child {
			padding-inline-end: unset;
			margin-inline-end: unset;
			border-inline-end: unset;
		}
	}
	
	@media (width <= 700px) {
		.site-foot > .site-foot-main {
			grid-template-columns: 100%;
			grid-template-areas:
				'newsletter'
				'social-nav'
				'coords'
				'logo';
			padding-block: var(--wp--preset--spacing--3);
		}
	}
	
	/******************************/
	/* Aside
	/******************************/
	/* Burger popup */
	.burger-menu-popup {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		width: var(--wp--custom--viewport-width);
		height: 100dvh;
		background-color: var(--wp--preset--color--elephant-blue);
		opacity: 0;
		pointer-events: none;
		transition: opacity .3s;
	}
	
	#burger-menu-popup-toggle:checked ~ .burger-menu-popup {
		opacity: 1;
		pointer-events: all;
	}
	
	.burger-menu-popup > * {
		width: calc(var(--wp--custom--viewport-width) / 2);
		height: 100%;
		padding-inline: var(--wp--custom--outer-pad);
		margin-block: unset !important;
		box-sizing: border-box;
	}
	
	/* Deco */
	.burger-menu-popup > .burger-deco {
		position: relative;
		background: var(--wp--custom--color--default--accent);
		/* background: url(../../assets/images/burger-menu-image-4.png) no-repeat center / auto 66%,  var(--wp--custom--color--default--accent); */
		/*background: url(../../assets/images/imcp-letters.svg) no-repeat center / auto 90%,  var(--wp--custom--color--default--accent);*/
	}
	
	.burger-deco > .wp-block-image {
		display: contents;
	}
	
	.burger-deco > .wp-block-image img {
		position: absolute;
		top: 52.5%;
		left: 50%;
		width: 60%;
		height: auto;
		aspect-ratio: 1;
		/* rotate: -9deg; */
		translate: -50% -50%;
	}
	
	/* Inner */
	.burger-menu-popup > .burger-inner {
		display: flex;
		flex-direction: column;
		justify-content: end;
		padding-inline-start: var(--wp--preset--spacing--5-5);
		padding-block: var(--wp--custom--header-height) var(--wp--preset--spacing--5-5);
	}
	
	.burger-inner > .site-nav.burger {
		margin-block-start: var(--wp--preset--spacing--5-5);
	}
	
	.burger-inner > .site-nav.social {
		margin-block-start: auto;
	}
	
	.burger-inner > .site-nav.social .menu-item a {
		background-color: var(--wp--custom--color--default--focus);
	}
	
	.burger-inner > .site-nav.social .menu-item a:is(:hover, :focus) {
		background-color: var(--wp--preset--color--orange-peel);
	}
	
	.burger-inner > .coordinates {
		grid-template-columns: minmax(0, 1fr);
		margin-block-start: var(--wp--preset--spacing--2);
	}
	
	.burger-inner > .coordinates p {
		color: var(--wp--preset--color--white);
	}
	
	.burger-inner > .logo {
		position: relative;
		width: 575px;
		height: auto;
		aspect-ratio: 305/28;
		max-width: 100%;
		margin-block-start: var(--wp--preset--spacing--2);
	}
	
	.burger-inner > .logo img {
		position: absolute;
		width: 100%;
		height: 100%;
		border: unset;
		border-radius: unset;
		box-shadow: unset;
		object-fit: cover;
	}
	
	/* Hide WP admin bar when burger menu popup is open */
	body:has(#burger-menu-popup-toggle:checked) #wpadminbar {
		z-index: 0 !important;
	}
	
	/* Responsive */
	@media (width <= 1400px) {
		.burger-menu-popup > .burger-deco {
			width: calc(var(--wp--custom--viewport-width) * .4);
		}
		
		.burger-menu-popup > .burger-inner {
			width: calc(var(--wp--custom--viewport-width) * .6);
		}
		
		.burger-deco > .wp-block-image img {
			width: 70%;
		}
	}
	
	@media (width <= 1200px) {
		.burger-menu-popup > .burger-inner {
			padding-inline-start: var(--wp--preset--spacing--4);
		}
		
		.burger-deco > .wp-block-image img {
			width: 75%;
		}
	}
	
	@media (width <= 1000px) {
		.burger-menu-popup > .burger-deco {
			display: none;
		}
		
		.burger-menu-popup > .burger-inner {
			width: var(--wp--custom--viewport-width);
			padding-inline-start: var(--wp--custom--outer-pad);
		}
	}
	
	/* Height queries */
	@media (height <= 800px) {
		.burger-menu-popup > .burger-inner {
			padding-block: var(--wp--preset--spacing--2-5);
		}
		
		.burger-inner > .logo {
			margin-block-start: unset;
		}
	}
	
	@media (height <= 700px) {
		.burger-inner > .logo {
			display: none;
		}
	}
	
	@media (height <= 600px) {
		.burger-inner > .coordinates {
			display: none;
		}
	}
	
	@media (height <= 450px) {
		.burger-inner > .site-nav.social {
			display: none;
		}
	}
	
	@media (height <= 400px) {
		.burger-menu-popup > .burger-inner {
			padding-block: var(--wp--preset--spacing--1);
		}
	}
	
	/******************************/
	/* Menus
	/******************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: var(--wp--preset--spacing--1-5);
	}
	
	.site-nav a {
		font-family: var(--wp--preset--font-family--rebond-grotesque);
		font-size: var(--wp--preset--font-size--small);
		line-height: 1.2;
		font-weight: 600;
		color: var(--wp--custom--color--default--text);
		text-decoration: none;
		transition: color .3s;
	}
	
	.site-nav .menu-item {
		position: relative;
		width: max-content;
		list-style: none;
	}
	
	.site-nav .menu-item:is(:hover, :focus) > a {
		color: var(--wp--custom--color--default--focus);
	}
	
	/* .site-nav .menu-item-has-children > a::after {
		content: '';
		font-family: var(--wp--preset--font-family--fontawesome);
		font-size: .7em;
		margin-inline-start: .25rem;
	} */
	
	/* Main/Utility menu */	
	.site-nav:is(.main, .utility) {
		margin-block-start: unset;
	}
	
	.site-nav.main,
	.site-nav.utility > .menu-item {
		padding-block: 8px 4px;
	}
	
	@media (width <= 1250px) {
		.site-nav.main {
			gap: var(--wp--preset--spacing--1);
		}
	}
	
	@media (width <= 1100px) {
		.site-nav.main {
			display: none;
		}
	}
	
	/* Burger menu */
	.site-nav.burger {
		display: block;
		column-count: 2;
		gap: var(--wp--preset--spacing--3);
		width: max-content;
		height: max-content;
	}
	
	.site-nav.burger .menu-item:not(:first-child) {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	.site-nav.burger .menu-item a {
		font-size: var(--wp--preset--font-size--medium-large);
		font-weight: 700;
		text-decoration: none;
		color: var(--wp--preset--color--white);
		transition: color .3s;
	}
	
	.site-nav.burger .menu-item:is(:hover, :focus) > a {
		color: var(--wp--custom--color--default--accent);
	}
	
	@media (width <= 500px) {
		.site-nav.burger {
			display: flex;
			flex-direction: column;
			justify-content: end;
			align-items: start;
			gap: unset;
			column-count: 1;
			margin-block-end: var(--wp--preset--spacing--2);
		}
	}
	
	@media (width <= 500px),
		   (height <= 400px) {
		.site-nav.burger .menu-item a {
			font-size: calc(var(--wp--preset--font-size--medium) * 1.2);
		}
	}

	/* Utility menu */
	.site-nav.utility .menu-item {
		font-size: var(--wp--preset--font-size--small);
	}
	
	/* Social menu */
	.site-nav.social {
		display: grid;
		grid-template-columns: repeat(3, max-content);
		grid-template-rows: auto auto;
		gap: .25rem;
	}
	
	.site-nav.social > :not(.menu-item) {
		grid-column: 1 / -1;
		grid-row: 1;
		font-weight: 700;
		margin-block: 0;
	}
	
	.site-nav.social .menu-item {
		grid-row: 2;
	}
	
	.site-nav.social .menu-item a {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 58px;
		height: auto;
		aspect-ratio: 1;
		font-size: 0;
		color: transparent;
		background-color: var(--wp--custom--color--default--text);
		border-radius: 50%;
		transition: background-color .3s;
	}
	
	.site-nav.social .menu-item a::after {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		font-family: var(--wp--preset--font-family--fontawesome);
		font-size: 2.125rem;
		line-height: normal;
		color: var(--wp--preset--color--white);
		translate: -50% -50%;
	}
	
	.site-nav.social .menu-item a:is(:hover, :focus) {
		background-color: var(--wp--custom--color--default--focus);
	}
	
	.site-nav.social .menu-item.fb a::after { content: ''; }
	.site-nav.social .menu-item.ig a::after { content: ''; }
	.site-nav.social .menu-item.in a::after { content: ''; }
	.site-nav.social .menu-item.yt a::after { content: ''; }
	.site-nav.social .menu-item.tk a::after { content: ''; }
	
	/* Sub menu */
	.site-nav .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		padding-block-start: var(--wp--preset--spacing--1);
		padding-inline-start: unset;
		margin: 0;
		opacity: 0;
		pointer-events: none;
		translate: 0 -1px;
		transition: opacity .3s;
	}
	
	.site-nav .menu-item-has-children:is(:hover, :focus) > .sub-menu {
		opacity: 1;
		pointer-events: all;
	}
	
	.site-nav .sub-menu > .menu-item:not(:first-child) {
		margin-block-start: var(--wp--preset--spacing--0-50);
	}
	
	.site-nav .sub-menu > .menu-item > a {
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 300;
	}
	
	.site-nav .sub-menu > .menu-item > a::before {
		content: '-';
	}
	
	/********************************************************/
	/* Loading transition
	/********************************************************/
	body:not(.wp-admin):not(.loaded, .hide-loading-overlay) {
		overflow-y: hidden;
	}
	
	.loading-overlay {
		display: grid;
		grid-template-rows: 2fr 1fr;
		grid-template-columns: 1fr;
		justify-content: center;
		position: fixed;
		inset: 0;
		width: 100%;
		height: 100vh;
		background-color: var(--wp--preset--color--elephant-blue);
		padding: 12.5vh 0 7.5vh;
		box-sizing: border-box;
		opacity: 1;
		transition: opacity .3s;
		pointer-events: all;
		z-index: 20;
	}
	
	.loading-overlay > * {
		height: 100%;
		object-fit: contain;
		margin: auto;
		user-select: none;
		pointer-events: none;
	}
	
	.loading-overlay .logo {
		grid-row: 1;
		width: min(800px, 80%);
		max-height: 50svh;
	}
	
	.loading-overlay .loading {
		grid-row: 2;
		width: min(200px, 50vw);
		max-height: 30svh;
		filter: var(--wp--custom--color--filter--white);
		z-index: 21;
	}
	
	body:is(.loaded, .hide-loading-overlay) .loading-overlay {
		opacity: 0;
		pointer-events: none;
	}
	
	/******************************/
	/* Singles
	/******************************/
	body[class*="single-"] main > .wp-block-post-content > * + * {
		margin-block-start: 2em;
	}
	
	body[class*="single-"] main > .wp-block-post-content > * + :is(.wp-block-group, .wp-block-columns, .wp-block-image, .back-to-archive) {
		margin-block-start: var(--wp--preset--spacing--6-5);
	}
	
	body[class*="single-"] .wp-block-cke-page-header {
		margin-block-end: var(--wp--preset--spacing--10);
	}
	
	body[class*="single-"] .wp-block-cke-page-header > .acf-innerblocks-container > .wp-block-group > .wp-block-heading {
		max-width: unset;
	}
	
	body[class*="single-"] .wp-block-cke-page-header > .acf-innerblocks-container > .wp-block-group > .wp-block-heading[class*="-title"] {
		margin-block-start: var(--wp--preset--spacing--2);
	}
	
	/* Event */
	body.single-tribe_events .wp-block-cke-page-header > .acf-innerblocks-container > .wp-block-group > .wp-block-buttons.sign-up {
		margin-block-start: var(--wp--preset--spacing--2);
	}
	
	body.single-tribe_events .wp-block-buttons.back-to-archive {
		margin-block-start: var(--wp--preset--spacing--5);
	}
	
	/* Laureate project */
	body.single-cke_projet_laureat .wp-block-cke-page-header :is(.project-category, .project-institute) {
		margin-block-start: unset;
	}
	
	/* Resource */	
	body.single-cke_ressource .wp-block-cke-page-header > .acf-innerblocks-container > .wp-block-group > .wp-block-heading.resource-title {
		margin-block-start: var(--wp--preset--spacing--0-50);
	}
	
	/* Podcast */
	body.single-podcast .wp-block-cke-page-header > .acf-innerblocks-container {
		grid-template-columns: 50% 40%;
	}
	
	body.single-podcast .wp-block-cke-page-header > .acf-innerblocks-container > .wp-block-group > .wp-block-heading.episode-title {
		margin-block-start: var(--wp--preset--spacing--0-50);
	}
	
	body.single-podcast .wp-block-cke-page-header .wp-block-image {
		min-height: unset;
		aspect-ratio: 1;
	}
	
	body.single-podcast main > .wp-block-post-content > * {
		max-width: unset;
	}