@charset "UTF-8";
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/* latin */
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
/*! 

	(c) 2025 Alexander McIlwraith 

*/
html {
	font-size: 12pt;
}

body {
	margin: 0;
	padding: 0;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
}

* {
	box-sizing: border-box;
}

err {
	color: fuchsia;
}

:root {
	--color-blue: #2e51a1;
	--color-blue-l: #5c7abf;
	--color-blue-xl: #b2c3ec;
	--color-blue-d: #133176;
	--color-blue-xd: #031235;
	--color-oj: #f0b031;
	--color-oj-l: #ffcc67;
	--color-oj-xl: #ffe4ad;
	--color-oj-d: #cb8906;
	--color-oj-xd: #9d6900;
	--color-raspberry: #da2c5b;
	--color-raspberry-l: #ed5e85;
	--color-raspberry-xl: #f9a4bb;
	--color-raspberry-d: #9f0c34;
	--color-raspberry-xd: #400011;
	--color-lime: #cde92f;
	--color-lime-l: #e2f963;
	--color-lime-xl: #effca6;
	--color-lime-d: #9bb40b;
	--color-lime-xd: #607100;
	--color-grey: #7f7f7f;
	--color-grey-l: #b2b2b2;
	--color-grey-xl: #d8d8d8;
	--color-grey-xxl: #f0f0f0;
	--color-white: #fff;
	--color-page: #fff;
	--color-light: #fff;
	--color-grey-d: #4c4c4c;
	--color-grey-xd: #4c4c4c;
	--color-black: #000;
	--color-dark: #000;
	--color-error: #a00109;
	--color-error-text: #fff;
	--color-warn: #a38301;
	--color-warn-text: #fff;
	--color-notify: #599601;
	--color-notify-text: #fff;
	--color-info: #b2c3ec;
	--color-info-text: #000;
}

* {
	scrollbar-width: thin; /* auto | thin | none */
	scrollbar-color: var(--color-blue) var(--color-grey-xxl); /* thumb color, track color */
}

::-webkit-scrollbar {
	width: 0.75rem;
}

::-webkit-scrollbar-track {
	background: var(--color-grey-xxl);
}

::-webkit-scrollbar-thumb {
	background: var(--color-blue);
	border-radius: 0.5rem;
}

header {
	display: grid;
	grid-template-columns: 1rem repeat(2, 1fr) 1rem;
	overflow-x: clip;
}
@media (min-width: 768px) {
	header {
		grid-template-columns: auto repeat(2, calc(384px - 2rem)) auto;
	}
}
header {
	margin: 1rem 1rem 0 1rem;
}
@media (max-width: 768px) {
	header {
		margin: 2rem 1rem 0 1rem;
	}
}
header div {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
}
header div h1 {
	align-items: center;
	display: inline-grid;
	grid-column: 2/4;
	grid-gap: 1rem;
	grid-template-columns: max-content auto;
	margin: 0 0 1rem 0;
	user-select: none;
}
header div h1::before {
	align-self: end;
	background: url("//assets.gamv.ca/img/monogram-white-blue.svg") no-repeat;
	content: " ";
	display: inline-block;
	height: 4rem;
	width: 4rem;
}
header div h1 a, header div h1 a:hover, header div h1 a:visited {
	border-bottom: none !important;
	color: var(--color-blue);
	font-family: var(--font-heading);
	font-weight: normal !important;
	text-align: left !important;
	text-decoration: none;
}

.front-page header {
	margin: 0;
}
.front-page header div h1 {
	display: block;
	font-size: 4rem;
	text-align: center;
}
.front-page header div h1 a {
	text-align: center !important;
}
.front-page header div h1::before {
	background-image: none;
	display: none;
	height: 0;
	width: 0;
}
.front-page header feature {
	background-color: var(--color-blue);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	grid-column: 1/-1;
	grid-column: 1/-1;
	height: 10rem;
	margin-top: 2.5rem;
	position: relative;
	z-index: 1;
}
.front-page header feature:before {
	background-size: 100%;
	background: url("//assets.gamv.ca/img/monogram-white-blue.svg") no-repeat;
	border-radius: 50%;
	content: " ";
	display: block;
	height: 7.5rem;
	margin: 0 auto;
	place-self: center;
	transform: translate(0, -2.5rem);
	width: 7.5rem;
}

.container {
	display: grid;
	grid-template-columns: 1rem repeat(2, 1fr) 1rem;
	overflow-x: clip;
}
@media (min-width: 768px) {
	.container {
		grid-template-columns: auto repeat(2, calc(384px - 2rem)) auto;
	}
}
.container main {
	display: grid;
	gap: 1rem;
	grid-column: 1/-1;
	grid-row: 1/-1;
	grid-template-columns: subgrid;
	min-height: 75vh;
}
.container main > div, .container main > section, .container main > article {
	grid-column: 2/4;
}
.container main > div.full-width, .container main > section.full-width, .container main > article.full-width {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
	margin-bottom: 1rem;
	padding: 1rem 0;
}
.container main > div.full-width > div, .container main > div.full-width > section, .container main > div.full-width > article, .container main > section.full-width > div, .container main > section.full-width > section, .container main > section.full-width > article, .container main > article.full-width > div, .container main > article.full-width > section, .container main > article.full-width > article {
	grid-column: 2/4;
}
.container aside {
	grid-row: 1/-1;
}
.container aside:first-of-type {
	grid-column: 1;
}
.container aside:last-of-type {
	grid-column: 4;
}

@media (min-width: 768px) {
	.columns-2 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

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

@media (min-width: 768px) {
	.columns-4 {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (min-width: 768px) {
	.columns-5 {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
	}
}

@media (min-width: 768px) {
	.columns-6 {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
	}
}

.split-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.split-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.split-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.split-5 {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

.split-6 {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
}

.split-7 {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
}

.split-8 {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
}

.split-9 {
	display: grid;
	grid-template-columns: repeat(9, 1fr);
}

.split-10 {
	display: grid;
	grid-template-columns: repeat(10, 1fr);
}

[class*=notification-box-] {
	border-radius: 0.5rem;
	margin-bottom: 1rem;
	padding: 1rem;
}
[class*=notification-box-] h2, [class*=notification-box-] h3, [class*=notification-box-] h4, [class*=notification-box-] p, [class*=notification-box-] p a {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	grid-column: 2;
}
[class*=notification-box-] a, [class*=notification-box-] p a {
	border-bottom: 1px solid currentColor;
	color: currentColor;
	text-decoration: none;
}
[class*=notification-box-]:has(> span[class*=icon]) {
	column-gap: 0.5rem;
	display: grid;
	grid-template-columns: max-content auto;
}
[class*=notification-box-]:has(> span[class*=icon]) span[class*=icon] {
	color: currentColor;
}
[class*=notification-box-] :last-child {
	margin: 0;
}

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

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

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

@font-face {
	font-family: "Raleway";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/raleway/v34/1Ptug8zYS_SKggPNyC0IT4ttDfA.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
	font-family: "Raleway";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/raleway/v34/1Ptug8zYS_SKggPNyCMIT4ttDfCmxA.woff2) format("woff2");
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
	font-family: "Raleway";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/raleway/v34/1Ptsg8zYS_SKggPNyCg4TYFqL_KWxQ.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
	font-family: "Raleway";
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
	src: url(https://fonts.gstatic.com/s/raleway/v34/1Ptsg8zYS_SKggPNyCg4Q4FqL_KWxWMT.woff2) format("woff2");
	unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
h1 {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 2.5rem;
	margin: 0 0 1rem 0;
	line-height: 1.5em;
}

h2 {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1.75rem;
	margin: 2rem 0 0.5rem 0;
	line-height: 1.5em;
}

h3 {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1.25rem;
	margin: 1.75rem 0 0.5rem 0;
	line-height: 1.5em;
}

h4 {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1.1rem;
	margin: 1.25rem 0 0.5rem 0;
	line-height: 1.5em;
}

p {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	margin: 0 0 1rem 0;
	line-height: 1.5em;
}

ul, ol {
	padding: 0 1.125rem;
}
ul li, ol li {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	margin: 0 0 0.5rem 0;
	line-height: 1.5em;
}
ul li:last-of-type, ol li:last-of-type {
	margin: 0 0 1rem 0;
}
ul li ul, ul li ol, ol li ul, ol li ol {
	margin-top: 0.5rem;
}

.form-grid, .form-grid-vertical, .form-grid-single-column {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 2rem;
}
@media (max-width: 576px) {
	.form-grid, .form-grid-vertical, .form-grid-single-column {
		display: block;
	}
}

.form-grid-single-column {
	grid-template-columns: 100%;
}

.form-grid-vertical {
	grid-auto-flow: column;
}
.form-grid-vertical:has(> *:last-child:nth-child(1)) {
	grid-template-rows: repeat(1, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(2)) {
	grid-template-rows: repeat(1, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(3)) {
	grid-template-rows: repeat(2, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(4)) {
	grid-template-rows: repeat(2, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(5)) {
	grid-template-rows: repeat(3, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(6)) {
	grid-template-rows: repeat(3, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(7)) {
	grid-template-rows: repeat(4, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(8)) {
	grid-template-rows: repeat(4, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(9)) {
	grid-template-rows: repeat(5, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(10)) {
	grid-template-rows: repeat(5, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(11)) {
	grid-template-rows: repeat(6, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(12)) {
	grid-template-rows: repeat(6, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(13)) {
	grid-template-rows: repeat(7, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(14)) {
	grid-template-rows: repeat(7, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(15)) {
	grid-template-rows: repeat(8, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(16)) {
	grid-template-rows: repeat(8, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(17)) {
	grid-template-rows: repeat(9, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(18)) {
	grid-template-rows: repeat(9, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(19)) {
	grid-template-rows: repeat(10, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(20)) {
	grid-template-rows: repeat(10, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(21)) {
	grid-template-rows: repeat(11, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(22)) {
	grid-template-rows: repeat(11, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(23)) {
	grid-template-rows: repeat(12, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(24)) {
	grid-template-rows: repeat(12, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(25)) {
	grid-template-rows: repeat(13, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(26)) {
	grid-template-rows: repeat(13, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(27)) {
	grid-template-rows: repeat(14, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(28)) {
	grid-template-rows: repeat(14, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(29)) {
	grid-template-rows: repeat(15, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(30)) {
	grid-template-rows: repeat(15, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(31)) {
	grid-template-rows: repeat(16, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(32)) {
	grid-template-rows: repeat(16, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(33)) {
	grid-template-rows: repeat(17, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(34)) {
	grid-template-rows: repeat(17, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(35)) {
	grid-template-rows: repeat(18, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(36)) {
	grid-template-rows: repeat(18, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(37)) {
	grid-template-rows: repeat(19, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(38)) {
	grid-template-rows: repeat(19, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(39)) {
	grid-template-rows: repeat(20, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(40)) {
	grid-template-rows: repeat(20, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(41)) {
	grid-template-rows: repeat(21, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(42)) {
	grid-template-rows: repeat(21, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(43)) {
	grid-template-rows: repeat(22, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(44)) {
	grid-template-rows: repeat(22, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(45)) {
	grid-template-rows: repeat(23, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(46)) {
	grid-template-rows: repeat(23, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(47)) {
	grid-template-rows: repeat(24, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(48)) {
	grid-template-rows: repeat(24, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(49)) {
	grid-template-rows: repeat(25, max-content);
}
.form-grid-vertical:has(> *:last-child:nth-child(50)) {
	grid-template-rows: repeat(25, max-content);
}

input[type=text] {
	border: 1px solid var(--color-blue);
	border-radius: 0.25rem;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	padding: 0.5rem;
	width: 100%;
}
input[type=text]:disabled {
	border: 1px solid var(--color-grey);
	background-color: var(--color-grey-xxl);
	color: var(--color-grey-xd);
}
input[type=text]:focus {
	background-color: var(--color-white);
}
input[type=text] option {
	padding: 0.5rem;
	margin: 2rem;
}

:has(> input[type=text]) {
	margin: 0 0 1rem 0;
}
:has(> input[type=text]) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}

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

:has(> input[type=text]:disabled) label {
	padding: 0 1rem 0 0;
	position: relative;
}
:has(> input[type=text]:disabled) label::after {
	color: red;
	content: "*";
	font-size: 2rem;
	padding: 0 0.15rem;
	position: absolute;
	top: -0.5rem;
}

:has(> input[type=text]) error-message {
	display: none;
}
:has(> input[type=text]) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}

textarea {
	border: 1px solid var(--color-blue);
	border-radius: 0.25rem;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	padding: 0.5rem;
	width: 100%;
	min-width: 25rem;
}
textarea:disabled {
	border: 1px solid var(--color-grey);
	background-color: var(--color-grey-xxl);
	color: var(--color-grey-xd);
}
textarea:focus {
	background-color: var(--color-white);
}

:has(> textarea) {
	grid-column: 1/-1;
	display: grid;
	grid-template-rows: auto max-content;
	margin: 0 0 1rem 0;
	min-width: 0;
	user-select: none;
}
:has(> textarea):has(.short) {
	grid-column: auto;
}
:has(> textarea) label {
	align-self: start;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
}

:has(> textarea:required) label {
	margin: 0 0 0.25rem 0;
	position: relative;
}
:has(> textarea:required) label::before {
	color: red;
	padding: 0 0.125rem 0 0;
	content: "*";
}

:has(> textarea) error-message {
	display: none;
}
:has(> textarea) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}

fieldset:has(> div [type=radio]) error-message {
	display: none;
}
fieldset:has(> div [type=radio]) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 1rem 0;
}

div:has(> input[type=radio]) {
	align-items: center;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(2, max-content);
	margin: 0 0 1rem 0;
}
div:has(> input[type=radio]) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}
div:has(> input[type=radio]) input[type=radio] {
	appearance: initial;
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: 1.25rem;
	margin: 0;
	min-width: initial;
	padding: 0;
	place-items: start;
	position: relative;
	visibility: hidden;
	width: auto;
}
div:has(> input[type=radio]) input[type=radio] * {
	grid-column: 1;
	grid-row: 1;
}
div:has(> input[type=radio]) input[type=radio]::before {
	background-color: var(--color-white);
	border-radius: 50%;
	border: 1px solid var(--color-blue);
	content: " ";
	height: calc(1.25rem - 2px);
	position: relative;
	visibility: visible;
	width: calc(1.25rem - 2px);
}
div:has(> input[type=radio]) input[type=radio]:checked::before {
	background: var(--color-blue);
	background: radial-gradient(circle, var(--color-blue) 50%, var(--color-white) 50%, var(--color-white) 100%);
}
div:has(> input[type=radio]) input[type=radio]:disabled::before {
	background: var(--color-grey-xxl);
	border: 1px solid var(--color-grey);
}
div:has(> input[type=radio]) input[type=radio]:disabled:checked::before {
	background: var(--color-grey-xxl);
	background: radial-gradient(circle, var(--color-grey-xd) 47%, var(--color-grey-xxl) 52%, var(--color-grey-xxl) 100%);
}

fieldset {
	margin: 0 0 1rem 0;
	padding: 0 1rem 1rem 1rem;
	border: 1px solid var(--color-blue-xl);
}
fieldset:has(legend:empty) {
	border: none;
	margin: 0;
	padding: 0;
}
fieldset:has(legend:empty) legend {
	display: none;
}
fieldset legend {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 0.5rem 0;
	padding: 0 2rem 0 -2rem;
	position: relative;
	top: -0.25rem;
}
fieldset legend:empty {
	display: none;
}

fieldset:has(div > input[type=radio]) {
	align-items: center;
	grid-template-columns: repeat(2, max-content);
}
fieldset:has(div > input[type=radio]) > div {
	display: grid;
	column-gap: 2rem;
	grid-template-columns: max-content;
}
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]) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}
fieldset:has(div > input[type=radio]) label:before {
	content: "";
}
@media (min-width: 768px) {
	fieldset:has(div > input[type=radio]).short > div {
		display: grid;
		grid-auto-flow: column;
		grid-template-columns: repeat(4, 1fr);
		row-gap: 1rem;
	}
	fieldset:has(div > input[type=radio]).short > div > div {
		margin: 0;
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(1)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(2)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(3)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(4)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(5)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(6)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(7)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(8)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=radio]).short > div:has(> :last-child:nth-child(9)) {
		grid-template-rows: repeat(3, max-content);
	}
}

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

div:has(> input[type=checkbox]) {
	align-items: center;
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(2, max-content);
	margin: 0 0 1rem 0;
}
div:has(> input[type=checkbox]) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	user-select: none;
}
div:has(> input[type=checkbox]) input[type=checkbox] {
	appearance: none;
	display: grid;
}
div:has(> input[type=checkbox]) input[type=checkbox]::before {
	grid-column: 1;
	grid-row: 1;
}
div:has(> input[type=checkbox]) input[type=checkbox]::after {
	background-color: var(--color-white);
	border-radius: 0.125rem;
	border: 1px solid var(--color-blue);
	border: 1px solid var(--color-blue);
	content: " ";
	display: inline-block;
	height: 1rem;
	width: 1rem;
	grid-column: 1;
	grid-row: 1;
}
div:has(> input[type=checkbox]) input[type=checkbox]:checked::before {
	border-radius: 0.125rem;
	border: 1px solid var(--color-blue);
	border: 1px solid var(--color-blue);
	content: " ";
	display: inline-block;
	height: 1rem;
	width: 1rem;
	background-color: var(--color-blue-d);
	border: 1px solid var(--color-blue);
	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-position: 50% 50%;
	mask-size: 1rem 1rem;
}

fieldset {
	margin: 0 0 1rem 0;
	padding: 0 1rem 1rem 1rem;
	border: 1px solid var(--color-blue-xl);
}
fieldset:has(legend:empty) {
	border: none;
	margin: 0;
	padding: 0;
}
fieldset:has(legend:empty) legend {
	display: none;
}
fieldset legend {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 0.5rem 0;
	padding: 0 2rem 0 -2rem;
	position: relative;
	top: -0.25rem;
}
fieldset legend:empty {
	display: none;
}

fieldset:has(div > input[type=checkbox]) {
	align-items: center;
	grid-template-columns: repeat(2, max-content);
}
fieldset:has(div > input[type=checkbox]) > div {
	display: grid;
	column-gap: 2rem;
	grid-template-columns: max-content;
}
@media (min-width: 768px) {
	fieldset:has(div > input[type=checkbox]).short > div {
		display: grid;
		grid-auto-flow: column;
		grid-template-columns: repeat(4, 1fr);
	}
}
@media (min-width: 768px) and (min-width: 768px) {
	fieldset:has(div > input[type=checkbox]).short > div {
		row-gap: 1rem;
	}
}
@media (min-width: 768px) {
	fieldset:has(div > input[type=checkbox]).short > div > div {
		margin: 0;
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(1)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(2)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(3)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(4)) {
		grid-template-rows: repeat(1, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(5)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(6)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(7)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(8)) {
		grid-template-rows: repeat(2, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(9)) {
		grid-template-rows: repeat(3, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(10)) {
		grid-template-rows: repeat(3, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(11)) {
		grid-template-rows: repeat(3, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(12)) {
		grid-template-rows: repeat(3, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(13)) {
		grid-template-rows: repeat(4, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(14)) {
		grid-template-rows: repeat(4, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(15)) {
		grid-template-rows: repeat(4, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(16)) {
		grid-template-rows: repeat(4, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(17)) {
		grid-template-rows: repeat(5, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(18)) {
		grid-template-rows: repeat(5, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(19)) {
		grid-template-rows: repeat(5, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(20)) {
		grid-template-rows: repeat(5, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(21)) {
		grid-template-rows: repeat(6, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(22)) {
		grid-template-rows: repeat(6, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(23)) {
		grid-template-rows: repeat(6, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(24)) {
		grid-template-rows: repeat(6, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(25)) {
		grid-template-rows: repeat(7, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(26)) {
		grid-template-rows: repeat(7, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(27)) {
		grid-template-rows: repeat(7, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(28)) {
		grid-template-rows: repeat(7, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(29)) {
		grid-template-rows: repeat(8, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(30)) {
		grid-template-rows: repeat(8, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(31)) {
		grid-template-rows: repeat(8, max-content);
	}
	fieldset:has(div > input[type=checkbox]).short > div:has(> :last-child:nth-child(32)) {
		grid-template-rows: repeat(8, max-content);
	}
}

:has(> date-range-picker) {
	margin: 0 0 1rem 0;
}
:has(> date-range-picker) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}
:has(> date-range-picker) date-range-picker {
	position: relative;
}
:has(> date-range-picker) date-range-picker date-range-display {
	border-radius: 0.25rem;
	border: 1px solid var(--color-blue);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	min-height: 2.25rem;
	padding: 0.5rem 1.5rem 0.5rem 0.25rem;
	white-space: nowrap;
	overflow: hidden;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%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%22M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240Z%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: right 0.25rem top 50%;
	background-size: 1rem auto;
	display: block;
}
:has(> date-range-picker) date-range-picker date-range-panel {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	background-color: var(--color-white);
	border: 1px solid var(--color-blue);
	margin: 0.25rem 0.5rem;
	position: absolute;
	width: 15rem;
	z-index: 100;
}
:has(> date-range-picker) date-range-picker date-range-panel[aria-hidden=true] {
	display: none;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-head {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
	background-color: var(--color-grey-xxl);
	border-bottom: 1px solid var(--color-blue);
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-head div {
	text-align: center;
	padding: 0.25rem 0;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-head div:nth-of-type(2) {
	grid-column: span 5;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body {
	display: grid;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date {
	cursor: pointer;
	display: grid;
	text-align: center;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	height: 2rem;
	padding-top: 0.25rem;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.date-range-picker-today {
	border: 1px dashed var(--color-raspberry);
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.start {
	background-color: var(--color-blue);
	color: var(--color-white);
	border-radius: 0.25rem 0 0 0.25rem;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.end {
	background-color: var(--color-blue);
	color: var(--color-white);
	border-radius: 0 0.25rem 0.25rem 0;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.end.start {
	border-radius: 0.25rem;
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.in-range {
	background-color: var(--color-blue-xl);
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.hover-start {
	background-color: var(--color-blue);
	color: var(--color-white);
}
:has(> date-range-picker) date-range-picker date-range-panel date-range-panel-body date.hover-range {
	background-color: var(--color-blue-xl);
}
:has(> date-range-picker) error-message {
	display: none;
}
:has(> date-range-picker) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}

:has(> autosuggest-items) {
	position: relative;
}

autosuggest-items {
	border: 1px solid var(--color-blue-xl);
	box-sizing: border-box;
	display: block;
	position: absolute;
	z-index: 99;
}
autosuggest-items autosuggest-item {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-blue-xl);
	cursor: pointer;
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	padding: 10px;
}
autosuggest-items autosuggest-item:last-of-type {
	border-bottom: none;
}
autosuggest-items autosuggest-item:hover {
	background-color: var(--color-blue-xl);
}
autosuggest-items autosuggest-item.autosuggest-active {
	background-color: var(--color-blue);
	color: var(--color-white);
}

select.ds-select {
	appearance: none;
	background-color: var(--color-white);
	border: 1px solid var(--color-blue);
	border-radius: 0.25rem;
	color: var(--color-black);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	padding: 0.5rem 1.5rem 0.5rem 0.25rem;
	width: 100%;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%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%22M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240Z%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: right 0.25rem top 50%;
	background-size: 1rem auto;
}
select.ds-select:disabled {
	border: 1px solid var(--color-grey);
	background-color: var(--color-grey-xxl);
	color: var(--color-grey-xd);
}
select.ds-select:focus {
	background-color: var(--color-white);
}
select.ds-select option {
	padding: 0.5rem;
	margin: 2rem;
}

:has(> select) {
	margin-bottom: 1rem;
	grid-column: 1/-1;
}
:has(> select):has(.short) {
	grid-column: auto;
}
:has(> select) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}

:has(> select:disabled) label {
	padding: 0 1rem 0 0;
	position: relative;
}
:has(> select:disabled) label::after {
	color: red;
	content: "*";
	font-size: 2rem;
	padding: 0 0.15rem;
	position: absolute;
	top: -0.5rem;
}

:has(> select) error-message {
	display: none;
}
:has(> select) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}

input[type=date], input[type=time], input[type=datetime-local] {
	-moz-appearance: none;
	-webkit-appearance: none;
	background-color: var(--color-white);
	border-radius: 0.25rem;
	border: 1px solid var(--color-blue);
	color: var(--color-black);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	min-height: 2.5rem;
	padding: 0.5rem;
	width: 100%;
}
input[type=date]:disabled, input[type=time]:disabled, input[type=datetime-local]:disabled {
	border: 1px solid var(--color-grey);
	background-color: var(--color-grey-xxl);
	color: var(--color-grey-xd);
}
input[type=date]:focus, input[type=time]:focus, input[type=datetime-local]:focus {
	background-color: var(--color-white);
}
input[type=date] option, input[type=time] option, input[type=datetime-local] option {
	padding: 0.5rem;
	margin: 2rem;
}

:has(> input[type=date]), :has(> input[type=time]), :has(> input[type=datetime-local]) {
	margin: 0 0 1rem 0;
}
:has(> input[type=date]) label, :has(> input[type=time]) label, :has(> input[type=datetime-local]) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}

:has(> input[type=date]:disabled) label, :has(> input[type=time]:disabled) label, :has(> input[type=datetime-local]:disabled) label {
	padding: 0 1rem 0 0;
	position: relative;
}
:has(> input[type=date]:disabled) label::after, :has(> input[type=time]:disabled) label::after, :has(> input[type=datetime-local]:disabled) label::after {
	color: red;
	content: "*";
	font-size: 2rem;
	padding: 0 0.15rem;
	position: absolute;
	top: -0.5rem;
}

:has(> input[type=date]) error-message {
	display: none;
}
:has(> input[type=date]) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}

:has(> div > input.password-field) {
	margin: 0 0 1rem 0;
}
:has(> div > input.password-field) label {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	user-select: none;
}
: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) error-message {
	display: none;
}
:has(> div > input.password-field) error-message:not(:empty) {
	color: var(--color-error);
	display: block;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0.5rem;
}
:has(> div > input.password-field) > div {
	column-gap: 0.5rem;
	display: grid;
	grid-template-columns: auto 3rem;
	margin: 0;
}
:has(> div > input.password-field) > div .password-field {
	border-radius: 0.25rem;
	border: 1px solid var(--color-blue);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	grid-column: 1/-1;
	grid-row: 1;
	width: 100%;
	padding: 0.5rem 3.25rem 0.5rem 0.5rem;
}
: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-revealer {
	background-color: transparent;
	border: none;
	display: grid;
	grid-column: 2;
	grid-row: 1;
	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: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;
}

button.ds-button, input.ds-button[type=button], input.ds-button[type=submit], input.ds-button[type=reset] {
	background-color: var(--color-white);
	border: 2px solid;
	border-color: currentcolor;
	border-radius: 0.25rem;
	color: var(--color-blue);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	min-width: 160px;
	padding: 0.5rem 2rem;
	user-select: none;
}
button.ds-button:hover, button.ds-button:active, input.ds-button[type=button]:hover, input.ds-button[type=button]:active, input.ds-button[type=submit]:hover, input.ds-button[type=submit]:active, input.ds-button[type=reset]:hover, input.ds-button[type=reset]:active {
	background-color: var(--color-blue-xl);
}
button.ds-button:focus, input.ds-button[type=button]:focus, input.ds-button[type=submit]:focus, input.ds-button[type=reset]:focus {
	box-shadow: 0 0 0.25rem 0.125rem var(--color-blue-xd);
}
button.ds-button.btn-primary, input.ds-button[type=button].btn-primary, input.ds-button[type=submit].btn-primary, input.ds-button[type=reset].btn-primary {
	background-color: var(--color-blue);
	border-color: var(--color-blue);
	color: var(--color-white);
}
button.ds-button.btn-primary:hover, button.ds-button.btn-primary:active, input.ds-button[type=button].btn-primary:hover, input.ds-button[type=button].btn-primary:active, input.ds-button[type=submit].btn-primary:hover, input.ds-button[type=submit].btn-primary:active, input.ds-button[type=reset].btn-primary:hover, input.ds-button[type=reset].btn-primary:active {
	background-color: var(--color-blue-xl);
	color: var(--color-blue);
}
button.ds-button.btn-primary:focus, input.ds-button[type=button].btn-primary:focus, input.ds-button[type=submit].btn-primary:focus, input.ds-button[type=reset].btn-primary:focus {
	box-shadow: 0 0 0.25rem 0.125rem var(--color-blue-xd);
}
button.ds-button:disabled, button.ds-button:disabled:hover, input.ds-button[type=button]:disabled, input.ds-button[type=button]:disabled:hover, input.ds-button[type=submit]:disabled, input.ds-button[type=submit]:disabled:hover, input.ds-button[type=reset]:disabled, input.ds-button[type=reset]:disabled:hover {
	background-color: var(--color-grey-xxl);
	border-color: var(--color-grey);
	color: var(--color-grey);
}

.button-group {
	display: flex;
	gap: 1rem;
	justify-content: flex-end;
}
.button-group.buttons-left {
	justify-content: flex-start;
}
.button-group .btn-primary {
	order: 99;
}

:has(.button-group) {
	container-type: inline-size;
}
@container (width < 576px) {
	:has(.button-group) .button-group {
		display: grid;
		gap: 0.5rem;
		grid-template-columns: 100%;
	}
}

@keyframes openMenu {
	0% {
		left: -12rem;
	}
	100% {
		left: 0;
	}
}
@keyframes closeMenu {
	0% {
		left: 0;
	}
	100% {
		left: -12rem;
	}
}
@keyframes hmbgr-top-open {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(45deg);
	}
}
@keyframes hmbgr-middle-open {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes hmbgr-top-close {
	0% {
		transform: rotate(45deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
@keyframes hmbgr-bottom-open {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(-45deg);
	}
}
@keyframes hmbgr-middle-close {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes hmbgr-bottom-close {
	0% {
		transform: rotate(-45deg);
	}
	100% {
		transform: rotate(0deg);
	}
}
nav ul {
	display: flex;
	gap: 1rem;
	list-style-type: none;
	margin: 0 0 0;
	padding: 0;
}
nav ul li a, nav ul li a:visited, nav ul li a:hover {
	border-bottom: 0 solid transparent !important;
	color: var(--color-blue);
}
@media (max-width: 768px) {
	nav {
		display: none;
	}
}

nav.primary {
	display: grid;
	grid-template-columns: 1rem repeat(2, 1fr) 1rem;
	overflow-x: clip;
}
@media (min-width: 768px) {
	nav.primary {
		grid-template-columns: auto repeat(2, calc(384px - 2rem)) auto;
	}
}
nav.primary {
	background-color: var(--color-blue-xd);
	grid-column: 1/-1;
	margin: 0 0 1rem 0;
}
nav.primary ul li {
	display: grid;
	margin: 0;
	padding: 0.5rem 1rem;
	place-items: center;
	text-align: center;
}
nav.primary ul li a, nav.primary ul li a:visited, nav.primary ul li a:hover {
	border-bottom: none;
	color: var(--color-white);
	user-select: none;
}
nav.primary ul li.active {
	background-color: var(--color-oj);
}
nav.primary ul li.active a, nav.primary ul li.active a:visited, nav.primary ul li.active a:hover {
	color: var(--color-blue-xd);
}
nav.primary ul:not(.mobile) {
	display: grid;
	grid-column: 2/-2;
	list-style-type: none;
	margin: 0;
	padding: 0;
	place-items: stretch;
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(1)) {
	grid-template-columns: repeat(1, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(2)) {
	grid-template-columns: repeat(2, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(3)) {
	grid-template-columns: repeat(3, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(4)) {
	grid-template-columns: repeat(4, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(5)) {
	grid-template-columns: repeat(5, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(6)) {
	grid-template-columns: repeat(6, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(7)) {
	grid-template-columns: repeat(7, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(8)) {
	grid-template-columns: repeat(8, 1fr);
}
nav.primary ul:not(.mobile):has(> li:last-child:nth-child(9)) {
	grid-template-columns: repeat(9, 1fr);
}
@media (max-width: 768px) {
	nav.primary ul:not(.mobile) {
		display: none;
	}
}
nav.primary ul.mobile {
	display: none;
}
nav.primary div:has(> .hmbgr) {
	display: none;
}
@media (max-width: 768px) {
	nav.primary {
		display: block;
		height: 100vh;
		left: -12rem;
		margin: 0;
		overflow: visible;
		position: fixed;
		top: 0;
		width: 12rem;
		z-index: 50;
	}
	nav.primary div:has(> .hmbgr) {
		background-color: var(--color-blue-xd);
		border: 0.5rem solid var(--color-blue-xd);
		display: block;
		height: 3rem;
		left: 13rem;
		position: absolute;
		top: 1rem;
		width: 3rem;
	}
	nav.primary div:has(> .hmbgr) .hmbgr path {
		stroke: var(--color-white);
	}
	nav.primary div:has(> .hmbgr) .hmbgr path:nth-of-type(1) {
		transform-origin: 20% 37.5%;
	}
	nav.primary div:has(> .hmbgr) .hmbgr path:nth-of-type(3) {
		transform-origin: 20% 62.5%;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.open path:nth-of-type(1) {
		animation-delay: 0.2s;
		animation-duration: 0.8s;
		animation-fill-mode: forwards;
		animation-name: hmbgr-top-open;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.open path:nth-of-type(2) {
		animation-duration: 0.4s;
		animation-fill-mode: forwards;
		animation-name: hmbgr-middle-open;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.open path:nth-of-type(3) {
		animation-delay: 0.2s;
		animation-duration: 0.8s;
		animation-fill-mode: forwards;
		animation-name: hmbgr-bottom-open;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.close path:nth-of-type(1) {
		animation-duration: 0.8s;
		animation-name: hmbgr-top-close;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.close path:nth-of-type(2) {
		animation-delay: 0.6s;
		animation-duration: 0.4s;
		animation-fill-mode: forwards;
		animation-name: hmbgr-middle-close;
		opacity: 0;
	}
	nav.primary div:has(> .hmbgr) .hmbgr.close path:nth-of-type(3) {
		animation-duration: 0.8s;
		animation-name: hmbgr-bottom-close;
	}
	nav.primary ul {
		margin-top: 5rem;
	}
}
nav.primary.open, nav.primary.close {
	animation-duration: 0.8s;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
}
nav.primary.open {
	animation-name: openMenu;
}
nav.primary.open ul.mobile {
	display: grid;
}
nav.primary.close {
	animation-name: closeMenu;
}
nav.primary.close ul.mobile {
	display: none;
}

fieldset {
	margin: 0 0 1rem 0;
	padding: 0 1rem 1rem 1rem;
	border: 1px solid var(--color-blue-xl);
}
fieldset:has(legend:empty) {
	border: none;
	margin: 0;
	padding: 0;
}
fieldset:has(legend:empty) legend {
	display: none;
}
fieldset legend {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 0.5rem 0;
	padding: 0 2rem 0 -2rem;
	position: relative;
	top: -0.25rem;
}
fieldset legend:empty {
	display: none;
}

.sortable-sorter {
	display: none;
	grid-column: 1/-1;
}
@media (max-width: 768px) {
	.sortable-sorter {
		display: block;
		margin-bottom: 1rem;
	}
	.sortable-sorter select.ds-select {
		appearance: none;
		background-color: var(--color-white);
		border: 1px solid var(--color-blue);
		border-radius: 0.25rem;
		color: var(--color-black);
		font-family: Raleway, Helvetica, Verdana, sans-serif;
		font-size: 1rem;
		padding: 0.5rem 1.5rem 0.5rem 0.25rem;
		width: 100%;
		background-image: url("data:image/svg+xml;charset=US-ASCII,%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%22M480-344%20240-584l56-56%20184%20184%20184-184%2056%2056-240%20240Z%22%2F%3E%3C%2Fsvg%3E");
		background-repeat: no-repeat;
		background-position: right 0.25rem top 50%;
		background-size: 1rem auto;
	}
	.sortable-sorter select.ds-select:disabled {
		border: 1px solid var(--color-grey);
		background-color: var(--color-grey-xxl);
		color: var(--color-grey-xd);
	}
	.sortable-sorter select.ds-select:focus {
		background-color: var(--color-white);
	}
	.sortable-sorter select.ds-select option {
		padding: 0.5rem;
		margin: 2rem;
	}
	.sortable-sorter :has(> select) {
		margin-bottom: 1rem;
		grid-column: 1/-1;
	}
	.sortable-sorter :has(> select):has(.short) {
		grid-column: auto;
	}
	.sortable-sorter :has(> select) label {
		font-family: Raleway, Helvetica, Verdana, sans-serif;
		user-select: none;
	}
	.sortable-sorter :has(> select:disabled) label {
		padding: 0 1rem 0 0;
		position: relative;
	}
	.sortable-sorter :has(> select:disabled) label::after {
		color: red;
		content: "*";
		font-size: 2rem;
		padding: 0 0.15rem;
		position: absolute;
		top: -0.5rem;
	}
	.sortable-sorter :has(> select) error-message {
		display: none;
	}
	.sortable-sorter :has(> select) error-message:not(:empty) {
		color: var(--color-error);
		display: block;
		font-family: Raleway, Helvetica, Verdana, sans-serif;
		margin: 0 0.5rem;
	}
	.sortable-sorter select {
		min-width: auto;
		width: auto;
	}
}

table:not([role=presentation]) {
	border-top: 0.125rem solid var(--color-blue);
	border-bottom: 0.125rem solid var(--color-blue);
	border-collapse: collapse;
	margin: 0 0 1rem 0;
}
table:not([role=presentation]) caption {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1.25rem;
	padding: 0.5rem 0 0.25rem 0;
	text-align: left;
}
table:not([role=presentation]) thead tr td, table:not([role=presentation]) thead tr th {
	background-color: var(--color-blue);
	border-right: 1px solid var(--color-white);
	color: var(--color-white);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-weight: normal;
	height: 2rem;
	line-height: 1.25;
	padding: 1.25rem 0.5rem 0.25rem 0.5rem;
	vertical-align: bottom;
}
table:not([role=presentation]) thead tr td:last-of-type, table:not([role=presentation]) thead tr th:last-of-type {
	border-right: none;
}
table:not([role=presentation]) thead tr td > span, table:not([role=presentation]) thead tr th > span {
	display: grid;
	grid-template-columns: auto max-content;
	align-items: end;
}
table:not([role=presentation]) thead tr td > span span.table-sortable-icon, table:not([role=presentation]) thead tr th > span span.table-sortable-icon {
	color: currentColor;
}
table:not([role=presentation]) thead tr td > span span.table-sortable-icon::before, table:not([role=presentation]) thead tr th > span span.table-sortable-icon::before {
	transform: translateY(calc(50% + 0.4rem));
	margin: 0 0 1rem 0.5rem;
}
@media (max-width: 768px) {
	table:not([role=presentation]) thead tr {
		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;
	}
}
table:not([role=presentation]) tbody tr td, table:not([role=presentation]) tbody tr th, table:not([role=presentation]) tfoot tr td, table:not([role=presentation]) tfoot tr th {
	vertical-align: top;
	border: none;
	border-right: 1px solid var(--color-grey-xxl);
	border-bottom: 1px solid var(--color-grey-xxl);
	color: var(--color-black);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	padding: 0.5rem;
}
table:not([role=presentation]) tbody tr td:last-of-type, table:not([role=presentation]) tbody tr th:last-of-type, table:not([role=presentation]) tfoot tr td:last-of-type, table:not([role=presentation]) tfoot tr th:last-of-type {
	border-right: none;
}
@media (max-width: 768px) {
	table:not([role=presentation]) tbody tr td, table:not([role=presentation]) tbody tr th, table:not([role=presentation]) tfoot tr td, table:not([role=presentation]) tfoot tr th {
		border: none;
		display: grid;
		gap: 1rem;
		grid-column: 1/-1;
		grid-template-columns: subgrid;
		text-align: left !important;
		width: 100%;
	}
	table:not([role=presentation]) tbody tr td::before, table:not([role=presentation]) tbody tr th::before, table:not([role=presentation]) tfoot tr td::before, table:not([role=presentation]) tfoot tr th::before {
		content: attr(data-header);
		display: block;
		font-weight: bold;
		text-align: left !important;
	}
}
@media (max-width: 768px) {
	table:not([role=presentation]) tbody tr, table:not([role=presentation]) tfoot tr {
		border: none;
	}
	table:not([role=presentation]) tbody tr:nth-of-type(odd), table:not([role=presentation]) tfoot tr:nth-of-type(odd) {
		background-color: var(--color-grey-xxl);
	}
	table:not([role=presentation]) tbody tr, table:not([role=presentation]) tfoot tr {
		display: grid;
		grid-template-columns: max-content auto;
	}
}
table:not([role=presentation]) tbody + caption, table:not([role=presentation]) tfoot + caption {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 0.9rem;
	caption-side: bottom;
	padding: 0.25rem 0 1rem 0;
}
table:not([role=presentation]) tfoot {
	border-top: 0.125rem solid var(--color-blue);
}
table:not([role=presentation]) tfoot tr, table:not([role=presentation]) tfoot tr:nth-of-type(odd) {
	background-color: transparent;
}
table:not([role=presentation]) tfoot tr td, table:not([role=presentation]) tfoot tr:nth-of-type(odd) td {
	color: var(--color-black);
}
@media (max-width: 768px) {
	table:not([role=presentation]) tfoot {
		border-bottom: 0.125rem solid var(--color-blue);
		border-top: 0.125rem solid var(--color-blue);
	}
}

dialog[open] {
	background-color: var(--color-white);
	border: 1px solid var(--color-blue);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	max-height: 75vh;
	padding: 0;
	position: fixed;
	z-index: 1000;
}
@media (min-width: 576px) {
	dialog[open] {
		transform: translateY(-5%);
		width: clamp(320px, 600px, 75vw);
	}
	dialog[open]:not(:modal) {
		top: 50%;
		transform: translateY(-55%);
	}
}
@media (max-width: 576px) {
	dialog[open] {
		bottom: 0;
		margin: auto 0 0 0;
		max-height: 75svh;
		max-width: 100%;
		transform: none;
		width: 100%;
	}
	dialog[open] > div:nth-of-type(1) {
		max-height: none;
		height: auto;
	}
}
dialog[open]::backdrop {
	background-color: var(--color-black);
	opacity: 0.5;
}
dialog[open] > form {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
}
dialog[open] h2[id*=-dialog-label] {
	background-color: var(--color-blue);
	color: white;
	flex: none;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 1rem 0;
	padding: 1rem;
	user-select: none;
}
dialog[open] div[id*=-dialog-description] {
	flex: 1 1 auto;
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	margin: 0 0 1rem 0;
	min-height: 0;
	overflow: auto;
	padding: 0 1rem;
	-webkit-overflow-scrolling: touch;
}
dialog[open] div.button-group {
	flex: none;
	padding: 0 1rem 1rem 1rem;
}
dialog[open] div.button-group button {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
}

details {
	padding: 0;
	margin: 0;
}
details summary {
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	font-size: 1rem;
	margin: 0;
}
details.open {
	padding: 0 0 1rem 0;
}
details.open summary {
	margin: 0 0 1rem 0;
}
details.accordion::marker, details.accordion::-webkit-details-marker {
	display: none;
}
details.accordion summary {
	background-color: var(--color-blue);
	border-top: 1px solid var(--color-white);
	color: var(--color-white);
	list-style-type: none;
	padding: 0.5rem 0.25rem;
	user-select: none;
}

a:not(.custom), a:not(.custom):visited {
	color: var(--color-blue);
	border-bottom: 1px solid var(--color-grey-l);
	font-family: Raleway, Helvetica, Verdana, sans-serif;
	text-decoration: none;
	transition: text-shadow 0.2s ease;
	text-align: center;
}
a:not(.custom):hover, a:not(.custom):visited:hover {
	text-shadow: 0 0 0 currentColor, 0.5px 0 0 currentColor;
}
a:not(.custom) accessibility-text, a:not(.custom):visited accessibility-text {
	left: -9999px;
	position: absolute;
}

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

footer {
	display: grid;
	grid-template-columns: 1rem repeat(2, 1fr) 1rem;
	overflow-x: clip;
}
@media (min-width: 768px) {
	footer {
		grid-template-columns: auto repeat(2, calc(384px - 2rem)) auto;
	}
}
footer {
	background-color: var(--color-blue-xd);
	margin-top: 1rem;
}
footer > div {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-column: 2/4;
	grid-template-columns: repeat(2, 1fr);
	margin: 1rem 0;
	padding: 1rem 0;
}
@media (max-width: 768px) {
	footer > div > div:first-of-type {
		display: none;
	}
}
@media (min-width: 768px) {
	footer > div > div:last-of-type {
		justify-self: end;
	}
}
footer > div > div > p {
	color: var(--color-white);
}
footer > div > div > p a:not(.custom) {
	color: var(--color-white);
}
footer > div > div > p a:not(.custom):hover, footer > div > div > p a:not(.custom):active, footer > div > div > p a:not(.custom):visited {
	color: var(--color-white);
}

[class*=icon-system-sm] {
	color-adjust: exact;
	color: var(--color-blue);
	padding-left: 1.25rem;
	position: relative;
}
[class*=icon-system-sm]::before {
	content: " ";
	display: block;
	height: 1rem;
	left: 0;
	margin-right: 0.25rem;
	position: absolute;
	print-color-adjust: exact;
	top: 50%;
	transform: translateY(-50%);
	width: 1rem;
	background-color: currentColor;
	mask-image: url("icons-system.svg");
	mask-size: 10rem 10rem;
}
[class*=icon-system-sm].icon-inline-size {
	display: inline-block;
	min-height: 1rem;
	vertical-align: middle;
}
[class*=icon-system-sm].icon-inline-size::before {
	top: 0;
	transform: none;
}

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

.icon-system-sm-close::before {
	mask-position: -1rem 0rem;
}

.icon-system-sm-check::before {
	mask-position: -2rem 0rem;
}

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

.icon-system-sm-password-hide::before {
	mask-position: -4rem 0rem;
}

.icon-system-sm-settings::before {
	mask-position: -5rem 0rem;
}

.icon-system-sm-search::before {
	mask-position: -6rem 0rem;
}

.icon-system-sm-info::before {
	mask-position: -7rem 0rem;
}

.icon-system-sm-warning::before {
	mask-position: -8rem 0rem;
}

.icon-system-sm-error::before {
	mask-position: -9rem 0rem;
}

.icon-system-sm-start::before {
	mask-position: 0rem -1rem;
}

.icon-system-sm-restart::before {
	mask-position: -1rem -1rem;
}

.icon-system-sm-pause::before {
	mask-position: -2rem -1rem;
}

.icon-system-sm-stop::before {
	mask-position: -3rem -1rem;
}

.icon-system-sm-sort::before {
	mask-position: -4rem -1rem;
}

.icon-system-sm-edit::before {
	mask-position: -5rem -1rem;
}

.icon-system-sm-puzzle::before {
	mask-position: -6rem -1rem;
}

.icon-system-sm-palette::before {
	mask-position: -7rem -1rem;
}

.icon-system-sm-chart::before {
	mask-position: -8rem -1rem;
}

.icon-system-sm-copy::before {
	mask-position: -9rem -1rem;
}

.icon-system-sm-sort-unsorted::before {
	mask-position: 0rem -2rem;
}

.icon-system-sm-sort-desc::before {
	mask-position: -1rem -2rem;
}

.icon-system-sm-sort-asc::before {
	mask-position: -2rem -2rem;
}

.icon-system-sm-sort-unsorted-solid::before {
	mask-position: -3rem -2rem;
}

.icon-system-sm-delete::before {
	mask-position: -4rem -2rem;
}

.icon-system-sm-home::before {
	mask-position: -5rem -2rem;
}

.icon-system-sm-circle-check::before {
	mask-position: -6rem -2rem;
}

.icon-system-sm-circle-close::before {
	mask-position: -7rem -2rem;
}

[class*=icon-system-md] {
	color-adjust: exact;
	color: var(--color-blue);
	padding-left: 2.25rem;
	position: relative;
}
[class*=icon-system-md]::before {
	content: " ";
	display: block;
	height: 2rem;
	left: 0;
	margin-right: 0.25rem;
	position: absolute;
	print-color-adjust: exact;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	background-color: currentColor;
	mask-image: url("icons-system.svg");
	mask-size: 20rem 20rem;
}
[class*=icon-system-md].icon-inline-size {
	display: inline-block;
	min-height: 2rem;
	vertical-align: middle;
}
[class*=icon-system-md].icon-inline-size::before {
	top: 0;
	transform: none;
}

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

.icon-system-md-close::before {
	mask-position: -2rem 0rem;
}

.icon-system-md-check::before {
	mask-position: -4rem 0rem;
}

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

.icon-system-md-password-hide::before {
	mask-position: -8rem 0rem;
}

.icon-system-md-settings::before {
	mask-position: -10rem 0rem;
}

.icon-system-md-search::before {
	mask-position: -12rem 0rem;
}

.icon-system-md-info::before {
	mask-position: -14rem 0rem;
}

.icon-system-md-warning::before {
	mask-position: -16rem 0rem;
}

.icon-system-md-error::before {
	mask-position: -18rem 0rem;
}

.icon-system-md-start::before {
	mask-position: 0rem -2rem;
}

.icon-system-md-restart::before {
	mask-position: -2rem -2rem;
}

.icon-system-md-pause::before {
	mask-position: -4rem -2rem;
}

.icon-system-md-stop::before {
	mask-position: -6rem -2rem;
}

.icon-system-md-sort::before {
	mask-position: -8rem -2rem;
}

.icon-system-md-edit::before {
	mask-position: -10rem -2rem;
}

.icon-system-md-puzzle::before {
	mask-position: -12rem -2rem;
}

.icon-system-md-palette::before {
	mask-position: -14rem -2rem;
}

.icon-system-md-chart::before {
	mask-position: -16rem -2rem;
}

.icon-system-md-copy::before {
	mask-position: -18rem -2rem;
}

.icon-system-md-sort-unsorted::before {
	mask-position: 0rem -4rem;
}

.icon-system-md-sort-desc::before {
	mask-position: -2rem -4rem;
}

.icon-system-md-sort-asc::before {
	mask-position: -4rem -4rem;
}

.icon-system-md-sort-unsorted-solid::before {
	mask-position: -6rem -4rem;
}

.icon-system-md-delete::before {
	mask-position: -8rem -4rem;
}

.icon-system-md-home::before {
	mask-position: -10rem -4rem;
}

.icon-system-md-circle-check::before {
	mask-position: -12rem -4rem;
}

.icon-system-md-circle-close::before {
	mask-position: -14rem -4rem;
}

[class*=icon-system-lg] {
	color-adjust: exact;
	color: var(--color-blue);
	padding-left: 2.75rem;
	position: relative;
}
[class*=icon-system-lg]::before {
	content: " ";
	display: block;
	height: 2.5rem;
	left: 0;
	margin-right: 0.25rem;
	position: absolute;
	print-color-adjust: exact;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	background-color: currentColor;
	mask-image: url("icons-system.svg");
	mask-size: 25rem 25rem;
}
[class*=icon-system-lg].icon-inline-size {
	display: inline-block;
	min-height: 2.5rem;
	vertical-align: middle;
}
[class*=icon-system-lg].icon-inline-size::before {
	top: 0;
	transform: none;
}

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

.icon-system-lg-close::before {
	mask-position: -2.5rem 0rem;
}

.icon-system-lg-check::before {
	mask-position: -5rem 0rem;
}

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

.icon-system-lg-password-hide::before {
	mask-position: -10rem 0rem;
}

.icon-system-lg-settings::before {
	mask-position: -12.5rem 0rem;
}

.icon-system-lg-search::before {
	mask-position: -15rem 0rem;
}

.icon-system-lg-info::before {
	mask-position: -17.5rem 0rem;
}

.icon-system-lg-warning::before {
	mask-position: -20rem 0rem;
}

.icon-system-lg-error::before {
	mask-position: -22.5rem 0rem;
}

.icon-system-lg-start::before {
	mask-position: 0rem -2.5rem;
}

.icon-system-lg-restart::before {
	mask-position: -2.5rem -2.5rem;
}

.icon-system-lg-pause::before {
	mask-position: -5rem -2.5rem;
}

.icon-system-lg-stop::before {
	mask-position: -7.5rem -2.5rem;
}

.icon-system-lg-sort::before {
	mask-position: -10rem -2.5rem;
}

.icon-system-lg-edit::before {
	mask-position: -12.5rem -2.5rem;
}

.icon-system-lg-puzzle::before {
	mask-position: -15rem -2.5rem;
}

.icon-system-lg-palette::before {
	mask-position: -17.5rem -2.5rem;
}

.icon-system-lg-chart::before {
	mask-position: -20rem -2.5rem;
}

.icon-system-lg-copy::before {
	mask-position: -22.5rem -2.5rem;
}

.icon-system-lg-sort-unsorted::before {
	mask-position: 0rem -5rem;
}

.icon-system-lg-sort-desc::before {
	mask-position: -2.5rem -5rem;
}

.icon-system-lg-sort-asc::before {
	mask-position: -5rem -5rem;
}

.icon-system-lg-sort-unsorted-solid::before {
	mask-position: -7.5rem -5rem;
}

.icon-system-lg-delete::before {
	mask-position: -10rem -5rem;
}

.icon-system-lg-home::before {
	mask-position: -12.5rem -5rem;
}

.icon-system-lg-circle-check::before {
	mask-position: -15rem -5rem;
}

.icon-system-lg-circle-close::before {
	mask-position: -17.5rem -5rem;
}

[class*=icon-system-xlg] {
	color-adjust: exact;
	color: var(--color-blue);
	padding-left: 5.25rem;
	position: relative;
}
[class*=icon-system-xlg]::before {
	content: " ";
	display: block;
	height: 5rem;
	left: 0;
	margin-right: 0.25rem;
	position: absolute;
	print-color-adjust: exact;
	top: 50%;
	transform: translateY(-50%);
	width: 5rem;
	background-color: currentColor;
	mask-image: url("icons-system.svg");
	mask-size: 50rem 50rem;
}
[class*=icon-system-xlg].icon-inline-size {
	display: inline-block;
	min-height: 5rem;
	vertical-align: middle;
}
[class*=icon-system-xlg].icon-inline-size::before {
	top: 0;
	transform: none;
}

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

.icon-system-xlg-close::before {
	mask-position: -5rem 0rem;
}

.icon-system-xlg-check::before {
	mask-position: -10rem 0rem;
}

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

.icon-system-xlg-password-hide::before {
	mask-position: -20rem 0rem;
}

.icon-system-xlg-settings::before {
	mask-position: -25rem 0rem;
}

.icon-system-xlg-search::before {
	mask-position: -30rem 0rem;
}

.icon-system-xlg-info::before {
	mask-position: -35rem 0rem;
}

.icon-system-xlg-warning::before {
	mask-position: -40rem 0rem;
}

.icon-system-xlg-error::before {
	mask-position: -45rem 0rem;
}

.icon-system-xlg-start::before {
	mask-position: 0rem -5rem;
}

.icon-system-xlg-restart::before {
	mask-position: -5rem -5rem;
}

.icon-system-xlg-pause::before {
	mask-position: -10rem -5rem;
}

.icon-system-xlg-stop::before {
	mask-position: -15rem -5rem;
}

.icon-system-xlg-sort::before {
	mask-position: -20rem -5rem;
}

.icon-system-xlg-edit::before {
	mask-position: -25rem -5rem;
}

.icon-system-xlg-puzzle::before {
	mask-position: -30rem -5rem;
}

.icon-system-xlg-palette::before {
	mask-position: -35rem -5rem;
}

.icon-system-xlg-chart::before {
	mask-position: -40rem -5rem;
}

.icon-system-xlg-copy::before {
	mask-position: -45rem -5rem;
}

.icon-system-xlg-sort-unsorted::before {
	mask-position: 0rem -10rem;
}

.icon-system-xlg-sort-desc::before {
	mask-position: -5rem -10rem;
}

.icon-system-xlg-sort-asc::before {
	mask-position: -10rem -10rem;
}

.icon-system-xlg-sort-unsorted-solid::before {
	mask-position: -15rem -10rem;
}

.icon-system-xlg-delete::before {
	mask-position: -20rem -10rem;
}

.icon-system-xlg-home::before {
	mask-position: -25rem -10rem;
}

.icon-system-xlg-circle-check::before {
	mask-position: -30rem -10rem;
}

.icon-system-xlg-circle-close::before {
	mask-position: -35rem -10rem;
}

[class*=icon-system-doc] {
	color-adjust: exact;
	color: var(--color-blue);
	padding-left: 1.375rem;
	position: relative;
}
[class*=icon-system-doc]::before {
	content: " ";
	display: block;
	height: 1.125rem;
	left: 0;
	margin-right: 0.25rem;
	position: absolute;
	print-color-adjust: exact;
	top: 50%;
	transform: translateY(-50%);
	width: 1.125rem;
	background-color: currentColor;
	mask-image: url("icons-system.svg");
	mask-size: 11.25rem 11.25rem;
}
[class*=icon-system-doc].icon-inline-size {
	display: inline-block;
	min-height: 1.125rem;
	vertical-align: middle;
}
[class*=icon-system-doc].icon-inline-size::before {
	top: 0;
	transform: none;
}

.icon-system-doc-blank::before {
	mask-position: 1.125rem 1.125rem;
	background-color: transparent;
}

.icon-system-doc-close::before {
	mask-position: -1.125rem 0rem;
}

.icon-system-doc-check::before {
	mask-position: -2.25rem 0rem;
}

.icon-system-doc-password-show::before {
	mask-position: -3.375rem 0rem;
}

.icon-system-doc-password-hide::before {
	mask-position: -4.5rem 0rem;
}

.icon-system-doc-settings::before {
	mask-position: -5.625rem 0rem;
}

.icon-system-doc-search::before {
	mask-position: -6.75rem 0rem;
}

.icon-system-doc-info::before {
	mask-position: -7.875rem 0rem;
}

.icon-system-doc-warning::before {
	mask-position: -9rem 0rem;
}

.icon-system-doc-error::before {
	mask-position: -10.125rem 0rem;
}

.icon-system-doc-start::before {
	mask-position: 0rem -1.125rem;
}

.icon-system-doc-restart::before {
	mask-position: -1.125rem -1.125rem;
}

.icon-system-doc-pause::before {
	mask-position: -2.25rem -1.125rem;
}

.icon-system-doc-stop::before {
	mask-position: -3.375rem -1.125rem;
}

.icon-system-doc-sort::before {
	mask-position: -4.5rem -1.125rem;
}

.icon-system-doc-edit::before {
	mask-position: -5.625rem -1.125rem;
}

.icon-system-doc-puzzle::before {
	mask-position: -6.75rem -1.125rem;
}

.icon-system-doc-palette::before {
	mask-position: -7.875rem -1.125rem;
}

.icon-system-doc-chart::before {
	mask-position: -9rem -1.125rem;
}

.icon-system-doc-copy::before {
	mask-position: -10.125rem -1.125rem;
}

.icon-system-doc-sort-unsorted::before {
	mask-position: 0rem -2.25rem;
}

.icon-system-doc-sort-desc::before {
	mask-position: -1.125rem -2.25rem;
}

.icon-system-doc-sort-asc::before {
	mask-position: -2.25rem -2.25rem;
}

.icon-system-doc-sort-unsorted-solid::before {
	mask-position: -3.375rem -2.25rem;
}

.icon-system-doc-delete::before {
	mask-position: -4.5rem -2.25rem;
}

.icon-system-doc-home::before {
	mask-position: -5.625rem -2.25rem;
}

.icon-system-doc-circle-check::before {
	mask-position: -6.75rem -2.25rem;
}

.icon-system-doc-circle-close::before {
	mask-position: -7.875rem -2.25rem;
}

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

.hidden {
	display: none;
}

main section {
	min-height: auto;
	margin: 0;
	padding: 0;
}

section {
	margin: 0 0 1rem 0;
}
section:has(> nav) nav {
	grid-column: 1/-1;
}
section nav {
	display: grid;
	grid-template-columns: 1rem repeat(2, 1fr) 1rem;
	overflow-x: clip;
}
@media (min-width: 768px) {
	section nav {
		grid-template-columns: auto repeat(2, calc(384px - 2rem)) auto;
	}
}
section nav ul {
	display: grid;
	grid-column: 2/4;
	grid-template-columns: repeat(4, 1fr);
	list-style-type: none;
}
section nav ul li {
	text-align: center;
}

#report-data {
	width: 100%;
}

#data {
	column-gap: 1rem;
	display: grid;
	grid-template-columns: max-content repeat(3, 1fr) repeat(4, max-content);
}
@media (max-width: 768px) {
	#data {
		grid-template-columns: repeat(3, 1fr);
	}
}
#data row {
	display: grid;
	font-family: var(--font-body);
	padding: 0.5rem;
	grid-column: 1/-1;
	grid-template-columns: subgrid;
}
#data row:nth-of-type(odd) {
	background-color: var(--color-grey-xxl);
}
@media (max-width: 768px) {
	#data row {
		row-gap: 0.5rem;
	}
}
@media (max-width: 768px) {
	#data row > button-icon {
		grid-column: 3;
		grid-row: 3;
		justify-self: end;
	}
}
#data row div:has(> button-icon) {
	display: grid;
	grid-template-columns: repeat(2, 2.5rem);
	gap: 0.5rem;
}
@media (max-width: 768px) {
	#data row div:has(> button-icon) {
		grid-row: 3;
		margin-right: 3rem;
		grid-column: 1/-1;
		justify-self: end;
	}
}
#data row-date {
	background-color: var(--color-blue);
	color: var(--color-white);
	font-family: var(--font-body);
	grid-column: 1/-1;
	padding: 0.5rem 0.25rem;
}

button-icon {
	height: 2.5rem;
	width: 2.5rem;
	display: grid;
	place-items: center;
}

:has(> #add-new) {
	display: grid;
	grid-template-columns: max-content auto;
	margin-bottom: 1rem;
}
:has(> #add-new):after {
	clear: both;
	content: " ";
	display: block;
}
:has(> #add-new) a {
	display: grid;
	grid-template-columns: repeat(2, max-content);
	place-items: center;
	font-family: var(--font-body);
}
:has(> #add-new) a#add-new {
	background-color: var(--color-white);
	border-color: currentcolor;
	border-radius: 0.25rem;
	border: 2px solid;
	color: var(--color-blue);
	font-size: 1rem;
	font-weight: bold;
	min-width: 160px;
	padding: 0.5rem 2rem;
	text-align: center;
	text-decoration: none;
}
:has(> #add-new) a#add-new:hover {
	background-color: var(--color-blue-xl);
}
:has(> #add-new) a.sort-activities {
	align-self: center;
	color: currentColor;
	justify-self: end;
	text-decoration: none;
}

.total td {
	font-weight: bold;
}