/* Variables
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
body {
	--color-text: rgb(26, 26, 26);
	--color-primary: rgb(39, 134, 161);
	--color-primary-light: rgb(241, 248, 250);
	--color-primary-dark: rgb(54, 82, 90);
	--color-secondary: rgb(143, 46, 90);
	--color-secondary-light: rgb(252, 243, 247);
	--color-secondary-dark: rgb(95, 36, 62);
	--color-tertiary: rgb(244, 139, 18);
	--border-radius-s: 0.5rem;
	--border-radius-m: 0.8rem;
	--border-radius-l: 2rem;
	--box-shadow: 0 0.3rem 1.3rem rgb(0, 0, 0, 0.1);
	--padding-section: 6rem;
}

/* 720px */
@media (max-width: 45em) {

	body {
		--padding-section: 4rem;
	}

}


/* Utility
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.bg-primary {
	background-color: var(--color-primary);
}

.bg-secondary {
	background-color: var(--color-secondary);
	color: #fff;
}

.bg-tertiary {
	background-color: var(--color-tertiary);
}

.border-radius-s {
	border-radius: var(--border-radius-s);
}

.border-radius-m {
	border-radius: var(--border-radius-m);
}

.border-radius-l {
	border-radius: var(--border-radius-l);
}

.box-shadow {
	box-shadow: var(--box-shadow);
}

.color-primary {
	color: var(--color-primary);
}

.color-secondary {
	color: var(--color-secondary);
}

.color-tertiary {
	color: var(--color-tertiary);
}

.full-width {
	width: 100%;
}

.margin-0 {
	margin: 0;
}

.margin-x-auto {
	margin-inline: auto;
}

.outline-stripes {
	outline: 4px solid var(--color-secondary);
	outline-offset: 4px;
}

.overflow-hidden {
	overflow: hidden;
}

.padding-top-0 {
	padding-top: 0;
}

.padding-y-default {
	padding-block: var(--padding-section);
}

.style-box {
	padding: 2em;
	border: 1px solid #666;
	border-radius: var(--border-radius-m);
}

.style-box > :last-child {
	margin-bottom: 0;
}

.txt-center {
	text-align: center;
}

.txt-flow > :first-child {
	margin-top: 0;
}

.txt-flow > :last-child {
	margin-bottom: 0;
}


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
nav :where(ul, ol) {
	padding: 0;
	margin: 0;
	list-style: none;
}

li > :where(ul, ol) {
	margin: 0.5em 0;
}

li > ul {
	list-style: circle;
}

:where(ul, ol) > li + li {
	margin-top: 0.5em;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
[class^="btn"],
button[type="submit"],
.wp-block-button.btn .wp-block-button__link,
.forminator-button-submit,
.woocommerce .woocommerce-ResetPassword .woocommerce-form-row [type="submit"] {
	--color: var(--color-primary);
	min-width: 8rem;
	display: inline-block;
	padding: 0.5em 1.5em;
	background-color: var(--color);
	border: 2px solid var(--color);
	border-radius: var(--border-radius-l);
	font-size: 1em;
	font-weight: bold;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: 0.2s ease all;
}

.woocommerce .woocommerce-ResetPassword .woocommerce-form-row [type="submit"] {
	width: 100%;
	line-height: 1.5;
}

.btn-outline,
.wp-block-button.btn-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--color);
}

[class^="btn"].white,
.wp-block-button.btn.white .wp-block-button__link {
	--color: #fff;
}

.btn.white,
.wp-block-button.btn.white .wp-block-button__link {
	color: var(--color-text);
}

[class^="btn"]:hover,
[class^="btn"]:focus,
button[type="submit"]:hover,
button[type="submit"]:focus,
.wp-block-button.btn .wp-block-button__link:hover,
.wp-block-button.btn .wp-block-button__link:focus,
.forminator-button-submit:hover,
.forminator-button-submit:focus {
	background-color: var(--color);
	border-color: var(--color);
	color: #fff;
	text-decoration: none;
	filter: brightness(1.1);
}

[class^="btn"].white:hover,
[class^="btn"].white:focus,
.wp-block-button.btn.white .wp-block-button__link:hover,
.wp-block-button.btn.white .wp-block-button__link:focus {
	color: var(--color-text);
	filter: brightness(0.95);
}


/* Icon Masks
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.icon-mask {
	-webkit-mask-image: var(--icon);
	mask-image: var(--icon);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: cover;
	mask-size: cover;
}


/* Flex
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.flex,
.section-flex {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.section-flex {
	padding-block: var(--padding-section);
}

.even-items > * {
	width: 100%;
	flex: 1 1 0;
}

	.section-flex .content :where(h1, h2, h3, h4, h5):first-child {
		margin-top: 0;
	}

/* 720px */
@media (max-width: 45em) {

	.section-flex {
		flex-direction: column;
	}

}


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
:is(.is-layout-grid) {
	gap: 2em;
	margin-top: 2em;
	margin-bottom: 2em;
}

	:is(.is-layout-grid.mobile-stack) > div :last-child {
		margin-bottom: 0;
	}

/* 720px */
@media (max-width: 45em) {

	:is(.is-layout-grid.mobile-stack) {
		grid-template-columns: minmax(0, 1fr);
	}

}


/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.form-narrow,
.woocommerce-ResetPassword {
	max-width: 30rem;
	margin: 0 auto;
}

.form-row + .form-row,
.forminator-row + .forminator-row,
.woocommerce .woocommerce-ResetPassword .woocommerce-form-row {
	width: 100%;
	margin-top: 1.25em;
}

.form-foot {
	margin-top: 2em;
}

.forminator-row-last {
	margin-top: 2em;
}

label.block,
.forminator-custom-form .forminator-label,
.woocommerce .woocommerce-ResetPassword .woocommerce-form-row label {
	display: block;
	margin-bottom: 0.5em;
	font-weight: bold;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
.woocommerce .woocommerce-ResetPassword .woocommerce-form-row .woocommerce-Input--text {
	width: 100%;
	display: block;
	padding: 0.5em;
	border-color: #999;
}

.woocommerce .woocommerce-ResetPassword .woocommerce-form-row .woocommerce-Input--text {
	line-height: 1.5;
}

input[type="radio"] {
	margin-right: 0.35em;
}

.forminator-checkbox input[type="checkbox"] {
	margin-right: 0.5em;
}

.forminator-description-password {
	margin-top: 1.25em;
}

.forminator-response-message {
	padding: 1.5em;
	margin-bottom: 2em;
}

.forminator-response-message[aria-hidden="true"] {
	display: none;
}

.forminator-error.forminator-accessible {
	background-color: var(--color-secondary-light);
	border: 1px solid var(--color-secondary);
}

	.forminator-response-message > :first-child {
		margin-top: 0;
	}

	.forminator-response-message > :last-child {
		margin-bottom: 0;
	}

	.forminator-response-message ul {
		margin-left: 1.5em;
	}

.forminator-error-message {
	display: block;
	margin-top: 0.5em;
	font-size: 0.9em;
	color: var(--color-secondary);
}

.input-field {
	position: relative;
}

.input-field .password {
	padding-right: 2.25em;
}

.password-toggle {
	width: 1.25em;
	height: 1.25em;
	position: absolute;
	top: 50%;
	right: 0.5em;
	z-index: 1;
	padding: 0;
	background: center / cover no-repeat transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 24 24'%3E%3Cpath d='M698.833 428.621h23.971v23.971h-23.971z' style='fill:none' transform='translate(-699.668 -429.133) scale(1.0012)'/%3E%3Cpath d='M17.906 19.319c-1.542.999-3.49 1.683-5.902 1.683-7.904 0-10.82-7.349-10.82-9 0-.956.979-3.823 3.337-6.068L1.397 2.81 2.81 1.395l3.29 3.29c1.542-.998 3.49-1.682 5.903-1.682 7.903 0 10.818 7.348 10.818 9 0 .956-.978 3.823-3.336 6.067l3.124 3.125-1.414 1.414-3.29-3.29ZM5.939 7.352a10.17 10.17 0 0 0-2.12 2.868c-.392.789-.634 1.448-.634 1.782 0 .334.242.993.634 1.783 1.113 2.24 3.639 5.218 8.185 5.218 1.777 0 3.246-.456 4.442-1.144l-2.054-2.054A4.493 4.493 0 0 1 8.2 9.615L5.939 7.351Zm12.129 9.3c.97-.909 1.664-1.95 2.12-2.867.392-.79.634-1.449.634-1.783 0-.334-.242-.993-.634-1.782-1.113-2.24-3.64-5.218-8.184-5.218-1.778 0-3.246.455-4.443 1.144L9.616 8.2a4.492 4.492 0 0 1 6.19 6.19l2.262 2.262Zm-8.384-5.555a2.49 2.49 0 0 0 3.225 3.225l-3.225-3.225Zm4.64 1.811a2.491 2.491 0 0 0-3.226-3.225l3.226 3.225Z'/%3E%3C/svg%3E");
	border: 0;
	opacity: 0.4;
	cursor: pointer;
	transform: translateY(-50%);
}

.password-toggle.is-show {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' style='fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2' viewBox='0 0 24 24'%3E%3Cpath d='M698.833 428.621h23.971v23.971h-23.971z' style='fill:none' transform='translate(-699.668 -429.133) scale(1.0012)'/%3E%3Cpath d='M1.185 12.002c0-1.651 2.915-9 10.819-9 7.903 0 10.818 7.349 10.818 9 0 1.651-2.915 9-10.818 9-7.904 0-10.82-7.349-10.82-9Zm2 0c0 .334.242.993.634 1.783 1.113 2.24 3.639 5.218 8.185 5.218 4.545 0 7.07-2.978 8.184-5.218.392-.79.634-1.449.634-1.783 0-.334-.242-.993-.634-1.782-1.113-2.24-3.64-5.218-8.184-5.218-4.546 0-7.072 2.978-8.185 5.218-.392.789-.634 1.448-.634 1.782Zm8.819-4.49a4.492 4.492 0 0 1 4.49 4.49 4.493 4.493 0 0 1-4.49 4.49 4.493 4.493 0 0 1-4.49-4.49 4.492 4.492 0 0 1 4.49-4.49Zm0 2a2.49 2.49 0 1 0 0 4.981 2.49 2.49 0 0 0 0-4.98Z'/%3E%3C/svg%3E");
}

.password-toggle:hover,
.password-toggle:focus-visible {
	opacity: 1;
}

.radio-group {
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	padding: 0;
	border: 0;
}

	.radio-group input.inline {
		width: 12em;
		display: none;
		padding: 0.25em;
		margin-left: 0.5em;
	}

	.radio-group :checked ~ input.inline {
		display: inline-block;
	}

#form-application {
	display: grid;
	grid-template-columns: 1fr 20rem;
	gap: 3rem;
}

	#form-application > section:last-child {
		align-self: start;
		position: sticky;
		top: 2rem;
	}


/* Details
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
details {
	margin: 1em 0;
	border: 1px solid var(--color-secondary);
	border-radius: 0.75em;
}

summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	position: relative;
	padding: 1em;
	background-color: #fff;
	border-radius: 0.75em;
	font-weight: 600;
	color: var(--color-secondary);
	cursor: pointer;
	transition: 0.2s ease all;
}

summary::-webkit-details-marker {
	content: "";
	display: none;
}

summary::after {
	content: "";
	width: 1.5em;
	height: 1.5em;
	flex: 0 0 auto;
	background: center / cover no-repeat;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(143,46,90)'%3E%3Cpath d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'%3E%3C/path%3E%3C/svg%3E");
}

summary:hover {
	background-color: rgb(250, 250, 250);
}

summary:focus-visible {
	outline: auto;
}

summary + * {
	padding: 0 1em 1.5em;
	margin: 0;
	border-radius: 0 0 0.75em 0.75em;
	font-size: 0.9444em;
}

	summary + * > :first-child,
	summary + .wp-block-group > .wp-block-group__inner-container > :first-child {
		margin-top: 0;
	}

	summary + * > :last-child,
	summary + .wp-block-group > .wp-block-group__inner-container > :last-child {
		margin-bottom: 0;
	}

details[open] summary {
	background-color: var(--color-secondary);
	border-radius: 0.75em 0.75em 0 0;
	color: #fff;
}

details[open] summary::after {
	transform: rotate(180deg);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(255,255,255)'%3E%3Cpath d='M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z'%3E%3C/path%3E%3C/svg%3E");
}

details[open] summary + * {
	padding-top: 1.5em;
	transition: 0.2s ease padding-top;
}


/* Table
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.wp-block-table {
	font-size: 0.9444em;
}

.wp-block-table table :where(th, td) {
	padding: 0.75em;
	border-color: #ccc;
}

.wp-block-table thead {
	border-bottom-color: var(--color-secondary);
	color: var(--color-secondary);
}

details table {
	border: 0;
	font-size: 1em;
}


/* Structure
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.wrapper {
	max-width: 70rem;
	padding-inline: 2rem;
	margin: 0 auto;
}

.wrapper-narrow {
	max-width: 30rem;
}

main {
	padding-bottom: var(--padding-section);
}

.main-content {
	padding-top: var(--padding-section);
}

.content-has-sidebar {
	display: grid;
	grid-template-columns: minmax(15rem, 25%) minmax(0, 1fr);
	gap: 3rem;
}

.wp-block-visual-portfolio {
	margin: 1rem 0;
}

.wp-block-separator {
	margin-block: 1.5em;
	border-top: 0;
}

/* 900px */
@media (max-width: 56.25em) {

	.content-has-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

}

/* 720px */
@media (max-width: 45em) {

	.wrapper {
		padding-inline: 1.5rem;
	}

}


/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#header {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5rem;
	position: relative;
	z-index: 100;
	padding: 1rem 1.5rem;
	background-color: #fff;
	border-bottom: 1px solid rgb(0, 0, 0, 0.1);
	box-shadow: var(--box-shadow);
}

	#header > div {
		display: flex;
		align-items: center;
		gap: 1.5rem;
	}

	#header .custom-logo-link {
		flex: 0 0 auto;
	}

	#header .custom-logo {
		width: 6rem;
		display: block;
	}

	#header a {
		color: var(--color-text);
		text-decoration: none;
	}

	#header a:not(.sub-menu a) {
		font-weight: bold;
	}

	#header a:hover,
	#header a:focus,
	#header a.is-active,
	#header .current-menu-item > a,
	#header-nav li:hover > a,
	#header-nav li:focus-within > a {
		color: var(--color-secondary);
		text-decoration: none;
	}

/* Search bar */
#header .search {
	width: 10rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem 1rem;
	background-color: var(--color-primary-light);
	border: 1px solid rgb(0, 0, 0, 0.1);
	border-radius: var(--border-radius-l);
}

#header .search.is-mobile {
	display: none;
}

#header .search::after {
	content: "";
	width: 1em;
	height: 1em;
	display: block;
	flex: 0 0 auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(26,26,26,1)'%3E%3Cpath d='M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z'%3E%3C/path%3E%3C/svg%3E");
}

	#header .search > * {
		pointer-events: none;
		user-select: none;
	}

#header .search:focus-within {
	outline: auto;
}

	#header .search input {
		width: 100%;
		padding: 0;
		background: none;
		border: 0;
	}

	#header .search input:focus {
		outline: none;
	}

#search-modal {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	position: fixed;
	inset: 0;
	z-index: 101;
	padding: 1.5rem;
	opacity: 0;
	pointer-events: none;
	user-select: none;
	transition: 0.3s ease all;
}

#search-modal.is-visible {
	visibility: visible;
	opacity: 1;
	pointer-events: initial;
	user-select: initial;
}

	#search-modal .bg-overlay {
		position: fixed;
		inset: 0;
		z-index: -1;
		background-color: var(--color-secondary);
		opacity: 0.95;
		cursor: default;
	}

	#search-modal .content {
		width: 50rem;
		max-width: 100%;
		position: relative;
		top: calc(-15% - 3rem);
		transition: 0.5s ease top;
	}

	#search-modal.is-visible .content {
		top: -15%;
	}

	#search-modal form {
		padding: 1rem;
		background-color: #fff;
		border-radius: var(--border-radius-s);
		box-shadow: var(--box-shadow);
	}

	#search-modal .swp-input--search {
		padding: 0.5em 38px 0.5em 0.5em;
		border-color: var(--color-primary);
	}

body :is(.searchwp-live-search-results) {
	min-width: auto;
	max-height: 50vh;
}

	body :is(.searchwp-live-search-result) {
		padding: 1em;
	}

	body :is(.searchwp-live-search-result--title) {
		margin: initial;
		font-size: 1rem;
	}

		body :is(.searchwp-live-search-result .searchwp-live-search-result--title a) {
			font-size: inherit;
		}

	body :is(.searchwp-live-search-result--desc) {
		margin: 1em 0 0;
		font-size: 0.8rem;
		color: rgb(102, 102, 102);
	}

/* Nav menu */
#header-nav ul {
	display: flex;
	gap: 1em;
	padding: 0;
	margin: 0;
	list-style: none;
}

#header-nav li {
	position: relative;
	margin: 0;
}

#header-nav a {
	display: block;
}

#header-nav a:not(.sub-menu a, [class^="mobile-nav"]) {
	padding: 1em 0;
}

#header-nav .sub-menu {
	width: 15rem;
	position: absolute;
	top: 120%;
	left: -1rem;
	z-index: 1;
	padding: 1rem;
	flex-direction: column;
	gap: 0.5em;
	background-color: #fff;
	border: 1px solid #ddd;
	border-top: 4px solid var(--color-secondary);
	border-radius: var(--border-radius-s);
	box-shadow: var(--box-shadow);
	visibility: hidden;
	opacity: 0;
	font-size: 0.95em;
	transition: 0.3s ease all;
}

#header-nav li:hover .sub-menu,
#header-nav li:focus-within .sub-menu {
	top: 100%;
	visibility: visible;
	opacity: 1;
}


/* Mobile Nav
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#header [class^="mobile-nav"] {
	display: none;
}

/* 900px */
@media (max-width: 56.25em) {

	.nav-open {
		overflow: hidden;
	}

	#header,
	#header > div {
		gap: 1rem;
	}

	#header .custom-logo {
		width: 4rem;
	}

	#header [class^="mobile-nav"] {
		width: 2rem;
		height: 2rem;
		display: block;
		position: relative;
	}

	#header [class^="mobile-nav"]::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		transform: scale(125%);
	}

	#header-nav > .mobile-nav-close::before {
		display: none;
	}

	#header .mobile-nav-open {
		--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M3 6h18M3 18h18'/%3E%3C/svg%3E");
		flex: 0 0 auto;
	}

	#header-nav > div > .mobile-nav-close {
		--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E");
		position: absolute;
		top: 2rem;
		right: 2rem;
	}

		#header [class^="mobile-nav"] i {
			width: 100%;
			height: 100%;
			display: block;
			background-color: var(--color-text);
		}
	
	#header-nav {
		width: 100vw;
		height: 0;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1000;
		opacity: 0;
		overflow: hidden;
		visibility: hidden;
		transition: 0.7s ease opacity;
	}

		#header-nav > div {
			width: 25rem;
			max-width: 100%;
			height: 100%;
			position: fixed;
			top: 0;
			right: -100%;
			z-index: 1;
			padding: 6rem 2rem 2rem;
			background-color: #fff;
			overflow-y: auto;
			transition: 0.7s ease right;
		}

		#header-nav ul {
			flex-direction: column;
		}

		#header-nav a:not(.sub-menu a, [class^="mobile-nav"]) {
			padding: 0;
		}

		#header-nav .sub-menu {
			all: unset;
			display: flex;
			flex-direction: column;
			gap: 0.5em;
			padding: 1em 0 0.25em 1em;
			font-size: 0.95em;
		}

	#header-nav:target,
	.nav-open #header-nav {
		height: 100%;
		opacity: 1;
		visibility: visible;
	}

		:is(#header-nav:target, .nav-open #header-nav) > .mobile-nav-close {
			content: "";
			width: 100vw;
			height: 100%;
			position: fixed;
			top: 0;
			right: 0;
			bottom: 0;
			left: 0;
			z-index: -1;
			background-color: rgba(0, 0, 0, 0.2);
			cursor: default;
		}

		:is(#header-nav:target, .nav-open #header-nav) > div {
			right: 0;
		}

	#header .search.is-mobile {
		width: 100%;
		display: flex;
		padding: 0.25em 1em;
		margin-bottom: 2rem;
	}
	
}

/* 600px */
@media (max-width: 37.5em) {

	#header .search:not(.is-mobile) {
		display: none;
	}

}


/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#footer {
	overflow: hidden;
	color: #fff;
}

	#footer .border {
		width: 100%;
		max-width: none;
		height: round(up, 8.2vw, 1px);
		min-height: 2rem;
		position: relative;
		top: 1px;
	}

	#footer .inner {
		background-color: var(--color-primary-dark);
	}

	#footer a {
		font-weight: bold;
		color: #fff;
		text-decoration: none;
	}

	#footer a:hover {
		text-decoration: underline;
	}

	#footer ul {
		display: flex;
		flex: 1 1 70%;
		flex-wrap: wrap;
		gap: 0.25em 1.5rem;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	#footer li {
		flex: 1 1 30%;
		margin: 0;
	}

	#footer .top {
		display: flex;
		flex-wrap: wrap;
		gap: 1.5rem;
		padding-block: 5rem;
	}

	#footer .socials {
		flex: 1 1 25%;
	}

		#footer .socials img {
			width: 2.25rem;
			display: inline-block;
			margin-right: 0.25em;
		}

		#footer .icons {
			margin-top: 0.75em;
		}

	#footer .bottom {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 1.5rem;
		padding-block: 2.5rem;
		border-top: 2px solid rgb(255, 255, 255, 0.2);
		color: rgb(175, 186, 189);
	}

		#footer .bottom p {
			margin: 0.5em 0;
		}

	#footer .trackie {
		width: 6rem;
	}


/* Banner
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#banner {
	width: 100%;
	position: relative;
	padding: var(--padding-section) 0;
	background: url(../images/banner_darker.jpg) center / cover no-repeat var(--color-primary-light);
}

#banner.home {
	padding: calc(var(--padding-section) * 1.25) 0 calc(var(--padding-section) * 1.5 + 2rem);
}

	#banner .content {
		position: relative;
		z-index: 1;
	}

		#banner .content > :last-child {
			margin-bottom: 0;
		}

	#banner .centre {
		text-align: center;
	}

	#banner .left {
		text-align: left;
	}

	#banner .left_half {
		width: 50%;
		text-align: left;
	}

	#banner .right {
		text-align: right;
	}

	#banner .right_half {
		width: 50%;
		margin-left: auto;
		text-align: right;
	}

	#banner h1,
	#banner .h1 {
		font-size: 2.25rem;
	}

	#banner .posted-date {
		margin-top: 0;
		font-size: 0.889rem;
	}

/* 720px */
@media (max-width: 45em) {

	#banner.home {
		padding: var(--padding-section) 0 calc(var(--padding-section) + 2rem);
	}

	#banner.home::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 0;
		background-color: rgb(241, 248, 250, 0.7);
	}

		#banner h1 {
			font-size: 2rem;
		}

		#banner :is(.content) {
			width: 100%;
			text-align: center;
		}

}


/* Home
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
[class^="home-bg"] {
	background: url(../images/bg.svg) top 12rem center / max(100%, 1024px) no-repeat;
}

.home-bg-2 {
	background-position: bottom 20rem center;
}

#quick-links {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
	padding: 1.5rem;
	margin: -6.5% -1.5rem 0;
	background-color: #fff;
	border: 1px solid rgb(0, 0, 0, 0.1);
	border-radius: 100rem;
	box-shadow: var(--box-shadow);
	text-align: center;
}

	#quick-links > * {
		flex: 1 1 0;
		position: relative;
		padding: 1.5rem;
		border-left: 1px solid #ddd;
	}

	#quick-links > :first-child {
		border: 0;
	}

	#quick-links a {
		font-size: 1.2em;
		font-weight: bold;
		text-decoration: none;
	}

	#quick-links a:hover {
		text-decoration: underline;
	}

	#quick-links a::before {
		content: "";
		position: absolute;
		inset: 0;
	}

	#quick-links p {
		margin: 0.25em 0 0;
	}

/* 720px */
@media (max-width: 45em) {

	#quick-links {
		flex-direction: column;
		padding-block: 0.25em;
		margin: -2rem 0 0;
		border-radius: var(--border-radius-m);
	}

		#quick-links > * {
			width: 100%;
			padding: 1.5rem 0;
			border-top: 1px solid #ddd;
			border-left: 0;
		}

}

/* Events */
#events-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 1.5rem;
	padding: 0;
	margin: 2.5rem 0;
	list-style: none;
	text-align: left;
}

#events-list.events-page {
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin: 0;
}

#events-list.chapter-page {
	margin-top: 2rem;
}

	#events-list li {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		position: relative;
		padding: 1.25rem;
		margin: 0;
		background-color: #fff;
		border: 1px solid rgb(0, 0, 0, 0.1);
		border-radius: var(--border-radius-m);
		box-shadow: var(--box-shadow);
		color: var(--color-text);
	}

	#events-list .chapter {
		margin-bottom: 0.5rem;
		font-size: 90%;
		font-weight: bold;
		color: var(--color-secondary);
	}

	#events-list .chapter.cona {
		color: var(--color-tertiary);
	}

	#events-list .title {
		font-weight: bold;
	}

	#events-list .date {
		margin-top: 0.25em;
		font-size: 90%;
		font-style: italic;
		color: #666;
	}

	#events-list a {
		width: 2rem;
		height: 2rem;
		display: block;
		flex: 0 0 auto;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(39,134,161,1)'%3E%3Cpath d='M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z'%3E%3C/path%3E%3C/svg%3E");
		font-size: 0;
		overflow: hidden;
		transition: 0.2s ease background-position;
	}

	#events-list a::before {
		content: "";
		position: absolute;
		inset: 0;
	}

	#events-list a:hover {
		background-position: 0.25rem;
	}

#post-events {
	padding-top: var(--padding-section);
	margin-top: var(--padding-section);
	background: linear-gradient(180deg, rgb(241, 248, 250, 1) 0%, rgb(241, 248, 250, 0) 100%);
	border-top: 1px solid rgb(0, 0, 0, 0.1);
}

	#post-events h2 {
		margin-top: 0;
	}

	#post-events #events-list {
		margin: 2rem 0 0;
	}

.pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4em;
	margin: 2rem 0 0;
	font-size: 0.9rem;
}

	.pagination .page-numbers {
		display: inline-block;
		padding: 0.5em 0.75em;
		border: 1px solid #ccc;
		border-radius: var(--border-radius-s);
		color: var(--color-primary);
		text-decoration: none;
		line-height: 1;
	}

	.pagination .page-numbers:hover {
		background-color: var(--color-primary-light);
	}

	.pagination .current {
		background-color: var(--color-primary) !important;
		border-color: var(--color-primary);
		color: #fff;
	}

/* 720px */
@media (max-width: 45em) {

	#events-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

}

/* Did you know */
.dyk {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 1;
}

	.dyk figure {
		width: 18rem;
		max-width: 33%;
		aspect-ratio: 1;
		flex: 0 0 auto;
		padding: 0;
		margin: 0;
		border-radius: 1000rem;
		overflow: hidden;
	}

		.dyk figure img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}

	.dyk .content {
		position: relative;
		padding: 2rem;
	}
	
	.dyk .content::before {
		content: "";
		position: absolute;
		inset: 0 0 0 -15%;
		z-index: -1;
		background-color: var(--color-primary-light);
		border: 1px solid rgb(0, 0, 0, 0.1);
		border-radius: var(--border-radius-l);
	}


/* Sidebar
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
.sidebar {
	font-size: 0.9444rem;
}

	.sidebar .chapter-logo {
		max-width: 30rem;
		margin: 0 auto 1rem;
		text-align: center;
	}

		.sidebar .chapter-logo a {
			display: inline-block;
			margin: 0 auto;
		}

		.sidebar .chapter-logo img {
			margin: 0 auto;
		}

	.sidebar .heading-title {
		font-weight: bold;
		color: var(--color-secondary);
	}

	.sidebar section + section {
		padding-top: 1.5em;
		margin-top: 1.5em;
		border-top: 1px solid #ccc;
	}

	.sidebar ul {
		margin: 0.5em 0 0;
		list-style: none;
	}

	.sidebar li + li {
		margin-top: 0.5em;
	}

		.sidebar ul a {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1em;
			color: rgb(143, 143, 143);
			text-decoration: none;
		}

		.sidebar ul .is-current a::after {
			content: "";
			width: 1.5em;
			height: 1.5em;
			display: block;
			flex: 0 0 auto;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='rgba(39,134,161,1)'%3E%3Cpath d='M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z'%3E%3C/path%3E%3C/svg%3E");
			overflow: hidden;
		}

		.sidebar ul a:hover,
		.sidebar ul .is-current a {
			color: var(--color-text);
		}

/* 900px */
@media (max-width: 56.25em) {

	.sidebar {
		padding-bottom: 3rem;
		border-bottom: 1px solid #ccc;
	}

}


/* Chapter landing page
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */
#chapter-landing .chapter-logo {
	max-width: 30rem;
	margin: 0 auto 2rem;
	text-align: center;
}

	#chapter-landing .chapter-logo a {
		display: inline-block;
		margin: 0 auto;
	}

	#chapter-landing .chapter-logo img {
		margin: 0 auto;
	}

#chapter-landing ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
}

#chapter-landing li {
	display: flex;
	flex: 1 1 20rem;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 2rem 1.25rem;
	margin: 0;
	background-color: #fff;
	border: 1px solid rgb(0, 0, 0, 0.1);
	border-top: 3px solid var(--color-primary);
	border-radius: var(--border-radius-m);
	box-shadow: var(--box-shadow);
	font-weight: bold;
	color: var(--color-text);
}

	#chapter-landing li a {
		color: var(--color-text);
		text-decoration: none;
	}

	#chapter-landing li a::before {
		content: "";
		position: absolute;
		inset: 0;
	}


/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/* 1800px */
@media (max-width: 112.5em) {}

/* 1200px */
@media (max-width: 75em) {}

/* 900px */
@media (max-width: 56.25em) {}

/* 720px */
@media (max-width: 45em) {}

/* 600px */
@media (max-width: 37.5em) {}