/********************************************************/
/*
/*      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;
	}
	
	/* TEMP */
	body:not(.wp-admin) #wpadminbar {
		display: none !important;
	}
	/* TEMP */
	
	/******************************/
	/* 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 <= 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 <= 400px) {
		body {
			--wp--custom--header-height: 9.9375rem;
		}
	}
	
	@media (width <= 320px) {
		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%;
		max-height: var(--wp--custom--header-height);
		margin-block-start: 0;
		z-index: 5;
	}
	
	/* For sticky header */
	/* .wp-site-blocks > header {
		position: sticky;
		top: 0;
		max-height: var(--wp--custom--stickied-header-height);
	} */
	/* For sticky header */
	
	.wp-site-blocks main {
		flex-grow: 2;
		position: relative;
	}
	
	.wp-site-blocks > main > .entry-content > * {
		box-sizing: border-box;
	}
	
	.wp-site-blocks > footer {
		z-index: 3;
	}
	
	.wp-site-blocks > :is(header, footer) > :is(.site-head, .site-foot) > .has-background {
		position: relative;
	}
	
	.wp-site-blocks > :is(header, footer) > :is(.site-head, .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;
	}
	
	/******************************/
	/* Header
	/******************************/
	.site-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		padding-block: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--2-5);
		margin-inline: auto;
	}
	
	.site-head:where(.is-layout-flow) > * + .site-nav {
		margin-block-start: unset;	
	}
	
	/* Main menu */
	.site-head > .site-nav.main {
		align-self: end;
	}
	
	/* Mobile button display breakpoint */
	.site-nav.main > .burger-popup-open {
		display: none;
	}
	
	@media (width <= 1250px) {
		.site-head > .site-nav.main {
			gap: var(--wp--preset--spacing--1-5);
		}
	}
	
	@media (width <= 1100px) {
		.site-nav.main {
			height: 110px; /* Height of site logo */
			flex-direction: column;
			justify-content: space-between;
		}
		
		.site-nav.main > .menu-item:not(.wpml-ls-item) {
			display: none;
		}
	
		.site-nav.main > .burger-popup-open {
			display: block;
		}
	}
	
	@media (width <= 400px) {
		.site-head > .wp-block-site-logo {
			width: 180px;
		}
		
		.site-nav.main {
			height: 94px; /* Height of site logo */
		}
	}
	
	@media (width <= 350px) {
		.site-head > .wp-block-site-logo {
			width: 150px;
		}
		
		.site-nav.main {
			height: 78px; /* Height of site logo */
		}
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		margin-inline: auto;
	}
	
	.site-foot > .wp-block-group {
		margin-block: unset;
	}
	
	/* Foot: main */
	.site-foot > .site-foot-main {
		display: grid;
		grid-template-areas:
			'logo coords-1 	 	  coords-1			   coords-1'
			'logo footer-main-nav footer-secondary-nav coords-2';
		grid-auto-columns: max-content;
		grid-auto-rows: max-content;
		justify-content: space-between;
		column-gap: var(--wp--preset--spacing--2);
		row-gap: var(--wp--preset--spacing--5-5);
		background-color: var(--wp--custom--color--default--accent);
		padding-block: var(--wp--preset--spacing--7) var(--wp--preset--spacing--3-5);
	}
	
	.site-foot-main * {
		color: var(--wp--preset--color--alabaster-white);
	}
	
	.site-foot-main :is(:hover, :focus, :active) {
		color: var(--wp--preset--color--salt-box-gray) !important;
	}
	
	
	.site-foot-main > .wp-block-site-logo {
		grid-area: logo;
		align-self: center;
		filter: var(--wp--custom--color--filter--alabaster-white);
		margin-inline-end: auto;
	}
	
	.site-foot-main > :is(.coords-1, .coords-2, .site-nav) {
		align-self: end;
		height: max-content;
		padding-inline-start: var(--wp--preset--spacing--2);
		border-inline-start: 2px solid var(--wp--preset--color--alabaster-white);
		margin-block-start: unset;
		box-sizing: border-box;
	}
	
	/* Coords */
	.site-foot-main > .coords-1 {
		grid-area: coords-1;
		padding-block-start: var(--wp--preset--spacing--1);
	}
	
	.site-foot-main > .coords-1 p {
		font-family: var(--wp--preset--font-family--aeonik-pro);
		font-size: var(--wp--preset--font-size--large);
		font-weight: 700;
	}
	
	.site-foot-main > .coords-2 {
		grid-area: coords-2;
	}
	
	.site-foot-main > .coords-2 p {
		line-height: 1.95;
		margin-block: -.5em;
	}
	
	/* Footer nav */
	.site-foot-main > .site-nav.footer-main {
		grid-area: footer-main-nav;	
	}
	
	.site-foot-main > .site-nav.footer-secondary {
		grid-area: footer-secondary-nav;
	}

	/* Foot: credits */
	.site-foot > .site-foot-credits {
		display: flex;
		align-items: center;
		padding-block: var(--wp--preset--spacing--1);
	}
	
	.site-foot-credits > :is(p, .cake) {
		margin-block: unset;
	}
	
	.site-foot-credits > p {
		font-size: var(--wp--preset--font-size--small);
		line-height: 1;
	}
	
	.site-foot-credits > p a {
		text-decoration: none;
	}
	
	.site-foot-credits > .copyright {
		padding-inline-end: var(--wp--preset--spacing--0-50);
		border-inline-end: 1px solid currentcolor;
		margin-inline-end: var(--wp--preset--spacing--0-50);
	}
	
	.site-foot-credits > .cake {
		margin-inline-start: auto;
	}
	
	.site-foot-credits > .cake,
	.site-foot-credits > .cake * {
		display: flex;
		align-items: center;
		height: 20px;
	}
	
	/* Footer menu */
	.site-nav[class*="footer-"] {
		align-self: end;
		display: flex;
		flex-direction: column;
		justify-content: end;
		align-items: start;
		gap: var(--wp--preset--spacing--1);
	}
	
	.site-nav[class*="footer-"] > .menu-item > a {
		font-family: var(--wp--preset--font-family--aeonik-fono);
		font-weight: 400;
		color: var(--wp--preset--color--alabaster-white);
	}
	
	@media (width <= 1600px) {
		.site-foot-main > :is(.coords-1, .coords-2, .site-nav) {
			padding-inline-start: var(--wp--preset--spacing--1);
		}
		
		.site-foot-main > .wp-block-site-logo {
			width: 500px;
		}
	}
	
	@media (width <= 1400px) {
		.site-foot > .site-foot-main {
			column-gap: var(--wp--preset--spacing--1);
		}
		
		.site-foot-main > .wp-block-site-logo {
			width: 400px;
		}
	}
	
	@media (width <= 1250px) {
		.site-foot > .site-foot-main {
			grid-template-areas:
				'logo 			 logo 				  coords-1 coords-1'
				'footer-main-nav footer-secondary-nav coords-2 coords-2';
			row-gap: var(--wp--preset--spacing--3-5);
		}
	}
	
	@media (width <= 800px) {
		.site-foot > .site-foot-main {
			grid-template-areas:
				'logo 	  empty'
				'coords-1 coords-2'
				'footer-main-nav footer-secondary-nav';
			justify-content: start;
		}
		
		.site-foot-main > .wp-block-site-logo {
			width: 300px;
		}
	}
	
	@media (width <= 700px) {
		.site-foot-main > .wp-block-site-logo {
			width: 250px;
		}
		
		.site-foot > .site-foot-credits {
			flex-wrap: wrap;
			justify-content: center;
			row-gap: var(--wp--preset--spacing--1-5);
		}
		
		.site-foot-credits > .cake {
			margin-inline-start: unset;
		}
	}
	
	@media (width <= 600px) {
		.site-foot > .site-foot-main {
			grid-auto-columns: 100%;
			grid-template-areas:
				'logo'
				'footer-main-nav'
				'footer-secondary-nav'
				'coords-2'
				'coords-1';
			justify-content: start;
		}
		
		.site-foot-main > .wp-block-site-logo {
			width: 100%;
		}
		
		.site-foot-main > .site-nav.footer-secondary {
			padding-block-start: var(--wp--preset--spacing--1);
			margin-block-start: calc(var(--wp--preset--spacing--3-5) * -1);
		}
		
		.site-foot > .site-foot-credits {
			flex-direction: column;
			flex-wrap: nowrap;
		}
		
		.site-foot-credits > p {
			text-align: center;
		}
		
		.site-foot-credits > .copyright {
			padding-inline-end: unset;
			border-inline-end: unset;
			margin-inline-end: unset;
		}
	}
	
	/******************************/
	/* Burger menu
	/******************************/
	#burger-popup {
		--block-padding: var(--wp--preset--spacing--1-5);
		--inline-padding: var(--wp--preset--spacing--11);
		--block-offset: calc(var(--wp--custom--header-height) - var(--wp--custom--adminbar-height) - var(--block-padding) + (var(--wp--custom--scrollbar-width) / 2));
		--inline-offset: calc(var(--inline-padding) - var(--wp--custom--wide-pad) + (var(--wp--custom--scrollbar-width) / 2));
		
		display: grid;
		grid-template-columns: minmax(0, 1fr) 22.5%;
		grid-template-rows: var(--wp--custom--header-height) minmax(0, 1fr) repeat(2, max-content);
		/* grid-template-areas:
			'close-btn	close-btn'
			'burger-nav social-nav'
			'burger-nav coords'
			'logo		logo'; */
		grid-template-areas:
			'close-btn	close-btn'
			'burger-nav burger-nav'
			'burger-nav burger-nav'
			'logo		logo';
		gap: var(--wp--preset--spacing--3);
		justify-content: space-evenly;
		width: var(--wp--custom--viewport-width);
		height: 100dvh;
		background-color: var(--wp--preset--color--mine-shaft-black);
		padding-block: var(--block-padding);
		padding-inline: var(--inline-padding);
		border: unset;
		box-sizing: border-box;
		transition: opacity .3s;
	}
	
	#burger-popup:not(:popover-open),
	#burger-popup:not(:popover-open) * {
		opacity: 0;
		pointer-events: none;
	}
	
	#burger-popup > * {
		position: relative;
		z-index: 2;
	}
	
	#burger-popup::backdrop {
		display: none;
	}
	
	#burger-popup > .burger-popup-close {
		grid-area: close-btn;
		justify-self: end;
		align-self: end;
		background-color: transparent;
		margin-block-start: calc(var(--block-offset) * -1);
		margin-inline-end: calc(var(--inline-offset) * -1);
		border: unset;
		cursor: pointer;
		translate: 0 -100%;
	}
	
	#burger-popup > .burger-popup-close::after {
		content: '';
		display: inline-block;
		font-family: var(--wp--preset--font-family--fontawesome);
		color: var(--wp--custom--color--default--accent);
		transition: color .3s;
	}
	
	#burger-popup > .burger-popup-close:is(:hover, :focus)::after {	
		color: var(--wp--custom--color--default--bg);
	}
	
	/* Burger menu */
	#burger-popup > .site-nav.burger {
		grid-area: burger-nav;
		display: block;
		column-count: 2;
		overflow: visible;
	}
	
	/* Logo */
	#burger-popup > .wp-block-site-logo {
		grid-area: logo;
		width: 320px;
		max-width: 100%;
	}
	
	.site-nav.burger > .menu-item + .menu-item {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	.site-nav.burger > .menu-item > a {
		font-size: var(--wp--preset--font-size--medium-large);
		color: var(--wp--custom--color--default--bg);
	}
	
	.site-nav.burger .sub-menu {
		display: none;
	}
	
	@media (width <= 1100px) {
		#burger-popup > .burger-popup-close {
			translate: 0 -200%;
		}
	}
	
	@media (width <= 600px) {
		#burger-popup > .site-nav.burger {
			column-count: 1;
		}
	}
	
	/* Height responsiveness */
	@media (height <= 800px) {
		#burger-popup {
			display: flex;
			flex-direction: column;
		}
		
		#burger-popup > .burger-popup-close {
			position: absolute;
			top: var(--wp--custom--header-height);
			/* right:  */
			translate: unset;
		}
		
		#burger-popup > .wp-block-site-logo {
			display: none;
		}
	}
	
	/******************************/
	/* Menus
	/******************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: var(--wp--preset--spacing--2);
	}
	
	.site-nav > .menu-item {
		position: relative;
		width: max-content;
		max-width: 100%;
		font-family: var(--wp--preset--font-family--aeonik-pro);
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 600;
		line-height: 1;
		color: var(--wp--custom--color--default--text);
		list-style: none;
	}
	
	.site-nav > .menu-item > a {
		font-family: inherit;
		font-size: inherit;
		line-height: inherit;
		color: inherit;
		text-decoration: none;
		transition: color .3s;
	}
	
	.site-nav > .menu-item:is(:hover, :focus, :active) > 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;
	}
	
	/* Sub menu */
	.site-nav .sub-menu {
		position: absolute;
		top: 100%;
		left: 50%;
		padding: var(--wp--preset--spacing--2);
		background-color: var(--wp--preset--color--white);
		margin: 0;
		opacity: 0;
		pointer-events: none;
		translate: -50% -1px;
		transition: opacity .3s;
	}
	
	.site-nav .menu-item-has-children:hover > .sub-menu {
		opacity: 1;
		pointer-events: all;
	}
	
	/* 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: 2rem;
		height: auto;
		aspect-ratio: 1;
		font-size: 0;
		color: transparent;
		background-color: var(--wp--custom--color--default--bg);
		border: 2px solid 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: 1.25rem;
		line-height: normal;
		color: var(--wp--custom--color--default--text);
		translate: -50% -50%;
		transition: color .3s;
	}
	
	.site-nav.social .menu-item a:is(:hover, :focus, :active) {
		background-color: var(--wp--custom--color--default--text);
	}
	
	.site-nav.social .menu-item a:is(:hover, :focus, :active)::after {
		color: var(--wp--preset--color--gray);
	}
	
	.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: ''; }
	
	/********************************************************/
	/* 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--custom--color--default--accent);
		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(600px, calc(100% * (2/3)));
		max-height: 50svh;
		filter: var(--wp--custom--color--filter--alabaster-white);
	}
	
	.loading-overlay .loading {
		grid-row: 2;
		width: min(150px, 50vw);
		max-height: 30svh;
		/* filter: var(--wp--custom--color--filter--cream); */
		z-index: 21;
	}
	
	body:is(.loaded, .hide-loading-overlay) .loading-overlay {
		opacity: 0;
		pointer-events: none;
	}
	
	/******************************/
	/* Singles
	/******************************/
	body[class*="single-cke_"] main > .wp-block-post-content > * + * {
		margin-block-start: 2em;
	}
	
	/******************************/
	/* Other templates
	/******************************/
	/* 404 error page */
	body.error404 .wp-site-blocks > main {
		display: flex;
		justify-content: center;
		align-items: center;
	}