:root {
	--form-width: 20.5em;
	--body-font-size: 16px;
	--body-font-size-md: 19px;

	--link-colour: #1d70b8;
	--link-hover-colour: #003078;
	--link-visited-colour: #4c2c92;

	--body-colour: rgb(11, 12, 12);
	--outline-colour: #b1b4b6;
	--focus-outline: initial;
	--input-label-spacing: 5px;
	--label-font-weight: var(--font-weight-regular);
	--body-colour-faded: #505a5f;
	--control-background-colour: #FFFFFF;
	--control-colour: rgb(0, 0, 0);

	--helper-text-font-size: 1rem;
	--helper-text-line-height: 1.25;
	--helper-text-spacing: 7px;
	--helper-text-padding: 0 0 10px 0;

	--form-spacing: var(--block-size-lg);
	--form-spacing-lg: var(--block-size-xxxl);

	--validation-error-padding: 0 0 15px 0;
	--validation-error-font-size: 1rem;
	--validation-error-line-height: 1.25;
	--validation-error-font-weight: var(--font-weight-bold);

	--code-background-colour: #e5e6e7;
	--code-colour: #282d30;

	--info-colour-r: 29;
	--info-colour-g: 112;
	--info-colour-b: 184;

	--info-colour-dark: #003078;
	--info-colour-foreground: #ffffff;

	--danger-colour-r: 212;
	--danger-colour-g: 53;
	--danger-colour-b: 28;

	--danger-colour-dark: #aa2a16;
	--danger-colour-foreground: #ffffff;

	--success-colour-r: 0;
	--success-colour-g: 112;
	--success-colour-b: 60;

	--success-colour-dark: #005a30;
	--success-colour-foreground: #ffffff;

	--theme-colour-r: 0;
	--theme-colour-g: 112;
	--theme-colour-b: 60;

	--theme-colour-dark: #005a30;
	--theme-colour-foreground: #ffffff;
}

chip-link a {
	text-decoration: underline;
	text-decoration-thickness: max(1px, .0625rem);
	text-underline-offset: .1578em;
	transition: none;
}

chip-link a:hover {
	text-decoration-thickness: max(3px, .1875rem, .12em);
	-webkit-text-decoration-skip-ink: none;
	text-decoration-skip-ink: none;
	-webkit-text-decoration-skip: none;
	text-decoration-skip: none;
}

chip-button,
chip-dropdownbutton,
chip-splitbutton {
	--btn-border-radius: 0;
	--btn-line-height: 1.1875;
	--btn-padding-x: 10px;
	--btn-padding-y: 8px;
	--btn-font-weight: var(--font-weight-regular);
	display: inline-block;
}

chip-button[variation="theme"],
chip-splitbutton[variation="theme"],
chip-dropdownbutton[variation="theme"] {
	--btn-font-size: 1.125rem;
	--btn-line-height: 1;
	--btn-font-weight: var(--font-weight-bold);
}

chip-button[variation="success"],
chip-splitbutton[variation="success"],
chip-dropdownbutton[variation="success"],
chip-button[variation="theme"],
chip-splitbutton[variation="theme"],
chip-dropdownbutton[variation="theme"] {
	--btn-box-shadow: 0 2px 0 #002d18;
}

chip-button[variation="secondary"],
chip-splitbutton[variation="secondary"],
chip-dropdownbutton[variation="secondary"] {
	--btn-colour: #0b0c0c;
	--btn-background-colour: #f3f2f1;
	--btn-box-shadow: 0 2px 0 #929191;
	--btn-hover-background-colour: #dbdad9;
}

chip-button[variation="danger"],
chip-splitbutton[variation="danger"],
chip-dropdownbutton[variation="danger"] {
	--btn-box-shadow: 0 2px 0 #55150b;
}

.btn--base:not(.btn-none, .btn-sidebar) {
	transition: none;
	border: 2px solid rgba(0, 0, 0, 0);
	position: relative;
	--btn-focus-border-colour: #fd0;
	--btn-focus-background-colour: #fd0;
	--btn-focus-colour: #0b0c0c;
	--btn-focus-box-shadow: 0 2px 0 #0b0c0c;
	--btn-active-background-colour: var(--btn-focus-background-colour);
	--btn-active-border-colour: var(--btn-focus-border-colour);
	--btn-hover-box-shadow: 0 2px 0 #0b0c0c;
	--btn-active-box-shadow: none;
}

.btn--base:not(.btn-none, .btn-sidebar):focus:hover {
	--btn-focus-background-colour: var(--btn-hover-background-colour);
	--btn-focus-colour: var(--btn-hover-colour);
	--btn-focus-box-shadow: var(--btn-active-box-shadow);
}

.btn--base:not([link] .btn--base, .input__bound .btn--base, .btn-accordion-toggle):active {
	top: 2px;
}

.heading--size1 {
	font-size: 2rem;
	line-height: 1.09375;
}

.heading--size2 {
	font-size: 1.5rem;
	line-height: 1.0416666667;
}

.heading--size3 {
	font-size: 1.125rem;
	line-height: 1.1111111111;
}

.heading--size4 {
	font-size: 1rem;
	line-height: 1.25;
}

p,
.paragraph {
	font-size: 1.1875rem;
	line-height: 1.3157894737;
}

chip-breadcrumbitem[link]>a,
chip-tab>.btn--base>span {
	text-decoration-thickness: max(3px, .1875rem, .12em);
	text-decoration-skip-ink: none;
	text-decoration: underline;
	text-underline-offset: .1578em;
}

chip-breadcrumbitem[link]>a:hover,
chip-tab>.btn--base:hover>span {
	text-decoration-thickness: max(3px, .1875rem, .12em);
}

chip-breadcrumbitem[link]>a:focus,
chip-tab>.btn--base:focus>span {
	background-color: #fd0;
	outline: 3px solid transparent;
	text-decoration-thickness: max(3px, .1875rem, .12em);
}

chip-breadcrumb {
	--breadcrumb-colour: var(--body-colour);
	--breadcrumb-separator: ">";
	--breadcrumb-separator-colour: #505a5f;
	--breadcrumb-hover-colour: rgba(11, 12, 12, .99);
	--breadcrumb-font-weight: var(--font-weight-regular);
}

chip-tabgroup:not([variation]) chip-tab[selected]>.btn--base {
	--btn-background-colour: rgba(0, 0, 0, 0);
	padding: 14px 19px 16px 19px;
}

chip-tabgroup:not([variation]) {
	--tab-gap: 0;
	--tab-padding: 30px 20px;
	--tab-border: 1px solid var(--outline-colour);
	--tab-header-font-weight: var(--font-weight-regular);
	--tab-header-border-width: 0;
	--tab-header-colour: var(--body-colour);
	--tab-header-background-colour: #f3f2f1;
	--tab-animation: none;
}

chip-tab>.btn--base {
	--btn-padding-x: 20px;
	--btn-padding-y: 10px;
	--btn-line-height: 1.3157894737;
	--btn-font-size: 1.1875rem;
}

chip-tabgroup:not([orientation]) chip-tab:not(:last-child) {
	margin-right: 5px;
}

chip-tab[selected]>.btn--base:not(:focus)>span {
	text-decoration: none;
}

chip-tabgroup:not([orientation], [variation]) chip-tab[selected]>.btn--base {
	border: 1px solid var(--outline-colour) !important;
	border-bottom: 1px solid var(--background-colour) !important;
	margin-bottom: -1px;
}

/* Vertical tabs */
chip-tabgroup[orientation="vertical"] {
	--tab-padding: 20px 30px;
}

chip-tabgroup[orientation="vertical"] chip-tab:not(:last-child) {
	margin-bottom: 5px;
}

chip-tabgroup[orientation="vertical"] chip-tab[selected]>.btn--base {
	border: 1px solid var(--outline-colour) !important;
	border-right: 1px solid var(--background-colour) !important;
	z-index: 100;
	padding-top: 14px;
	padding-bottom: 14px;
}

chip-tabgroup[orientation="vertical"] chip-tab:not([selected]) {
	border-right: 1px solid var(--outline-colour);
	padding-right: 5px;
}

chip-tabgroup[orientation="vertical"] .tab-group__content {
	margin-left: -1px;
}

/* Callouts */
chip-callout {
	--callout-icon: none !important;
	--callout-padding: 15px;
	--callout-background-colour: rgba(0, 0, 0, 0) !important;
	--callout-header-colour: var(--body-colour) !important;
	--callout-header-weight: var(--font-weight-bold);
	--callout-header-margin: 0 0 15px 0;
	--callout-left-padding: var(--callout-padding) !important;
	--callout-header-size: 1.3125rem;
	--callout-border-width: 0 0 0 10px;
	border-radius: 0;
	margin: 20px 0;
}

.callout--header-only,
chip-callout:not([heading]) {
	--callout-padding: 15px;
}

chip-callout[variation="info"] {
	--callout-border-colour: var(--info-colour);
}

chip-callout[variation="danger"] {
	--callout-border-colour: var(--danger-colour);
	--callout-header-size: 1.125;
	--callout-border-width: 5px;
	--callout-colour: var(--danger-colour);
	--callout-font-weight: var(--font-weight-bold);
}

.callout--header-only .callout__header {
	font-weight: 400;
}

/* Badges */
chip-badge {
	padding: 2px 8px 3px !important;
	border-radius: 0 !important;
	font-weight: 400 !important;
	font-size: 1rem !important;
	line-height: 1.25 !important;
	border-width: 0 !important;
}

chip-badge[variation="theme"] {
	--badge-background-colour: #bbd4ea;
	--badge-colour: #0c2d4a;
}

chip-badge[variation="success"] {
	--badge-background-colour: #cce2d8;
	--badge-colour: #005a30;
}

chip-badge[variation="warning"] {
	--badge-background-colour: #fcd6c3;
	--badge-colour: #6e3619;
}

chip-badge[variation="danger"] {
	--badge-background-colour: #f4cdc6;
	--badge-colour: #2a0b06;
}

chip-badge[variation="info"] {
	--badge-background-colour: #e8f1f8;
	--badge-colour: #0c2d4a;
}

chip-badge[variation="secondary"] {
	--badge-background-colour: #e5e6e7;
	--badge-colour: #282d30;
}

.toast__wrapper {
	max-width: 800px;
}

/* Accordions */
chip-accordion {
	--accordion-spacing: 0;
	border: none !important;
}

.btn-accordion-toggle {
	padding: 10px 0;
	width: 100%;
	line-height: 1.1111111111;
	font-size: 1.125rem;
	font-weight: var(--font-weight-bold);
	display: flex;
	flex-direction: column;
	align-items: start;
	text-align: start;
}

chip-accordion>chip-accordionitem .btn-accordion-toggle.btn--base {
	border-top: 1px solid var(--outline-colour);
}

chip-accordion>chip-accordionitem:last-child .btn-accordion-toggle.btn--base {
	border-bottom: 1px solid var(--outline-colour);
}

.btn-accordion-toggle:hover,
.btn-accordion-toggle:hover .accordion--gov-toggle {
	color: #0b0c0c;
	background-color: #f3f2f1;
}

.btn-accordion-toggle:focus>span,
.btn-accordion-toggle:focus .accordion--gov-toggle,
.accordion--gov-toggle-all>button:focus {
	text-decoration-skip-ink: none;
	text-decoration: underline;
	text-underline-offset: .1578em;
	background-color: #fd0;
	outline: 3px solid transparent;
	text-decoration-thickness: max(3px, .1875rem, .12em);
	color: #0b0c0c;
}

.accordion--gov-toggle-all chip-icon {
	margin-right: 5px !important;
}

.accordion__icon {
	display: none;
}

.accordion__content {
	transition: none !important;
}

.accordion--gov-toggle {
	font-size: 1rem;
	line-height: 1.25;
	font-weight: 400;
	color: #1d70b8;
	margin-top: 13px;
}

chip-button.accordion--gov-toggle-all {
	--btn-colour: #1d70b8;
	--btn-line-height: 1.25;
	--btn-font-weight: var(--font-weight-regular);
	--btn-hover-colour: #0b0c0c;
	--btn-hover-background-colour: #f3f2f1;
	--btn-padding-x: 0;
	--btn-padding-y: 5px;
	margin-bottom: 9px;
}

.accordion--gov-toggle>chip-icon,
chip-button.accordion--gov-toggle-all chip-icon {
	font-weight: 400;
	font-variant: normal;
	font-style: normal;
	font-family: 'Font Awesome 5 Pro', var(--body-font-family);
}

.accordion--gov-toggle>chip-icon::before {
	content: "\f13a";
}

.btn-accordion-toggle:hover .accordion--gov-toggle>chip-icon,
.btn-accordion-toggle:focus .accordion--gov-toggle>chip-icon,
.accordion--gov-toggle-all:hover chip-icon,
.accordion--gov-toggle-all>button:focus chip-icon {
	font-weight: 700;
}

chip-accordionitem[open] .accordion__content {
	padding: 15px 0 30px 0 !important;
}

chip-accordionitem[open] .accordion--gov-toggle>chip-icon::before {
	content: "\f139";
}

/* Inputs */
chip-input {
	--input-height: 2.5rem;
}

chip-input[orientation="horizontal"],
chip-select[orientation="horizontal"] {
	--validation-error-padding: 0 0 calc(15px - var(--block-size-sm)) 0;
}

chip-input,
chip-textarea {
	--input-button-height: 2.5rem;
}

chip-input,
chip-textarea,
chip-checkbox,
chip-dropdown,
chip-select {
	--input-transition: none;
	--input-line-height: 1.25;
	--input-border-radius: 0;
	--input-padding: 5px;
	--input-border-colour: #0b0c0c;
	--input-border-width: 2px;
	--input-font-size: 1rem;
	--input-focus-border-colour: #0b0c0c;
}

chip-input:has(.input-field__validation-error),
chip-dropdown:has(.input-field__validation-error),
chip-select:has(.input-field__validation-error) {
	padding-left: 15px;
	border-left: 5px solid var(--danger-colour);
}

.input-field:not([readonly], .switch):focus {
	outline: 3px solid #fd0;
	outline-offset: 0;
	box-shadow: inset 0 0 0 2px;
}

.input__bound {
	background-color: #f3f2f1 !important;
	color: var(--body-colour) !important;
}

.input__bound:not(input+.input__bound) {
	border-right: var(--input-border-width) var(--input-border-style) var(--input-border-colour) !important;
}

input+.input__bound {
	border-left: var(--input-border-width) var(--input-border-style) var(--input-border-colour) !important;
}

.input__bound+input {
	padding-left: var(--input-padding) !important;
}

.input__wrapper>input:not(:last-child, .input-field__invalid) {
	padding-right: var(--input-padding) !important;
}

.input__bound .btn--base {
	border: none !important;
}

.input-field__label {
	font-size: 1rem;
	line-height: 1.25;
}

chip-input[type="search"] .fa-search {
	font-weight: 700;
}

/* Textareas */
.input__bound+textarea {
	padding-left: var(--input-padding) !important;
}

.input__wrapper>textarea:not(:last-child, .input-field__invalid) {
	padding-right: var(--input-padding) !important;
}

/* Checkboxes */
chip-checkbox {
	--input-font-size: 1rem;
	--input-line-height: 1.25;
	--checkbox-selected-colour: rgb(0, 0, 0);
	--checkbox-selected-background-colour: #FFFFFF;
	--checkbox-selected-border-colour: rgb(0, 0, 0);
	--checkbox-size: 44px;
	--checkbox-animation: none;
	--checkbox-label-spacing: 15px;
}

/* Radios */
chip-radio {
	--input-font-size: 1rem;
	--input-line-height: 1.25;
	--checkbox-label-spacing: 15px;
	--radio-animation: none;
	--radio-size: 44px;
	--radio-selected-background-colour: rgba(0, 0, 0, 0);
	--radio-selected-colour: var(--control-colour);
}

/* Dropdowns */
chip-dropdown,
chip-select {
	--input-height: 40px;
	--dropdown-spacing: 0px;
	--dropdown-font-size: 1rem;
	--dropdown-line-height: 1.25;
	--dropdown-item-padding: 9px;
	--dropdown-list-padding: 0;
	--dropdown-selected-colour: #FFFFFF;
	--dropdown-selected-background-colour: #2F68D5;
	--dropdown-hover-colour: var(--dropdown-selected-colour);
	--dropdown-hover-background-colour: var(--dropdown-selected-background-colour);
	--dropdown-focus-border-colour: var(--input-border-colour);
}

chip-select select {
	padding-left: var(--dropdown-item-padding);
}

chip-dropdown>.input-field:not(.btn--base)>button:focus {
	box-shadow: inset 0 0 0 2px;
}

chip-dropdown button {
	transition: none;
}

chip-dropdown:not(chip-colourpicker chip-dropdown, chip-input > chip-dropdown) .dropdown__list li>button:focus {
	background-color: var(--dropdown-selected-background-colour);
	color: var(--dropdown-selected-colour);
}

chip-dropdown>div>button {
	padding: 0 9px;
}

chip-dropdown:focus-within>.input-field,
chip-select select:focus {
	outline: 3px solid #fd0;
	outline-offset: 0;
	box-shadow: inset 0 0 0 2px;
}

.dropdown__divider {
	margin: 5px 0;
}

/* Dialogs */
dialog {
	--dialog-radius: 0;
	--dialog-border: 2px solid #0b0c0c;
	--dialog-shadow: none;
	--dialog-backdrop: brightness(25%);
	--dialog-title-size: 1.125rem;
	--dialog-title-line-height: 1.1111111111;
	--dialog-message-colour: var(--body-colour);
}

@media(min-width:40.0625em) {
	:root {
		--helper-text-font-size: 1.1875rem;
		--helper-text-line-height: 1.3157894737;

		--validation-error-font-size: 1.1875rem;
		--validation-error-line-height: 1.31579;

		--form-spacing: var(--block-size-lg);
		--form-spacing-lg: var(--block-size-xxxl);
	}

	.heading--size1 {
		font-size: 3rem;
		line-height: 1.0416666667;
	}

	.heading--size2 {
		font-size: 2.25rem;
		line-height: 1.1111111111;
	}

	.heading--size3 {
		font-size: 1.5rem;
		line-height: 1.25;
	}

	.heading--size4 {
		font-size: 1.1875rem;
		line-height: 1.3157894737;
	}

	p,
	.paragraph {
		font-size: 1.1875rem;
		line-height: 1.3157894737;
	}

	dialog {
		--dialog-title-size: 1.5rem;
		--dialog-title-line-height: 1.25;
	}

	chip-button,
	chip-dropdownbutton,
	chip-splitbutton {
		--btn-line-height: 1;
		--btn-font-size: 1.1875rem;
	}

	chip-callout[variation="danger"] {
		--callout-padding: 20px;
	}

	chip-callout {
		--callout-header-size: 1.5rem !important;
		--callout-header-margin: 0 0 20px 0;
		margin: 30px 0 !important;
	}

	chip-button[variation="theme"],
	chip-splitbutton[variation="theme"],
	chip-dropdownbutton[variation="theme"] {
		--btn-font-size: 1.5rem;
	}

	.callout--header-only .callout__header,
	.callout-body {
		font-size: 1.1875rem !important;
		line-height: 1.3157894737 !important;
	}

	chip-badge {
		font-size: 1.1875rem !important;
		line-height: 1.3157894737 !important;
	}

	.btn-accordion-toggle {
		padding-bottom: 20px;
		font-size: 1.5rem;
		line-height: 1.25;
	}

	.accordion__content {
		font-size: 1.1875rem;
		line-height: 1.3157894737;
	}

	.accordion--gov-toggle {
		font-size: 1.1875rem;
		line-height: 1.3157894737;
	}

	chip-button.accordion--gov-toggle-all {
		--btn-font-size: 1.1875rem;
		--btn-line-height: 1.3157894737;
		margin-bottom: 14px;
	}

	chip-input,
	chip-checkbox,
	chip-radio,
	chip-select {
		--input-font-size: 1.1875rem;
		--input-line-height: 1.3157894737;
	}

	chip-textarea {
		--input-font-size: 1.1875rem;
	}

	.input-field__label {
		font-size: 1.1875rem;
		line-height: 1.3157894737;
	}
}