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

	/* TEMP - REMOVE WHEN RESPONSIVE IS DONE  */
	body:not(.wp-admin) #wpadminbar {
		display: none !important;
	}
	/* TEMP - REMOVE WHEN RESPONSIVE IS DONE  */

	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 <= 1500px) {
		body {
			--wp--custom--intro-section-height: 350px;
		}
	}
	
	@media (width <= 1200px) {
		body {
			--wp--preset--spacing--8	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--8-5	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--9	: var(--wp--preset--spacing--7-5);
			--wp--preset--spacing--9-5	: var(--wp--preset--spacing--7-5);
			--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 <= 1000px) {
		body {
			--wp--custom--intro-section-height: 300px;
		}
	}
	
	@media (width <= 800px) {
		body {
			--wp--preset--spacing--5-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--6	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--6-5	: var(--wp--preset--spacing--5);
			--wp--preset--spacing--7	: 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);
			
			--wp--custom--intro-section-height: 250px;
		}
		
		#wpadminbar { display: none !important; }
	}
	
	@media (width <= 700px) {
		body {
			--wp--custom--header-height: 6.25rem;
			--wp--custom--intro-section-height: 220px;
		}
	}
	
	@media (width <= 550px) {
		body {
			--wp--custom--intro-section-height: 200px;
		}
	}
	
	@media (width <= 450px) {
		body {
			--wp--custom--header-height: 5.75rem;
			--wp--custom--intro-section-height: 150px;
			--wp--custom--border-radius: 20px;
		}
	}
	
	@media (width <= 400px) {
		body {
			--wp--custom--header-height: 5.375rem;
			--wp--custom--border-radius: 15px;
		}
	}
	
	@media (width <= 350px) {
		body {
			--wp--custom--header-height: 4.75rem;
			--wp--custom--intro-section-height: 120px;
		}
	}

	/******************************/
	/* 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;
	}
	
	.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: grid;
		grid-template-columns: repeat(2, max-content);
		grid-auto-rows: max-content;
		grid-template-areas:
			'logo utility-nav'
			'logo main-nav';
		row-gap: var(--wp--preset--spacing--3);
		
		justify-content: space-between;
		align-items: center;
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		padding-block: var(--wp--preset--spacing--2) var(--wp--preset--spacing--0-50);
		margin-inline: auto;
		box-sizing: border-box;
	}
	
	.site-head:where(.is-layout-flow) > * + .site-nav {
		margin-block-start: unset;	
	}
	
	/* Logo */
	.site-head > .wp-block-site-logo {
		grid-area: logo;
		align-self: end;
		margin-block: var(--wp--preset--spacing--1) var(--wp--preset--spacing--0-50);
	}
	
	.wp-site-blocks:has(> main > .wp-block-post-content > .wp-block-cke-page-header.has-background) > header > .site-head > .wp-block-site-logo {
		background: url(../images/logo-flumen-light.svg) no-repeat center / 100%;
	}
	
	.wp-site-blocks:has(> main > .wp-block-post-content > .wp-block-cke-page-header.has-background) > header > .site-head > .wp-block-site-logo img {
		opacity: 0;
	}
	
	/* Main menu */	
	.site-head > .site-nav.main {
		grid-area: main-nav;
		justify-content: end;
	}
	
	.site-nav.main > .menu-item {
		margin-block-end: var(--wp--preset--spacing--0-50);
	}
	
	.site-nav.main > .menu-item-has-children {
		padding-block-end: var(--wp--preset--spacing--0-50);
		margin-block-end: unset;
	}
	
	/* Mobile button display breakpoint */
	.site-nav.main > .burger-popup-open {
		display: block;
		margin-block-end: var(--wp--preset--spacing--0-25);
	}
	
	@media (width > 1200px) {
		.site-nav.main > .burger-popup-open {
			display: none;
		}
	}
	
	/* Utility menu */
	.site-head > .site-nav.utility {
		grid-area: utility-nav;
		justify-self: end;
		gap: var(--wp--preset--spacing--2-5);
	}
	
	.site-nav.utility > .menu-item > a {
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--0-50);
		font-size: var(--wp--preset--font-size--medium-small);
		font-weight: 300;
		color: var(--wp--custom--color--default--focus);
	}
	
	.site-nav.utility > .menu-item > a:is(:hover, :focus, :active) {
		color: var(--wp--custom--color--default--text);
	}
	
	.site-nav.utility > .menu-item > a::before,
	.site-nav.utility > .menu-item > a::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		height: auto;
		opacity: 1;
		translate: 0 -50%;
		transition: opacity .3s;
	}
	
	.site-nav.utility > .menu-item > a::after {
		filter: var(--wp--custom--color--filter--black-rock-blue);
	}
	
	.site-nav.utility > .menu-item > a:is(:hover, :focus, :active)::before,
	.site-nav.utility > .menu-item > a:not(:hover, :focus, :active)::after {
		opacity: 0;
	}
	
	.site-nav.utility > .menu-item.technical-demo > a {
		padding-inline-start: calc(21px + var(--wp--preset--spacing--0-25));
	}
	
	.site-nav.utility > .menu-item.technical-demo > a::before,
	.site-nav.utility > .menu-item.technical-demo > a::after {
		width: 21px;
		aspect-ratio: 82/73;
		background: url(../images/icon-technical-demo.svg) no-repeat center / contain;
	}
	
	.site-nav.utility > .menu-item.technical-support > a {
		padding-inline-start: calc(19px + var(--wp--preset--spacing--0-25));
	}
	
	.site-nav.utility > .menu-item.technical-support > a::before,
	.site-nav.utility > .menu-item.technical-support > a::after {
		width: 19px;
		aspect-ratio: 1;
		background: url(../images/icon-technical-support.svg) no-repeat center / contain;
	}
	
	.site-nav.utility > .menu-item.contact > a {
		padding-inline-start: calc(21px + var(--wp--preset--spacing--0-25));
	}
	
	.site-nav.utility > .menu-item.contact > a::before,
	.site-nav.utility > .menu-item.contact > a::after {
		width: 21px;
		aspect-ratio: 83/55;
		background: url(../images/icon-contact.svg) no-repeat center / contain;
	}
	
	/* Responsive */
	@media (width <= 1400px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 320px;
		}
		
		/* Utility menu */
		.site-head > .site-nav.utility {
			gap: var(--wp--preset--spacing--1-5);
		}
	}
	
	@media (width <= 1300px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 300px;
		}
	}
	
	@media (width <= 1200px) {
		.site-head {
			grid-template-areas:
				'utility-nav utility-nav'
				'logo 		 main-nav';
			row-gap: var(--wp--preset--spacing--1-5);
		}
		
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 310px;
		}
		
		/* Main menu */
		.site-head > .site-nav.main {
			align-self: end;
		}
		
		.site-nav.main > .menu-item:not(.menu-item-has-children) {
			display: none;
		}
	}
	
	@media (width <= 700px) {
		.site-head {
			grid-template-columns: minmax(0, 1fr) max-content;
			grid-template-areas:
				'logo main-nav';
		}
		
		/* Main menu */
		.site-nav.main > .menu-item {
			display: none;
		}
		
		/* Utility menu */
		.site-head > .site-nav.utility {
			display: none;
		}
	}
	
	@media (width <= 450px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 280px;
		}
	}
	
	@media (width <= 400px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 250px;
		}
	}
	
	@media (width <= 350px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 200px;
		}
	}
	
	@media (width <= 300px) {
		/* Logo */
		.site-head > .wp-block-site-logo {
			width: 180px;
		}
	}
	
	/******************************/
	/* Footer
	/******************************/
	.site-foot {
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		margin-inline: auto;
	}
	
	.site-foot > .wp-block-group {
		margin-block: 0;
	}
	
	/* Main */
	.site-foot > .site-foot-main {
		display: grid;
		grid-template-columns: repeat(2, max-content);
		grid-auto-rows: max-content;
		grid-template-areas:
			'logo 		proudly-canadian'
			'footer-nav proudly-canadian';
		row-gap: var(--wp--preset--spacing--2);
		justify-content: space-between;
		align-items: end;
		width: 100%;
		max-width: var(--wp--style--global--wide-size);
		background-color: var(--wp--custom--color--default--text);
		padding-block: var(--wp--preset--spacing--8-5) var(--wp--preset--spacing--3-5);
		margin-inline: auto;
		box-sizing: border-box;
	}
	
	/* Main - Logo */
	.site-foot-main > .wp-block-site-logo {
		grid-area: logo;
		width: 400px;
	}
	
	.site-foot-main > .wp-block-site-logo {
		background: url(../images/logo-flumen-light.svg) no-repeat center / 100%;
	}
	
	.site-foot-main > .wp-block-site-logo img {
		opacity: 0;
	}
	
	/* Main - Footer menu */
	.site-foot-main > .site-nav.footer {
		grid-area: footer-nav;
		background-color: var(--wp--custom--color--default--bg-2);
		padding-block: var(--wp--preset--spacing--3-5) var(--wp--preset--spacing--3);
		padding-inline: var(--wp--preset--spacing--7);
		border-radius: var(--wp--custom--border-radius);
		box-sizing: border-box;
	}
	
	.site-nav.footer > .menu-item {
		font-size: var(--wp--preset--font-size--large);
		line-height: .9;
	}
	
	.site-nav.footer > .menu-item > a {
		display: flex;
	}
	
	.site-nav.footer > .menu-item > a::before {
		content: '';
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		height: auto;
		translate: 0 -50%;
	}
	
	.site-nav.footer > .menu-item.technical-demo > a {
		padding-inline-start: calc(81px + var(--wp--preset--spacing--1));
	}
	
	.site-nav.footer > .menu-item.technical-demo > a::before {
		width: 81px;
		aspect-ratio: 82/73;
		background: url(../images/icon-technical-demo.svg) no-repeat center / contain;
	}
	
	.site-nav.footer > .menu-item.technical-support > a {
		padding-inline-start: calc(69px + var(--wp--preset--spacing--1));
	}
	
	.site-nav.footer > .menu-item.technical-support > a::before {
		width: 69px;
		aspect-ratio: 1;
		background: url(../images/icon-technical-support.svg) no-repeat center / contain;
	}
	
	.site-nav.footer > .menu-item.contact > a {
		padding-inline-start: calc(81px + var(--wp--preset--spacing--1));
	}
	
	.site-nav.footer > .menu-item.contact > a::before {
		width: 81px;
		aspect-ratio: 83/55;
		background: url(../images/icon-contact.svg) no-repeat center / contain;
	}
	
	/* Main - Proudly Canadian */
	.site-foot-main > .proudly-canadian {
		grid-area: proudly-canadian;
		display: grid;
		/* grid-template-columns: repeat(3, max-content); */
		grid-template-columns: auto max-content auto;
		grid-auto-rows: max-content;
		column-gap: unset;
		row-gap: var(--wp--preset--spacing--1);
		justify-content: center;
		align-items: center;
	}
	
	.proudly-canadian::before,
	.proudly-canadian::after,
	.proudly-canadian > img {
		grid-row: 1;
	}
	
	.proudly-canadian::before,
	.proudly-canadian::after {
		content: '';
		display: inline-block;
		width: 98px;
		height: auto;
		aspect-ratio: 31/75;
		filter: var(--wp--custom--color--filter--gun-powder-blue);
	}
	
	.proudly-canadian::before {
		grid-column: 1;
		background: url(../../assets/images/braces-light-left.svg) no-repeat center / 100% auto;
	}
	
	.proudly-canadian > img {
		grid-column: 2;
		width: 120px;
		height: auto;
		aspect-ratio: 122/133;
	}
	
	.proudly-canadian::after {
		grid-column: 3;
		background: url(../../assets/images/braces-light-right.svg) no-repeat center / 100% auto;
	}
	
	.proudly-canadian > h3 {
		grid-row: 2;
		grid-column: 1 / span 3;
		font-size: var(--wp--preset--font-size--medium-large);
		text-align: center;
		color: var(--wp--custom--color--default--accent-2);
		margin-block: unset;
		user-select: none;
	}

	/* Credits */
	.site-foot > .site-foot-credits {
		--text-color: #D8D4C9;
		
		display: flex;
		align-items: center;
		background-color: var(--wp--custom--color--default--bg-2);
		padding-block: var(--wp--preset--spacing--0-75);
	}
	
	.site-foot-credits > :is(p, .cake) {
		margin-block: unset;
	}
	
	.site-foot-credits > p {
		font-size: var(--wp--preset--font-size--small);
		line-height: 1;
		text-align: center;
		color: var(--text-color);
	}
	
	.site-foot-credits > p a {
		text-decoration: none;
	}
	
	.site-foot-credits > .copyright {
		padding-inline-end: var(--wp--preset--spacing--0-50);
		border-inline-end: 2px solid currentcolor;
		margin-inline-end: var(--wp--preset--spacing--0-50);
	}
	
	.site-foot-credits > .cake {
		position: relative;
		margin-inline-start: auto;
	}
	
	.site-foot-credits > .cake img {
		filter: brightness(0) saturate(100%) invert(90%) sepia(5%) saturate(455%) hue-rotate(7deg) brightness(101%) contrast(80%);
		opacity: 1;
		transition: opacity .3s;
	}
	
	.site-foot-credits > .cake img:last-child {
		content: '';
		display: inline-block;
		position: absolute;
		top: 0;
		left: 0;
		height: auto;
	}
	
	.site-foot-credits > .cake img:last-child {
		filter: var(--wp--custom--color--filter--cornflower-blue);
	}
	
	.site-foot-credits > .cake > a:is(:hover, :focus, :active) > img:first-child,
	.site-foot-credits > .cake > a:not(:hover, :focus, :active) > img:last-child {
		opacity: 0;
	}
	
	.site-foot-credits > .cake,
	.site-foot-credits > .cake * {
		display: flex;
		align-items: center;
		height: 20px;
	}
	
	/* If page does not have a block with the no-footer-margin class as last child, add a top margin to the footer */
	body:not(:has(.wp-block-post-content > .no-footer-margin:last-child)) .site-foot {
		margin-block-start: var(--wp--preset--spacing--6);
	}
	
	/* Responsive */
	@media (width <= 1600px) {
		/* Main - Footer menu */
		.site-foot-main > .site-nav.footer {
			padding-block: var(--wp--preset--spacing--2-5) var(--wp--preset--spacing--2);
			padding-inline: var(--wp--preset--spacing--4);
		}
		
		/* Main - Proudly Canadian */
		.proudly-canadian::before,
		.proudly-canadian::after {
			width: 66px;
		}
		
		.proudly-canadian > img {
			width: 80px;
		}
	}
	
	@media (width <= 1300px) {
		/* Main - Footer menu */
		.site-nav.footer > .menu-item {
			font-size: var(--wp--preset--font-size--medium-large);
		}
		
		.site-nav.footer > .menu-item.technical-demo > a,
		.site-nav.footer > .menu-item.contact > a {
			padding-inline-start: calc(61px + var(--wp--preset--spacing--1));
		}
		
		.site-nav.footer > .menu-item.technical-demo > a::before,
		.site-nav.footer > .menu-item.contact > a::before {
			width: 61px;
		}
		
		.site-nav.footer > .menu-item.technical-support > a {
			padding-inline-start: calc(52px + var(--wp--preset--spacing--1));
		}
		
		.site-nav.footer > .menu-item.technical-support > a::before {
			width: 52px;
		}
	}
	
	@media (width <= 1100px) {
		/* Main - Footer menu */
		.site-foot-main > .site-nav.footer {
			padding-block: var(--wp--preset--spacing--1-5);
			padding-inline: var(--wp--preset--spacing--2-5);
		}
		
		/* Main - Proudly Canadian */
		.site-foot-main > .proudly-canadian {
			margin-block-start: unset;
		}
		
		.proudly-canadian::before,
		.proudly-canadian::after {
			width: 48px;
		}
		
		.proudly-canadian > img {
			justify-self: center;
			width: 60px;
		}
		
		.proudly-canadian > h3 {
			max-width: 150px;
		}
	}
	
	@media (width <= 900px) {
		/* Main - Footer menu */
		.site-nav.footer > .menu-item {
			font-size: var(--wp--preset--font-size--medium);
		}
		
		.site-nav.footer > .menu-item.technical-demo > a,
		.site-nav.footer > .menu-item.contact > a {
			padding-inline-start: calc(46px + var(--wp--preset--spacing--1));
		}
		
		.site-nav.footer > .menu-item.technical-demo > a::before,
		.site-nav.footer > .menu-item.contact > a::before {
			width: 46px;
		}
		
		.site-nav.footer > .menu-item.technical-support > a {
			padding-inline-start: calc(41px + var(--wp--preset--spacing--1));
		}
		
		.site-nav.footer > .menu-item.technical-support > a::before {
			width: 41px;
		}
	}
	
	@media (width <= 800px) {
		/* Main - Footer menu */
		.site-nav.footer > .menu-item {
			font-size: var(--wp--preset--font-size--medium-small);
		}
		
		.site-nav.footer > .menu-item.technical-demo > a,
		.site-nav.footer > .menu-item.contact > a {
			padding-inline-start: calc(35px + var(--wp--preset--spacing--0-50));
		}
		
		.site-nav.footer > .menu-item.technical-demo > a::before,
		.site-nav.footer > .menu-item.contact > a::before {
			width: 35px;
		}
		
		.site-nav.footer > .menu-item.technical-support > a {
			padding-inline-start: calc(32px + var(--wp--preset--spacing--0-50));
		}
		
		.site-nav.footer > .menu-item.technical-support > a::before {
			width: 32px;
		}
		
		/* Main - Proudly Canadian */
		.proudly-canadian::before,
		.proudly-canadian::after {
			width: 40px;
		}
		
		.proudly-canadian > img {
			width: 50px;
		}
		
		.proudly-canadian > h3 {
			max-width: 130px;
		}
	}
	
	@media (width <= 675px) {
		/* Main */
		.site-foot > .site-foot-main {
			grid-template-rows: 1fr max-content;
			padding-block: var(--wp--preset--spacing--2);
		}
		
		/* Main - Logo */
		.site-foot-main > .wp-block-site-logo {
			align-self: center;
			width: 350px;
		}
		
		/* Main - Footer menu */
		.site-foot-main > .site-nav.footer {
			width: max-content;
			max-width: 100%;
			background-color: unset;
			padding: unset;
			margin-block-start: unset;
		}
		
		.site-nav.footer > .menu-item {
			color: var(--wp--custom--color--default--bg-2);
			text-align: center;
		}
		
		.site-nav.footer > .menu-item.technical-demo > a,
		.site-nav.footer > .menu-item.contact > a,
		.site-nav.footer > .menu-item.technical-support > a {
			padding-inline-start: unset;
		}
		
		.site-nav.footer > .menu-item > a::before {
			content: '';
			display: inline-block;
			position: absolute;
			top: 0;
			left: 50%;
			width: auto;
			translate: -50%;
			filter: var(--wp--custom--color--filter--quarter-pearl-lusta-white);
		}
		
		.site-nav.footer > .menu-item.technical-demo > a {
			padding-block-start: calc(29px + var(--wp--preset--spacing--0-50));
		}
		
		.site-nav.footer > .menu-item.technical-demo > a::before {
			height: 29px;
		}
		
		.site-nav.footer > .menu-item.technical-support > a {
			padding-block-start: calc(31px + var(--wp--preset--spacing--0-50));
		}
		
		.site-nav.footer > .menu-item.technical-support > a::before {
			height: 31px;
		}
		
		.site-nav.footer > .menu-item.contact > a {
			padding-block-start: calc(22px + var(--wp--preset--spacing--0-50));
		}
		
		.site-nav.footer > .menu-item.contact > a::before {
			height: 22px;
		}
	}
	
	@media (451px < width <= 675px) {
		/* Main - Proudly Canadian */
		.site-foot-main > .proudly-canadian {
			grid-template-columns: auto max-content;
			grid-template-rows: 60px max-content 60px;
			align-items: center;
			column-gap: var(--wp--preset--spacing--1);
			row-gap: unset;
			margin-inline-end: calc(var(--wp--custom--outer-pad) * -1);
		}
		
		.proudly-canadian::before,
		.proudly-canadian::after,
		.proudly-canadian > img {
			grid-column: 2;
		}
		
		.proudly-canadian::before,
		.proudly-canadian::after {
			justify-self: end;
			width: auto;
			height: 100px;
			rotate: 90deg;
			translate: 10px;
		}
		
		.proudly-canadian::before {
			grid-row: 1;
		}
		
		.proudly-canadian::after {
			grid-row: 3;
		}
		
		.proudly-canadian > img {
			grid-row: 2;
			width: 100px;
			margin-inline-end: -45px;
		}
		
		.proudly-canadian > h3 {
			grid-column: 1;
			grid-row: 1 / span 3;
			max-width: unset;
			writing-mode: vertical-lr;
		}
	}
	
	@media (width <= 550px) {
		/* Main - Logo */
		.site-foot-main > .wp-block-site-logo {
			width: 300px;
		}
		
		/* Credits */
		.site-foot > .site-foot-credits {
			flex-direction: column;
			align-items: start;
			row-gap: var(--wp--preset--spacing--1);
			padding-block: var(--wp--preset--spacing--1);
		}
		
		.site-foot-credits > .copyright {
			padding-inline-end: unset;
			border-inline-end: unset;
			margin-inline-end: unset;
		}
		
		.site-foot-credits > .cake {
			margin-inline-start: unset;
		}
	}
	
	@media (width <= 500px) {
		/* Main - Logo */
		.site-foot-main > .wp-block-site-logo {
			width: 250px;
		}
	}
	
	@media (width <= 450px) {
		/* Main */
		.site-foot > .site-foot-main {
			grid-template-columns: 100%;
			grid-template-rows: unset;
			grid-template-areas:
				'logo'
				'footer-nav'
				'proudly-canadian';
			row-gap: var(--wp--preset--spacing--3);
		}
		
		/* Main - Logo */
		.site-foot-main > .wp-block-site-logo {
			justify-self: center;
			width: min(300px, 100%);
		}
		
		/* Main - Footer menu */
		.site-foot-main > .site-nav.footer {
			justify-self: center;
		}
		
		/* Credits */
		.site-foot > .site-foot-credits {
			align-items: center;
		}
	}
	
	@media (width <= 350px) {
		/* Main - Footer menu */
		.site-foot-main > .site-nav.footer {
			flex-wrap: wrap;
			justify-content: center;
		}
	}
	
	/******************************/
	/* 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));
		--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) max-content minmax(0, 1fr);
		grid-template-areas:
			'close-btn	close-btn'
			'logo		logo'
			'burger-nav burger-nav';
		gap: var(--wp--preset--spacing--3);
		justify-content: space-evenly;
		width: var(--wp--custom--viewport-width);
		height: 100dvh;
		background-color: var(--wp--custom--color--default--text);
		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;
	}
	
	/* Close button */
	#burger-popup > .burger-popup-close {
		grid-area: close-btn;
		justify-self: end;
		align-self: end;
		background-color: transparent;
		margin-inline-end: calc(var(--inline-offset) * -1);
		border: unset;
		cursor: pointer;
	}
	
	#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);
	}
	
	/* Logo */
	#burger-popup > .wp-block-site-logo,
	#burger-popup > .wp-block-site-logo * {
		width: min(50%, 500px);
		height: auto;
		aspect-ratio: 393/77;
	}
	
	#burger-popup > .wp-block-site-logo {
		grid-area: logo;
		background: url(../images/logo-flumen-light.svg) no-repeat center / 100%;
	}
	
	#burger-popup > .wp-block-site-logo img {
		opacity: 0;
	}
	
	/* Burger menu */
	#burger-popup > .site-nav.burger {
		grid-area: burger-nav;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: unset;
		align-items: center;
		width: max-content;
		height: max-content;
		max-width: 100%;
		max-height: 100%;
		overflow: visible;
	}
	
	.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;
	}
	
	/* Responsive */
	@media (width <= 1000px) {
		#burger-popup {
			--inline-padding: var(--wp--preset--spacing--5);
		}
	}
	
	@media (width <= 600px) {
		#burger-popup {
			--inline-padding: var(--wp--custom--outer-pad);
		}
	}
	
	@media (width <= 400px) {
		#burger-popup {
			grid-template-areas:
			'close-btn	close-btn'
			'burger-nav burger-nav';
			grid-template-rows: var(--wp--custom--header-height) minmax(0, 1fr);
		}
		
		/* Logo */
		#burger-popup > .wp-block-site-logo {
			display: none;
		}
		
		/* Burger menu */
		#burger-popup > .site-nav.burger {
			justify-self: center;
		}
		
		#burger-popup > .site-nav.burger > .menu-item {
			text-align: center;
		}
	}
	
	@media (width <= 300px),
		   (height <= 450px) {
		#burger-popup {
			grid-template-rows: max-content minmax(0, 1fr);
		}
	}
	
	/******************************/
	/* Menus
	/******************************/
	.site-nav {
		display: flex;
		align-items: end;
		gap: var(--wp--preset--spacing--2-5);
	}
	
	.site-nav > .menu-item {
		position: relative;
		width: max-content;
		max-width: 100%;
		font-size: var(--wp--preset--font-size--medium-large);
		font-weight: bold;
		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;
		user-select: none;
		transition: color .3s;
	}
	
	.site-nav > .menu-item[class*="current-menu-"] > a,
	.site-nav > .menu-item:not(.menu-item-has-children) > a:is(:hover, :focus, :active),
	.site-nav > .menu-item-has-children: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;
	} */
	.site-nav > .menu-item-has-children > a {
		position: relative;
		padding-inline-end: calc(24px + var(--wp--preset--spacing--0-50));
	}
	
	.site-nav > .menu-item-has-children > a::before,
	.site-nav > .menu-item-has-children > a::after {
		content: '';
		display: inline-block;
		position: absolute;
		top: 60%;
		right: 0;
		width: 24px;
		height: 24px;
		background: url(../images/braces-dark-left.svg) no-repeat center / contain;
		opacity: 1;
		rotate: -90deg;
		translate: 0 -50%;
		transition: opacity .3s;
	}
	
	.site-nav > .menu-item-has-children:is(:hover, :focus, :active, [class*="current-menu-"]) > a::before,
	.site-nav > .menu-item-has-children:not(:hover, :focus, :active, [class*="current-menu-"]) > a::after {
		opacity: 0;
	}
	
	.site-nav > .menu-item-has-children > a::after {
		filter: var(--wp--custom--color--filter--cornflower-blue);
	}
	
	/* Sub menu */
	.site-nav .sub-menu,
	.site-nav .sub-menu::before {
		position: absolute;
		box-sizing: border-box;
		left: -50%;
	}
	
	.site-nav .sub-menu {
		top: 100%;
		width: max-content;
		max-width: 400px;
		font-weight: 300;
		padding: var(--wp--preset--spacing--1-5);
		margin-block: unset;
		opacity: 0;
		pointer-events: none;
		translate: 0 -1px;
		transition: opacity .3s;
	}
	
	.site-nav .sub-menu::before {
		content: '';
		top: 0;
		width: 100%;
		height: 100%;
		background-color: var(--wp--custom--color--default--bg);
		padding: var(--wp--preset--spacing--1-5);
		border: 1px solid var(--wp--custom--color--default--text);
		margin-block-start: var(--wp--preset--spacing--0-25);
		border-radius: 14px;
		translate: 50%;
		z-index: -1;
	}
	
	.site-nav .menu-item-has-children:is(:hover, :focus) > .sub-menu {
		opacity: 1;
		pointer-events: all;
	}
	
	.site-nav .sub-menu > .menu-item {
		color: var(--wp--custom--color--default--text);
		list-style: none;
	}
	
	.site-nav .sub-menu > .menu-item:not(:first-child) {
		margin-block-start: var(--wp--preset--spacing--0-25);
	}
	
	.site-nav .sub-menu > .menu-item.no-click ~ .menu-item.no-click {
		margin-block-start: var(--wp--preset--spacing--2);
	}
	
	.site-nav .sub-menu > .menu-item > a {
		font-size: var(--wp--preset--font-size--medium);
		font-weight: inherit;
		text-decoration: none;
		user-select: none;
	}
	
	.site-nav .sub-menu > .menu-item.no-click,
	.site-nav .sub-menu > .menu-item.no-click a {
		pointer-events: none;
	}
	
	/* Responsive */
	@media (width <= 1400px) {
		.site-nav {
			gap: var(--wp--preset--spacing--1-5);
		}
	}
	
	@media (width <= 1200px) {
		.site-nav {
			gap: var(--wp--preset--spacing--2-5);
		}
		
		/* Sub menu */
		.site-nav .sub-menu,
		.site-nav .sub-menu::before {
			left: unset;
			right: 0;
		}
		
		.site-nav .sub-menu::before {
			translate: unset;
		}
	}
	
	/********************************************************/
	/* Utility widget
	/********************************************************/
	.utility-widget {
		display: flex;
		justify-content: end;
		align-items: start;
		position: sticky;
		bottom: calc(100svh - var(--wp--custom--header-height));
		right: var(--wp--preset--spacing--0-50);
		width: 0;
		height: 0;
		margin-inline: auto 0;
		margin-block-end: var(--wp--preset--spacing--1);
		z-index: 10;
	}
	
	.utility-widget > .site-nav.utility {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--1-5);
		justify-content: space-between;
		align-items: center;
		width: max-content;
		height: max-content;
		max-width: calc(var(--wp--custom--outer-pad) - var(--wp--preset--spacing--0-75));
		background-color: var(--wp--custom--color--default--bg-2);
		padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--0-50);
		border: 1px solid var(--wp--custom--color--default--text);
		border-radius: 15px;
		box-sizing: border-box;
	}
	
	.utility-widget > .site-nav.utility > .menu-item {
		height: auto;
		padding-inline-start: unset;
	}
	
	.utility-widget > .site-nav.utility > .menu-item.wpml-ls-item {
		display: none;
	}
	
	.utility-widget > .site-nav.utility > .menu-item a {
		font-size: 0;
	}
	
	.utility-widget > .site-nav.utility > .menu-item > a::before,
	.utility-widget > .site-nav.utility > .menu-item > a::after {
		max-width: 100%;
	}
	
	.utility-widget > .site-nav.utility > .menu-item > a::before {
		filter: var(--wp--custom--color--filter--black-rock-blue);
	}
	
	.utility-widget > .site-nav.utility > .menu-item > a::after {
		filter: var(--wp--custom--color--filter--cornflower-blue) !important;
	}
	
	.utility-widget > .site-nav.utility > .menu-item.technical-demo,
	.utility-widget > .site-nav.utility > .menu-item.technical-demo > a::before,
	.utility-widget > .site-nav.utility > .menu-item.technical-demo > a::after {
		width: 34px;
		aspect-ratio: 82/73;
	}
	
	.utility-widget > .site-nav.utility > .menu-item.technical-support,
	.utility-widget > .site-nav.utility > .menu-item.technical-support > a::before,
	.utility-widget > .site-nav.utility > .menu-item.technical-support > a::after {
		width: 30px;
		aspect-ratio: 1;
	}
	
	.utility-widget > .site-nav.utility > .menu-item.contact,
	.utility-widget > .site-nav.utility > .menu-item.contact > a::before,
	.utility-widget > .site-nav.utility > .menu-item.contact > a::after {
		width: 34px;
		aspect-ratio: 83/55;
	}
	
	/* If page has a page-header block as first child, align utility widget with it */
	body:has(.wp-block-post-content > .wp-block-cke-page-header:first-child) .utility-widget {
		bottom: calc(100svh - ((var(--wp--custom--header-height) + var(--wp--preset--spacing--3) + (var(--wp--custom--intro-section-height) / 2)) - var(--wp--custom--adminbar-height)));
	}
	
	body:has(.wp-block-post-content > .wp-block-cke-page-header:first-child) .utility-widget > .site-nav.utility {
		translate: 0 -50%;
	}
	
	@media (width <= 1600px) {
		.utility-widget {
			right: 0;
		}
		
		.utility-widget > .site-nav.utility {
			max-width: calc(var(--wp--custom--outer-pad) - var(--wp--preset--spacing--0-50));
			border-radius: 15px 0 0 15px;
		}
	}
	
	@media (width <= 1200px) {
		.utility-widget > .site-nav.utility {
			border-radius: 10px 0 0 10px;
			max-width: unset;
		}
		
		.utility-widget > .site-nav.utility > .menu-item.technical-demo,
		.utility-widget > .site-nav.utility > .menu-item.technical-demo > a::before,
		.utility-widget > .site-nav.utility > .menu-item.technical-demo > a::after,
		.utility-widget > .site-nav.utility > .menu-item.contact,
		.utility-widget > .site-nav.utility > .menu-item.contact > a::before,
		.utility-widget > .site-nav.utility > .menu-item.contact > a::after {
			width: 27px;
		}
		
		.utility-widget > .site-nav.utility > .menu-item.technical-support,
		.utility-widget > .site-nav.utility > .menu-item.technical-support > a::before,
		.utility-widget > .site-nav.utility > .menu-item.technical-support > a::after {
			width: 25px;
		}
		
		/* At this width and below, remove utility widget alignment */
		.utility-widget,
		body:has(.wp-block-post-content > .wp-block-cke-page-header:first-child) .utility-widget {
			align-items: end;
			bottom: var(--wp--preset--spacing--1);
		}
		
		body:has(.wp-block-post-content > .wp-block-cke-page-header:first-child) .utility-widget > .site-nav.utility {
			translate: unset;
		}
	}
	
	@media (width <= 500px) {
		.utility-widget {
			display: none;
		}
	}
	
	/********************************************************/
	/* 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--text);
		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;
	}
	
	.loading-overlay .loading {
		grid-row: 2;
		width: min(150px, 50vw);
		max-height: 30svh;
		filter: var(--wp--custom--color--filter--pampas-white);
		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;
	}
	
	/* Logiciel */
	body.single-cke_logiciel .wp-block-cke-page-header h1[style*="--icon-url"] {
		position: relative;
		width: max-content;
		padding-inline-start: calc(60px + var(--wp--preset--spacing--2));
	}
	
	body.single-cke_logiciel .wp-block-cke-page-header h1[style*="--icon-url"]::before {
		order: -1;
		content: '';
		display: inline-block;
		position: absolute;
		top: 50%;
		left: 0;
		width: 60px;
		height: 60px;
		max-height: 60px;
		aspect-ratio: 1;
		background: var(--icon-url) no-repeat center / contain;
		translate: 0 -50%;
	}
	
	
	/******************************/
	/* Other templates
	/******************************/
	
	/* 404 error page */
	body.error404 .wp-site-blocks > main {
		display: flex;
		justify-content: center;
		align-items: center;
	}