/* Layer Declarations */
@layer bootstrap, utilities, fonts, rs, components, overrides;



/* Bootstrap */
@import url('assets/css/bootstrap.min.css') layer(bootstrap);



/* Utilities */
/* @import url('assets/css/vendor/[library]') layer(utilities); */



/* Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap') layer(fonts);



/* RS */
@layer rs {

	/* Variables
	----------------------------------------------------
	*/

	:root {

		/* - - Fonts - - */

		--poppins: "Poppins", Helvetica, Arial, sans-serif;

		--weight-regular: 400;
		--weight-medium: 500;
		--weight-bold: 700;

		--font-factor: 1;
		--font-scale: 1.125;
		--font-size: 1.125rem;


		/* - - Colors - - */

		--black: oklch(from #000000 l c h);

		--white: oklch(from #FFFFFF l c h);

		--green: oklch(from #003C3C l c h);
		
		--yellow: oklch(from #E7FA50 l c h);
		
		--blue: oklch(from #A2C1C4 l c h);


		/* - - Global Assignments - - */

		--navbar-toggler: var(--yellow);
		--navbar-accent: var(--yellow);

		--placeholder: var(--black);

		--focus: var(--white);

		--list-color: var(--yellow);

		--skip-background: var(--yellow);
		--skip-border: var(--yellow);
		--skip-color: var(--green);

		--selection-background: var(--white);
		--selection-color: var(--green);

		--header: 8rem;
		/* --scroll-header: Xrem; */
		/* --footer: Xrem; */

		--body-color: var(--white);
		--body-font: var(--poppins);
		--body-weight: var(--weight-regular);
		--content-margin: 1.5rem;

		--heading-color: inherit;
		--heading-font: inherit;
		--heading-weight: var(--weight-bold);
		--heading-margin: 1rem;

		--spacer: 6rem;
		--gutter: 2rem;

		--row-x: 1.5rem;
		--row-y: 0;

		--transition: .25s all;

		
		/* - - Spacing - - */

		--col-1: 8.3333333333%;
		--col-2: 16.6666666667%;
		--col-3: 25%;
		--col-4: 33.3333333333%;
		--col-5: 41.6666666667%;
		--col-6: 50%;
		--col-7: 58.3333333333%;
		--col-8: 66.6666666667%;
		--col-9: 75%;
		--col-10: 83.3333333333%;
		--col-11: 91.6666666667%;
	
		--container-col-1: calc(var(--container-width) * (1 / 12));
		--container-col-2: calc(var(--container-width) * (2 / 12));
		--container-col-3: calc(var(--container-width) * (3 / 12));
		--container-col-4: calc(var(--container-width) * (4 / 12));
		--container-col-5: calc(var(--container-width) * (5 / 12));
		--container-col-6: calc(var(--container-width) * (6 / 12));
		--container-col-7: calc(var(--container-width) * (7 / 12));
		--container-col-8: calc(var(--container-width) * (8 / 12));
		--container-col-9: calc(var(--container-width) * (9 / 12));
		--container-col-10: calc(var(--container-width) * (10 / 12));
		--container-col-11: calc(var(--container-width) * (11 / 12));
	
		--container-width: 100%;
		--container-padding: 2rem;
	
		--page-gutters: calc(100vw - (var(--container-padding) * 2));
		--single-gutter: var(--container-padding);
		--padded-gutter: var(--container-padding);
	
		--align-items: normal;
		--flex-direction: row;
		--justify-content: normal;

		--negative-spacer: calc(var(--spacer) * -1);

		--subspacer: calc(var(--spacer) / 2);
		--negative-subspacer: calc(var(--subspacer) * -1);

		--supspacer: calc(var(--spacer) * 2);
		--negative-supspacer: calc(var(--supspacer) * -1);

		--negative-gutter: calc(var(--gutter) * -1);

	}

	@media (min-width: 576px) {
		:root {
			--container-padding: calc(var(--row-x) * .5);
			--container-width: 540px;
			
			--page-gutters: calc(100vw - var(--container-width));
			--single-gutter: calc(var(--page-gutters) / 2);
			--padded-gutter: calc(var(--single-gutter) + var(--container-padding));
		}
	}

	@media (min-width: 768px) {
		:root {
			--container-width: 720px;

			--spacer: 7rem;
		}
	}

	@media (min-width: 992px) {
		:root {
			--container-width: 960px;

			--font-scale: 1.25;

			--header: 9rem;
			--scroll-header: 9rem;
		}
	}

	@media (min-width: 1200px) {
		:root {
			--container-width: 1140px;

			--spacer: 8rem;

			--header: 13rem;
		}
	}

	@media (min-width: 1400px) {
		:root {
			--container-width: 1320px;

			/* --font-scale: 1.333; */

			--header: 14.25rem;
		}
	}

	@media (min-width: 1600px) {
		:root {
			--container-width: 1520px;
		}
	}



	/* Icons
	----------------------------------------------------
	*/

	@font-face {
		font-family: 'icons';
		src:	url('assets/css/icons/icomoon.eot');
		src:	url('assets/css/icons/icomoon.eot') format('embedded-opentype'),
				url('assets/css/icons/icomoon.ttf') format('truetype'),
				url('assets/css/icons/icomoon.woff') format('woff'),
				url('assets/css/icons/icomoon.svg') format('svg');
		font-display: block;
		font-style: normal;
		font-weight: normal;
	}

	:root {
		--icons: 'icons';

		--arrow-down: "\e900";
		--arrow-left: "\e901";
		--arrow-right: "\e902";
		--arrow-up: "\e903";

		--chevron-down: "\e904";
		--chevron-left: "\e905";
		--chevron-right: "\e906";
		--chevron-up: "\e907";

		--facebook: "\e908";
		--instagram: "\e909";
		--linkedin: "\e90a";
		--pinterest: "\e90f";
		--tiktok: "\e90b";
		--twitter: "\e90c";
		--vimeo: "\e90d";
		--x: "\e910";
		--youtube: "\e90e";
	}

	[class*="icon"] {
		text-decoration: none;
	}

	[class*="icon"]:before {
		font-family: var(--icons);
		font-style: normal;
		font-variant: normal;
		font-weight: normal;
		line-height: 1;
		text-decoration: none;
		text-transform: none;
	}

	.icon.arrow-down:before {
		content: var(--arrow-down);
	}
	.icon.arrow-left:before {
		content: var(--arrow-left);
	}
	.icon.arrow-right:before {
		content: var(--arrow-right);
	}
	.icon.arrow-up:before {
		content: var(--arrow-up);
	}

	.icon.chevron-down:before {
		content: var(--chevron-down);
	}
	.icon.chevron-left:before {
		content: var(--chevron-left);
	}
	.icon.chevron-right:before {
		content: var(--chevron-right);
	}
	.icon.chevron-up:before {
		content: var(--chevron-up);
	}

	.icon.facebook:before {
		content: var(--facebook);
	}
	.icon.instagram:before {
		content: var(--instagram);
	}
	.icon.linkedin:before {
		content: var(--linkedin);
	}
	.icon.pinterest:before {
		content: var(--pinterest);
	}
	.icon.tiktok:before {
		content: var(--tiktok);
	}
	.icon.twitter:before {
		content: var(--twitter);
	}
	.icon.vimeo:before {
		content: var(--vimeo);
	}
	.icon.x:before {
		content: var(--x);
	}
	.icon.youtube:before {
		content: var(--youtube);
	}



	/* Resets & Structure
	----------------------------------------------------
	*/

	*:focus {
		box-shadow: none;
		outline: .0625rem dashed var(--focus);
		outline-offset: .125rem;
	}

	::selection {
		background: var(--selection-background);
		color: var(--selection-color);
		-webkit-text-fill-color: var(--selection-color);
	}

	.skip-to {
		background-color: var(--skip-background);
		border: .125rem solid var(--skip-border);
		color: var(--skip-color);
		height: 1px;
		inset: auto auto auto -10000px;
		overflow: hidden;
		padding: .5rem 1rem;
		position: absolute;
		text-decoration: none;
		width: 1px;
		z-index: 9999;
	}

	.skip-to:focus {
		height: auto;
		inset: .25rem auto auto .25rem;
		width: auto;
	}

	html {
		scrollbar-gutter: stable;
		scroll-behavior: smooth;
	}

	body {
		color: var(--body-color);
		display: flex;
		font-family: var(--body-font);
		font-size: var(--font-size);
		font-weight: var(--body-weight);
		flex-direction: column;
		line-height: 1.5;
		margin: 0;
		min-height: 100vh;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
	
	html.open-menu, html.open-menu body {
		min-height: 100vh;
		overflow: hidden;
		position: static !important;
	}

	body > :where(iframe, img) {
		border: 0 !important;
		clip: rect(0,0,0,0) !important;
		height: 1px !important;
		margin: -1px !important;
		overflow: hidden !important;
		padding: 0 !important;
		position: absolute !important;
		white-space: nowrap !important;
		width: 1px !important;
	}

	main {
		padding-top: var(--header);
		position: relative;
	}

	.container,
	.container-fluid {
		padding-left: var(--container-padding);
		padding-right: var(--container-padding);
	}

	.container {
		max-width: var(--container-width);
	}

	.row {
		align-items: var(--align-items);
		flex-direction: var(--flex-direction);
		justify-content: var(--justify-content);
		margin-left: calc(var(--row-x) / -2);
		margin-right: calc(var(--row-x) / -2);
		margin-top: calc(var(--row-y) * -1);
	}

	.row > * {
		margin-top: var(--row-y);
		padding-left: calc(var(--row-x) / 2);
		padding-right: calc(var(--row-x) / 2);
	}

	.section {
		margin-bottom: var(--spacer);
	}

	.subsection {
		margin-bottom: var(--subspacer);
	}

	.wrapper {
		padding-bottom: var(--spacer);
		padding-top: var(--spacer);
	}

	.wrapper.section + .wrapper {
		margin-top: var(--negative-spacer);
	}

	:where(header, main, footer) img {
		height: auto;
		max-width: 100%;
		object-fit: cover;
		width: 100%;
	}

	iframe {
		aspect-ratio: 16 / 9;
		height: auto;
		position: relative;
		width: 100%;
	}

	.lazy {
		opacity: 0;
		transition: var(--transition);
	}

	.lazy.loaded {
		opacity: 1;
	}

	:where(a, *[class^="btn"], button, input, select, textarea, #navigation),
	:where(a, *[class^="btn"], button, input, select, textarea, #navigation):after,
	:where(a, *[class^="btn"], button, input, select, textarea, #navigation):before {
		transition: var(--transition);
	}

	@media (min-width: 768px) {
		.two-col,
		.three-col {
			column-gap: var(--gutter);
			columns: 2;
		}
		.two-col > *,
		.three-col > * {
			break-inside: avoid;
			page-break-inside: avoid;
		}
	}

	@media (min-width: 992px) {
		.container.inset {
			max-width: var(--container-col-10);
		}
		.three-col {
			columns: 3;
		}
	}

	@media (min-width: 1200px) {
		.container.inset-xl {
			max-width: var(--container-col-10);
		}
	}

	@media (min-width: 1400px) {
		.container.inset-xxl {
			max-width: var(--container-col-10);
		}
	}



	/* Forms
	----------------------------------------------------
	*/
	
	input,
	label,
	select,
	textarea,
	button,
	fieldset,
	legend,
	datalist,
	output,
	option,
	optgroup {
		-webkit-appearance: none;
		-webkit-border-radius: 0;
		appearance: none;
		border: 0;
		border-radius: 0;
		display: block;
		width: 100%;
	}
	
	::-webkit-input-placeholder {
		color: var(--placeholder);
	}
	
	:-ms-input-placeholder {
		color: var(--placeholder);
	}
	
	::placeholder {
		color: var(--placeholder);
	}
	
	.input {
		margin-bottom: var(--gutter);
		position: relative;
	}

	.input label {
		position: absolute;
		inset: auto auto .5rem calc(var(--row-x) / 2);
		transition: var(--transition);
		width: auto;
	}

	.input:has(input:focus, input:active, input:not(:placeholder-shown)) label {
		font-size: .875rem;
		inset: auto auto 100% calc(var(--row-x) / 2);
	}

	input:not([type="submit"]) {
		background: 0;
		border-bottom: .125rem solid var(--green);
		padding: 0 0 .5rem;
		position: relative;
	}

	input[type="date"] {
		text-transform: uppercase;
	}

	input[type="date"]::-webkit-inner-spin-button,
	input[type="date"]::-webkit-calendar-picker-indicator {
		filter: invert(1);
	}

	textarea {
		background: 0;
		border: .125rem solid var(--green);
		padding: 1rem;
		position: relative;
	}

	.wpcf7 :is(
		.screen-reader-response,
		.wpcf7-response-output,
		.wpcf7-spinner
	) {
		display: none;
	}

	.wpcf7-response-output {
		color: var(--heading-color);
		font-family: var(--heading-font);
		font-weight: var(--heading-weight);
		line-height: 1.25;
		margin: 0;
		text-align: center;
		text-wrap: balance;
	}

	.wpcf7-form.sent > *:not(.wpcf7-response-output) {
		display: none;
	}

	.wpcf7:has(.wpcf7-form.sent) .wpcf7-response-output {
		display: block;
	}

	.wpcf7 .wpcf7-not-valid-tip {
		font-size: .875rem;
		font-weight: var(--weight-bold);
		inset: 100% auto auto calc(var(--row-x) / 2);
		position: absolute;
	}
	
	
	/* Typography
	----------------------------------------------------
	*/
	
	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	h5, .h5,
	h6, .h6 {
		color: var(--heading-color);
		font-family: var(--heading-font);
		/* font-size: calc(var(--font-size) * pow(var(--font-scale), var(--font-factor))); */
		font-weight: var(--heading-weight);
		line-height: 1.25;
		margin-bottom: var(--heading-margin);
		text-wrap: balance;
	}

	h1, .h1 {
		--font-factor: 6;
		font-size: calc(3rem + 1vw);
		line-height: 1;
	}

	h2, .h2 {
		--font-factor: 5;
		font-size: calc(2rem + 1vw);
	}

	h3, .h3 {
		--font-factor: 4;
		font-size: calc(1.75rem + 1vw);
	}

	h4, .h4 {
		--font-factor: 3;
		font-size: calc(1.5rem + 1vw);
	}

	h5, .h5 {
		--font-factor: 2;
		font-size: calc(1.25rem + 1vw);
	}

	h6, .h6 {
		--font-factor: 1;
		font-size: 1rem;
	}

	@media (min-width: 992px) {
		h1, .h1 {
			font-size: 4rem;
		}
		h2, .h2 {
			font-size: 2.5rem;
		}
		h3, .h3 {
			font-size: 1.75rem;
		}
		h4, .h4 {
			font-size: 1.25rem;
		}
		h5, .h5 {
			font-size: 1.15rem;
		}
	}

	a {
		color: var(--yellow);
	}

	a:hover {
		color: var(--white);
	}
	
	p {
		margin-bottom: var(--content-margin);
	}
	
	ul {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	ol {
		margin: 0;
		padding: 0 0 0 1.125rem;
	}
	
	main :where(ul, ol) {
		--item-margin: .5rem;
		margin-bottom: var(--content-margin);
	}

	main ul {
		list-style: disc;
	}
	
	main :where(ul, ol) li {
		margin-bottom: var(--item-margin);
		position: relative;
	}

	/*
	main ul li {
		background: linear-gradient(to bottom, var(--list-color), var(--list-color)) no-repeat bottom;
		background-position: 0 .625rem;
		background-size: .375rem .375rem;
		padding-left: 1.25rem;
	}
	*/
	
	main ol li {
		padding-left: .25rem;
	}

	main ol li::marker {
		color: var(--list-color);
	}
	
	:where(
		h1, .h1,
		h2, .h2,
		h3, .h3,
		h4, .h4,
		h5, .h5,
		h6, .h6,
		ul, ol, li,
		p
	):last-child {
		margin-bottom: 0;
	}
	
	
	
	/* Footer
	----------------------------------------------------
	*/
	
	footer {
		margin-top: auto;
	}

}



/* Main Styles */
@layer components {

	/* Global Styles
	----------------------------------------------------
	*/

	body {
		background-color: var(--green);
	}

	.logo,
	.logo img {
		display: inline-block;
		height: 4rem;
		object-position: left center;
		width: auto;
	}

	.logo {
		overflow: hidden;
		width: 4.25rem;
	}

	.btn {
		background: 0;
		border: .125rem solid var(--yellow);
		border-radius: 2rem;
		color: var(--yellow);
		display: inline-block;
		font-weight: var(--weight-bold);
		padding: 1rem 3rem;
		text-decoration: none;
		width: fit-content;
	}

	.btn:hover,
	.btn:focus,
	.btn:active {
		background-color: var(--yellow);
		color: var(--green);
	}

	.txt {
		color: var(--yellow);
		font-weight: var(--weight-medium);
		text-decoration: none;
		text-transform: uppercase;
	}

	.txt:hover,
	.txt:focus,
	.txt:active {
		color: var(--blue);
	}

	.title {
		border-bottom: .0625rem solid oklch(from var(--white) l c h / 50%);
		font-size: 1.5rem;
		font-weight: var(--weight-bold);
		margin-bottom: var(--subspacer);
		padding-bottom: 1rem;
	}

	ul.social {
		align-items: center;
		display: flex;
		font-size: 1.25rem;
		gap: var(--gutter);
		line-height: 1;
	}

	ul.social li {
		background: 0;
		margin: 0;
		padding: 0;
	}

	ul.social li a {
		color: var(--white);
	}

	ul.social li a:hover {
		color: var(--yellow);
	}

	.intro {
		margin-bottom: var(--subspacer);
	}

	@media (min-width: 576px) {
		.logo {
			overflow: visible;
			width: auto;
		}
	}

	@media (min-width: 992px) {
		.logo,
		.logo img {
			height: 5rem;
		}
		/*
		.intro {
			max-width: var(--col-10);
		}
		*/
	}

	/*
	@media (min-width: 1400px) {
		.logo,
		.logo img {
			height: 6.25rem;
		}
	}
	*/



	/* Content
	----------------------------------------------------
	*/

	.content.section.wrapper {
		--heading-color: var(--green);
		background-color: var(--blue);
		color: var(--black);
	}
	
	/*
	.content.section :is(
		h1, .h1,
		h2, .h2,
		h3, .h3,
		h4, .h4,
		h5, .h5,
		h6, .h6
	) {
		font-size: calc(var(--font-size) * pow(var(--font-scale), var(--font-factor)));
	}
	*/
	
	.content.section :is(h1, .h1) {
		--font-factor: 5;
		margin-bottom: var(--gutter);
	}

	.content.section ul {
		padding-left: 2rem;
	}

	.content.section :is(
		figure, img, table
	) {
		margin-bottom: var(--content-margin);
	}

	.content.section :is(
		figure, img, table
	):last-child {
		margin-bottom: 0;
	}



	/* Navigation
	----------------------------------------------------
	*/

	header {
		background-color: var(--green);
		inset: 0 0 auto;
		padding: var(--gutter) 0;
		position: fixed;
		transition: var(--transition);
		width: 100%;
		z-index: 1000;
	}
	
	.scroll.down:not(.open-menu) header {
		transform: translateY(-100%);
	}
	
	.scroll.up header {
		box-shadow: 0 0 1rem 0 oklch(from var(--black) l c h / 25%);
		padding: var(--gutter) 0;
	}

	header .navbar {
		padding: 0;
	}

	#navigation {
		background-color: var(--green);
		color: var(--white);
		display: flex;
		flex-direction: column;
		height: 0;
		inset: var(--header) 0 0;
		opacity: 0;
		overflow: scroll;
		padding: var(--gutter) var(--padded-gutter) var(--subspacer);
		position: fixed;
		visibility: hidden;
	}

	#navigation.show {
		height: calc(100% - var(--header));
		opacity: 1;
		visibility: visible;
	}

	#navigation .navbar-nav,
	#navigation .navbar-nav > li {
		width: 100%;
	}

	#navigation .navbar-nav > li:not(:first-child) {
		border-top: .0625rem solid oklch(from var(--white) l c h / 20%);
		margin: var(--gutter) 0 0;
		padding: var(--gutter) 0 0;
	}

	#navigation .sub-menu {
		border-left: .125rem solid oklch(from var(--white) l c h / 20%);
		margin: .5rem 0 0;
		padding: 0 0 0 var(--gutter);
		width: 100%;
	}

	#navigation .sub-menu > li:not(:last-child) {
		margin-bottom: .5rem;
	}

	#navigation a:not(.btn) {
		color: var(--white);
		display: inline-block;
		font-size: 1.25rem;
		font-weight: var(--weight-bold);
		text-decoration: none;
	}

	#navigation a:not(.btn).active,
	#navigation a:not(.btn):hover {
		color: var(--yellow);
	}

	@media (min-width: 992px) {
		/*
		header {
			--container-padding: var(--subspacer);
		}
		*/
		header .navbar-toggler {
			display: none;
		}
		#navigation {
			align-items: flex-end;
			background: 0;
			height: auto;
			inset: auto;
			margin: 0 0 0 var(--gutter);
			opacity: 1;
			overflow: visible;
			padding: 0;
			position: relative;
			visibility: visible;
		}
		#navigation .navbar-nav {
			align-items: center;
			border: 0;
			flex: 0 0 auto;
			padding: 0;
		}
		#navigation .navbar-nav,
		#navigation .navbar-nav > li {
			position: relative;
			width: auto;
		}
		#navigation .navbar-nav > li:not(:first-child) {
			border: 0;
			margin: 0 0 0 var(--gutter);
			padding: 0;
		}
		#navigation .sub-menu {
			background-color: var(--white);
			border: 0;
			border-radius: .5rem;
			box-shadow: 0 0 .5rem .125rem oklch(from var(--black) l c h / 15%);
			display: inline;
			inset: 100% auto auto 0;
			margin: 0;
			min-width: 14.5rem;
			opacity: 0;
			padding: 1rem 1.5rem;
			position: absolute;
			transition: var(--transition);
			visibility: hidden;
		}
		#navigation .navbar-nav > li:last-child(1) .sub-menu {
			inset: 100% 0 auto auto;
		}
		#navigation .navbar-nav > li:hover .sub-menu {
			opacity: 100%;
			visibility: visible;
		}
		#navigation .sub-menu > li:not(:last-child) {
			border-bottom: .0625rem solid oklch(from var(--white) l c h / 20%);
			margin-bottom: .75rem;
			padding-bottom: .75rem;
		}
		#navigation a:not(.btn),
		#navigation .sub-menu a:not(.btn) {
			font-size: 1.125rem;
		}
		#navigation > ul > li > a:not(.btn, :only-child):after {
			color: var(--white);
			content: var(--chevron-down);
			font-family: var(--icons);
			font-size: .375rem;
			font-style: normal;
			font-weight: normal;
			font-variant: normal;
			line-height: 1;
			margin-left: .375rem;
			opacity: 50%;
			position: relative;
			text-decoration: none;
			text-transform: none;
			top: -.125rem;
		}
	}

	@media (min-width: 1200px) {
		header {
			padding: 4rem 0;
		}
	}

	/*
	@media (min-width: 1600px) {
		header {
			--container-padding: var(--subspacer);
			--container-width: 100%;
		}
	}
	*/

	header .navbar-toggler {
		border: 0;
		border-radius: 0;
		height: 1.5rem;
		padding: 0;
		position: relative;
		transition: var(--transition);
		width: 2rem;
		z-index: 1;
	}
	
	header .navbar-toggler .inner {
		background-color: var(--navbar-toggler);
		height: .375rem;
		inset: auto 0;
		position: absolute;
		transition: var(--transition);
		width: 2rem;
	}
	
	header .navbar-toggler .inner:nth-child(1) {
		animation-duration: .25s;
		animation-fill-mode: forwards;
		animation-name: navbar-toggler-1-close;
		animation-timing-function: linear;
		border-radius: .375rem .375rem 0 0;
		top: 0;
	}	
	
	header .navbar-toggler .inner:nth-child(2) {
		top: calc(50% - (.375rem / 2));
		transition-delay: .125s;
		transition-duration: 0s;
	}	
	
	header .navbar-toggler .inner:nth-child(3) {
		animation-duration: .25s;
		animation-fill-mode: forwards;
		animation-name: navbar-toggler-3-close;
		animation-timing-function: linear;
		border-radius: 0 0 .375rem .375rem;
		top: calc(100% - .375rem);
	}	
	
	header .navbar-toggler[aria-expanded="true"] .inner {
		background-color: var(--navbar-accent);
		border-radius: 0;
		height: .25rem;
		top: calc(50% - (.25rem / 2));
	}	
	
	header .navbar-toggler[aria-expanded="true"] .inner:nth-child(1) {
		animation-name: navbar-toggler-1-open;
	} 
	
	header .navbar-toggler[aria-expanded="true"] .inner:nth-child(2) {
		left: 50%;
		right: 50%;
		width: 0;
	}	
	
	header .navbar-toggler[aria-expanded="true"] .inner:nth-child(3) {
		animation-name: navbar-toggler-3-open;
	}
	
	@keyframes navbar-toggler-1-open {
		0% {
			top: 0;
			transform: rotate(0);
		}
		50% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(0);
		}
		100% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(45deg);
		}
	}	
	
	@keyframes navbar-toggler-1-close {
		0% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(45deg);
		}
		50% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(0);
		}
		100% {
			top: 0;
			transform: rotate(0);
		}
	}	
	
	@keyframes navbar-toggler-3-open {
		0% {
			top: calc(100% - .375rem);
			transform: rotate(0);
		}
		50% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(0);
		}
		100% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(-45deg);
		}
	}	
	
	@keyframes navbar-toggler-3-close {
		0% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(-45deg);
		}
		50% {
			top: calc(50% - (.375rem / 2));
			transform: rotate(0);
		}
		100% {
			top: calc(100% - .375rem);
			transform: rotate(0);
		}
	}



	/* Hero
	----------------------------------------------------
	*/

	.hero {
		--align-items: center;
		--row-x: var(--gutter);
		--row-y: var(--subspacer);
	}

	/*
	.hero:first-child {
		padding-top: var(--subspacer);
	}
	*/

	.hero .label {
		color: var(--yellow);
		font-size: 1.5rem;
		font-weight: var(--weight-bold);
	}

	@media (min-width: 992px) {
		.hero .label {
			font-size: 2rem;
		}
	}

	@media (min-width: 1200px) {
		.hero .label {
			font-size: 2.75rem;
		}
		.hero h1 {
			font-size: 6rem;
		}
	}

	@media (min-width: 1400px) {
		.hero .label {
			font-size: 3rem;
		}
		.hero h1 {
			font-size: 6.375rem;
		}
	}



	/* Icon List
	----------------------------------------------------
	*/

	.icon-list {
		--row-x: var(--subspacer);
		--row-y: var(--subspacer);
	}

	.icon-list .item img {
		height: 4rem;
		margin-bottom: var(--content-margin);
		width: auto;
	}

	@media (min-width: 576px) and (max-width: 991.98px) {
		.icon-list .item {
			align-items: flex-start;
			display: flex;
		}
		.icon-list .item img {
			height: auto;
			margin: 0 var(--content-margin) 0 0;
			width: 4rem;
		}
	}

	@media (min-width: 1200px) {
		.icon-list .item img {
			height: 6rem;
		}
	}



	/* Image Grid
	----------------------------------------------------
	*/

	.image-grid.wrapper {
		padding: 0;
	}

	:is(.content.section, .column-content).wrapper + .image-grid:last-child {
		background-color: var(--blue);
		margin-bottom: 0;
		margin-top: var(--negative-spacer);
		position: relative;
	}

	:is(.content.section, .column-content).wrapper + .image-grid:last-child:after {
		background-color: var(--green);
		content: '';
		inset: 50% 0 0;
		position: absolute;
	}

	.image-grid.wrapper .container {
		max-width: 100%;
		padding: 0;
	}

	.image-grid .grid {
		display: grid;
		position: relative;
		z-index: 1;
	}

	.image-grid img {
		aspect-ratio: 1;
		height: 100%;
	}

	.image-grid img:nth-child(2),
	.image-grid img:nth-child(3) {
		display: none;
	}

	@media (min-width: 576px) {
		.image-grid .grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.image-grid img:nth-child(2) {
			display: block;
		}
	}

	@media (min-width: 768px) {
		.image-grid .grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
		.image-grid img:nth-child(3) {
			display: block;
		}
	}



	/* Image Banner
	----------------------------------------------------
	*/

	.image-banner {
		padding: 0;
		position: relative;
	}

	.image-banner:last-child {
		margin-bottom: -.0625rem;
	}

	.image-banner:has(.content) {
		padding: var(--supspacer) 0 var(--spacer);
	}

	.image-banner .content {
		--heading-margin: .5rem;
		position: relative;
		z-index: 1;
	}

	.image-banner .content h2 {
		color: var(--yellow);
	}

	.image-banner img {
		aspect-ratio: 4 / 3;
	}

	.image-banner:has(.content) > img {
		aspect-ratio: auto;
		inset: 0;
		height: 100%;
		position: absolute;
	}

	@media (min-width: 576px) {
		.image-banner img {
			aspect-ratio: 16 / 9;
		}
	}

	@media (min-width: 768px) {
		.image-banner:has(.content) {
			padding: 0;
		}
		.image-banner .content {
			inset: auto auto var(--spacer) var(--padded-gutter);
			position: absolute;
		}
		.image-banner:has(.content) > img {
			aspect-ratio: 16 / 9;
			height: auto;
			position: relative;
		}
	}

	@media (min-width: 1200px) {
		.image-banner .content {
			left: calc(var(--padded-gutter) + var(--container-col-1));
			max-width: var(--container-col-5);
		}
		.image-banner .content:has(h1:only-child) {
			max-width: var(--container-col-6);
		}
		.image-banner .content h1 {
			font-size: 5rem;
		}
	}

	@media (min-width: 1400px) {
		.image-banner .content {
			bottom: calc(var(--spacer) * 1.5);
		}
	}



	/* Location
	----------------------------------------------------
	*/

	.location {
		--row-x: var(--subspacer);
		--row-y: var(--subspacer);
		background-color: var(--blue);
		color: var(--green);
		padding: var(--subspacer) 0 0;
		position: relative;
	}

	.location:after {
		background-color: var(--green);
		content: '';
		inset: auto 0 0;
		height: var(--subspacer);
		position: absolute;
	}

	.location a:not(.btn) {
		color: var(--green);
	}

	.location a:not(.btn):hover {
		color: var(--yellow);
	}

	.location .btn {
		color: var(--green);
		border-color: var(--green);
	}

	.location .btn:hover {
		background-color: var(--green);
		color: var(--white);
	}

	.location .map {
		position: relative;
		z-index: 1;
	}

	.location .map iframe {
		aspect-ratio: 8 / 7;
		height: 100%;
	}

	@media (min-width: 992px) {
		.location .content {
			padding-bottom: var(--spacer);
		}
	}



	/* Split Content
	----------------------------------------------------
	*/

	.split-content {
		--align-items: center;
		--row-x: var(--subspacer);
		--row-y: var(--subspacer);
	}

	.split-content.reverse {
		--flex-direction: row-reverse;
	}

	.split-content:has(form) {
		--align-items: flex-start;
	}

	.split-content .intro {
		color: var(--blue);
		font-size: 1.5rem;
	}

	.split-content .image {
		position: relative;
	}

	/*
	.split-content .image:before,
	.split-content .image:after {
		aspect-ratio: 1;
		border-radius: 100rem;
		content: '';
		position: absolute;
	}
	*/

	.split-content .image:before {
		background-color: var(--blue);
		inset: 0 var(--col-2) auto auto;
		width: 4.5rem;
		z-index: -1;
	}

	.split-content .image:after {
		border: .125rem solid var(--yellow);
		inset: auto auto 0 calc(var(--row-x) / 2);
		width: var(--col-4);
	}

	/*
	.split-content .image img {
		border-radius: 100rem;
	}
	*/

	.split-content h3 {
		font-weight: var(--weight-medium);
	}

	.split-content form {
		--gutter: 2.25rem;
	}

	.split-content form .input:has(input[type="date"]) {
		margin-top: calc(var(--gutter) + 1.25rem);
	}

	.split-content input:not([type="submit"]) {
		border-bottom: .0625rem solid var(--white);
		color: var(--white);
	}

	.split-content textarea {
		--placeholder: var(--white);
		border: .0625rem solid var(--white);
		color: var(--white);
	}

	.split-content :is(
		.input label,
		.wpcf7 .wpcf7-not-valid-tip
	) {
		left: 0;
	}

	.split-content .wpcf7 .wpcf7-not-valid-tip {
		font-size: .625rem;
	}

	.split-content form .btn {
		border-color: var(--white);
		color: var(--white);
	}

	.split-content form .btn:hover {
		background-color: var(--white);
		color: var(--green);
	}



	/* Pricing
	----------------------------------------------------
	*/

	.pricing .intro {
		font-size: 1.5rem;
		margin-bottom: var(--subspacer);
	}

	.pricing .item {
		display: grid;
		gap: var(--subspacer);
	}

	.pricing .item:not(:last-child) {
		border-bottom: .0625rem solid oklch(from var(--white) l c h / 50%);
		margin-bottom: var(--subspacer);
		padding-bottom: var(--subspacer);
	}

	.pricing .item h2 {
		--bullet: 2rem;
		margin-bottom: var(--content-margin);
		padding-left: calc(var(--bullet) + var(--gutter));
		position: relative;
	}

	.pricing .item h2:before {
		background-color: var(--yellow);
		border-radius: var(--bullet);
		content: '';
		height: var(--bullet);
		inset: .5rem auto auto 0;
		position: absolute;
		width: var(--bullet);
	}

	.pricing .item h3 {
		font-size: 1.5rem;
		margin-bottom: 0;
	}

	.pricing .item .option:not(:last-child) {
		margin-bottom: var(--content-margin);
	}

	.pricing .item .price a {
		font-weight: var(--weight-medium);
		text-transform: uppercase;
	}

	@media (min-width: 992px) {
		.pricing .item {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.pricing .item h2 {
			padding-left: 0;
		}
		.pricing .item h2:before {
			inset: .5rem calc(100% + var(--gutter)) auto auto;
		}
	}



	/* Profile List
	----------------------------------------------------
	*/

	.profile-list {
		--row-x: var(--spacer);
		--row-y: var(--subspacer);
	}

	.profile-list .item {
		display: flex;
		flex-direction: column;
		gap: var(--gutter);
		text-align: center;
	}

	.profile-list .item img {
		aspect-ratio: 1;
		border-radius: 100rem;
		margin: 0 auto;
		max-width: 16rem;
	}

	.profile-list .item .content {
		font-size: 1rem;
	}

	.profile-list .item h3 {
		font-size: var(--font-size);
		margin: 0;
	}

	@media (min-width: 576px) and (max-width: 1199.98px) {
		.profile-list .item {
			align-items: center;
			flex-direction: row;
			text-align: left;
		}
		.profile-list .item img {
			width: 25%;
		}
	}



	/* Callout
	----------------------------------------------------
	*/

	.callout .inner {
		background-color: var(--blue);
		border-radius: 1.75rem;
		color: var(--green);
		padding: var(--subspacer);
	}

	.callout .inner h2 {
		align-items: center;
		aspect-ratio: 1;
		background-color: var(--yellow);
		border-radius: 100rem;
		display: flex;
		font-size: 1.875rem;
		justify-content: center;
		line-height: 1;
		margin: 0 auto var(--gutter);
		padding: var(--gutter);
		text-align: center;
		width: min-content;
	}

	@media (min-width: 992px) {
		.callout .inner {
			align-items: center;
			display: flex;
		}
		.callout .inner h2 {
			margin: 0 var(--gutter) 0 0;
		}
	}

	@media (min-width: 1200px) {
		.callout .inner {
			--gutter: 4rem;
			font-size: 1.375rem;
		}
	}



	/* Content List
	----------------------------------------------------
	*/

	.content-list .item:not(:last-child) {
		border-bottom: .0625rem solid oklch(from var(--white) l c h / 50%);
		margin-bottom: var(--subspacer);
		padding-bottom: var(--subspacer);
	}

	.content-list img {
		aspect-ratio: 1;
		background-color: var(--yellow);
		border-radius: 100rem;
		margin-bottom: var(--content-margin);
		max-width: 8.5rem;
	}

	@media (min-width: 576px) {
		.content-list .item {
			align-items: flex-start;
			display: flex;
		}
		.content-list img {
			margin: 0 var(--gutter) 0 0;
		}
	}

	@media (min-width: 992px) {
		.content-list h3 {
			font-size: 3rem;
		}
	}

	@media (min-width: 1200px) {
		.content-list .item {
			align-items: center;
			gap: var(--subspacer);
			grid-template: 1fr / auto auto 8fr;
		}
		.content-list img {
			grid-row-start: inherit;
			margin: 0;
		}
		.content-list .item .content {
			align-items: flex-start;
			display: grid;
			gap: var(--subspacer);
			grid-template-columns: 4fr 8fr;
		}
		.content-list h3 {
			margin: -.25rem 0 0 0;
		}
	}

	/*
	@media (min-width: 1400px) {
		.content-list .item .content {
			grid-template-columns: 3fr 9fr;
		}
	}
	*/



	/* Column Content
	----------------------------------------------------
	*/

	.column-content {
		--justify-content: space-between;
		--row-x: var(--spacer);
		--row-y: var(--subspacer);
	}

	.column-content.wrapper {
		background-color: var(--blue);
		color: var(--black);
	}

	.column-content.wrapper h1 {
		--heading-color: var(--green);
	}

	.column-content .list .item {
		border-bottom: .0625rem solid oklch(from var(--white) l c h / 50%);
		margin-bottom: var(--subspacer);
		padding-bottom: var(--subspacer);
	}

	.column-content.wrapper .title {
		color: var(--green);
	}

	.column-content.wrapper .title,
	.column-content.wrapper .list .item {
		border-color: var(--green);
	}

	.column-content .list .item p:first-child:has(strong) {
		margin-bottom: .5rem;
	}

	.column-content ul {
		padding-left: 2rem;
	}

	.column-content .outro,
	.column-content .outro a {
		color: var(--green);
	}

	.column-content .outro a:hover {
		color: var(--yellow);
	}



	/* Partners
	----------------------------------------------------
	*/

	.partners .grid {
		align-items: center;
		display: grid;
		gap: var(--subspacer);
		justify-content: center;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.partners .grid:has(:only-child) {
		grid-template-columns: 1fr;
	}

	.partners .grid:has(:only-child) img {
		height: 100%;
		justify-self: center;
		max-height: 4rem;
		max-width: 15rem;
		object-fit: contain;
	}

	@media (min-width: 768px) {
		.partners .grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}

	@media (min-width: 1200px) {
		.partners .grid {
			grid-template-columns: repeat(5, minmax(0, 1fr));
		}
	}



	/* Contact Form
	----------------------------------------------------
	*/

	.contact-form {
		--heading-color: var(--yellow);
		--justify-content: space-between;
		--row-y: var(--spacer);
	}

	.contact-form .form .row {
		--row-y: 0;
	}

	.contact-form input:not([type="submit"]) {
		border-bottom: .0625rem solid var(--white);
		color: var(--white);
	}

	.contact-form textarea {
		--placeholder: var(--white);
		border: .0625rem solid var(--white);
		color: var(--white);
	}

	.contact-form .btn {
		border-color: var(--white);
		color: var(--white);
		/* margin-top: var(--subspacer); */
	}

	.contact-form .btn:hover {
		background-color: var(--yellow);
		border-color: var(--yellow);
		color: var(--green);
	}

	@media (min-width: 992px) {
		.contact-form {
			--row-x: var(--spacer);
		}
	}



	/* Post List
	----------------------------------------------------
	*/

	.post-list {
		--row-y: var(--gutter);
		background-color: var(--blue);
		color: var(--black);
	}

	.post-list:last-child {
		margin: 0 0 -.0625rem;
	}

	.post-list h2 {
		--heading-color: var(--green);
		margin-bottom: var(--subspacer);
	}

	.post-list .item {
		--content: '';
		--heading-color: var(--black);
		color: var(--black);
		display: block;
		margin-bottom: var(--spacer);
		position: relative;
		text-decoration: none;
	}

	.post-list .item:hover {
		--heading-color: var(--yellow);
	}

	.post-list .item:after {
		background-color: var(--green);
		content: var(--content);
		inset: calc(100% + var(--subspacer)) 0 auto;
		height: .0625rem;
		position: absolute;
	}

	.post-list .item:last-child {
		--content: none;
		margin-bottom: 0;
	}

	.post-list .item h3 {
		font-size: 1.5rem;
		transition: var(--transition);
	}

	@media (min-width: 768px) {
		.post-list {
			--row-x: var(--subspacer);
			--row-y: 0;
		}
	}

	@media (min-width: 992px) {
		.post-list h2 {
			font-size: 3.125rem;
		}
	}



	/* Post Content
	----------------------------------------------------
	*/

	.post-content {
		--heading-color: var(--green);
		--row-y: var(--gutter);
		background-color: var(--blue);
		color: var(--black);
	}

	.post-content:last-child {
		margin: 0 0 -.0625rem;
	}

	.post-content h1 {
		margin-bottom: var(--subspacer);
	}

	.post-content img {
		margin-bottom: var(--content-margin);
	}

	.post-content .txt:hover {
		color: var(--green);
	}

	@media (min-width: 992px) {
		.post-content {
			--flex-direction: row-reverse;
			--row-x: var(--subspacer);
			--row-y: 0;
		}
		.post-content .side {
			position: sticky;
			top: var(--gutter);
			transition: var(--transition);
		}
		.scroll.up .post-content .side {
			top: calc(var(--scroll-header) + var(--gutter));
		}
	}



	/* Modal
	----------------------------------------------------
	*/

	.modal .modal-content {
		--row-x: var(--gutter);
		background-color: var(--yellow);
		border-radius: 1.25rem;
		color: var(--green);
		padding: var(--subspacer);
	}

	.modal.newsletter .modal-content {
		--gutter: 2rem;
		padding: var(--subspacer);
	}

	.modal .close {
		background: 0;
		color: var(--black);
		font-size: 0;
		height: 1.5rem;
		inset: var(--gutter) var(--gutter) auto auto;
		line-height: 0;
		position: absolute;
		width: 1.5rem;
	}

	.modal .close:hover {
		color: var(--green);
	}

	.modal .close:before,
	.modal .close:after {
		background-color: currentColor;
		content: '';
		height: .125rem;
		inset: calc(50% - (.125rem / 2)) 0 auto 0;
		position: absolute;
		width: 1.5rem;
	}

	.modal .close:before {
		transform: rotate(-45deg);
	}

	.modal .close:after {
		transform: rotate(45deg);
	}

	.modal.newsletter h2 {
		margin-bottom: var(--gutter);
	}

	.modal.newsletter h2.response {
		margin: 0;
		text-align: center;
	}

	.modal.newsletter form:has(h2.response:not(:empty)) :is(
		h2:not(.response), .row, .btn-wrap
	) {
		display: none;
	}

	.modal .intro {
		margin: 0 auto 2rem;
		text-align: center;
	}

	.modal:has(.wpcf7-form.sent) .intro {
		display: none;
	}

	.modal .submit {
		margin-top: var(--subspacer);
	}

	.modal .btn {
		border-color: var(--green);
		color: var(--green);
		display: block;
		margin: 0 auto;
	}

	.modal .btn:hover {
		background-color: var(--green);
		color: var(--yellow);
	}

	.modal-backdrop {
		--bs-backdrop-bg: var(--green);
		--bs-backdrop-opacity: 85%;
	}

	@media (min-width: 576px) {
		.modal:not(.newsletter) .modal-content {
			background-image: url('assets/img/padel-social-icon-green.svg');
			background-position: calc(100% - var(--subspacer)) calc(100% - var(--subspacer));
			background-repeat: no-repeat;
			background-size: 2.5rem auto;
		}
	}

	@media (min-width: 1200px) {
		.modal .modal-content {
			background-position: calc(100% - var(--spacer)) calc(100% - var(--spacer));
			background-size: 5rem auto;
			padding: var(--spacer);
		}
		.modal .intro {
			margin: 0 auto 4rem;
		}
		.modal .input {
			--gutter: 4rem;
		}
	}



	/* Alert
	----------------------------------------------------
	*/

	.alert {
		--container-padding: 4rem;
		--content-margin: 0;
		--gutter: 1rem;
		background-color: var(--yellow);
		border-radius: 0;
		color: var(--green);
		font-size: 1.25rem;
		font-weight: var(--weight-bold);
		inset: auto 0 0;
		margin: 0;
		padding: var(--gutter) 0;
		position: fixed;
		text-align: center;
		text-transform: uppercase;
		z-index: 99;
	}

	.alert button {
		height: 1.5rem;
		inset: 50% var(--padded-gutter) auto auto;
		padding: 0;
		position: absolute;
		transform: translateY(-50%);
		width: 1.5rem;
	}

	@media (min-width: 576px) {
		.alert {
			--gutter: 2rem;
			font-size: 1.5rem;
		}
	}



	/* Footer
	----------------------------------------------------
	*/

	footer {
		--align-items: center;
		--row-x: var(--gutter);
		--row-y: var(--gutter);
		padding: 0 0 var(--subspacer);
	}

	footer .navigation {
		display: grid;
		gap: var(--content-margin);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	footer .navigation a {
		color: var(--white);
		font-weight: var(--weight-bold);
		text-decoration: none;
	}

	footer .navigation a.active,
	footer .navigation a:hover {
		color: var(--yellow);
	}

	footer hr {
		border-top: .0625rem solid oklch(from var(--white) l c h / 20%);
		margin: 0 0 var(--subspacer);
		opacity: 1;
	}

	footer .logo,
	footer .logo img {
		height: auto;
		object-position: center;
		width: 4.875rem;
	}

	footer .legal {
		font-size: .75rem;
		margin-top: var(--subspacer);
	}

	@media (min-width: 576px) {
		footer .row > *:has(.social) {
			order: -1;
		}
	}

	@media (min-width: 768px) {
		footer .navigation {
			display: flex;
		}
	}



	/* Splash
	----------------------------------------------------
	*/

	.splash {
		--heading-color: var(--black);
		align-items: center;
		background-color: var(--green);
		display: flex;
		height: 100vh;
		inset: 0;
		position: absolute;
		width: 100vw;
		z-index: 999;
	}



	/* Error 404
	----------------------------------------------------
	*/

	main:has(.error-404) {
		align-items: center;
		display: flex;
		flex-grow: 1;
		justify-content: center;
	}

	.error-404 .content {
		aspect-ratio: 1;
		align-items: center;
		background-color: var(--yellow);
		border-radius: 100rem;
		color: var(--green);
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: var(--subspacer);
		text-align: center;
	}

	.error-404 .content .txt {
		color: var(--black);
		text-decoration: underline;
	}

	.error-404 .content .txt:hover {
		color: var(--green);
	}

}



/* Overrides */
@layer overrides {
	/*
	html {
		margin-top: 0 !important
	}
	*/

	/*
	#wpadminbar {
		display: none !important;
	}
	*/	
}



/* END
----------------------------------------------------
*/