/********************************************************/
/*
/*      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;
	}
	
	@media screen and (max-width: 1200px) {
		body {
			--wp--preset--spacing--12: 8rem; 
			--wp--preset--spacing--15: 10rem; 
		}
	}
	
	@media screen and (max-width: 900px) {
		body {
			--wp--preset--spacing--7-5: 5rem; 
			--wp--preset--spacing--12: 6rem; 
			--wp--preset--spacing--15: 7.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: start;
		width: 100%;
		height: var(--wp--custom--header-height);
		z-index: 5;
	}
	
	/* .wp-site-blocks > header::before, */
	.wp-site-blocks > header::after {
		content: '';
		display: block;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(0deg, rgba(136, 136, 136, 0) 0%, rgba(0, 0, 0, 1) 100%);
		mix-blend-mode: multiply;
	}
	
	.wp-site-blocks > main {
		flex-grow: 2;
		margin-block-start: calc(max(90vh, 800px) * -1);
	}
	
	.wp-site-blocks > main > .entry-content > * {
		box-sizing: border-box;
	}
	
	.wp-site-blocks > footer {
		z-index: 3;
	}
	
	@media screen and (max-width: 1800px) {
		.wp-site-blocks > main > .entry-content > .alignwide:not(.wp-block-cover) { max-width: calc(100% - (var(--wp--custom--outer-pad) * 2)) !important; }
	}
	
	@media screen and (max-width: 1600px) {
		.wp-site-blocks > main > .entry-content > :not(.alignwide):not(.wp-block-cover) { max-width: calc(100% - (var(--wp--custom--outer-pad) * 2)) !important; }
		/* .wp-site-blocks > main > .entry-content > .wp-block-heading:not(.alignwide) { padding-inline-start: calc(var(--wp--custom--outer-pad) * 2); } */
	}
	
	@media screen and (max-width: 600px) {
		.wp-site-blocks > main > .entry-content > .wp-block-heading:not(.alignwide) { padding-inline-start: unset; text-align: center; }
	}
	
	/******************************/
	/* Header
	/******************************/
	.site-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: var(--wp--style--global--content-size);
		margin-inline: auto;
		z-index: 1;
	}
	
	.site-head .wp-block-site-logo img {
		width: auto;
		height: 110px;
		aspect-ratio: 258/110;
	}
	
	@media screen and (max-width: 1600px) {
		.site-head { max-width: calc(100% - (var(--wp--custom--outer-pad) * 2)); }
	}
	
	@media screen and (max-width: 1200px) {
		.site-head .site-nav.main { display: grid; grid-template-columns: repeat(3, 1fr); row-gap: .75rem; }
		.site-head .site-nav.main > .menu-item { justify-self: center; }
	}
	
	@media screen and (max-width: 850px) {
		.site-head .wp-block-site-logo { margin-inline: auto; }
		.site-head .site-nav.main { display: none; }
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		width: 100%;
		max-width: var(--wp--style--global--content-size);
		margin-inline: auto;
	}
	
	.site-foot > .wp-block-group {
		margin-block: 0;
	}
	
	.site-foot > .has-background,
	.site-foot > .wp-block-group:first-child {
		position: relative;
	}
	
	.site-foot > .wp-block-group:first-child {
		display: grid;
		grid-template-columns: 1fr max-content;
		grid-template-rows: max-content max-content;
		grid-template-areas: 
			'coords main-menu'
			'coords logo';
		column-gap: var(--wp--preset--spacing--7-5);
		position: relative;
	}
	
	.site-foot > .wp-block-group:last-child {
		gap: 0;
	}
	
	.site-foot > .has-background::before,
	.site-foot > .wp-block-group:first-child::before,
	.site-foot > .wp-block-group:first-child::after {
		content: '';
		position: absolute;
		top: 0;
		left: calc((var(--wp--custom--viewport-width) - 100%) / 2 * -1);
		width: var(--wp--custom--viewport-width);
		height: 100%;
	}
	
	.site-foot > .has-background::before {
		background-color: inherit;
		z-index: -1;
	}
	
	.site-foot > .wp-block-group:first-child::before {
		background: url(../images/footer-bg-cropped.jpg) no-repeat;
		background-size: cover;
		background-position: center;
		z-index: 1;
	}
	
	.site-foot > .wp-block-group:first-child::after {
		background: var(--wp--preset--color--gray);
		mix-blend-mode: multiply;
		z-index: 2;
	}
	
	.site-foot > .wp-block-group:first-child > * {
		z-index: 3;
	}
	
	.site-foot .coordinates {
		grid-area: coords;
	}
	
	.site-foot .site-nav {
		grid-area: main-menu;
		flex-direction: column;
		align-items: start;
		gap: .25rem;
		padding-inline-start: 6rem;
	}
	
	.site-foot .wp-block-site-logo {
		grid-area: logo;
		margin-block-start: auto;
	}
	
	.site-foot .wp-block-site-logo img {
		width: auto;
		height: 110px;
		aspect-ratio: 258/110;
		filter: var(--wp--custom--filter--white);
	}
	
	.site-foot :is(.copyrights, .privacy-policy) {
		font-size: var(--wp--preset--font-size--small);
		line-height: normal;
	}
	
	.site-foot .privacy-policy {
		padding-inline-start: .75rem;
		margin-inline-start: .75rem;
		margin-inline-end: auto;
		border-inline-start: 2px solid;
	}
	
	.site-foot .privacy-policy a {
		text-decoration: none;
	}
	
	.site-foot .cake img {
		vertical-align: middle;
		filter: var(--wp--custom--filter--gray);
	}
	
	@media screen and (max-width: 1600px) {
		.site-foot { max-width: calc(100% - (var(--wp--custom--outer-pad) * 2)); }
		.site-foot > .wp-block-group:first-child { column-gap: var(--wp--preset--spacing--4); }
	}
	
	@media screen and (max-width: 1100px) {
		.site-foot > .wp-block-group:first-child { padding-top: var(--wp--preset--spacing--2) !important; }
		.site-foot .site-nav { display: none; }
		.site-foot .coordinates { display: contents; }
		.site-foot .coordinates * { z-index: 3; }
		.site-foot .coordinates .address { grid-row: 1; grid-column: 1; }
		.site-foot .coordinates .phone { grid-row: 2; grid-column: 1 / span 2; width: max-content; }
		.site-foot .coordinates .email { grid-row: 3; grid-column: 1 / span 2; }  
		.site-foot .wp-block-site-logo { grid-row: 1; grid-column: 2; margin-block-end: auto; }
		.site-foot .wp-block-site-logo img { height: 80px; }
	}
	
	@media screen and (max-width: 850px) {
		.site-foot > .wp-block-group:last-child { flex-wrap: wrap; justify-content: center; row-gap: 1rem; }
		.site-foot .privacy-policy { margin-inline-end: unset; }
	}
	
	@media screen and (max-width: 750px) {
		.site-foot > .wp-block-group:last-child { flex-direction: column; flex-wrap: nowrap; }
		.site-foot > .wp-block-group:last-child * { justify-self: center; text-align: center; }
		.site-foot .privacy-policy { padding-inline-start: unset; margin-inline-start: unset; border-inline-start: unset; }
	}
	
	@media screen and (max-width: 550px) {
		.site-foot > .wp-block-group:first-child * { justify-self: center; text-align: center; }
		.site-foot .wp-block-site-logo { grid-row: 1; grid-column: 1 / span 2; margin-block-end: var(--wp--preset--spacing--2); }
		.site-foot .coordinates .address { grid-row: 2; grid-column: 1 / span 2; }
		.site-foot .coordinates .phone { grid-row: 3; }
		.site-foot .coordinates .email { grid-row: 4; } 
	}
	
	/******************************/
	/* Menus
	/******************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: 1.5rem;
	}
	
	.site-nav a {
		color: var(--wp--preset--color--white);
		text-decoration: none;
		text-transform: uppercase;
		transition: color .3s;
	}
	
	.site-nav .menu-item {
		position: relative;
		width: max-content;
		list-style: none;
	}
	
	.site-nav .menu-item:hover > a {
		color: var(--wp--custom--default-color--focus);
	}
	
	/******************************/
	/* Patterns
	/******************************/
	
	/* Sticky button */
	.sticky-button {
		top: calc(100vh - 6.25rem) !important;
		width: 0;
		max-height: 0;
		margin-block-start: calc(max(90vh, 800px) - var(--wp--custom--header-height));
		margin-inline: auto var(--wp--custom--outer-pad);
	}
	
	.sticky-button .wp-block-button,
	.sticky-button .wp-block-button__link {
		width: 4.25rem;
		height: 4.25rem;
		padding: 0 !important;
	}
	
	.sticky-button .wp-block-button {
		margin-block-start: 1rem;
		translate: -100%;
	}
	
	.sticky-button .wp-block-button__link {
		display: block;
		font-size: 0;
		rotate: -90deg;
	}
	
	.sticky-button .wp-block-button__link::before {
		filter: var(--wp--custom--filter--off-green);
	}
	
	/* Coordinates */
	.coordinates {
		width: max-content;
		color: var(--wp--preset--color--white);
	}
	
	.coordinates > p {
		line-height: 1.25;
		margin-block: 0;
	}
	
	.coordinates > p a {
		text-decoration: none;
	}
	
	.coordinates .h1 {
		font-size: calc(var(--wp--preset--font-size--x-large) * .5) !important;
	}
	
	.coordinates .phone {
		width: 100%;
		padding-block-start: 2.625rem;
		margin-block-start: 3rem;
		border-block-start: 1px solid var(--wp--preset--color--white);
	}
	
	.coordinates .email {
		margin-block-start: var(--wp--preset--spacing--1);
	}
	
	@media screen and (max-width: 1400px) {
		.coordinates .h1 { font-size: calc(var(--wp--preset--font-size--x-large) * .4) !important; }
		.coordinates .h5 { font-size: calc(var(--wp--preset--font-size--medium) * .9) !important; }
	}
	
	@media screen and (max-width: 1100px) {
		.coordinates .phone { padding-block-start: 1rem; margin-block-start: 1rem; }
	}