@charset "UTF-8";
/*! OCS stylesheet CSSv0.21
*/
h4 > a, h3 > a, h2 > a, header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content > a, h1 > a, header .header-title a > a, header .header-title a:visited > a {
	border-bottom: none;
	color: var(--colour-black);
	text-decoration: none;
}

h1, header .header-title a, header .header-title a:visited {
	color: var(--colour-black);
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.25em;
	margin: 2rem 0;
}

@media (max-width: 768px) {
	h1, header .header-title a, header .header-title a:visited {
		font-size: 2.75rem;
	}
}

h2, header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content {
	color: var(--colour-black);
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 1.75rem;
	font-weight: normal;
	line-height: 1.25em;
	margin: 2rem 0 0.5rem 0;
}

@media (max-width: 768px) {
	h2, header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content {
		font-size: 2rem;
	}
}

h3 {
	color: var(--colour-black);
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.25em;
	margin: 2rem 0 0.5rem 0;
}

@media (max-width: 768px) {
	h3 {
		font-size: 1.75rem;
	}
}

h4 {
	color: var(--colour-black);
	font-family: Raleway, Arial, Helvetica, sans-serif;
	font-size: 1.25rem;
	font-weight: normal;
	line-height: 1.5em;
	margin: 1rem 0 0.5rem 0;
}

	h4 > a {
		color: var(--colour-black);
		text-decoration: none;
	}

@media (max-width: 768px) {
	h4 {
		font-size: 1.25rem;
	}
}

p, ol li, ul li {
	color: var(--colour-black);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1rem;
	line-height: 1.5em;
	margin: 0 0 1.25rem 0;
}

	p:has(+ ul), ol li:has(+ ul), ul li:has(+ ul), p:has(+ ol), ol li:has(+ ol), ul li:has(+ ol) {
		margin: 0 0 0.5rem 0;
	}


button.btn-secondary, button.btn-primary {
	background-color: var(--colour-white);
	border: 1px solid var(--colour-green);
	border-radius: 0.25rem;
	color: var(--colour-green);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-weight: bold;
	font-size: 1.15rem;
	line-height: 1.15;
	margin: 0 0 1rem 0;
	min-width: 160px;
	padding: 0.5rem 2rem;
}

	button.btn-secondary:hover, button.btn-primary:hover, button.btn-secondary:active, button.btn-primary:active, button.btn-secondary:focus, button.btn-primary:focus {
		background-color: var(--colour-green-4);
		color: var(--colour-black);
	}

	button.btn-secondary:disabled, button.btn-primary:disabled {
		border: 1px solid currentColor;
		background-color: var(--colour-black-5);
		color: var(--colour-black-0);
		font-weight: normal;
	}

		button.btn-secondary:disabled:hover, button.btn-primary:disabled:hover, button.btn-secondary:disabled:active, button.btn-primary:disabled:active, button.btn-secondary:disabled:focus, button.btn-primary:disabled:focus {
			border: 1px solid currentColor;
			background-color: var(--colour-black-5);
			color: var(--colour-black-0);
		}

/*
 *    variables
 */
:root {
	--colour-green: #00704b;
	--colour-green-1: #13a575;
	--colour-green-2: #47c898;
	--colour-green-3: #a2f6da;
	--colour-green-4: #e0fff5;
	--colour-green-5: #f5fffc;
	--colour-black: #000;
	--colour-black-1: #717171;
	--colour-black-2: #9e9e9e;
	--colour-black-3: #c7c7c7;
	--colour-black-4: #e6e6e6;
	--colour-black-5: #fafafa;
	--colour-black-0: #5a5a5a;
	--colour-black-45: #f0f0f0;
	--colour-white: #fff;
	--colour-tuliptree: #e5b53b;
	--colour-tuliptree-l: #e8c058;
	--colour-tuliptree-lr: #f1d797;
	--colour-tuliptree-d: #9d7714;
	--colour-tuliptree-dr: #5e470c;
	--colour-robinsegg: #41c1c4;
	--colour-robinsegg-l: #00f9f7;
	--colour-robinsegg-lr: #42fffd;
	--colour-robinsegg-xl: #89fffd;
	--colour-robinsegg-d: #006b6a;
	--colour-endeavour: #0057b3;
	--colour-endeavour-l: #0079f9;
	--colour-endeavour-lr: #429eff;
	--colour-endeavour-xl: #89c2ff;
	--colour-endeavour-d: #00346b;
	--colour-apple: #6cb33f;
	--colour-apple-l: #96cd73;
	--colour-apple-lr: #bee0a8;
	--colour-apple-d: #4f842e;
	--colour-apple-dr: #2f4f1b;
	--colour-jazzberry: #9d115c;
	--colour-jazzberry-l: #e11884;
	--colour-jazzberry-lr: #ec54a6;
	--colour-jazzberry-xl: #f395c7;
	--colour-jazzberry-d: #600a38;
	--colour-error: #a30000;
	--colour-error-text: #fff;
	--colour-warning: #662500;
	--colour-warning-text: #fff;
	--colour-info: #e0fff5;
	--colour-info-text: #000;
	--colour-warning-alt: #feae57;
	--colour-warning-alt-text: #000;
	--font-heading: Raleway, Arial, Helvetica, sans-serif;
	--font-body: Open Sans, Arial, Helvetica, sans-serif;
	--font-size: 12pt;
}

/*
 *    includes
 */
/* template.template; */
* {
	-webkit-appearance: initial;
	-moz-appearance: initial;
	appearance: initial;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
}

.container {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr)[4];
	grid-template-columns: repeat(4, 1fr);
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
}

	.container .full-width {
		grid-column: 1/-1;
	}

	.container main {
		display: -ms-grid;
		display: grid;
		grid-column: 1/-1;
		-ms-grid-columns: subgrid;
		grid-template-columns: subgrid;
		margin: 0 1rem;
		max-width: 100%;
	}

@media (max-width: 1200px) {
	.container {
		margin: 0;
	}
}

/* switch.switch;  */
[role=switch] {
	display: -ms-inline-grid;
	display: inline-grid;
	border: 1px solid var(--colour-green);
	background-color: #d8d8d8;
	border-radius: 0.75rem;
	height: 1.5rem;
	width: 3rem;
	-webkit-transition: all 500ms;
	transition: all 500ms;
}

	[role=switch] > span {
		display: inline-block;
		background-color: white;
		border-radius: 50%;
		margin: 2%;
		width: calc(1.5rem - 2%);
		-webkit-transition: all 500ms;
		transition: all 500ms;
	}

	[role=switch][aria-checked=true] {
		background-color: var(--colour-green);
	}

		[role=switch][aria-checked=true] > span {
			margin-left: calc(1.5rem - 5%);
		}

/* tooltip.tooltip; */
/* type.font-face; */
@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-stretch: 100%;
	src: url(/assets/fonts/open-sans-400.woff2) format("woff2");
}

@font-face {
	font-family: "Open Sans";
	font-style: italic;
	font-weight: 400;
	font-stretch: 100%;
	src: url(/assets/fonts/open-sans-400--italic.woff2) format("woff2");
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 600;
	font-stretch: 100%;
	src: url(/assets/fonts/open-sans-600.woff2) format("woff2");
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 700;
	font-stretch: 100%;
	src: url(/assets/fonts/open-sans-700.woff2) format("woff2");
}

@font-face {
	font-family: "Raleway";
	font-style: normal;
	font-weight: 400;
	src: url(/assets/fonts/raleway-modified-400.woff2) format("woff2");
}

@font-face {
	font-family: "Raleway";
	font-style: normal;
	font-weight: 600;
	src: url(/assets/fonts/raleway-modified-600.woff2) format("woff2");
}

@font-face {
	font-family: "Raleway";
	font-style: normal;
	font-weight: 700;
	src: url(/assets/fonts/raleway-modified-700.woff2) format("woff2");
}
/* type.font; */
body {
	font-size: var(--font-size);
}

/* type.content; */
h5, h6 {
	color: transparent;
}

	h5::before, h6::before {
		color: red;
		content: "We do not use this heading level.";
		font-family: "Comic Sans MS", "Comic Sans", cursive;
	}

ol, ul {
	margin: 0;
	padding: 0 0 0 1.25rem;
}

	ol li, ul li {
		margin: 0 0 0.25rem 0;
	}

		ol li:last-of-type, ul li:last-of-type {
			margin: 0 0 1.25rem 0;
		}

/* icons.icons-standard-config; */
[class*=agricorp-icon-sm] {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	color: var(--colour-black-1);
	padding-left: 1.25rem;
	position: relative;
}

	[class*=agricorp-icon-sm]::before {
		content: " ";
		display: block;
		height: 1rem;
		left: 0;
		margin-right: 0.25rem;
		position: absolute;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		top: 0;
		width: 1rem;
		display: inline-block;
		vertical-align: center;
		background-color: currentColor;
		-webkit-mask-image: url("../assets/agricorp-icons.svg");
		mask-image: url("../assets/agricorp-icons.svg");
		-webkit-mask-size: 10rem 10rem;
		mask-size: 10rem 10rem;
	}

.agricorp-icon-sm-blank::before {
	-webkit-mask-position: 1rem 1rem;
	mask-position: 1rem 1rem;
	background-color: transparent;
}

.agricorp-icon-sm-search::before {
	-webkit-mask-position: 0rem 0rem;
	mask-position: 0rem 0rem;
}

.agricorp-icon-sm-directory::before {
	-webkit-mask-position: -1rem 0rem;
	mask-position: -1rem 0rem;
}

.agricorp-icon-sm-hide-password::before {
	-webkit-mask-position: -2rem 0rem;
	mask-position: -2rem 0rem;
}

.agricorp-icon-sm-show-password::before {
	-webkit-mask-position: -3rem 0rem;
	mask-position: -3rem 0rem;
}

.agricorp-icon-sm-email::before {
	-webkit-mask-position: -4rem 0rem;
	mask-position: -4rem 0rem;
}

.agricorp-icon-sm-delete::before {
	-webkit-mask-position: -5rem 0rem;
	mask-position: -5rem 0rem;
}

.agricorp-icon-sm-check::before {
	-webkit-mask-position: -6rem 0rem;
	mask-position: -6rem 0rem;
}

.agricorp-icon-sm-close::before {
	-webkit-mask-position: -7rem 0rem;
	mask-position: -7rem 0rem;
}

.agricorp-icon-sm-calculator::before {
	-webkit-mask-position: -8rem 0rem;
	mask-position: -8rem 0rem;
}

.agricorp-icon-sm-save::before {
	-webkit-mask-position: -9rem 0rem;
	mask-position: -9rem 0rem;
}

.agricorp-icon-sm-incomplete::before {
	-webkit-mask-position: 0rem -1rem;
	mask-position: 0rem -1rem;
}

.agricorp-icon-sm-info::before {
	-webkit-mask-position: -1rem -1rem;
	mask-position: -1rem -1rem;
}

.agricorp-icon-sm-help::before {
	-webkit-mask-position: -2rem -1rem;
	mask-position: -2rem -1rem;
}

.agricorp-icon-sm-checked-circle::before {
	-webkit-mask-position: -3rem -1rem;
	mask-position: -3rem -1rem;
}

.agricorp-icon-sm-circle-arrow-right::before {
	-webkit-mask-position: -4rem -1rem;
	mask-position: -4rem -1rem;
}

.agricorp-icon-sm-warning::before {
	-webkit-mask-position: -5rem -1rem;
	mask-position: -5rem -1rem;
}

.agricorp-icon-sm-add::before {
	-webkit-mask-position: -6rem -1rem;
	mask-position: -6rem -1rem;
}

.agricorp-icon-sm-cancel::before {
	-webkit-mask-position: -7rem -1rem;
	mask-position: -7rem -1rem;
}

.agricorp-icon-sm-time::before {
	-webkit-mask-position: -8rem -1rem;
	mask-position: -8rem -1rem;
}

.agricorp-icon-sm-error::before {
	-webkit-mask-position: -9rem -1rem;
	mask-position: -9rem -1rem;
}

.agricorp-icon-sm-security::before {
	-webkit-mask-position: 0rem -2rem;
	mask-position: 0rem -2rem;
}

.agricorp-icon-sm-fire::before {
	-webkit-mask-position: -1rem -2rem;
	mask-position: -1rem -2rem;
}

.agricorp-icon-sm-firstaid::before {
	-webkit-mask-position: -2rem -2rem;
	mask-position: -2rem -2rem;
}

.agricorp-icon-sm-recommend::before {
	-webkit-mask-position: -3rem -2rem;
	mask-position: -3rem -2rem;
}

.agricorp-icon-sm-discourage::before {
	-webkit-mask-position: -4rem -2rem;
	mask-position: -4rem -2rem;
}

.agricorp-icon-sm-edit::before {
	-webkit-mask-position: -5rem -2rem;
	mask-position: -5rem -2rem;
}

.agricorp-icon-sm-arrow-up::before {
	-webkit-mask-position: -6rem -2rem;
	mask-position: -6rem -2rem;
}

.agricorp-icon-sm-arrow-right::before {
	-webkit-mask-position: -7rem -2rem;
	mask-position: -7rem -2rem;
}

.agricorp-icon-sm-arrow-down::before {
	-webkit-mask-position: -8rem -2rem;
	mask-position: -8rem -2rem;
}

.agricorp-icon-sm-arrow-left::before {
	-webkit-mask-position: -9rem -2rem;
	mask-position: -9rem -2rem;
}

.agricorp-icon-sm-table-sort-default::before {
	-webkit-mask-position: 0rem -3rem;
	mask-position: 0rem -3rem;
}

.agricorp-icon-sm-table-sort-asc::before {
	-webkit-mask-position: -1rem -3rem;
	mask-position: -1rem -3rem;
}

.agricorp-icon-sm-table-sort-desc::before {
	-webkit-mask-position: -2rem -3rem;
	mask-position: -2rem -3rem;
}

.agricorp-icon-sm-person-filled::before {
	-webkit-mask-position: -3rem -3rem;
	mask-position: -3rem -3rem;
}

.agricorp-icon-sm-menu-hamburger::before {
	-webkit-mask-position: -4rem -3rem;
	mask-position: -4rem -3rem;
}

.agricorp-icon-sm-menu-meatballs::before {
	-webkit-mask-position: -5rem -3rem;
	mask-position: -5rem -3rem;
}

.agricorp-icon-sm-menu-kabab::before {
	-webkit-mask-position: -6rem -3rem;
	mask-position: -6rem -3rem;
}

[class*=agricorp-icon-md] {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	color: var(--colour-black-1);
	padding-left: 2.25rem;
	position: relative;
}

	[class*=agricorp-icon-md]::before {
		content: " ";
		display: block;
		height: 2rem;
		left: 0;
		margin-right: 0.25rem;
		position: absolute;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		top: 0;
		width: 2rem;
		left: 0;
		position: absolute;
		top: 0;
		-webkit-transform: translateY(-0.25rem);
		transform: translateY(-0.25rem);
		background-color: currentColor;
		-webkit-mask-image: url("../assets/agricorp-icons.svg");
		mask-image: url("../assets/agricorp-icons.svg");
		-webkit-mask-size: 20rem 20rem;
		mask-size: 20rem 20rem;
	}

.agricorp-icon-md-blank::before {
	-webkit-mask-position: 2rem 2rem;
	mask-position: 2rem 2rem;
	background-color: transparent;
}

.agricorp-icon-md-search::before {
	-webkit-mask-position: 0rem 0rem;
	mask-position: 0rem 0rem;
}

.agricorp-icon-md-directory::before {
	-webkit-mask-position: -2rem 0rem;
	mask-position: -2rem 0rem;
}

.agricorp-icon-md-hide-password::before {
	-webkit-mask-position: -4rem 0rem;
	mask-position: -4rem 0rem;
}

.agricorp-icon-md-show-password::before {
	-webkit-mask-position: -6rem 0rem;
	mask-position: -6rem 0rem;
}

.agricorp-icon-md-email::before {
	-webkit-mask-position: -8rem 0rem;
	mask-position: -8rem 0rem;
}

.agricorp-icon-md-delete::before {
	-webkit-mask-position: -10rem 0rem;
	mask-position: -10rem 0rem;
}

.agricorp-icon-md-check::before {
	-webkit-mask-position: -12rem 0rem;
	mask-position: -12rem 0rem;
}

.agricorp-icon-md-close::before {
	-webkit-mask-position: -14rem 0rem;
	mask-position: -14rem 0rem;
}

.agricorp-icon-md-calculator::before {
	-webkit-mask-position: -16rem 0rem;
	mask-position: -16rem 0rem;
}

.agricorp-icon-md-save::before {
	-webkit-mask-position: -18rem 0rem;
	mask-position: -18rem 0rem;
}

.agricorp-icon-md-incomplete::before {
	-webkit-mask-position: 0rem -2rem;
	mask-position: 0rem -2rem;
}

.agricorp-icon-md-info::before {
	-webkit-mask-position: -2rem -2rem;
	mask-position: -2rem -2rem;
}

.agricorp-icon-md-help::before {
	-webkit-mask-position: -4rem -2rem;
	mask-position: -4rem -2rem;
}

.agricorp-icon-md-checked-circle::before {
	-webkit-mask-position: -6rem -2rem;
	mask-position: -6rem -2rem;
}

.agricorp-icon-md-circle-arrow-right::before {
	-webkit-mask-position: -8rem -2rem;
	mask-position: -8rem -2rem;
}

.agricorp-icon-md-warning::before {
	-webkit-mask-position: -10rem -2rem;
	mask-position: -10rem -2rem;
}

.agricorp-icon-md-add::before {
	-webkit-mask-position: -12rem -2rem;
	mask-position: -12rem -2rem;
}

.agricorp-icon-md-cancel::before {
	-webkit-mask-position: -14rem -2rem;
	mask-position: -14rem -2rem;
}

.agricorp-icon-md-time::before {
	-webkit-mask-position: -16rem -2rem;
	mask-position: -16rem -2rem;
}

.agricorp-icon-md-error::before {
	-webkit-mask-position: -18rem -2rem;
	mask-position: -18rem -2rem;
}

.agricorp-icon-md-security::before {
	-webkit-mask-position: 0rem -4rem;
	mask-position: 0rem -4rem;
}

.agricorp-icon-md-fire::before {
	-webkit-mask-position: -2rem -4rem;
	mask-position: -2rem -4rem;
}

.agricorp-icon-md-firstaid::before {
	-webkit-mask-position: -4rem -4rem;
	mask-position: -4rem -4rem;
}

.agricorp-icon-md-recommend::before {
	-webkit-mask-position: -6rem -4rem;
	mask-position: -6rem -4rem;
}

.agricorp-icon-md-discourage::before {
	-webkit-mask-position: -8rem -4rem;
	mask-position: -8rem -4rem;
}

.agricorp-icon-md-edit::before {
	-webkit-mask-position: -10rem -4rem;
	mask-position: -10rem -4rem;
}

.agricorp-icon-md-arrow-up::before {
	-webkit-mask-position: -12rem -4rem;
	mask-position: -12rem -4rem;
}

.agricorp-icon-md-arrow-right::before {
	-webkit-mask-position: -14rem -4rem;
	mask-position: -14rem -4rem;
}

.agricorp-icon-md-arrow-down::before {
	-webkit-mask-position: -16rem -4rem;
	mask-position: -16rem -4rem;
}

.agricorp-icon-md-arrow-left::before {
	-webkit-mask-position: -18rem -4rem;
	mask-position: -18rem -4rem;
}

.agricorp-icon-md-table-sort-default::before {
	-webkit-mask-position: 0rem -6rem;
	mask-position: 0rem -6rem;
}

.agricorp-icon-md-table-sort-asc::before {
	-webkit-mask-position: -2rem -6rem;
	mask-position: -2rem -6rem;
}

.agricorp-icon-md-table-sort-desc::before {
	-webkit-mask-position: -4rem -6rem;
	mask-position: -4rem -6rem;
}

.agricorp-icon-md-person-filled::before {
	-webkit-mask-position: -6rem -6rem;
	mask-position: -6rem -6rem;
}

.agricorp-icon-md-menu-hamburger::before {
	-webkit-mask-position: -8rem -6rem;
	mask-position: -8rem -6rem;
}

.agricorp-icon-md-menu-meatballs::before {
	-webkit-mask-position: -10rem -6rem;
	mask-position: -10rem -6rem;
}

.agricorp-icon-md-menu-kabab::before {
	-webkit-mask-position: -12rem -6rem;
	mask-position: -12rem -6rem;
}

[class*=agricorp-icon-lg] {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	color: var(--colour-black-1);
	padding-left: 2.75rem;
	position: relative;
}

	[class*=agricorp-icon-lg]::before {
		content: " ";
		display: block;
		height: 2.5rem;
		left: 0;
		margin-right: 0.25rem;
		position: absolute;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		top: 0;
		width: 2.5rem;
		left: 0;
		position: absolute;
		top: 0;
		-webkit-transform: translateY(-0.375rem);
		transform: translateY(-0.375rem);
		background-color: currentColor;
		-webkit-mask-image: url("../assets/agricorp-icons.svg");
		mask-image: url("../assets/agricorp-icons.svg");
		-webkit-mask-size: 25rem 25rem;
		mask-size: 25rem 25rem;
	}

.agricorp-icon-lg-blank::before {
	-webkit-mask-position: 2.5rem 2.5rem;
	mask-position: 2.5rem 2.5rem;
	background-color: transparent;
}

.agricorp-icon-lg-search::before {
	-webkit-mask-position: 0rem 0rem;
	mask-position: 0rem 0rem;
}

.agricorp-icon-lg-directory::before {
	-webkit-mask-position: -2.5rem 0rem;
	mask-position: -2.5rem 0rem;
}

.agricorp-icon-lg-hide-password::before {
	-webkit-mask-position: -5rem 0rem;
	mask-position: -5rem 0rem;
}

.agricorp-icon-lg-show-password::before {
	-webkit-mask-position: -7.5rem 0rem;
	mask-position: -7.5rem 0rem;
}

.agricorp-icon-lg-email::before {
	-webkit-mask-position: -10rem 0rem;
	mask-position: -10rem 0rem;
}

.agricorp-icon-lg-delete::before {
	-webkit-mask-position: -12.5rem 0rem;
	mask-position: -12.5rem 0rem;
}

.agricorp-icon-lg-check::before {
	-webkit-mask-position: -15rem 0rem;
	mask-position: -15rem 0rem;
}

.agricorp-icon-lg-close::before {
	-webkit-mask-position: -17.5rem 0rem;
	mask-position: -17.5rem 0rem;
}

.agricorp-icon-lg-calculator::before {
	-webkit-mask-position: -20rem 0rem;
	mask-position: -20rem 0rem;
}

.agricorp-icon-lg-save::before {
	-webkit-mask-position: -22.5rem 0rem;
	mask-position: -22.5rem 0rem;
}

.agricorp-icon-lg-incomplete::before {
	-webkit-mask-position: 0rem -2.5rem;
	mask-position: 0rem -2.5rem;
}

.agricorp-icon-lg-info::before {
	-webkit-mask-position: -2.5rem -2.5rem;
	mask-position: -2.5rem -2.5rem;
}

.agricorp-icon-lg-help::before {
	-webkit-mask-position: -5rem -2.5rem;
	mask-position: -5rem -2.5rem;
}

.agricorp-icon-lg-checked-circle::before {
	-webkit-mask-position: -7.5rem -2.5rem;
	mask-position: -7.5rem -2.5rem;
}

.agricorp-icon-lg-circle-arrow-right::before {
	-webkit-mask-position: -10rem -2.5rem;
	mask-position: -10rem -2.5rem;
}

.agricorp-icon-lg-warning::before {
	-webkit-mask-position: -12.5rem -2.5rem;
	mask-position: -12.5rem -2.5rem;
}

.agricorp-icon-lg-add::before {
	-webkit-mask-position: -15rem -2.5rem;
	mask-position: -15rem -2.5rem;
}

.agricorp-icon-lg-cancel::before {
	-webkit-mask-position: -17.5rem -2.5rem;
	mask-position: -17.5rem -2.5rem;
}

.agricorp-icon-lg-time::before {
	-webkit-mask-position: -20rem -2.5rem;
	mask-position: -20rem -2.5rem;
}

.agricorp-icon-lg-error::before {
	-webkit-mask-position: -22.5rem -2.5rem;
	mask-position: -22.5rem -2.5rem;
}

.agricorp-icon-lg-security::before {
	-webkit-mask-position: 0rem -5rem;
	mask-position: 0rem -5rem;
}

.agricorp-icon-lg-fire::before {
	-webkit-mask-position: -2.5rem -5rem;
	mask-position: -2.5rem -5rem;
}

.agricorp-icon-lg-firstaid::before {
	-webkit-mask-position: -5rem -5rem;
	mask-position: -5rem -5rem;
}

.agricorp-icon-lg-recommend::before {
	-webkit-mask-position: -7.5rem -5rem;
	mask-position: -7.5rem -5rem;
}

.agricorp-icon-lg-discourage::before {
	-webkit-mask-position: -10rem -5rem;
	mask-position: -10rem -5rem;
}

.agricorp-icon-lg-edit::before {
	-webkit-mask-position: -12.5rem -5rem;
	mask-position: -12.5rem -5rem;
}

.agricorp-icon-lg-arrow-up::before {
	-webkit-mask-position: -15rem -5rem;
	mask-position: -15rem -5rem;
}

.agricorp-icon-lg-arrow-right::before {
	-webkit-mask-position: -17.5rem -5rem;
	mask-position: -17.5rem -5rem;
}

.agricorp-icon-lg-arrow-down::before {
	-webkit-mask-position: -20rem -5rem;
	mask-position: -20rem -5rem;
}

.agricorp-icon-lg-arrow-left::before {
	-webkit-mask-position: -22.5rem -5rem;
	mask-position: -22.5rem -5rem;
}

.agricorp-icon-lg-table-sort-default::before {
	-webkit-mask-position: 0rem -7.5rem;
	mask-position: 0rem -7.5rem;
}

.agricorp-icon-lg-table-sort-asc::before {
	-webkit-mask-position: -2.5rem -7.5rem;
	mask-position: -2.5rem -7.5rem;
}

.agricorp-icon-lg-table-sort-desc::before {
	-webkit-mask-position: -5rem -7.5rem;
	mask-position: -5rem -7.5rem;
}

.agricorp-icon-lg-person-filled::before {
	-webkit-mask-position: -7.5rem -7.5rem;
	mask-position: -7.5rem -7.5rem;
}

.agricorp-icon-lg-menu-hamburger::before {
	-webkit-mask-position: -10rem -7.5rem;
	mask-position: -10rem -7.5rem;
}

.agricorp-icon-lg-menu-meatballs::before {
	-webkit-mask-position: -12.5rem -7.5rem;
	mask-position: -12.5rem -7.5rem;
}

.agricorp-icon-lg-menu-kabab::before {
	-webkit-mask-position: -15rem -7.5rem;
	mask-position: -15rem -7.5rem;
}

[class*=agricorp-icon-xlg] {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	color: var(--colour-black-1);
	padding-left: 5.25rem;
	position: relative;
}

	[class*=agricorp-icon-xlg]::before {
		content: " ";
		display: block;
		height: 5rem;
		left: 0;
		margin-right: 0.25rem;
		position: absolute;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		top: 0;
		width: 5rem;
		left: 0;
		position: absolute;
		top: 0;
		-webkit-transform: translateY(-1rem);
		transform: translateY(-1rem);
		background-color: currentColor;
		-webkit-mask-image: url("../assets/agricorp-icons.svg");
		mask-image: url("../assets/agricorp-icons.svg");
		-webkit-mask-size: 50rem 50rem;
		mask-size: 50rem 50rem;
	}

.agricorp-icon-xlg-blank::before {
	-webkit-mask-position: 5rem 5rem;
	mask-position: 5rem 5rem;
	background-color: transparent;
}

.agricorp-icon-xlg-search::before {
	-webkit-mask-position: 0rem 0rem;
	mask-position: 0rem 0rem;
}

.agricorp-icon-xlg-directory::before {
	-webkit-mask-position: -5rem 0rem;
	mask-position: -5rem 0rem;
}

.agricorp-icon-xlg-hide-password::before {
	-webkit-mask-position: -10rem 0rem;
	mask-position: -10rem 0rem;
}

.agricorp-icon-xlg-show-password::before {
	-webkit-mask-position: -15rem 0rem;
	mask-position: -15rem 0rem;
}

.agricorp-icon-xlg-email::before {
	-webkit-mask-position: -20rem 0rem;
	mask-position: -20rem 0rem;
}

.agricorp-icon-xlg-delete::before {
	-webkit-mask-position: -25rem 0rem;
	mask-position: -25rem 0rem;
}

.agricorp-icon-xlg-check::before {
	-webkit-mask-position: -30rem 0rem;
	mask-position: -30rem 0rem;
}

.agricorp-icon-xlg-close::before {
	-webkit-mask-position: -35rem 0rem;
	mask-position: -35rem 0rem;
}

.agricorp-icon-xlg-calculator::before {
	-webkit-mask-position: -40rem 0rem;
	mask-position: -40rem 0rem;
}

.agricorp-icon-xlg-save::before {
	-webkit-mask-position: -45rem 0rem;
	mask-position: -45rem 0rem;
}

.agricorp-icon-xlg-incomplete::before {
	-webkit-mask-position: 0rem -5rem;
	mask-position: 0rem -5rem;
}

.agricorp-icon-xlg-info::before {
	-webkit-mask-position: -5rem -5rem;
	mask-position: -5rem -5rem;
}

.agricorp-icon-xlg-help::before {
	-webkit-mask-position: -10rem -5rem;
	mask-position: -10rem -5rem;
}

.agricorp-icon-xlg-checked-circle::before {
	-webkit-mask-position: -15rem -5rem;
	mask-position: -15rem -5rem;
}

.agricorp-icon-xlg-circle-arrow-right::before {
	-webkit-mask-position: -20rem -5rem;
	mask-position: -20rem -5rem;
}

.agricorp-icon-xlg-warning::before {
	-webkit-mask-position: -25rem -5rem;
	mask-position: -25rem -5rem;
}

.agricorp-icon-xlg-add::before {
	-webkit-mask-position: -30rem -5rem;
	mask-position: -30rem -5rem;
}

.agricorp-icon-xlg-cancel::before {
	-webkit-mask-position: -35rem -5rem;
	mask-position: -35rem -5rem;
}

.agricorp-icon-xlg-time::before {
	-webkit-mask-position: -40rem -5rem;
	mask-position: -40rem -5rem;
}

.agricorp-icon-xlg-error::before {
	-webkit-mask-position: -45rem -5rem;
	mask-position: -45rem -5rem;
}

.agricorp-icon-xlg-security::before {
	-webkit-mask-position: 0rem -10rem;
	mask-position: 0rem -10rem;
}

.agricorp-icon-xlg-fire::before {
	-webkit-mask-position: -5rem -10rem;
	mask-position: -5rem -10rem;
}

.agricorp-icon-xlg-firstaid::before {
	-webkit-mask-position: -10rem -10rem;
	mask-position: -10rem -10rem;
}

.agricorp-icon-xlg-recommend::before {
	-webkit-mask-position: -15rem -10rem;
	mask-position: -15rem -10rem;
}

.agricorp-icon-xlg-discourage::before {
	-webkit-mask-position: -20rem -10rem;
	mask-position: -20rem -10rem;
}

.agricorp-icon-xlg-edit::before {
	-webkit-mask-position: -25rem -10rem;
	mask-position: -25rem -10rem;
}

.agricorp-icon-xlg-arrow-up::before {
	-webkit-mask-position: -30rem -10rem;
	mask-position: -30rem -10rem;
}

.agricorp-icon-xlg-arrow-right::before {
	-webkit-mask-position: -35rem -10rem;
	mask-position: -35rem -10rem;
}

.agricorp-icon-xlg-arrow-down::before {
	-webkit-mask-position: -40rem -10rem;
	mask-position: -40rem -10rem;
}

.agricorp-icon-xlg-arrow-left::before {
	-webkit-mask-position: -45rem -10rem;
	mask-position: -45rem -10rem;
}

.agricorp-icon-xlg-table-sort-default::before {
	-webkit-mask-position: 0rem -15rem;
	mask-position: 0rem -15rem;
}

.agricorp-icon-xlg-table-sort-asc::before {
	-webkit-mask-position: -5rem -15rem;
	mask-position: -5rem -15rem;
}

.agricorp-icon-xlg-table-sort-desc::before {
	-webkit-mask-position: -10rem -15rem;
	mask-position: -10rem -15rem;
}

.agricorp-icon-xlg-person-filled::before {
	-webkit-mask-position: -15rem -15rem;
	mask-position: -15rem -15rem;
}

.agricorp-icon-xlg-menu-hamburger::before {
	-webkit-mask-position: -20rem -15rem;
	mask-position: -20rem -15rem;
}

.agricorp-icon-xlg-menu-meatballs::before {
	-webkit-mask-position: -25rem -15rem;
	mask-position: -25rem -15rem;
}

.agricorp-icon-xlg-menu-kabab::before {
	-webkit-mask-position: -30rem -15rem;
	mask-position: -30rem -15rem;
}

[class*=agricorp-doc-icon] {
	-webkit-print-color-adjust: exact;
	color-adjust: exact;
	padding-left: 1.375rem;
	position: relative;
}

	[class*=agricorp-doc-icon]::before {
		content: " ";
		display: block;
		height: 1.125rem;
		left: 0;
		margin-right: 0.25rem;
		position: absolute;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		top: 0;
		width: 1.125rem;
		left: 0;
		position: absolute;
		top: 0;
		-webkit-transform: translateY(-0.03125rem);
		transform: translateY(-0.03125rem);
		background-image: url("../assets/agricorp-icons.svg");
		background-size: 11.25rem 11.25rem;
	}

.agricorp-doc-icon-pdf::before {
	background-position: 0rem -10.125rem;
}

a[href*=".pdf"]:not(.no-icon)::before {
	content: " ";
	width: 1.125rem;
	height: 1.125rem;
	display: inline-block;
	margin-right: 0.25rem;
	background-image: url("../assets/agricorp-icons.svg");
	background-repeat: no-repeat;
	background-position: 0rem -10.125rem;
	background-size: 11.25rem 11.25rem;
}

/* dialog.dialog; */
dialog[open] {
	background-color: var(--colour-white);
	border: 1px solid var(--colour-black-4);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	max-height: 75vh;
	padding: 0;
	position: fixed;
	z-index: 1000;
}

@media (min-width: 576px) {
	dialog[open] {
		-webkit-transform: translateY(-5%);
		transform: translateY(-5%);
		width: clamp(320px, 600px, 75vw);
	}

		dialog[open]:not(:modal) {
			top: 50%;
			-webkit-transform: translateY(-55%);
			transform: translateY(-55%);
		}
}

@media (max-width: 576px) {
	dialog[open] {
		bottom: 0;
		margin: auto 0 0 0;
		max-height: 75svh;
		max-width: 100%;
		-webkit-transform: none;
		transform: none;
		width: 100%;
	}

		dialog[open] > div:nth-of-type(1) {
			max-height: none;
			height: auto;
		}
}

dialog[open]::-ms-backdrop {
	background-color: var(--colour-black);
	opacity: 0.5;
}

dialog[open]::backdrop {
	background-color: var(--colour-black);
	opacity: 0.5;
}

dialog[open] > form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 0;
}

dialog[open] h2[id*=-dialog-label] {
	background-color: var(--colour-green);
	color: white;
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	font-family: Raleway, Arial, Helvetica, sans-serif;
	margin: 1rem 0;
	padding: 1rem;
}

@media (max-width: 576px) {
	dialog[open] h2[id*=-dialog-label] {
		margin: 0 0 0.5rem 0;
	}
}

dialog[open] div[id*=-dialog-description] {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	margin: 0 0 1rem 0;
	min-height: 0;
	overflow: auto;
	padding: 0 1rem;
	-webkit-overflow-scrolling: touch;
}

dialog[open] .dialog-buttons {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding: 0 1rem;
}

	dialog[open] .dialog-buttons .btn-primary {
		-webkit-box-ordinal-group: 100;
		-ms-flex-order: 99;
		order: 99;
	}

/* figure.figure; */
figure, figure.top {
	display: table;
	border: thin silver solid;
	border-bottom: none;
	margin: 3px;
}

	figure.left {
		float: left;
		margin-left: 0;
	}

	figure.right {
		float: right;
		margin-right: 0;
	}

	figure figcaption, figure.top figcaption {
		border: 1px #CCC solid;
		border-top: none;
		border-left: 1px #CCC solid;
		display: table-caption;
		caption-side: bottom;
		padding: 3px;
		font-family: arial;
		font-size: 0.8em;
		font-weight: 800;
	}

	figure img, figure.top img, figure svg, figure.top svg {
		border: 1px #CCC solid;
		margin: 3px;
	}

	figure.top {
		border-top: none;
		border-bottom: 1px #CCC solid;
	}

		figure.top figcaption {
			caption-side: top;
			border: 1px #CCC solid;
			border-bottom: none;
		}

/* form.form-grid; */
.form-grid {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 2rem 1fr;
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 2rem;
	margin: 0 0 1rem 0;
	min-width: 0;
}

@media (max-width: 768px) {
	.form-grid {
		-ms-grid-columns: 100%;
		grid-template-columns: 100%;
	}
}

.form-grid.form-grid-full-width {
	-ms-grid-columns: 100%;
	grid-template-columns: 100%;
}

/* form.button; */
button.btn-primary {
	background-color: var(--colour-green);
	color: var(--colour-white);
}

	button.btn-primary:hover, button.btn-primary:active, button.btn-primary:focus {
		background-color: var(--colour-green-2);
		color: var(--colour-black);
	}

	button.btn-primary:disabled {
		font-weight: bold;
	}

.button-group {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

	.button-group.buttons-left {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}

	.button-group .btn-primary {
		-webkit-box-ordinal-group: 100;
		-ms-flex-order: 99;
		order: 99;
	}

/* form.button-icon; */
button.button-icon {
	border: none;
	background-color: transparent;
}

/* form.checkbox; */
:has(> input[type=checkbox]) error-message {
	display: none;
}

	:has(> input[type=checkbox]) error-message:not(:empty) {
		color: var(--color-error);
		display: block;
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
	}

div:has(> input[type=checkbox]) {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-grid;
	display: grid;
	gap: 0.5rem;
	-ms-grid-columns: -webkit-max-content 0.5rem -webkit-max-content;
	-ms-grid-columns: max-content 0.5rem max-content;
	grid-template-columns: repeat(2, -webkit-max-content);
	grid-template-columns: repeat(2, max-content);
	margin: 0 0 1rem 0;
}

	div:has(> input[type=checkbox]) label {
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		font-size: 1rem;
	}

	div:has(> input[type=checkbox]) input[type=checkbox] {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		display: -ms-grid;
		display: grid;
	}

		div:has(> input[type=checkbox]) input[type=checkbox]::before {
			-ms-grid-column: 1;
			grid-column: 1;
			-ms-grid-row: 1;
			grid-row: 1;
		}

		div:has(> input[type=checkbox]) input[type=checkbox]::after {
			background-color: var(--colour-white);
			border-radius: 0.125rem;
			border: 1px solid var(--colour-green);
			border: 1px solid var(--colour-green);
			content: " ";
			display: inline-block;
			height: 1rem;
			width: 1rem;
			-ms-grid-column: 1;
			grid-column: 1;
			-ms-grid-row: 1;
			grid-row: 1;
		}

		div:has(> input[type=checkbox]) input[type=checkbox]:checked::before {
			background-color: var(--colour-black-1);
			border-radius: 0.125rem;
			border: 1px solid var(--colour-green);
			border: 1px solid var(--colour-green);
			border: 1px solid var(--colour-green);
			content: " ";
			display: inline-block;
			height: 1rem;
			-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%231f1f1f%22%3E%3Cpath%20d%3D%22M382-240%20154-468l57-57%20171%20171%20367-367%2057%2057-424%20424Z%22%2F%3E%3C%2Fsvg%3E");
			mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%2224px%22%20viewBox%3D%220%20-960%20960%20960%22%20width%3D%2224px%22%20fill%3D%22%231f1f1f%22%3E%3Cpath%20d%3D%22M382-240%20154-468l57-57%20171%20171%20367-367%2057%2057-424%20424Z%22%2F%3E%3C%2Fsvg%3E");
			-webkit-mask-position: 50% 50%;
			mask-position: 50% 50%;
			-webkit-mask-size: 1rem 1rem;
			mask-size: 1rem 1rem;
			width: 1rem;
		}

fieldset {
	border: 1px solid var(--colour-black-4);
	border-radius: 0;
	margin: 0 0 1rem 0;
	padding: 1rem 1rem 0 1rem;
}

	fieldset.full-width {
		grid-column: 1/-1;
	}

	fieldset > legend {
		float: none;
		font-family: var(--font-body);
		font-size: 1rem;
		margin: 0 0 0 -0.875rem;
		padding: 0 1rem 0 0.125rem;
		width: -webkit-max-content;
		width: -moz-max-content;
		width: max-content;
	}

	fieldset:not(:has(> legend)), fieldset.quiet {
		border: none;
		display: -ms-grid;
		display: grid;
		gap: 1rem;
		margin: 0;
		padding: 0;
	}

		fieldset:not(:has(> legend)) > legend, fieldset.quiet > legend {
			margin: 0;
		}

	fieldset:has(div > input[type=checkbox]) {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-ms-grid-columns: (-webkit-max-content)[2];
		-ms-grid-columns: (max-content)[2];
		grid-template-columns: repeat(2, -webkit-max-content);
		grid-template-columns: repeat(2, max-content);
	}

		fieldset:has(div > input[type=checkbox]) > div {
			display: -ms-grid;
			display: grid;
			-webkit-column-gap: 2rem;
			-moz-column-gap: 2rem;
			column-gap: 2rem;
			-ms-grid-columns: -webkit-max-content;
			-ms-grid-columns: max-content;
			grid-template-columns: -webkit-max-content;
			grid-template-columns: max-content;
		}

@media (min-width: 768px) {
	fieldset:has(div > input[type=checkbox]).short > div {
		display: -ms-grid;
		display: grid;
		grid-auto-flow: column;
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}

		fieldset:has(div > input[type=checkbox]).short > div > div {
			margin: 0 0 1rem 0;
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(1)) {
			-ms-grid-rows: (-webkit-max-content)[1];
			-ms-grid-rows: (max-content)[1];
			grid-template-rows: repeat(1, -webkit-max-content);
			grid-template-rows: repeat(1, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(2)) {
			-ms-grid-rows: (-webkit-max-content)[1];
			-ms-grid-rows: (max-content)[1];
			grid-template-rows: repeat(1, -webkit-max-content);
			grid-template-rows: repeat(1, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(3)) {
			-ms-grid-rows: (-webkit-max-content)[1];
			-ms-grid-rows: (max-content)[1];
			grid-template-rows: repeat(1, -webkit-max-content);
			grid-template-rows: repeat(1, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(4)) {
			-ms-grid-rows: (-webkit-max-content)[1];
			-ms-grid-rows: (max-content)[1];
			grid-template-rows: repeat(1, -webkit-max-content);
			grid-template-rows: repeat(1, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(5)) {
			-ms-grid-rows: (-webkit-max-content)[2];
			-ms-grid-rows: (max-content)[2];
			grid-template-rows: repeat(2, -webkit-max-content);
			grid-template-rows: repeat(2, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(6)) {
			-ms-grid-rows: (-webkit-max-content)[2];
			-ms-grid-rows: (max-content)[2];
			grid-template-rows: repeat(2, -webkit-max-content);
			grid-template-rows: repeat(2, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(7)) {
			-ms-grid-rows: (-webkit-max-content)[2];
			-ms-grid-rows: (max-content)[2];
			grid-template-rows: repeat(2, -webkit-max-content);
			grid-template-rows: repeat(2, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(8)) {
			-ms-grid-rows: (-webkit-max-content)[2];
			-ms-grid-rows: (max-content)[2];
			grid-template-rows: repeat(2, -webkit-max-content);
			grid-template-rows: repeat(2, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(9)) {
			-ms-grid-rows: (-webkit-max-content)[3];
			-ms-grid-rows: (max-content)[3];
			grid-template-rows: repeat(3, -webkit-max-content);
			grid-template-rows: repeat(3, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(10)) {
			-ms-grid-rows: (-webkit-max-content)[3];
			-ms-grid-rows: (max-content)[3];
			grid-template-rows: repeat(3, -webkit-max-content);
			grid-template-rows: repeat(3, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(11)) {
			-ms-grid-rows: (-webkit-max-content)[3];
			-ms-grid-rows: (max-content)[3];
			grid-template-rows: repeat(3, -webkit-max-content);
			grid-template-rows: repeat(3, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(12)) {
			-ms-grid-rows: (-webkit-max-content)[3];
			-ms-grid-rows: (max-content)[3];
			grid-template-rows: repeat(3, -webkit-max-content);
			grid-template-rows: repeat(3, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(13)) {
			-ms-grid-rows: (-webkit-max-content)[4];
			-ms-grid-rows: (max-content)[4];
			grid-template-rows: repeat(4, -webkit-max-content);
			grid-template-rows: repeat(4, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(14)) {
			-ms-grid-rows: (-webkit-max-content)[4];
			-ms-grid-rows: (max-content)[4];
			grid-template-rows: repeat(4, -webkit-max-content);
			grid-template-rows: repeat(4, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(15)) {
			-ms-grid-rows: (-webkit-max-content)[4];
			-ms-grid-rows: (max-content)[4];
			grid-template-rows: repeat(4, -webkit-max-content);
			grid-template-rows: repeat(4, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(16)) {
			-ms-grid-rows: (-webkit-max-content)[4];
			-ms-grid-rows: (max-content)[4];
			grid-template-rows: repeat(4, -webkit-max-content);
			grid-template-rows: repeat(4, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(17)) {
			-ms-grid-rows: (-webkit-max-content)[5];
			-ms-grid-rows: (max-content)[5];
			grid-template-rows: repeat(5, -webkit-max-content);
			grid-template-rows: repeat(5, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(18)) {
			-ms-grid-rows: (-webkit-max-content)[5];
			-ms-grid-rows: (max-content)[5];
			grid-template-rows: repeat(5, -webkit-max-content);
			grid-template-rows: repeat(5, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(19)) {
			-ms-grid-rows: (-webkit-max-content)[5];
			-ms-grid-rows: (max-content)[5];
			grid-template-rows: repeat(5, -webkit-max-content);
			grid-template-rows: repeat(5, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(20)) {
			-ms-grid-rows: (-webkit-max-content)[5];
			-ms-grid-rows: (max-content)[5];
			grid-template-rows: repeat(5, -webkit-max-content);
			grid-template-rows: repeat(5, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(21)) {
			-ms-grid-rows: (-webkit-max-content)[6];
			-ms-grid-rows: (max-content)[6];
			grid-template-rows: repeat(6, -webkit-max-content);
			grid-template-rows: repeat(6, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(22)) {
			-ms-grid-rows: (-webkit-max-content)[6];
			-ms-grid-rows: (max-content)[6];
			grid-template-rows: repeat(6, -webkit-max-content);
			grid-template-rows: repeat(6, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(23)) {
			-ms-grid-rows: (-webkit-max-content)[6];
			-ms-grid-rows: (max-content)[6];
			grid-template-rows: repeat(6, -webkit-max-content);
			grid-template-rows: repeat(6, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(24)) {
			-ms-grid-rows: (-webkit-max-content)[6];
			-ms-grid-rows: (max-content)[6];
			grid-template-rows: repeat(6, -webkit-max-content);
			grid-template-rows: repeat(6, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(25)) {
			-ms-grid-rows: (-webkit-max-content)[7];
			-ms-grid-rows: (max-content)[7];
			grid-template-rows: repeat(7, -webkit-max-content);
			grid-template-rows: repeat(7, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(26)) {
			-ms-grid-rows: (-webkit-max-content)[7];
			-ms-grid-rows: (max-content)[7];
			grid-template-rows: repeat(7, -webkit-max-content);
			grid-template-rows: repeat(7, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(27)) {
			-ms-grid-rows: (-webkit-max-content)[7];
			-ms-grid-rows: (max-content)[7];
			grid-template-rows: repeat(7, -webkit-max-content);
			grid-template-rows: repeat(7, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(28)) {
			-ms-grid-rows: (-webkit-max-content)[7];
			-ms-grid-rows: (max-content)[7];
			grid-template-rows: repeat(7, -webkit-max-content);
			grid-template-rows: repeat(7, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(29)) {
			-ms-grid-rows: (-webkit-max-content)[8];
			-ms-grid-rows: (max-content)[8];
			grid-template-rows: repeat(8, -webkit-max-content);
			grid-template-rows: repeat(8, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(30)) {
			-ms-grid-rows: (-webkit-max-content)[8];
			-ms-grid-rows: (max-content)[8];
			grid-template-rows: repeat(8, -webkit-max-content);
			grid-template-rows: repeat(8, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(31)) {
			-ms-grid-rows: (-webkit-max-content)[8];
			-ms-grid-rows: (max-content)[8];
			grid-template-rows: repeat(8, -webkit-max-content);
			grid-template-rows: repeat(8, max-content);
		}

		fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(32)) {
			-ms-grid-rows: (-webkit-max-content)[8];
			-ms-grid-rows: (max-content)[8];
			grid-template-rows: repeat(8, -webkit-max-content);
			grid-template-rows: repeat(8, max-content);
		}
}

/* form.inline-edit; */
.inline-edit {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: -webkit-max-content 1rem -webkit-max-content;
	-ms-grid-columns: max-content 1rem max-content;
	grid-template-columns: repeat(2, -webkit-max-content);
	grid-template-columns: repeat(2, max-content);
	place-items: center;
	gap: 1rem;
}

	.inline-edit [class*=button-] {
		border: none;
		min-width: auto;
		max-width: 1.5rem;
		margin: 0;
		padding: 0;
		background-color: transparent;
		-ms-grid-row-align: center;
		-ms-grid-column-align: center;
		place-self: center;
	}

		.inline-edit [class*=button-]:hover, .inline-edit [class*=button-]:focus {
			background-color: transparent;
		}

	.inline-edit .inline-edit-buttons {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
	}

	.inline-edit [class*=inline-edit-button-] {
		display: inline;
	}

	.inline-edit .inline-edit-button-edit {
		display: none;
	}

	.inline-edit:has(:disabled) :disabled, .inline-edit:has(:disabled) [readonly], .inline-edit:has([readonly]) :disabled, .inline-edit:has([readonly]) [readonly] {
		border: 1px solid transparent;
		background-color: transparent;
	}

	.inline-edit:has(:disabled) [class*=inline-edit-button-], .inline-edit:has([readonly]) [class*=inline-edit-button-] {
		display: none;
	}

	.inline-edit:has(:disabled) .inline-edit-button-edit, .inline-edit:has([readonly]) .inline-edit-button-edit {
		display: inline;
	}

/* form.password; */
/* password */
:has(> div > input.password-field) {
	margin: 0 0 1rem 0;
}

	:has(> div > input.password-field) label {
		margin: 0 0 0.25rem 0;
	}

	:has(> div > input.password-field):has(> div > input:not(:disabled):required) label::before {
		color: red;
		padding: 0 0.125rem 0 0;
		content: "*";
	}

	:has(> div > input.password-field) span.password-msg {
		display: none;
	}

		:has(> div > input.password-field) span.password-msg:not(:empty) {
			color: var(--color-error);
			display: block;
			font-family: "Open Sans", Arial, Helvetica, sans-serif;
			margin: 0 0.5rem;
		}

	:has(> div > input.password-field) > div {
		-webkit-column-gap: 0.5rem;
		-moz-column-gap: 0.5rem;
		column-gap: 0.5rem;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: auto 0.5rem 3rem;
		grid-template-columns: auto 3rem;
		margin: 0;
	}

		:has(> div > input.password-field) > div:has(.short) {
			width: 10rem;
			min-width: 10rem;
		}

@media (max-width: 768px) {
	:has(> div > input.password-field) > div:has(.short) {
		width: 100%;
		min-width: 100%;
	}
}

:has(> div > input.password-field) > div .password-field {
	border: 1px solid var(--colour-green);
	border-radius: 0;
	color: var(--colour-black);
	font-family: var(--font-body);
	font-size: 1rem;
	padding: 0.5rem;
	grid-column: 1/-1;
	-ms-grid-row: 1;
	grid-row: 1;
	padding: 0.5rem 3.25rem 0.5rem 0.5rem;
	width: 100%;
}

	:has(> div > input.password-field) > div .password-field[data-size=sm] {
		padding: 0.5rem 2.25rem 0.5rem 0.5rem;
	}

	:has(> div > input.password-field) > div .password-field[data-size=md] {
		padding: 0.5rem 3.25rem 0.5rem 0.5rem;
	}

	:has(> div > input.password-field) > div .password-field[data-size=lg] {
		padding: 0.5rem 3.75rem 0.5rem 0.5rem;
	}

	:has(> div > input.password-field) > div .password-field[data-size=xlg] {
		padding: 0.5rem 6.25rem 0.5rem 0.5rem;
	}

	:has(> div > input.password-field) > div .password-field[data-size=doc] {
		padding: 0.5rem 2.375rem 0.5rem 0.5rem;
	}

	:has(> div > input.password-field) > div .password-field::-ms-reveal, :has(> div > input.password-field) > div .password-field::-ms-clear {
		display: none;
	}

:has(> div > input.password-field) > div .password-revealer {
	background-color: transparent;
	border: none;
	display: -ms-grid;
	display: grid;
	-ms-grid-column: 2;
	grid-column: 2;
	-ms-grid-row: 1;
	grid-row: 1;
	-ms-grid-columns: 100%;
	grid-template-columns: 100%;
	overflow: hidden;
	place-items: center;
}

	:has(> div > input.password-field) > div .password-revealer :focus {
		background-color: initial;
	}

	:has(> div > input.password-field) > div .password-revealer span:before {
		-webkit-transform: translate(0.25rem, -45%);
		transform: translate(0.25rem, -45%);
	}

	:has(> div > input.password-field) > div .password-revealer span:not([class*=icon]) {
		border: 0;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

/* / password */
/* form.radio; */
fieldset:has(div > input[type=radio]) {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-grid-columns: (-webkit-max-content)[2];
	-ms-grid-columns: (max-content)[2];
	grid-template-columns: repeat(2, -webkit-max-content);
	grid-template-columns: repeat(2, max-content);
}

	fieldset:has(div > input[type=radio]):has(legend:empty) {
		border: none;
	}

		fieldset:has(div > input[type=radio]):has(legend:empty) legend {
			display: none;
		}

	fieldset:has(div > input[type=radio]) legend {
		margin-bottom: 0.5rem;
	}

	fieldset:has(div > input[type=radio]):has(:required) legend::before {
		color: red;
		content: "*";
		padding: 0 0.15rem 0 0;
	}

	fieldset:has(div > input[type=radio]):has(:required) label:before {
		content: "";
	}

	fieldset:has(div > input[type=radio]) > div {
		-webkit-column-gap: 2rem;
		-moz-column-gap: 2rem;
		column-gap: 2rem;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: -webkit-max-content;
		-ms-grid-columns: max-content;
		grid-template-columns: -webkit-max-content;
		grid-template-columns: max-content;
	}

@media (min-width: 768px) {
	fieldset:has(div > input[type=radio]).short > div {
		-ms-grid-columns: (1fr)[4];
		grid-template-columns: repeat(4, 1fr);
	}
}

fieldset:has(div > input[type=radio]) div:has(> input) {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-grid;
	display: grid;
	gap: 0.5rem;
	-ms-grid-columns: -webkit-max-content 0.5rem -webkit-max-content;
	-ms-grid-columns: max-content 0.5rem max-content;
	grid-template-columns: repeat(2, -webkit-max-content);
	grid-template-columns: repeat(2, max-content);
	margin: 0 0 1rem 0;
}

	fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio] {
		-webkit-appearance: initial;
		-moz-appearance: initial;
		appearance: initial;
		background-color: transparent;
		border: none;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: auto;
		grid-template-columns: auto;
		-ms-grid-rows: 1.25rem;
		grid-template-rows: 1.25rem;
		margin: 0;
		min-width: initial;
		padding: 0;
	}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio] > *:nth-child(1) {
			-ms-grid-row: 1;
			-ms-grid-column: 1;
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio]:focus::before {
			outline: 0.125rem auto black;
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio] * {
			-ms-grid-column: 1;
			grid-column: 1;
			-ms-grid-row: 1;
			grid-row: 1;
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio]::before {
			background-color: var(--colour-white);
			border-radius: 50%;
			border: 1px solid var(--colour-green);
			content: " ";
			height: calc(1.25rem - 2px);
			position: relative;
			top: -0.25rem;
			-webkit-transform: translateY(0.25rem);
			transform: translateY(0.25rem);
			visibility: visible;
			width: calc(1.25rem - 2px);
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio]:checked::before {
			background: var(--colour-green);
			background: radial-gradient(circle, var(--colour-black-1) 50%, var(--colour-white) 50%, var(--colour-white) 100%);
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio]:disabled::before {
			background: var(--colour-black-5);
			border: 1px solid var(--colour-black-3);
		}

		fieldset:has(div > input[type=radio]) div:has(> input) input[type=radio]:disabled:checked::before {
			background: var(--colour-black-5);
			background: radial-gradient(circle, var(--colour-black-0) 47%, var(--colour-black-5) 52%, var(--colour-black-5) 100%);
		}

	fieldset:has(div > input[type=radio]) div:has(> input) > label {
		display: inline;
		-ms-grid-column: 2;
		grid-column: 2;
		margin: 0;
	}

/* form.select; */
label {
	margin: 0 0 0.25rem 0;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: var(--colour-white);
	border: 1px solid var(--colour-green);
	border-radius: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: var(--colour-black);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1rem;
	min-width: 25rem;
	padding: 0.5rem 1.5rem 0.5rem 0.5rem;
	width: 75%;
	background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" xml:space="preserve"><path d="M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"/><path fill="none" d="M0,0h24v24H0V0z"/></svg>');
	background-position: center right;
	background-repeat: no-repeat;
}

@media (max-width: 992px) {
	select {
		width: 100%;
		min-width: auto;
	}
}

@media (max-width: 768px) {
	select {
		width: 100%;
		min-width: 100%;
	}
}

select option {
	padding: 0.5rem;
	margin: 2rem;
}

select:focus {
	background-color: var(--colour-black-45);
}

select:disabled {
	background-color: var(--colour-white);
	border: 1px solid var(--colour-black-3);
	color: var(--colour-black-1);
}

@media (min-width: 768px) {
	select.short {
		width: 10rem;
		min-width: 10rem;
	}
}

:has(> select:required) label::before {
	color: red;
	padding: 0 0.15rem 0 0;
	content: "*";
}

:has(> select) {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: (-webkit-max-content)[2] auto;
	-ms-grid-rows: (max-content)[2] auto;
	grid-template-rows: repeat(2, -webkit-max-content) auto;
	grid-template-rows: repeat(2, max-content) auto;
	margin: 0 0 1rem 0;
	min-width: 0;
}

/* form.text; */
/* text */
label {
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	margin: 0 0 0.25rem 0;
}

input[type=number], input[type=decimal], input[type=phone], input[type=email], input[type=text] {
	border: 1px solid var(--colour-green);
	border-radius: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: var(--colour-black);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1rem;
	min-width: clamp(100%, 25rem, 100%);
	padding: 0.5rem;
	width: 75%;
}

@media (max-width: 992px) {
	input[type=number], input[type=decimal], input[type=phone], input[type=email], input[type=text] {
		width: 100%;
		min-width: auto;
	}
}

@media (max-width: 768px) {
	input[type=number], input[type=decimal], input[type=phone], input[type=email], input[type=text] {
		width: 100%;
		min-width: 100%;
	}
}

input[type=number]:focus, input[type=decimal]:focus, input[type=phone]:focus, input[type=email]:focus, input[type=text]:focus {
	background-color: var(--colour-black-45);
}

@media (min-width: 768px) {
	input[type=number][type=number], input[type=number].short, input[type=decimal][type=number], input[type=decimal].short, input[type=phone][type=number], input[type=phone].short, input[type=email][type=number], input[type=email].short, input[type=text][type=number], input[type=text].short {
		width: 10rem;
		min-width: 10rem;
	}
}

input[type=number] option, input[type=decimal] option, input[type=phone] option, input[type=email] option, input[type=text] option {
	padding: 0.5rem;
	margin: 2rem;
}

input[type=number]:-moz-read-only, input[type=decimal]:-moz-read-only, input[type=phone]:-moz-read-only, input[type=email]:-moz-read-only, input[type=text]:-moz-read-only {
	border: 1px solid var(--colour-black-3);
	background-color: var(--colour-black-5);
	color: var(--colour-black-0);
	opacity: 1;
	outline: none;
}

input[type=number]:disabled, input[type=number]:read-only, input[type=decimal]:disabled, input[type=decimal]:read-only, input[type=phone]:disabled, input[type=phone]:read-only, input[type=email]:disabled, input[type=email]:read-only, input[type=text]:disabled, input[type=text]:read-only {
	border: 1px solid var(--colour-black-3);
	background-color: var(--colour-black-5);
	color: var(--colour-black-0);
	opacity: 1;
	outline: none;
}

input[type=number][inputmode=number], input[type=number][inputmode=decimal], input[type=decimal][inputmode=number], input[type=decimal][inputmode=decimal], input[type=phone][inputmode=number], input[type=phone][inputmode=decimal], input[type=email][inputmode=number], input[type=email][inputmode=decimal], input[type=text][inputmode=number], input[type=text][inputmode=decimal] {
	text-align: right;
}

:has(> input:required) label::before {
	color: red;
	padding: 0 0.15rem 0 0;
	content: "*";
}

:has(> input[type=number]),
:has(> input[type=decimal]),
:has(> input[type=phone]),
:has(> input[type=email]),
:has(> input[type=text]) {
	display: -ms-grid;
	display: grid;
	-ms-grid-rows: (-webkit-max-content)[2] auto;
	-ms-grid-rows: (max-content)[2] auto;
	grid-template-rows: repeat(2, -webkit-max-content) auto;
	grid-template-rows: repeat(2, max-content) auto;
	margin: 0 0 1rem 0;
	min-width: 0;
}

.inline-edit:has(> div > input[type=number]) div, .inline-edit:has(> div > input[type=decimal]) div, .inline-edit:has(> div > input[type=phone]) div, .inline-edit:has(> div > input[type=email]) div, .inline-edit:has(> div > input[type=text]) div {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (-webkit-max-content)[2];
	-ms-grid-columns: (max-content)[2];
	grid-template-columns: repeat(2, -webkit-max-content);
	grid-template-columns: repeat(2, max-content);
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
}

	.inline-edit:has(> div > input[type=number]) div label, .inline-edit:has(> div > input[type=decimal]) div label, .inline-edit:has(> div > input[type=phone]) div label, .inline-edit:has(> div > input[type=email]) div label, .inline-edit:has(> div > input[type=text]) div label {
		margin: 0;
	}

/* / text */
/* form.requirements-validation; */
.requirements-validation {
	list-style-type: none;
	margin: 0 0 1rem 0;
	padding: 0;
	line-height: 1.5;
}

	.requirements-validation .requirement-icon {
		color: var(--colour-green);
	}

	.requirements-validation .requirement-not-met .requirement-icon {
		color: var(--colour-error);
	}

	.requirements-validation .sr-only {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

/* link.link; */
a {
	border-bottom: 1px solid var(--colour-black-0);
	color: var(--colour-green);
	font-family: sans-serif;
	text-decoration: none;
}

	a:visited {
		border-bottom: 1px solid var(--colour-black-3);
		color: var(--colour-green);
		text-decoration: none;
	}

	a.skip {
		position: absolute;
		left: -9999px;
	}

/* link.link-call-to-action; */
[class*=c2a-link] {
	background-color: var(--colour-green);
	border-radius: 0.5rem;
	color: var(--colour-white) !important;
	display: table;
	font-size: 1.25rem !important;
	line-height: 2rem;
	margin: 0.5rem 0;
	padding: 0.5rem 2rem;
	text-underline-offset: 0.4rem;
}

	[class*=c2a-link]:visited {
		color: var(--colour-white) !important;
	}

.c2a-link-green {
	background-color: var(--colour-green);
	color: var(--colour-white) !important;
}

	.c2a-link-green:visited {
		color: var(--colour-white) !important;
	}

.c2a-link-tuliptree {
	background-color: var(--colour-tuliptree);
	color: var(--colour-black) !important;
}

	.c2a-link-tuliptree:visited {
		color: var(--colour-black) !important;
	}

.c2a-link-robinsegg {
	background-color: var(--colour-robinsegg);
	color: var(--colour-black) !important;
}

	.c2a-link-robinsegg:visited {
		color: var(--colour-black) !important;
	}

.c2a-link-endeavour {
	background-color: var(--colour-endeavour);
	color: var(--colour-white) !important;
}

	.c2a-link-endeavour:visited {
		color: var(--colour-white) !important;
	}

.c2a-link-apple {
	background-color: var(--colour-apple);
	color: var(--colour-black) !important;
}

	.c2a-link-apple:visited {
		color: var(--colour-black) !important;
	}

.c2a-link-jazzberry {
	background-color: var(--colour-jazzberry);
	color: var(--colour-white) !important;
}

	.c2a-link-jazzberry:visited {
		color: var(--colour-white) !important;
	}

/* link.link-activities; */
:has(> .activity-link) {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -ms-grid;
	display: grid;
	gap: 0.5rem;
	overflow: hidden;
	text-align: center;
	width: 100%;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
}

	:has(> .activity-link) .activity-link {
		background-color: var(--colour-green);
		border-radius: 0.25rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		float: left;
		height: 2.5rem;
		line-height: 2rem;
		margin-right: 10px;
		padding: 0 10px;
		position: relative;
		text-align: left;
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		color: white;
		text-decoration: none;
	}

		:has(> .activity-link) .activity-link:before {
			border-bottom: 20px solid transparent;
			border-left: 10px solid var(--colour-green);
			border-radius: 4px;
			border-top: 20px solid transparent;
			content: "";
			height: 0;
			position: absolute;
			right: -9px;
			width: 0;
		}

		:has(> .activity-link) .activity-link:after {
			content: "";
			height: 0;
			left: -1px;
			position: absolute;
			width: 0;
		}

		:has(> .activity-link) .activity-link.disabled {
			background-color: var(--colour-black-3);
			color: var(--colour-black-0);
			cursor: default;
		}

			:has(> .activity-link) .activity-link.disabled:before {
				border-left: 10px solid var(--colour-black-3);
				color: var(--colour-black-0);
			}

/* notifications.notification-bar; */
[class^=notification-bar] {
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	border: 1px solid #000;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: black;
	display: -ms-grid;
	display: grid;
	grid-column: 1/-1;
	margin: 0 0 1rem 0;
	padding: 1rem;
	width: 100%;
}

	[class^=notification-bar] h2, [class^=notification-bar] h3, [class^=notification-bar] h4, [class^=notification-bar] p {
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		font-weight: bold;
		margin: 0 0 0.5em 0;
		text-align: center;
		width: 100%;
	}

		[class^=notification-bar] h2 a, [class^=notification-bar] h3 a, [class^=notification-bar] h4 a, [class^=notification-bar] p a {
			text-decoration: underline;
			margin: 0;
		}

	[class^=notification-bar] :last-child {
		margin: 0;
	}

.notification-bar-error {
	background-color: var(--colour-error);
	color: var(--colour-error-text);
}

	.notification-bar-error h2, .notification-bar-error h3, .notification-bar-error h4, .notification-bar-error p, .notification-bar-error p a {
		color: var(--colour-error-text) !important;
	}

	.notification-bar-error span {
		color: var(--colour-error-text) !important;
	}

	.notification-bar-error a {
		color: var(--colour-error-text);
	}

.notification-bar-warning {
	background-color: var(--colour-warning);
	color: var(--colour-warning-text);
}

	.notification-bar-warning h2, .notification-bar-warning h3, .notification-bar-warning h4, .notification-bar-warning p, .notification-bar-warning p a {
		color: var(--colour-warning-text) !important;
	}

	.notification-bar-warning span {
		color: var(--colour-warning-text) !important;
	}

	.notification-bar-warning a {
		color: var(--colour-warning-text);
	}

.notification-bar-notify {
	background-color: var(--colour-notify);
	color: var(--colour-notify-text);
}

	.notification-bar-notify h2, .notification-bar-notify h3, .notification-bar-notify h4, .notification-bar-notify p, .notification-bar-notify p a {
		color: var(--colour-notify-text) !important;
	}

	.notification-bar-notify span {
		color: var(--colour-notify-text) !important;
	}

	.notification-bar-notify a {
		color: var(--colour-notify-text);
	}

.notification-bar-info {
	background-color: var(--colour-info);
	color: var(--colour-info-text);
}

	.notification-bar-info h2, .notification-bar-info h3, .notification-bar-info h4, .notification-bar-info p, .notification-bar-info p a {
		color: var(--colour-info-text) !important;
	}

	.notification-bar-info span {
		color: var(--colour-info-text) !important;
	}

	.notification-bar-info a {
		color: var(--colour-info-text);
	}

/* notifications.notification-box; */
[class^=notification-box] {
	border-radius: 0.5rem;
	grid-column: 1/-1;
	margin-bottom: 1rem;
	padding: 1rem;
	width: 100%;
}

	[class^=notification-box] h2, [class^=notification-box] h3, [class^=notification-box] h4, [class^=notification-box] p, [class^=notification-box] p a {
		font-size: 1rem;
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		-ms-grid-column: 2;
		grid-column: 2;
	}

		[class^=notification-box] a, [class^=notification-box] p a {
			border-bottom: 1px solid var(--colour-black-3);
			text-decoration: none;
		}

	[class^=notification-box]:has(> span[class*=icon]) {
		-webkit-column-gap: 0.5rem;
		-moz-column-gap: 0.5rem;
		column-gap: 0.5rem;
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: -webkit-max-content 0.5rem auto;
		-ms-grid-columns: max-content 0.5rem auto;
		grid-template-columns: -webkit-max-content auto;
		grid-template-columns: max-content auto;
	}

		[class^=notification-box]:has(> span[class*=icon]) > span[class*=icon] {
			-ms-grid-column: 1;
			grid-column: 1;
		}

	[class^=notification-box] :last-child {
		margin: 0;
	}

.notification-box-error {
	background-color: var(--colour-error);
	color: var(--colour-error-text);
}

	.notification-box-error h2, .notification-box-error h3, .notification-box-error h4, .notification-box-error p, .notification-box-error p a {
		color: var(--colour-error-text) !important;
	}

	.notification-box-error span {
		color: var(--colour-error-text) !important;
	}

	.notification-box-error a {
		color: var(--colour-error-text);
	}

.notification-box-warning {
	background-color: var(--colour-warning);
	color: var(--colour-warning-text);
}

	.notification-box-warning h2, .notification-box-warning h3, .notification-box-warning h4, .notification-box-warning p, .notification-box-warning p a {
		color: var(--colour-warning-text) !important;
	}

	.notification-box-warning span {
		color: var(--colour-warning-text) !important;
	}

	.notification-box-warning a {
		color: var(--colour-warning-text);
	}

.notification-box-notify {
	background-color: var(--colour-notify);
	color: var(--colour-notify-text);
}

	.notification-box-notify h2, .notification-box-notify h3, .notification-box-notify h4, .notification-box-notify p, .notification-box-notify p a {
		color: var(--colour-notify-text) !important;
	}

	.notification-box-notify span {
		color: var(--colour-notify-text) !important;
	}

	.notification-box-notify a {
		color: var(--colour-notify-text);
	}

.notification-box-info {
	background-color: var(--colour-info);
	color: var(--colour-info-text);
}

	.notification-box-info h2, .notification-box-info h3, .notification-box-info h4, .notification-box-info p, .notification-box-info p a {
		color: var(--colour-info-text) !important;
	}

	.notification-box-info span {
		color: var(--colour-info-text) !important;
	}

	.notification-box-info a {
		color: var(--colour-info-text);
	}

.notification-box-info {
	border: none;
}

	.notification-box-info span {
		color: var(--colour-black-1) !important;
	}

/* progress-bar.progress-bar; */
.progress-bar, .progressbar {
	display: -ms-grid;
	display: grid;
	place-items: stretch;
	border: 1px solid var(--colour-green);
	border-radius: 0.5rem;
	margin: 0.25rem;
}

	.progress-bar > span, .progressbar > span {
		border: 1px solid var(--colour-white);
		background-color: var(--colour-white);
		border-radius: 0.5rem;
		display: -ms-grid;
		display: grid;
		overflow: hidden;
	}

		.progress-bar > span > span, .progressbar > span > span {
			-ms-grid-column: 1;
			grid-column: 1;
			-ms-grid-row: 1;
			grid-row: 1;
			font-family: Arial, sans-serif;
			background-color: var(--colour-green);
			color: black;
			text-align: center;
			overflow: visible;
			white-space: nowrap;
		}

/* site-search.site-search; */
form.site-search, div.site-search {
	grid-column: 1/-1;
	-ms-grid-column-align: end;
	justify-self: end;
	margin: 0 0 0.5rem 0;
	width: calc(25% - (0.5rem + 2px));
}

@media (max-width: 768px) {
	form.site-search, div.site-search {
		-ms-grid-column-align: stretch;
		justify-self: stretch;
		width: 100%;
	}
}

form.site-search label, div.site-search label {
	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;
	width: 1px !important;
	white-space: nowrap !important;
}

form.site-search, div.site-search {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

	form.site-search > *, div.site-search > * {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

form.site-search, div.site-search {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: calc(100% - 2.25rem) 0 2.25rem;
	grid-template-columns: calc(100% - 2.25rem) 2.25rem;
	-ms-grid-rows: auto;
	grid-template-rows: auto;
	gap: 0;
}

	form.site-search > *:nth-child(1), div.site-search > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}

	form.site-search > *:nth-child(2), div.site-search > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}

	form.site-search > input, div.site-search > input {
		-ms-grid-row-align: stretch;
		align-self: stretch;
		background-color: var(--colour-white);
		border: 1px solid var(--colour-green);
		border-radius: 0;
		color: var(--colour-black);
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		font-size: 1rem;
		grid-column: 1/-1;
		-ms-grid-row: 1;
		grid-row: 1;
		height: 2.25rem;
		max-width: 100%;
		min-width: 100%;
		padding: 0 2.25rem 0 0.5rem;
		place-self: stretch;
		z-index: 1;
	}

	form.site-search > button, div.site-search > button {
		background-color: transparent;
		border: none;
		display: -ms-grid;
		display: grid;
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 1;
		grid-row: 1;
		margin: 0;
		min-width: 100%;
		padding: 0;
		place-items: center;
		z-index: 1;
	}

		form.site-search > button span:before, div.site-search > button span:before {
			-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
		}

		form.site-search > button:hover, div.site-search > button:hover {
			background-color: transparent;
		}

		form.site-search > button span:nth-child(2), div.site-search > button span:nth-child(2) {
			position: absolute;
			left: -99999px;
		}

header form.site-search {
	width: 100%;
	-ms-grid-column: 2;
	grid-column: 2;
}

	header form.site-search input:-moz-placeholder {
		opacity: 0.5;
	}

	header form.site-search input:-ms-input-placeholder {
		opacity: 0.5;
	}

	header form.site-search input:placeholder-shown {
		opacity: 0.5;
	}

	header form.site-search input::-webkit-input-placeholder {
		color: var(--colour-black);
	}

	header form.site-search input::-moz-placeholder {
		color: var(--colour-black);
	}

	header form.site-search input:-ms-input-placeholder {
		color: var(--colour-black);
	}

	header form.site-search input::-ms-input-placeholder {
		color: var(--colour-black);
	}

	header form.site-search input::placeholder {
		color: var(--colour-black);
	}

/* progressive-search.progressive-search; */
form.progressive-search, div.progressive-search {
	grid-column: 1/-1;
	-ms-grid-column-align: end;
	justify-self: end;
	margin: 0 0 0.5rem 0;
	width: calc(25% - (0.5rem + 2px));
}

@media (max-width: 768px) {
	form.progressive-search, div.progressive-search {
		-ms-grid-column-align: stretch;
		justify-self: stretch;
		width: 100%;
	}
}

form.progressive-search label, div.progressive-search label {
	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;
	width: 1px !important;
	white-space: nowrap !important;
}

form.progressive-search, div.progressive-search {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

	form.progressive-search > *, div.progressive-search > * {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

form.progressive-search, div.progressive-search {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: calc(100% - 2.25rem) 0 2.25rem;
	grid-template-columns: calc(100% - 2.25rem) 2.25rem;
	-ms-grid-rows: auto;
	grid-template-rows: auto;
	gap: 0;
}

	form.progressive-search > *:nth-child(1), div.progressive-search > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}

	form.progressive-search > *:nth-child(2), div.progressive-search > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}

	form.progressive-search > input, div.progressive-search > input {
		-ms-grid-row-align: stretch;
		align-self: stretch;
		background-color: var(--colour-white);
		border: 1px solid var(--colour-green);
		border-radius: 0;
		color: var(--colour-black);
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		font-size: 1rem;
		grid-column: 1/-1;
		-ms-grid-row: 1;
		grid-row: 1;
		height: 2.25rem;
		max-width: 100%;
		min-width: 100%;
		padding: 0 2.25rem 0 0.5rem;
		place-self: stretch;
		z-index: 1;
	}

	form.progressive-search > span, div.progressive-search > span {
		display: -ms-grid;
		display: grid;
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 1;
		grid-row: 1;
		line-height: 1rem;
		place-items: center;
		z-index: 1;
	}

		form.progressive-search > span:before, div.progressive-search > span:before {
			-webkit-transform: none;
			transform: none;
		}

/* thumbnails.thumbnails; */
figure.thumbnail.left {
	float: left;
	margin-left: 0;
}

figure.thumbnail.right {
	float: right;
	margin-right: 0;
}

figure.thumbnail {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr;
	grid-template-columns: 1fr;
	-ms-grid-rows: 1fr;
	grid-template-rows: 1fr;
}

	figure.thumbnail > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}

	figure.thumbnail img {
		color: white;
		font-family: Arial, Helvetica, sans-serif;
		font-weight: bold;
		text-shadow: black 0.1em 0.1em 0.2em;
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-row-align: center;
		-ms-grid-column-align: stretch;
		place-self: center stretch;
		text-align: center;
	}

	figure.thumbnail figcaption {
		color: white;
		font-family: Arial, Helvetica, sans-serif;
		font-weight: bold;
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
		padding: 2px;
		-ms-grid-row-align: center;
		-ms-grid-column-align: stretch;
		place-self: center stretch;
		text-align: center;
		text-shadow: black 0.1em 0.1em 0.2em;
	}

/* usermenu.usermenu; */
.usermenu {
	cursor: pointer;
	display: inline-block;
	max-width: 10rem;
	position: relative;
	text-align: left;
	z-index: 50;
}

	.usermenu .sr-only {
		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;
		width: 1px !important;
		white-space: nowrap !important;
	}

	.usermenu div.name, .usermenu div.avatar {
		background-color: var(--colour-green);
		border-radius: 50%;
		border: 1px solid var(--colour-green);
		height: 4rem;
		overflow: hidden;
		padding: 1rem 0 0 0;
		width: 4rem;
	}

		.usermenu div.name:focus-visible, .usermenu div.avatar:focus-visible {
			outline: 2px solid var(--colour-black);
			outline-offset: 2px;
		}

		.usermenu div.name span, .usermenu div.avatar span {
			color: var(--colour-green-5);
			position: relative;
			left: -0.5rem;
		}

		.usermenu div.name .username, .usermenu div.avatar .username {
			display: none;
		}

	.usermenu p.name {
		border: 1px solid var(--colour-green);
		color: var(--colour-black);
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		margin: 0;
		overflow: hidden;
		padding: 0.25rem 0.5rem;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		white-space: nowrap;
	}

	.usermenu div.p {
		border: 1px solid var(--colour-green);
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		margin: 0;
		overflow: hidden;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		white-space: nowrap;
	}

	.usermenu div p {
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
	}

	.usermenu ul {
		list-style-type: none;
		margin: 0;
		padding: 0;
	}

		.usermenu ul li {
			font-family: "Open Sans", Arial, Helvetica, sans-serif;
			padding: 0.25rem 0.5rem;
			width: 100%;
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
		}

			.usermenu ul li:hover:not(:has(a[aria-disabled=true])) {
				background-color: var(--colour-black-4);
			}

			.usermenu ul li a {
				color: var(--colour-black);
				display: block;
				text-decoration: none;
				padding: 0.15rem 0.5rem;
			}

				.usermenu ul li a:focus-visible {
					outline: 2px solid var(--colour-black);
					outline-offset: -2px;
				}

				.usermenu ul li a[aria-disabled=true] {
					color: var(--colour-black-3);
					background-color: transparent;
				}

			.usermenu ul li:has(a[aria-disabled=true].active) {
				background-color: var(--colour-black-4);
			}

				.usermenu ul li:has(a[aria-disabled=true].active) a {
					color: var(--colour-black);
				}

		.usermenu ul:not(:has(li:hover)) li:has(a:focus-visible) {
			background-color: var(--colour-black-4);
		}

	.usermenu:has(div.menu) {
		max-width: 4rem;
	}

		.usermenu:has(div.menu) .menu {
			left: auto;
			right: 0;
			width: calc(20rem - 2px);
		}

	.usermenu .menu[hidden] {
		display: none;
	}

	.usermenu .menu {
		background-color: var(--colour-white);
		border: 1px solid var(--colour-black-3);
		display: block;
		left: 0;
		margin: 0.5rem 0 0 1px;
		overflow: hidden;
		position: absolute;
		width: calc(10rem - 2px);
		z-index: 999;
	}

		.usermenu .menu ul li {
			margin: 0.15rem 0;
			padding: 0.15rem 1rem;
			margin: 0;
			padding: 0;
		}

			.usermenu .menu ul li a {
				padding: 0.5rem 1rem;
				border-top: 1px solid var(--colour-black-3);
				border-bottom: none;
				-am: line 144;
			}

				.usermenu .menu ul li a:visited, .usermenu .menu ul li a:active, .usermenu .menu ul li a:hover {
					border-top: 1px solid var(--colour-black-3);
					border-bottom: none;
				}

		.usermenu .menu p {
			color: var(--colour-black);
			font-family: "Open Sans", Arial, Helvetica, sans-serif;
			font-weight: bold;
			margin: 1rem;
		}

/* card.card; */
.card, [class*=card-] {
	background-color: var(--colour-white);
	border-radius: var(--radius-small);
	-webkit-box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
	box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1rem;
	list-style-type: none;
	-webkit-margin-after: 0;
	margin-block-end: 0;
	-webkit-margin-before: 0;
	margin-block-start: 0;
	margin: 1rem;
	padding: 1rem;
}

.card-white {
	background-color: var(--colour-white);
}

.card-green {
	background-color: var(--colour-green-5);
}

.card-tuliptree {
	background-color: var(--colour-tuliptree-lr);
}

.card-robinsegg {
	background-color: var(--colour-robinsegg-xl);
}

.card-endeavour {
	background-color: var(--colour-endeavour-xl);
}

.card-apple {
	background-color: var(--colour-apple-lr);
}

.card-jazzberry {
	background-color: var(--colour-jazzberry-xl);
}

.cards, [class*=cards-] {
	display: -ms-grid;
	display: grid;
	/*gap: 1rem;*/
	grid-column: 1/-1;
	-ms-grid-columns: 100%;
	grid-template-columns: 100%;
	margin: 0 0 1rem 0;
	padding: 0;
}

	.cards [class*=card], [class*=cards-] [class*=card] {
		margin: 0;
	}

	.cards:not(.cards-individual):has(> .card-white) > *, [class*=cards-]:not(.cards-individual):has(> .card-white) > * {
		background-color: var(--colour-white);
	}

	.cards:not(.cards-individual):has(> .card-green) > *, [class*=cards-]:not(.cards-individual):has(> .card-green) > * {
		background-color: var(--colour-green-5);
	}

	.cards:not(.cards-individual):has(> .card-tuliptree) > *, [class*=cards-]:not(.cards-individual):has(> .card-tuliptree) > * {
		background-color: var(--colour-tuliptree-lr);
	}

	.cards:not(.cards-individual):has(> .card-robinsegg) > *, [class*=cards-]:not(.cards-individual):has(> .card-robinsegg) > * {
		background-color: var(--colour-robinsegg-xl);
	}

	.cards:not(.cards-individual):has(> .card-endeavour) > *, [class*=cards-]:not(.cards-individual):has(> .card-endeavour) > * {
		background-color: var(--colour-endeavour-xl);
	}

	.cards:not(.cards-individual):has(> .card-apple) > *, [class*=cards-]:not(.cards-individual):has(> .card-apple) > * {
		background-color: var(--colour-apple-lr);
	}

	.cards:not(.cards-individual):has(> .card-jazzberry) > *, [class*=cards-]:not(.cards-individual):has(> .card-jazzberry) > * {
		background-color: var(--colour-jazzberry-xl);
	}

.cards-2 {
	-ms-grid-columns: (1fr)[2];
	grid-template-columns: repeat(2, 1fr);
}

.cards-3 {
	-ms-grid-columns: (1fr)[3];
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
	[class*=cards-] {
		-ms-grid-columns: 100%;
		grid-template-columns: 100%;
	}
}
/* card.card-farm-business; */
.farm-business-card {
	display: -ms-grid;
	display: grid;
	gap: 0.5rem;
	-ms-grid-columns: auto 0.5rem 5.5rem;
	grid-template-columns: auto 5.5rem;
	-ms-grid-rows: auto 0.5rem -webkit-max-content 0.5rem 2rem;
	-ms-grid-rows: auto 0.5rem max-content 0.5rem 2rem;
	grid-template-rows: auto -webkit-max-content 2rem;
	grid-template-rows: auto max-content 2rem;
}

	.farm-business-card > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}

	.farm-business-card > *:nth-child(2) {
		-ms-grid-row: 1;
		-ms-grid-column: 3;
	}

	.farm-business-card > *:nth-child(3) {
		-ms-grid-row: 3;
		-ms-grid-column: 1;
	}

	.farm-business-card > *:nth-child(4) {
		-ms-grid-row: 3;
		-ms-grid-column: 3;
	}

	.farm-business-card > *:nth-child(5) {
		-ms-grid-row: 5;
		-ms-grid-column: 1;
	}

	.farm-business-card > *:nth-child(6) {
		-ms-grid-row: 5;
		-ms-grid-column: 3;
	}

	.farm-business-card h2, .farm-business-card h3, .farm-business-card h4 {
		margin: 0;
		-ms-grid-column: 1;
		grid-column: 1;
		-ms-grid-row: 1;
		grid-row: 1;
	}

	.farm-business-card > span {
		-ms-grid-column: 2;
		grid-column: 2;
		-ms-grid-row: 1;
		grid-row: 1;
		-ms-grid-column-align: end;
		justify-self: end;
		-ms-grid-row-align: start;
		align-self: start;
		margin-top: 0.5rem;
	}

		.farm-business-card > span a {
			border: none;
			color: var(--colour-black-1);
		}

			.farm-business-card > span a span:nth-of-type(2) {
				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;
				width: 1px !important;
				white-space: nowrap !important;
			}

	.farm-business-card p {
		grid-column: 1/-1;
		margin: 0;
	}

/* details.details; */
details summary {
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1.25rem;
	font-weight: normal;
}

/* fieldset.fieldset; */
fieldset {
	border: 1px solid var(--colour-black-4);
	border-radius: 0;
	margin: 0 0 1rem 0;
	padding: 1rem 1rem 0 1rem;
}

	fieldset.full-width {
		grid-column: 1/-1;
	}

	fieldset > legend {
		float: none;
		font-family: var(--font-body);
		font-size: 1rem;
		margin: 0 0 0 -0.875rem;
		padding: 0 1rem 0 0.125rem;
		width: -webkit-max-content;
		width: -moz-max-content;
		width: max-content;
	}

	fieldset:not(:has(> legend)), fieldset.quiet {
		border: none;
		display: -ms-grid;
		display: grid;
		gap: 1rem;
		margin: 0;
		padding: 0;
	}

		fieldset:not(:has(> legend)) > legend, fieldset.quiet > legend {
			margin: 0;
		}

/* footer.footer; */
footer {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	grid-column: 1/-1;
	margin: 2rem 0 0 0;
}

	footer .footer-content {
		background-color: var(--colour-green);
		color: var(--colour-white);
		margin: 0;
		padding: 2rem 1rem 1rem 1rem;
	}

	footer > ul {
		background-color: var(--colour-green);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		margin: 0;
		padding: 0;
	}

		footer > ul li {
			-ms-flex-item-align: end;
			-ms-grid-row-align: end;
			align-self: end;
			color: var(--colour-white);
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-preferred-size: 20%;
			flex-basis: 20%;
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
			-ms-flex-direction: row;
			flex-direction: row;
			font-family: "Open Sans", Arial, Helvetica, sans-serif;
			font-size: 1rem;
			list-style-type: none;
			margin: 0;
			padding: 0;
		}

			footer > ul li:last-of-type {
				margin-bottom: 0;
			}

			footer > ul li ul {
				margin: 0;
				padding: 0;
			}

				footer > ul li ul li {
					padding: 0.5rem 1rem;
				}

@media (max-width: 768px) {
	footer > ul li {
		-ms-flex-preferred-size: 66%;
		flex-basis: 66%;
	}
}

footer > ul li a {
	color: currentColor;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
}

@media (min-width: 576px) and (max-width: 768px) {
	footer > ul {
		display: block;
		-webkit-columns: 2;
		-moz-columns: 2;
		columns: 2;
	}
}

@media (max-width: 768px) {
	footer > ul {
		display: block;
	}
}

footer:has(.footer-content:empty) {
	border-top: 1px solid var(--colour-green);
}

	footer:has(.footer-content:empty) .footer-content {
		display: none;
	}

.footer-bottom {
	background-color: var(--colour-white);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (auto)[2];
	grid-template-columns: repeat(2, auto);
}

@media (max-width: 576px) {
	.footer-bottom {
		display: block;
	}
}

.footer-bottom .endorsing-logos, .footer-bottom .partner-logos {
	background-color: var(--colour-white);
	display: block;
	padding: 1rem;
	width: 100%;
}

@media (max-width: 768px) {
	.footer-bottom .endorsing-logos, .footer-bottom .partner-logos {
		width: initial;
	}
}

.footer-bottom p {
	-ms-grid-row-align: center;
	align-self: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 0.9rem;
	-ms-grid-column: 2;
	grid-column: 2;
	-ms-grid-column-align: end;
	justify-self: end;
	padding: 1rem;
	margin: 0;
}

/* header.header; */
header {
	background-color: var(--colour-white);
	display: -ms-grid;
	display: grid;
	grid-column: 1/-1;
	-ms-grid-columns: auto minmax(15rem, 1fr) 8rem;
	grid-template-columns: auto minmax(15rem, 1fr) 8rem;
	margin: 1rem 0 0 0;
	min-height: 5.5rem;
}

@media (max-width: 768px) {
	header {
		height: auto;
		-ms-grid-columns: auto auto 8rem;
		grid-template-columns: auto auto 8rem;
	}
}

header > div {
	-webkit-column-gap: 1rem;
	-moz-column-gap: 1rem;
	column-gap: 1rem;
	display: -ms-grid;
	display: grid;
	grid-column: 1/-1;
	grid-row: 1/-1;
	-ms-grid-columns: subgrid;
	grid-template-columns: subgrid;
	-ms-grid-rows: subgrid;
	grid-template-rows: subgrid;
	z-index: 2;
}

	header > div > *:nth-child(1) {
		-ms-grid-row: 1;
		-ms-grid-column: 1;
	}

header .header-title {
	-ms-grid-column: 1;
	grid-column: 1;
	grid-row: 2/-1;
	min-width: 0;
	padding: 0 1rem;
}

	header .header-title h1 {
		margin: 0;
		padding: 0;
	}

	header .header-title a, header .header-title a:visited {
		border: 1px solid red;
		border: none;
		text-decoration: none;
	}

		header .header-title a:has(img), header .header-title a:visited:has(img) {
			padding: 0;
			text-decoration: none;
		}

			header .header-title a:has(img) img, header .header-title a:visited:has(img) img {
				height: 5.5rem;
				-ms-grid-column-align: start;
				justify-self: start;
				text-align: left;
				tranform: translateY(50%);
				width: 9.5rem;
			}

header .site-search {
	-ms-grid-row: 3;
	grid-row: 3;
	max-width: 14rem;
	min-width: 14rem;
}

@media (max-width: 768px) {
	header .site-search {
		display: none;
	}
}

header .header-content {
	-ms-grid-row-align: start;
	align-self: start;
	grid-column: -1;
	-ms-grid-row: 3;
	grid-row: 3;
	-ms-grid-column-align: center;
	justify-self: center;
	padding: 0 1rem 0 0;
}

	header .header-content:has(.usermenu), header .header-content:has(.user-menu) {
		-ms-grid-row: 2;
		grid-row: 2;
		-ms-grid-column-align: end;
		justify-self: end;
		padding-top: 0.5rem;
	}

header:has(> svg) {
	-ms-grid-rows: 1rem 1rem 2rem minmax(1.5rem, auto);
	grid-template-rows: 1rem 1rem 2rem minmax(1.5rem, auto);
	z-index: 1;
}

	header:has(> svg) svg {
		grid-column: 1/-1;
		grid-row: 1/-1;
	}

		header:has(> svg) svg text {
			fill: var(--colour-black-45);
			font-family: Raleway, Arial, Helvetica, sans-serif;
			font-size: 10rem;
			font-weight: 700;
			-webkit-transform: translate(-1rem, 7.25rem);
			transform: translate(-1rem, 7.25rem);
		}

header:not(header:has(> svg)) {
	-ms-grid-rows: 1rem 1.5rem 2rem 1.5rem 1rem auto;
	grid-template-rows: 1rem 1.5rem 2rem 1.5rem 1rem auto;
}

	header:not(header:has(> svg)):has(> div .header-title + .header-content) {
		border-bottom: 0.5rem solid var(--colour-green);
	}

		header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content {
			-ms-grid-row-align: start;
			align-self: start;
			grid-column: 2/-1;
			grid-row: 3/-1;
		}

			header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content:has(.usermenu) {
				-ms-grid-row: 2;
				grid-row: 2;
				padding-top: 0.5rem;
			}

@media (max-width: 768px) {
	header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content:not(header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content:has(.usermenu)) {
		display: block;
		grid-column: 1/-1;
		-ms-grid-row: 7;
		grid-row: 7;
		min-width: 0;
		padding: 0 1rem;
		text-align: left;
		white-space: normal;
		width: 100%;
	}
}

header:not(header:has(> svg)):has(> div .header-title + .header-content) .header-content {
	-ms-grid-column-align: end;
	justify-self: end;
	margin: 0;
	padding: 0 1rem 0 0;
	text-align: right;
}

/* navigation.navigation; */
nav {
	background-color: var(--colour-green);
	z-index: 0;
}

	nav ul {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -ms-grid;
		display: grid;
		gap: 0.25rem;
		grid-auto-columns: -webkit-max-content;
		grid-auto-columns: max-content;
		grid-auto-flow: column;
		list-style-type: none;
		margin: 0 0.125rem;
		padding: 0;
	}

@media (max-width: 768px) {
	nav ul {
		grid-auto-flow: row;
	}
}

nav ul li {
	line-height: 1;
	margin: 0 !important;
	padding: 1.125rem;
	vertical-align: baseline;
}

	nav ul li a, nav ul li a:visited {
		border-bottom: none;
		color: var(--colour-white);
		font-family: "Open Sans", Arial, Helvetica, sans-serif;
		text-decoration: none;
	}

/* endorsing-logos.endorsing-logos; */
.endorsing-logos, .partner-logos {
	background-color: var(--colour-white);
	display: block;
	padding: 1rem;
	width: 100%;
}

@media (max-width: 768px) {
	.endorsing-logos, .partner-logos {
		width: initial;
	}
}

/* table.table; */
.sortable-sorter {
	display: none;
	grid-column: 1/-1;
}

@media (max-width: 768px) {
	.sortable-sorter {
		display: block;
		margin-bottom: 0.5rem;
	}

		.sortable-sorter label {
			margin: 0 0 0.25rem 0;
		}

		.sortable-sorter select {
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			background-color: var(--colour-white);
			border: 1px solid var(--colour-green);
			border-radius: 0;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
			color: var(--colour-black);
			font-family: "Open Sans", Arial, Helvetica, sans-serif;
			font-size: 1rem;
			min-width: 25rem;
			padding: 0.5rem 1.5rem 0.5rem 0.5rem;
			width: 75%;
			background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24px" height="24px" viewBox="0 0 24 24" xml:space="preserve"><path d="M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z"/><path fill="none" d="M0,0h24v24H0V0z"/></svg>');
			background-position: center right;
			background-repeat: no-repeat;
		}
}

@media (max-width: 768px) and (max-width: 992px) {
	.sortable-sorter select {
		width: 100%;
		min-width: auto;
	}
}

@media (max-width: 768px) and (max-width: 768px) {
	.sortable-sorter select {
		width: 100%;
		min-width: 100%;
	}
}

@media (max-width: 768px) {
	.sortable-sorter select option {
		padding: 0.5rem;
		margin: 2rem;
	}

	.sortable-sorter select:focus {
		background-color: var(--colour-black-45);
	}

	.sortable-sorter select:disabled {
		background-color: var(--colour-white);
		border: 1px solid var(--colour-black-3);
		color: var(--colour-black-1);
	}
}

@media (max-width: 768px) and (min-width: 768px) {
	.sortable-sorter select.short {
		width: 10rem;
		min-width: 10rem;
	}
}

@media (max-width: 768px) {
	.sortable-sorter :has(> select:required) label::before {
		color: red;
		padding: 0 0.15rem 0 0;
		content: "*";
	}

	.sortable-sorter :has(> select) {
		display: -ms-grid;
		display: grid;
		-ms-grid-rows: (-webkit-max-content)[2] auto;
		-ms-grid-rows: (max-content)[2] auto;
		grid-template-rows: repeat(2, -webkit-max-content) auto;
		grid-template-rows: repeat(2, max-content) auto;
		margin: 0 0 1rem 0;
		min-width: 0;
	}

	.sortable-sorter select {
		width: auto;
		min-width: auto;
	}
}

table:not(.custom):not([role=presentation]):not([role=none]) {
	border: none;
	border-collapse: collapse;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 0 2rem 0;
	max-width: 100%;
	overflow: hidden;
}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) {
		width: 100%;
	}
}

table:not(.custom):not([role=presentation]):not([role=none]) caption {
	font-family: var(--font-body);
	margin-top: 0.25rem;
	text-align: left;
}

	table:not(.custom):not([role=presentation]):not([role=none]) caption.top {
		caption-side: top;
	}

	table:not(.custom):not([role=presentation]):not([role=none]) caption.bottom {
		caption-side: bottom;
		font-size: 0.9rem;
	}

table:not(.custom):not([role=presentation]):not([role=none]) tbody + caption:not(.top), table:not(.custom):not([role=presentation]):not([role=none]) tfoot + caption:not(.top) {
	caption-side: bottom;
	font-size: 0.9rem;
}

table:not(.custom):not([role=presentation]):not([role=none]) thead {
	background-color: var(--colour-black-1);
	color: var(--colour-white);
}

	table:not(.custom):not([role=presentation]):not([role=none]) thead tr td, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th {
		border-right: 1px solid currentColor;
		cursor: pointer;
		font-family: var(--font-body);
		font-weight: normal;
		padding: 0.5rem;
		vertical-align: bottom;
	}

		table:not(.custom):not([role=presentation]):not([role=none]) thead tr td:last-of-type, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th:last-of-type {
			border-right: none;
		}

		table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span {
			display: -ms-grid;
			display: grid;
			-ms-grid-columns: auto -webkit-max-content;
			-ms-grid-columns: auto max-content;
			grid-template-columns: auto -webkit-max-content;
			grid-template-columns: auto max-content;
			-webkit-box-align: end;
			-ms-flex-align: end;
			align-items: end;
		}

			table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-asc, table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-default, table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-desc, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-asc, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-default, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-desc {
				color: currentColor;
			}

				table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-asc::before, table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-default::before, table:not(.custom):not([role=presentation]):not([role=none]) thead tr td > span span.agricorp-icon-sm-table-sort-desc::before, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-asc::before, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-default::before, table:not(.custom):not([role=presentation]):not([role=none]) thead tr th > span span.agricorp-icon-sm-table-sort-desc::before {
					-webkit-transform: translateY(-1.125rem);
					transform: translateY(-1.125rem);
					margin: 0 0 1rem 0.5rem;
				}

	table:not(.custom):not([role=presentation]):not([role=none]) thead tr:nth-of-type(1) td:first-of-type, table:not(.custom):not([role=presentation]):not([role=none]) thead tr:nth-of-type(1) th:first-of-type {
		border-top-left-radius: 0.75rem;
	}

	table:not(.custom):not([role=presentation]):not([role=none]) thead tr:nth-of-type(1) td:last-of-type, table:not(.custom):not([role=presentation]):not([role=none]) thead tr:nth-of-type(1) th:last-of-type {
		border-top-right-radius: 0.75rem;
	}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) thead {
		position: absolute;
		left: -9999999px;
	}
}

table:not(.custom):not([role=presentation]):not([role=none]) tbody tr {
	background-color: var(--colour-white);
}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th {
		border-bottom-color: var(--colour-black-4);
	}

	table:not(.custom):not([role=presentation]):not([role=none]) tbody tr:nth-of-type(odd) {
		background-color: var(--colour-black-4);
	}

		table:not(.custom):not([role=presentation]):not([role=none]) tbody tr:nth-of-type(odd) td, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr:nth-of-type(odd) th {
			border-bottom-color: var(--colour-white);
		}
}

table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th {
	vertical-align: top;
	border: none;
	border-right: 1px solid var(--colour-white);
	border-bottom: 1px solid var(--colour-black-4);
	font-family: var(--font-body);
	padding: 0.5rem;
}

	table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td:last-of-type, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th:last-of-type, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td:last-of-type, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th:last-of-type {
		border-right: none;
	}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: subgrid;
		grid-template-columns: subgrid;
		gap: 1rem;
	}

		table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td::before, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th::before, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td::before, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th::before {
			content: attr(data-header);
			font-weight: bold;
			display: block;
		}
}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) tbody tr, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: -webkit-max-content auto;
		-ms-grid-columns: max-content auto;
		grid-template-columns: -webkit-max-content auto;
		grid-template-columns: max-content auto;
	}

		table:not(.custom):not([role=presentation]):not([role=none]) tbody tr td, table:not(.custom):not([role=presentation]):not([role=none]) tbody tr th, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th {
			width: 100%;
			grid-column: 1/-1;
			text-align: left !important;
		}
}

@media (max-width: 768px) {
	table:not(.custom):not([role=presentation]):not([role=none]) tfoot {
		background-color: var(--colour-black-1);
		color: var(--colour-white);
	}
}

table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr td, table:not(.custom):not([role=presentation]):not([role=none]) tfoot tr th {
	font-weight: bold;
}

/* tabs.tabs; */
tabset, .tab-group {
	margin: 2rem 0 1rem 0;
}

	tabset [role=tablist] li.selected, .tab-group [role=tablist] li.selected {
		background-color: var(--colour-green);
		color: var(--colour-white);
	}

	tabset > ul, .tab-group > ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0;
		padding: 0;
	}

		tabset > ul li.separator, .tab-group > ul li.separator {
			border-bottom: 1px solid #7f7f7f;
			border-left: 1px solid #7f7f7f;
			display: inline-block;
			margin: 0.45rem 0 0 0;
			width: 100%;
		}

	tabset .tab-hidden, .tab-group .tab-hidden {
		display: none;
	}

	tabset [role=tab], .tab-group [role=tab] {
		background-color: #FFF;
		border-left: 1px solid #7f7f7f;
		border-top: 1px solid #7f7f7f;
		border-radius: 0.5rem 0.5rem 0 0;
		cursor: pointer;
		margin: 0;
		display: inline;
		padding: 1rem 1.5rem 0.14rem 1.5rem;
		z-index: 2;
	}

		tabset [role=tab]:last-of-type, .tab-group [role=tab]:last-of-type {
			border-right: 1px solid #7f7f7f;
		}

		tabset [role=tab]:not(.selected), .tab-group [role=tab]:not(.selected) {
			background-color: #f0f0f0;
			border-bottom: 1px solid #7f7f7f;
		}

		tabset [role=tab] span, .tab-group [role=tab] span {
			display: block;
			margin: 0 0 0.5rem 0;
		}

	tabset [role=tabpanel], .tab-group [role=tabpanel] {
		background-color: #FFF;
		border: 1px solid #7f7f7f;
		border-top: none;
		padding: 1rem;
		z-index: 1;
	}

		tabset [role=tabpanel]:not(.open), .tab-group [role=tabpanel]:not(.open) {
			display: none;
		}

		tabset [role=tabpanel].open, .tab-group [role=tabpanel].open {
			border-top: 1rem solid var(--colour-green);
		}

/* toggletip.toggletip; */
/* ========================
	 Pointer shapes
======================== */
:root {
	--tt-pointer-top: conic-gradient(from 150deg at top, transparent, #000 1deg 60deg, transparent 61deg) top / 100% 50% no-repeat;
	--tt-pointer-bottom: conic-gradient(from -30deg at bottom, transparent, #000 1deg 60deg, transparent 61deg) bottom / 100% 50% no-repeat;
	--tt-pointer-left: conic-gradient(from 60deg at left, transparent, #000 1deg 60deg, transparent 61deg) left / 50% 100% no-repeat;
	--tt-pointer-right: conic-gradient(from -120deg at right, transparent, #000 1deg 60deg, transparent 61deg) right / 50% 100% no-repeat;
}

/* ========================
	 Toggletip Base
======================== */
.toggletip {
	--tt-x: 0;
	--tt-y: 0;
	--tt-align-shift-x: 0px;
	--tt-align-shift-y: 0px;
	--tt-pointer-nudge-y: calc(2rem * 0.5);
	--tt-pointer-offset: 50%;
	--tt-pointer: var(--tt-pointer-bottom);
	position: absolute;
	z-index: 20;
	display: none;
	max-inline-size: min(25rem, 100vw - 2rem);
	inline-size: -webkit-max-content;
	inline-size: -moz-max-content;
	inline-size: max-content;
	padding: 0.75rem 1.5rem;
	border-radius: 0.5rem;
	font-family: "Open Sans", Arial, Helvetica, sans-serif;
	font-size: 1rem;
	background: var(--colour-white);
	color: var(--colour-black);
	-webkit-filter: drop-shadow(0 3px 3px hsla(0, 0%, 0%, 0.15)) drop-shadow(0 12px 12px hsla(0, 0%, 0%, 0.15));
	filter: drop-shadow(0 3px 3px hsla(0, 0%, 0%, 0.15)) drop-shadow(0 12px 12px hsla(0, 0%, 0%, 0.15));
	-webkit-transform: translate(var(--tt-x)) translateY(var(--tt-y)) scale(0.98);
	transform: translate(var(--tt-x)) translateY(var(--tt-y)) scale(0.98);
	opacity: 0;
	-webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
	transition: opacity 0.2s ease, transform 0.2s ease;
	transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	/* Arrow */
}

	.toggletip::after {
		content: "";
		position: absolute;
		z-index: -1;
		width: 2rem;
		height: 2rem;
		background: var(--colour-white);
		-webkit-mask: var(--tt-pointer);
		mask: var(--tt-pointer);
	}

.toggletip {
	/* Open state */
}

	.toggletip.open {
		display: block;
		opacity: 1;
		-webkit-transform: translate(var(--tt-x)) translateY(var(--tt-y)) scale(1);
		transform: translate(var(--tt-x)) translateY(var(--tt-y)) scale(1);
	}

	/* ========================
	 Positioning
======================== */
	/* DEFAULT */
	.toggletip:not([tip-position]),
	.toggletip[tip-position=right] {
		inset-inline-start: calc(100% + 2rem);
		inset-block-start: 50%;
		--tt-y: calc(-50% + var(--tt-align-shift-y));
	}

		.toggletip:not([tip-position])::after,
		.toggletip[tip-position=right]::after {
			inset-block-start: var(--tt-pointer-offset);
			inset-inline-start: -1rem;
			-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
			--tt-pointer: var(--tt-pointer-left);
		}

	/* TOP (default) */
	.toggletip[tip-position=top] {
		inset-inline-start: 50%;
		inset-block-end: calc(100% + 0.25rem);
		--tt-x: calc(-50% + var(--tt-align-shift-x));
	}

		.toggletip[tip-position=top]::after {
			inset-inline-start: var(--tt-pointer-offset);
			inset-block-end: -1rem;
			-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
			--tt-pointer: var(--tt-pointer-bottom);
		}

	/* BOTTOM */
	.toggletip[tip-position=bottom] {
		inset-inline-start: 50%;
		inset-block-start: calc(100% + 0.25rem);
		--tt-x: calc(-50% + var(--tt-align-shift-x));
	}

		.toggletip[tip-position=bottom]::after {
			inset-inline-start: var(--tt-pointer-offset);
			inset-block-start: -1rem;
			-webkit-transform: translateX(-50%);
			transform: translateX(-50%);
			--tt-pointer: var(--tt-pointer-top);
		}

	/* LEFT */
	.toggletip[tip-position=left] {
		inset-inline-end: calc(100% + 2rem);
		inset-block-start: 50%;
		--tt-y: calc(-50% + var(--tt-align-shift-y));
	}

		.toggletip[tip-position=left]::after {
			inset-block-start: var(--tt-pointer-offset);
			inset-inline-end: -1rem;
			-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
			--tt-pointer: var(--tt-pointer-right);
		}

	/* ============================
	 Arrow and Box Alignment API
============================ */
	.toggletip[tip-position=top][tip-align=start],
	.toggletip[tip-position=bottom][tip-align=start] {
		--tt-pointer-offset: 1.5rem;
		--tt-align-shift-x: calc(100% - 1.5rem - 50%);
	}

	.toggletip[tip-position=top][tip-align=center],
	.toggletip[tip-position=bottom][tip-align=center] {
		--tt-pointer-offset: 50%;
		--tt-align-shift-x: 0;
	}

	.toggletip[tip-position=top][tip-align=end],
	.toggletip[tip-position=bottom][tip-align=end] {
		--tt-pointer-offset: calc(100% - 1.5rem);
		--tt-align-shift-x: calc(1.5rem - 50%);
	}

	.toggletip[tip-position=left][tip-align=start],
	.toggletip[tip-position=right][tip-align=start] {
		--tt-pointer-offset: calc(0.75rem + 1rem);
		--tt-align-shift-y: calc(100% - 0.75rem) - 50% - var(--tt-pointer-nudge-y);
	}

	.toggletip[tip-position=left][tip-align=center],
	.toggletip[tip-position=right][tip-align=center] {
		--tt-pointer-offset: 50%;
		--tt-align-shift-y: 0;
	}

	.toggletip[tip-position=left][tip-align=end],
	.toggletip[tip-position=right][tip-align=end] {
		--tt-pointer-offset: calc(calc(100% - 0.75rem) - 1rem);
		--tt-align-shift-y: calc(0.75rem - 50% + var(--tt-pointer-nudge-y));
	}

/* ========================
	 Trigger and helpers
======================== */
button:has(.toggletip) {
	position: relative;
	background: transparent;
	border: none;
	padding: 0;
}

	button:has(.toggletip) .toggle-tip-icon {
		color: var(--colour-green);
	}

.field-toggle-tip-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
}

	.field-toggle-tip-wrapper > *:first-child {
		-webkit-box-flex: 1;
		-ms-flex: 1 1 auto;
		flex: 1 1 auto;
	}

main {
	display: -ms-grid;
	display: grid;
	grid-column: 1/-1;
	-ms-grid-columns: subgrid;
	grid-template-columns: subgrid;
}

	main > h1, main > h2, main > h3, main > h4, main > h5, main > h6, main > p, main > ul, main > table {
		grid-column: 1/-1;
	}

	main > a:has(> h1) {
		grid-column: 1/-2;
		-ms-grid-row: 1;
		grid-row: 1;
		border-bottom: none;
	}

.progressive-search.filter-cards {
	-ms-flex-item-align: end;
	-ms-grid-row-align: end;
	align-self: end;
}

@media (min-width: 768px) {
	.progressive-search.filter-cards {
		margin: 2rem 0;
		-ms-grid-row: 1;
		grid-row: 1;
	}
}

main:has(.signin-right) {
	gap: 1rem;
}

main .signin.signin-left {
	-ms-grid-columns: subgrid;
	grid-template-columns: subgrid;
	-ms-grid-column-span: 3;
	grid-column: span 3;
}

main .signin.signin-right {
	display: -ms-grid;
	display: grid;
	gap: 1rem;
	grid-column: -1;
}

	main .signin.signin-right h2 {
		background-color: var(--colour-green);
		color: var(--colour-white);
		padding: 1rem;
		margin: 1rem 0;
	}

	main .signin.signin-right form {
		display: -ms-grid;
		display: grid;
		gap: 1rem;
	}

		main .signin.signin-right form > div div:has(> a) {
			text-align: right;
			-ms-flex-item-align: end;
			-ms-grid-row-align: end;
			align-self: end;
		}

		main .signin.signin-right form > div:has(> a) {
			margin-bottom: 1rem;
			text-align: right;
			-ms-flex-item-align: end;
			-ms-grid-row-align: end;
			align-self: end;
		}
