/*!
Theme Name: Illuminate
Theme URI: https://github.com/a8cteam51/illuminate/
Author: WordPress.com Special Projects Teams
Author URI: https://wpspecialprojects.wordpress.com
Description: A WordPress theme for illuminate.com.
Requires at least: WordPress 6.0
Version: 0.0.1
License: GNU General Public License v2 or later
Text Domain: illuminate
*/

/**
 * From https://github.com/hankchizljaw/modern-css-reset
 */

/* Set core body defaults */

html {
	scroll-behavior: smooth;
}

body {
	box-sizing: border-box;
	min-height: 100vh;
	margin: 0;
	scroll-behavior: smooth;
	text-rendering: optimizespeed;
}

/* Box sizing rules */

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Remove list styles on ul, ol elements with a class attribute */

/* stylelint-disable no-duplicate-selectors */

nav ul {
	list-style: none;
}

/* stylelint-enable no-duplicate-selectors */

/* A elements that don't have a class get default styles */

a:not([class]) {
	-webkit-text-decoration-skip: ink;
	        text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	height: auto;
	max-width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
	font: inherit;
}

/* Remove animations and transitions for people that prefer not to see them */

@media (prefers-reduced-motion: reduce) {

	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* Wrap pre tag content */

pre {
	overflow-x: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}

/*--------------------------------------------------------------
	# General Sans - Variable font
--------------------------------------------------------------*/

@font-face {
	font-family: "General Sans";
	font-weight: 200 600;
	font-display: fallback;
	src: url(./fonts/general-sans/GeneralSans-Variable.woff2) format("woff2");
}

/* --- Italic --- */

@font-face {
	font-family: "General Sans";
	font-weight: 200 600;
	font-display: fallback;
	font-style: italic;
	src: url(./fonts/general-sans/GeneralSans-Variable-It.woff2) format("woff2");
}

/* 600px */

/* 781px - WordPress column breakpoint */

/* 960px */

/* 1200px */

/* 1400px */

body {

	/* --- Font sizes --- */
	--font-size-1: clamp(3rem, 8vw, 6.5rem);
	--font-size-2: clamp(2.5rem, 5.5vw, 4rem);
	--font-size-3: clamp(2.25rem, 4.5vw, 3rem);
	--font-size-4: clamp(2rem, 4vw, 2.25rem);
	--font-size-5: 1.875rem;
	--font-size-6: 1.5rem;
	--font-size-7: 1.25rem; /* Base body size */
	--font-size-8: 1rem;

	/* --- Spacing --- */
	--spacing: 2.5rem /* 40px */;
	--spacing-050: calc(var(--spacing) / 2); /* 20px */
	--spacing-150: calc(var(--spacing) * 1.5); /* 60px */
	--spacing-2: calc(var(--spacing) * 2); /* 80px */
	--spacing-3: calc(var(--spacing) * 3); /* 120px */
	--spacing-4: calc(var(--spacing) * 4); /* 160px */

	--gutter: clamp(1.5rem, 5.5vw, 4rem);

	/* --- Element height variables --- */
	--viewport-height: 100vh; /* measures actual viewport, handy for mobile */
	--full-vp-height: 100vh;
	--admin-bar-height: 2rem;
	--vp-top: 0;

	/* --- Speed --- */
	--speed: 0.15s;
	--speed-slower: 0.3s;
	--speed-slowest: 0.45s;

	/*--------------------------------------------------------------
	  # Misc
	--------------------------------------------------------------*/
	--border-radius: 0.4rem;
	--letter-spacing: 0.02em;

	/* --- Used on project map --- */
	counter-reset: project marker;

	/*--------------------------------------------------------------
	  # Typography
	--------------------------------------------------------------*/

	/*--------------------------------------------------------------
	  # Colors
	  # Colors are set in theme.json
		--black: #000;
		--gray: #808080
		--white: #fff;
		--white-30: rgba(255, 255, 255, 0.3);
		--white-15: rgba(255, 255, 255, 0.15);
	--------------------------------------------------------------*/

	/*--------------------------------------------------------------
	  # Layout
	--------------------------------------------------------------*/
}

@media (max-width: 48.8125em) {

body {
		--admin-bar-height: 2.875rem;
}
	}

/*--------------------------------------------------------------
	  # Transitions
	--------------------------------------------------------------*/

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}

/*--------------------------------------------------------------
	# Modifiers
--------------------------------------------------------------*/

strong,
b {
	font-weight: 600;
}

mark {
	background-color: unset;
	color: var(--color-white);
	font-weight: 700;
}

/*--------------------------------------------------------------
	# Links
--------------------------------------------------------------*/

a {
	color: inherit;
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-decoration-color: var(--color-gray);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

a:hover {
		text-decoration-color: var(--color-white);
	}

/*--------------------------------------------------------------
	# Selection
--------------------------------------------------------------*/

::selection {
	background-color: var(--color-white);
	color: var(--color-black);
}

/*--------------------------------------------------------------
	# Form elements
--------------------------------------------------------------*/

input[type="submit"],
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea,
select,
button {
	all: unset;
	-webkit-appearance: none;
	        appearance: none;
	background-color: transparent;
	border: 1px solid var(--color-white);
	box-sizing: border-box;
	cursor: pointer;
	font-size: 1.25rem;
	font-size: var(--font-size-7);
	line-height: 1.35;
	padding: 0.5rem 1.25rem;
	transition: all var(--speed) ease;
}

input[type="checkbox"] {
	border: 1px solid var(--color-white);
	cursor: pointer;
	height: 1em;
	width: 1em;
}

:is(input[type="text"],input[type="tel"],input[type="email"],input[type="checkbox"]
textarea,select):focus-visible {
		outline: 2px solid var(--color-white);
	}

input[type="submit"],
button {
	border-radius: 9999px;
	font-size: var(--font-size-6);
}

:is(input[type="submit"],button):hover,
	:is(input[type="submit"],button):focus-visible {
		background-color: var(--color-white);
		color: var(--color-black);
	}

/* --- iContact newsletter form --- */

.newsletter-form {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	max-width: 60rem;
}

@media (max-width: 37.5em) {

.newsletter-form {
		flex-wrap: wrap;
}
	}

.newsletter-form .newsletter-form-row {
		display: flex;
		flex-wrap: wrap;
		gap: 1.5rem;
	}

.newsletter-form .fieldtype-input {
		display: flex;
		width: 100%;
		max-width: 20rem;
	}

.newsletter-form input[type="text"] {
		background-color: transparent;
		border: none;
		border-bottom: 1px solid var(--color-white);
		color: var(--color-white);
		padding-left: 0;
		width: 100%;
		max-width: 20rem;
	}

@media (max-width: 37.5em) {

.newsletter-form input[type="text"] {
			border: 1px solid var(--color-white);
			padding: 0.5em 1em;
	}
		}

.newsletter-form input[type="text"]:focus-visible {
			border-bottom-width: 3px;
			margin-bottom: -2px;
			outline: none;
		}

.newsletter-form input[type="submit"] {
		font-size: var(--font-size-7);
		padding: 0.65rem 2rem;
		width: 100%;
		white-space: nowrap;
		max-width: max-content;
	}

input::placeholder {
	color: var(--color-white);
	opacity: 1;
}

/*--------------------------------------------------------------
	# WooCommerce style overrides
--------------------------------------------------------------*/

.woocommerce-page h1 {
	border-bottom: 1px solid var(--color-white);
	margin: 0;
	padding-top: var(--spacing);
	padding-bottom: var(--spacing);
}

/* --- Form styles --- */

form .select2-container--default .select2-selection--single {
		background-color: transparent;
		border: 1px solid var(--color-white);
		border-radius: 0;
		color: var(--color-white);
		height: 2.75rem;
		padding: 0.5rem 1.25rem;
	}

form .select2-container .select2-selection--single .select2-selection__rendered {
		color: var(--color-white);
		padding: 0;
	}

form label {
		margin-top: 2rem;
	}

:is(main .woocommerce form .form-row input.input-text,main .woocommerce form .form-row textarea):focus {
			outline: 2px solid var(--color-white);
		}

main .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 100%;
	}

main .woocommerce-form-coupon-toggle {
		display: none;
	}

main #add_payment_method #payment,
	main .woocommerce-cart #payment,
	main .woocommerce-checkout #payment {
		background-color: transparent;
		color: var(--color-white);
	}

main .woocommerce #respond input#submit.alt,
	main .woocommerce a.button.alt,
	main .woocommerce button.button.alt,
	main .woocommerce input.button.alt,
	main .woocommerce #respond input#submit,
	main .woocommerce a.button,
	main .woocommerce button.button,
	main .woocommerce input.button {
		all: unset;
		background-color: transparent;
		border: 1px solid var(--color-white);
		border-radius: 9999px;
		cursor: pointer;
		display: inline-block;
		font-size: 1.25rem;
		font-size: var(--font-size-7);
		line-height: 1.35;
		margin: 0.5rem 0.25rem;
		padding: 0.5rem 1.25rem;
		max-width: max-content;
	}

:is(main .woocommerce #respond input#submit.alt,main .woocommerce a.button.alt,main .woocommerce button.button.alt,main .woocommerce input.button.alt,main .woocommerce #respond input#submit,main .woocommerce a.button,main .woocommerce button.button,main .woocommerce input.button):hover {
			background-color: var(--color-white);
			color: var(--color-black);
		}

:is(main .woocommerce #respond input#submit.alt,main .woocommerce a.button.alt,main .woocommerce button.button.alt,main .woocommerce input.button.alt,main .woocommerce #respond input#submit,main .woocommerce a.button,main .woocommerce button.button,main .woocommerce input.button):focus {
			outline: 2px solid var(--color-white);
		}

:is(main .woocommerce #respond input#submit.alt,main .woocommerce a.button.alt,main .woocommerce button.button.alt,main .woocommerce input.button.alt,main .woocommerce #respond input#submit,main .woocommerce a.button,main .woocommerce button.button,main .woocommerce input.button) .woocommerce table a.button {
			font-size: 1rem;
		}

:is(main .woocommerce #respond input#submit.alt,main .woocommerce a.button.alt,main .woocommerce button.button.alt,main .woocommerce input.button.alt,main .woocommerce #respond input#submit,main .woocommerce a.button,main .woocommerce button.button,main .woocommerce input.button) .woocommerce-customer-details address {
			padding: 0;
		}

main .place-order {
		max-width: 48rem;
	}

main .woocommerce #payment #place_order,
	main .woocommerce-page #payment #place_order {
		float: none;
		margin: 3.5rem 0;
		max-width: max-content;
	}

.select2-container .select2-dropdown {
		background-color: var(--color-black);
		border: 1px solid var(--color-white);
		border-width: 0 1px 1px;
		border-radius: 0;
		color: var(--color-white);
	}

.select2-container--default .select2-results .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results .select2-results__option[data-selected="true"] {
	background-color: var(--color-white);
	color: var(--color-black);
}

/* --- Checkout page styles --- */

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	max-width: 600px;
	margin: 2em auto;
}

form.woocommerce-checkout {
	--max-woo-width: 42rem;
}

form.woocommerce-checkout #wc-stripe-payment-request-wrapper {
		margin: 0 auto var(--spacing);
		max-width: var(--max-woo-width);
	}

form.woocommerce-checkout .col2-set {
		display: flex;
		margin-left: auto;
		margin-right: auto;
		max-width: var(--max-woo-width);
	}

form.woocommerce-checkout .col2-set .col-1 {
			width: 100%;
		}

form.woocommerce-checkout .col2-set .col-2 {
			display: none;
		}

form.woocommerce-checkout #order_review_heading,
	form.woocommerce-checkout .woocommerce-checkout-review-order {
		margin-left: auto;
		margin-right: auto;
		max-width: var(--max-woo-width);
	}

form.woocommerce-checkout .recurring-totals,
	form.woocommerce-checkout .recurring-totals + .cart-subtotal {
		display: none;
	}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	border-collapse: collapse;
}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table thead {
		display: none;
	}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
	.woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
		padding: 0.5em 0;
	}

.woocommerce table.shop_table.woocommerce-checkout-review-order-table th:nth-child(2), .woocommerce table.shop_table.woocommerce-checkout-review-order-table td:nth-child(2) {
			padding-left: 1rem;
		}

.wc_payment_method > label {
	font-size: var(--font-size-5);
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout main #payment ul.payment_methods {
	padding: 0 0 3rem;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout main #payment div.payment_box {
	background-color: transparent;
	color: var(--color-white);
	padding: 0;
}

#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout main #payment div.payment_box::before {
	display: none;
}

#add_payment_method #payment div.payment_box .form-row,
.woocommerce-cart #payment div.payment_box .form-row,
.woocommerce-checkout main #payment div.payment_box .form-row,
#add_payment_method #payment div.form-row,
.woocommerce-cart #payment div.form-row,
.woocommerce-checkout main #payment div.form-row {
	padding: 0;
}

thead,
.woocommerce-order-details tr:first-child,
.woocommerce table.shop_table.subscription_details tr:first-child {
	background: #333;
}

@media (max-width: 768px) {

	.woocommerce table.shop_table_responsive tr.order:nth-child(odd) {
		background: #333;
	}
}

/* --- Stripe field styles --- */

.payment_method_stripe .wc-stripe-elements-field,
	.payment_method_stripe .wc-stripe-iban-element-field {
		-webkit-appearance: none;
		        appearance: none;
		background-color: transparent;
		border: 1px solid var(--color-white);
		box-sizing: border-box;
		cursor: pointer;
		font-size: 1.25rem;
		font-size: var(--font-size-7);
		line-height: 1.35;
		padding: 0.5rem 1.25rem;
		transition: all var(--speed) ease;
	}

.woocommerce main form .form-row-first,
.woocommerce-page main form .form-row-first,
.woocommerce main form .form-row-last,
.woocommerce-page main form .form-row-last {
	width: 49%;
}

@media (max-width: 37.5em) {

.woocommerce main form .form-row-first,
.woocommerce-page main form .form-row-first,
.woocommerce main form .form-row-last,
.woocommerce-page main form .form-row-last {
		float: none;
		width: 100%;
}
	}

/*  --- Woo messages --- */

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	background: #333;
	color: var(--color-white);
}

/* --- Woo My Account --- */

.woocommerce-account .entry-content > .woocommerce, .woocommerce-checkout .entry-content > .woocommerce {
		margin: 0 auto;
		padding-top: var(--spacing-2);
		padding-bottom: var(--spacing-2);
		max-width: 70rem;
	}

.woocommerce-account .entry-content > .woocommerce h2, .woocommerce-checkout .entry-content > .woocommerce h2 {
			font-size: var(--font-size-3);
			margin: 1.75em 0 0.5em;
			text-align: center;
		}

.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul, .woocommerce-checkout .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul {
			line-height: 1.35;
			margin-bottom: var(--spacing-2);
			padding: 0;
		}

:is(.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul) li + li, :is(.woocommerce-checkout .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul) li + li {
				margin-top: 1rem;
			}

.woocommerce-account .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul .is-active a, .woocommerce-checkout .entry-content > .woocommerce .woocommerce-MyAccount-navigation ul .is-active a {
				text-decoration-color: transparent;
				font-weight: 700;
			}

.woocommerce-account .entry-content > .woocommerce .wc-item-meta, .woocommerce-checkout .entry-content > .woocommerce .wc-item-meta {
			padding-left: 0;
		}

.woocommerce-account .entry-content > .woocommerce .woocommerce-order, .woocommerce-checkout .entry-content > .woocommerce .woocommerce-order {
			margin-left: auto;
			margin-right: auto;
			max-width: 70rem;
		}

.woocommerce-account .entry-content > .woocommerce .woocommerce-order-overview, .woocommerce-checkout .entry-content > .woocommerce .woocommerce-order-overview {
			display: flex;
			flex-direction: column;
			gap: 1rem;
			margin: var(--spacing-2) 0;
			padding: 0;
		}

.woocommerce-account .entry-content > .woocommerce ul.order_details li, .woocommerce-checkout .entry-content > .woocommerce ul.order_details li {
			border: none;
		}

.woocommerce-billing-fields > h3 {
	margin-top: 0.5em;
}

/* --- Log in --- */

div.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
		align-items: center;
		cursor: pointer;
		display: flex;
		gap: 0.5em;
		margin: 1rem 0 3rem;
	}

/* --- Stripe inputs --- */

.payment_box.payment_method_stripe fieldset {
	border: none;
}

/*--------------------------------------------------------------
	# Admin bar
--------------------------------------------------------------*/

.admin-bar {
	--full-vp-height: calc(var(--viewport-height) - var(--admin-bar-height));
	--vp-top: var(--admin-bar-height);
}

/*--------------------------------------------------------------
	# Site header and components
--------------------------------------------------------------*/

.site-header-intersect {
	position: absolute;
}

@media (max-width: 37.5em) {

.site-header-intersect {
		height: 1rem !important;
}
	}

.site-header {
	background-color: var(--color-black);
	border-bottom: 1px solid currentcolor;
	position: fixed;
	top: var(--vp-top);
	width: 100%;
	z-index: 10;
}

.site-header::before {
		content: "";
		background-color: transparent;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		transition: background-color 0s ease;
	}

.home .site-header {
		background-color: transparent;
		transition: background-color var(--speed) ease;
	}

.single-project .site-header {
		background-color: rgba(0, 0, 0, 0.2);
		transition: background-color var(--speed) ease;
	}

.site-header.is-scrolled {
		background-color: var(--color-black);
	}

.nav-is-open .site-header {
		color: var(--color-black);
	}

.nav-is-open .site-header::before {
			content: "";
			background-color: var(--color-white);
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			transition: background-color var(--speed) ease;
		}

.nav-is-open .site-header ::selection {
			background-color: var(--color-white);
			color: var(--color-white);
		}

@media (max-width: 37.5em) {

		.admin-bar .site-header {
			position: sticky;
			top: 0;
		}
	}

.site-title {
	font-size: var(--font-size-7);
	font-weight: 600;
	letter-spacing: 0.25em;
	line-height: 1.35;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

@media (max-width: 48.8125em) {

.site-title {
		font-size: 1.125rem;
}
	}

@media (max-width: 37.5em) {

.site-title {
		font-size: 1rem;
}
	}

.site-title a {
		display: block;
		padding: 2.25rem var(--gutter);
		position: relative;
		-webkit-text-decoration: none;
		text-decoration: none;
		transition: opacity var(--speed) ease;
	}

@media (max-width: 48.8125em) {

.site-title a {
			padding: 1.5rem var(--gutter) 1.5rem calc(var(--gutter) + 2.75rem);
			text-align: left;
	}
		}

.site-title a:hover {
			opacity: 0.8;
		}

.site-title a::before {
			background-color: currentcolor;
			content: "";
			height: 100%;
			-webkit-mask-image: url(./images/illuminate-mark.svg);
			        mask-image: url(./images/illuminate-mark.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			position: absolute;
			top: 0;
			left: 1.75rem;
			width: 2.5rem;
		}

@media (max-width: 37.5em) {

.site-title a::before {
				width: 1.75rem;
		}
			}

.nav-is-open {
	overflow: hidden; /* Don't allow site content to scroll when menu is open */
}

/* --- Menu toggle --- */

button.menu-toggle {
	all: unset;
	aspect-ratio: 1 / 1;
	border-left: 1px solid var(--color-white);
	box-sizing: border-box;
	cursor: pointer;
	display: grid;
	height: 100%;
	place-content: center;
	position: absolute;
	top: 0;
	right: 0;
	transition: background-color var(--speed) ease-in-out;
}

.nav-is-open button.menu-toggle {
		border-color: var(--color-black);
	}

button.menu-toggle:hover,
	button.menu-toggle:focus-visible {
		background-color: var(--color-white);
	}

button.menu-toggle:hover .menu-toggle-image span, button.menu-toggle:focus-visible .menu-toggle-image span {
			background-color: var(--color-black);
		}

.nav-is-open button.menu-toggle:hover, .nav-is-open button.menu-toggle:focus-visible {
			background-color: var(--color-black);
		}

.nav-is-open button.menu-toggle:hover .menu-toggle-image span, .nav-is-open button.menu-toggle:focus-visible .menu-toggle-image span {
				background-color: var(--color-white);
			}

.menu-toggle-image {
	display: grid;
	height: 100%;
	place-content: center;
	width: 100%;
}

.menu-toggle-image span {
		background-color: var(--color-white);
		height: 1.5px;
		width: 28px;
		transition: transform var(--speed) ease-in-out;
	}

.menu-toggle-image span:first-child {
			transform: translateY(-3px);
		}

.menu-toggle-image span:last-child {
			transform: translateY(3px);
		}

.nav-is-open :is(.menu-toggle-image span) {
			background-color: var(--color-black);
		}

.nav-is-open :is(.menu-toggle-image span):first-child {
				transform: rotate(45deg) translateY(0.5px);
			}

.nav-is-open :is(.menu-toggle-image span):last-child {
				transform: rotate(-45deg) translateY(-1px);
			}

/* --- Navigations --- */

.navigation-wrapper {
	background-color: transparent;
	display: none;
	grid-template:
		"b" 1fr
		"d" max-content
		"c" max-content
		/ 1fr;
	height: calc(var(--full-vp-height) - 100%);
	line-height: 1.2;
	overflow-x: auto;
	position: absolute;
	top: calc(100% + 1px); /* 1px for the border bottom on site-header */
	width: 100%;


}

@media (min-width: 60.001em) {

.navigation-wrapper {
		grid-template:
			"b a" 1fr
			"d c" max-content
			/ 1fr 1fr;


}
	}

.nav-is-open .navigation-wrapper {
		animation-delay: 0.001s;
		animation-duration: var(--speed);
		animation-fill-mode: forwards;
		animation-name: bgFadeIn;
		background-color: transparent;
		display: grid;
	}

.nav-menu {
	padding: 0;
}

/* --- Site navigation --- */

.site-navigation {
	display: grid;
	font-size: var(--font-size-2);
	font-weight: 300;
	grid-area: b;
	padding: 3.5rem 0;
}

@media (min-width: 60.001em) {

.site-navigation {
		place-content: center;
}
	}

.site-navigation .nav-menu {
		margin: 0;
		text-align: center;
	}

.site-navigation li + li {
		margin-top: 4vh;
	}

@media (min-width: 60.001em) {

		.site-navigation .show-item-on-mobile + li {
			margin-top: 0;
		}
	}

/* animate underline on hover */

.site-navigation a {
		display: inline-block;
		position: relative;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.site-navigation a::after {
			background-color: var(--color-black);
			content: "";
			height: 1.5px;
			opacity: 0;
			position: absolute;
			bottom: 0.12em;
			left: 0;
			transform: scaleX(0);
			transform-origin: bottom right;
			transition: transform 0s ease-in-out 0.5s, opacity var(--speed) ease-in-out;
			width: 100%;
		}

.site-navigation a:hover::after {
			opacity: 1;
			transform: scaleX(1);
			transform-origin: bottom left;
			transition: transform 0.35s ease-in-out, opacity var(--speed) ease-in-out;
		}

.nav-is-open .site-navigation li {
	animation-duration: var(--speed-slower);
	animation-fill-mode: forwards;
	animation-name: fadeAndSlideUp;
	animation-timing-function: ease-out;
	opacity: 0;
	padding-top: 0;
}

.nav-is-open .site-navigation li:nth-child(2) {
		animation-delay: calc(var(--speed-slower) * 0.5);
	}

.nav-is-open .site-navigation li:nth-child(3) {
		animation-delay: calc(var(--speed-slower) * 0.7);
	}

.nav-is-open .site-navigation li:nth-child(4) {
		animation-delay: calc(var(--speed-slower) * 0.9);
	}

.nav-is-open .site-navigation li:nth-child(5) {
		animation-delay: calc(var(--speed-slower) * 1.1);
	}

.nav-is-open .site-navigation li:nth-child(6) {
		animation-delay: calc(var(--speed-slower) * 1.3);
	}

.nav-is-open .site-navigation li:nth-child(7) {
		animation-delay: calc(var(--speed-slower) * 1.5);
	}

.nav-is-open .site-navigation li:nth-child(8) {
		animation-delay: calc(var(--speed-slower) * 1.7);
	}

/* --- Animation main-nav items --- */

@keyframes bgFadeIn {

	0% {
		background-color: transparent;
	}

	100% {
		background-color: var(--color-white);
	}
}

@keyframes fadeAndSlideUp {

	0% {
		opacity: 0;
		padding-top: 0;
		transform: translateY(0.5rem);
	}

	100% {
		opacity: 1;
		padding-top: 0;
		transform: translateY(0);
	}
}

.social-navigation,
.secondary-navigation {
	border-top: 1px solid currentcolor;
	padding: 2.5rem 0.5em;
}

.social-navigation .nav-menu, .secondary-navigation .nav-menu {
		display: flex;
		flex-wrap: wrap;
		gap: 1.5rem 2rem;
		justify-content: center;
		line-height: 1;
		margin: 0;
	}

@media (max-width: 60em) {

.social-navigation .nav-menu, .secondary-navigation .nav-menu {
			gap: 1.5rem;
	}
		}

.social-navigation {
	grid-area: c;
}

@media (min-width: 60.001em) {

.social-navigation {
		border-left: 1px solid currentcolor;
}
	}

.social-navigation a {
		transition: color var(--speed) ease;
	}

.social-navigation a:hover {
			color: var(--color-gray);
		}

.secondary-navigation {
	font-size: 1.5rem;
	grid-area: d;
}

@media (max-width: 60em) {

.secondary-navigation .nav-menu {
			flex-direction: column;
			text-align: center;
	}
		}

.secondary-navigation a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.secondary-navigation a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-thickness: 1px;
			text-underline-offset: 0.1em;
		}

/* --- Widget within navigation --- */

.navigtion-sidebar {
	display: none;
	grid-area: a;
}

@media (min-width: 60.001em) {

.navigtion-sidebar {
		border-left: 1px solid currentcolor;
		display: grid;
		place-content: center;
}
	}

.navigtion-sidebar .widget_block {
		margin-top: 0;
		margin-bottom: 0;
	}

.navigtion-sidebar .widget_block > * {
			margin-top: 0;
			margin-bottom: 0;
		}

:is(.navigtion-sidebar .widget_block) + .widget_block {
			margin-top: 1.75rem;
		}

/*--------------------------------------------------------------
	# Site header and components
--------------------------------------------------------------*/

.site-main {
	padding: var(--site-header-height) 0 0;
}

/*--------------------------------------------------------------
	# Site footer
--------------------------------------------------------------*/

.site-footer {
	border-top: 1px solid var(--color-white);
	display: flex;
	flex-direction: column;
	margin-top: -1px;
	padding-bottom: var(--spacing);
}

.site-footer > * {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

.site-footer .footer-follow {
		border-bottom: 1px solid var(--color-white);
		padding-top: 8.75rem;
		padding-bottom: 5rem;
	}

@media (max-width: 48.8125em) {

.site-footer .footer-follow {
			padding-top: 6rem;
			padding-bottom: 2.25rem;
	}
		}

.site-footer .footer-content {
		gap: var(--gutter);
		padding-top: 6rem;
		padding-bottom: var(--gutter);
	}

@media (max-width: 48.8125em) {

.site-footer .footer-content {
			padding-top: 2rem;
	}
		}

.site-footer .footer-content > .wp-block-column > *:first-child {
				margin-top: 0;
			}

.site-footer .footer-content > .wp-block-column:first-child {
				flex: 1;
			}

@media (min-width: 75.001em) {

.site-footer .footer-content > .wp-block-column:last-child {
					flex: 42%;
					flex-grow: 0;
			}
				}

.site-footer .footer-content > .wp-block-column.footer-navs {
				flex: 100%;
				max-width: max-content;
			}

@media (min-width: 75.001em) {

.site-footer .footer-content > .wp-block-column.footer-navs {
					flex: 1.5;
					max-width: none;
			}
				}

.site-footer .footer-content > .wp-block-column.footer-navs .wp-block-columns {
					display: flex;
					gap: 0 max(5vw, 3.75rem);
				}

@media (min-width: 48.8126em) {

.site-footer .footer-content > .wp-block-column.footer-navs .wp-block-columns {
						justify-content: center;
				}
					}

.site-footer .footer-content > .wp-block-column.footer-navs .wp-block-columns > * {
						max-width: max-content;
					}

.site-footer .footer-content > .wp-block-column.footer-navs a:hover {
					-webkit-text-decoration: underline;
					text-decoration: underline;
					text-decoration-thickness: 1px;
					text-underline-offset: 0.1em;
				}

@media (max-width: 48.8125em) {

.site-footer ul.wp-block-social-links {
			justify-content: flex-start;
	}
		}

.site-footer ul.menu {
		list-style: none;
		padding: 0;
		column-count: 2;
		column-gap: var(--spacing);
	}

.site-footer ul.menu a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.site-footer ul.menu a:hover,
			.site-footer ul.menu a:focus {
				-webkit-text-decoration: underline;
				text-decoration: underline;
			}

/* --- Remove footer child padding from carousel --- */

.site-footer .jp-carousel-overlay {
		padding-left: 0;
		padding-right: 0;
	}

/* --- Remove CAPTCHA visibility --- */

.grecaptcha-badge {
	visibility: hidden;
}

/*--------------------------------------------------------------
	# Content components
--------------------------------------------------------------*/

/* --- Styles for every root block in site-content --- */

.entry-content > *, .archive-content > *, .wp-block-post-content > * {
		padding-left: var(--gutter);
		padding-right: var(--gutter);

	}

.entry-content > *:last-child, .archive-content > *:last-child, .wp-block-post-content > *:last-child {
			margin-bottom: var(--spacing-150);
		}

.entry-content > .wp-block-columns,
	.archive-content > .wp-block-columns,
	.wp-block-post-content > .wp-block-columns,
	.entry-content > .wp-block-group,
	.archive-content > .wp-block-group,
	.wp-block-post-content > .wp-block-group,
	.entry-content > .wp-block-media-text,
	.archive-content > .wp-block-media-text,
	.wp-block-post-content > .wp-block-media-text,
	.entry-content > .wp-block-cover,
	.archive-content > .wp-block-cover,
	.wp-block-post-content > .wp-block-cover,
	.entry-content > .wp-block-query,
	.archive-content > .wp-block-query,
	.wp-block-post-content > .wp-block-query,
	.entry-content > .wp-block-illuminate-tab-group,
	.archive-content > .wp-block-illuminate-tab-group,
	.wp-block-post-content > .wp-block-illuminate-tab-group,
	.entry-content > .wp-block-post-featured-image,
	.archive-content > .wp-block-post-featured-image,
	.wp-block-post-content > .wp-block-post-featured-image {
		border-bottom: 1px solid var(--color-white);
	}

.entry-content > .wp-block-columns:last-child, .archive-content > .wp-block-columns:last-child, .wp-block-post-content > .wp-block-columns:last-child, .entry-content > .wp-block-group:last-child, .archive-content > .wp-block-group:last-child, .wp-block-post-content > .wp-block-group:last-child, .entry-content > .wp-block-media-text:last-child, .archive-content > .wp-block-media-text:last-child, .wp-block-post-content > .wp-block-media-text:last-child, .entry-content > .wp-block-cover:last-child, .archive-content > .wp-block-cover:last-child, .wp-block-post-content > .wp-block-cover:last-child, .entry-content > .wp-block-query:last-child, .archive-content > .wp-block-query:last-child, .wp-block-post-content > .wp-block-query:last-child, .entry-content > .wp-block-illuminate-tab-group:last-child, .archive-content > .wp-block-illuminate-tab-group:last-child, .wp-block-post-content > .wp-block-illuminate-tab-group:last-child, .entry-content > .wp-block-post-featured-image:last-child, .archive-content > .wp-block-post-featured-image:last-child, .wp-block-post-content > .wp-block-post-featured-image:last-child {
			margin-bottom: 0;
		}

/*--- wp-block-button ---*/

.wp-block-button__link,
.wp-block-read-more,
.button,
.btn {
	transition: all var(--speed) ease;
}

.navigation-wrapper .wp-block-button__link, .navigation-wrapper .wp-block-read-more, .navigation-wrapper .button, .navigation-wrapper .btn {
		border-color: var(--color-black);
		color: var(--color-black);
	}

.navigation-wrapper .wp-block-button__link:hover, .navigation-wrapper .wp-block-read-more:hover, .navigation-wrapper .button:hover, .navigation-wrapper .btn:hover {
			background-color: var(--color-black);
			color: var(--color-white);
		}

.is-style-small .wp-block-button__link, .is-style-small .wp-block-read-more, .is-style-small .button, .is-style-small .btn {
		font-size: var(--font-size-8);
	}

.is-style-medium .wp-block-button__link, .is-style-medium .wp-block-read-more, .is-style-medium .button, .is-style-medium .btn {
		font-size: var(--font-size-6);
	}

@media (max-width: 48.8125em) {

.is-style-medium .wp-block-button__link, .is-style-medium .wp-block-read-more, .is-style-medium .button, .is-style-medium .btn {
			font-size: var(--font-size-7);
	}
		}

.is-style-large .wp-block-button__link, .is-style-large .wp-block-read-more, .is-style-large .button, .is-style-large .btn {
		border-width: 1.5px;
		font-size: var(--font-size-5);
	}

@media (max-width: 48.8125em) {

.is-style-large .wp-block-button__link, .is-style-large .wp-block-read-more, .is-style-large .button, .is-style-large .btn {
			font-size: var(--font-size-7);
	}
		}

/* --- wp-block-list --- */

.is-style-not-bulleted {
	list-style: none;
	padding-left: 0;
}

/* --- wp-block-columns --- */

.wp-block-columns.is-style-gutters {
		gap: var(--gutter);
	}

.wp-block-columns.is-style-border {
		background-color: var(--color-white);
		gap: 1px;
		padding-left: 0;
		padding-right: 0;
	}

.wp-block-columns.is-style-border > .wp-block-column {
			background-color: var(--color-black);
		}

.wp-block-columns.is-style-border-and-pad {
		background-color: var(--color-white);
		gap: 1px;
		padding-left: 0;
		padding-right: 0;
	}

.wp-block-columns.is-style-border-and-pad > .wp-block-column {
			background-color: var(--color-black);
			display: flex;
			flex-direction: column;
			padding: var(--gutter);
		}

.wp-block-columns.is-style-border-and-pad > .wp-block-column h2 {
				font-size: var(--font-size-5);
				margin-bottom: 0;
			}

.wp-block-columns.is-style-border-and-pad > .wp-block-column > *:first-child {
				margin-top: 0;
			}

.wp-block-columns.is-style-border-and-pad > .wp-block-column > *:nth-last-child(2) {
				margin-bottom: var(--spacing-2);
			}

@media (max-width: 48.8125em) {

.wp-block-columns.is-style-border-and-pad > .wp-block-column > *:nth-last-child(2) {
					margin-bottom: var(--spacing);
			}
				}

.wp-block-columns.is-style-border-and-pad > .wp-block-column > *:last-child {
				margin-top: auto;
			}

/* --- wp-block-column --- */

.is-style-add-pad {
	padding: var(--spacing-2) var(--gutter);
}

.is-style-add-pad > *:first-child {
		margin-top: 0;
	}

/* --- Media Text --- */

.is-style-center-border.has-media-on-the-right .wp-block-media-text__media {
			border-left: 1px solid var(--color-white);
			border-right: none;
		}

.is-style-center-border .wp-block-media-text__media {
		border-right: 1px solid var(--color-white);
	}

.is-style-overlap {
	min-height: 80vh;
}

@media (max-width: 37.5em) {

.is-style-overlap {
		display: flex;
		flex-direction: column;
}
	}

.is-style-overlap .wp-block-media-text__media {
		position: relative;
	}

@media (min-width: 48.8126em) {

.is-style-overlap .wp-block-media-text__media {
			margin-right: -20vw;
			z-index: -1;
	}
		}

.is-style-overlap .wp-block-media-text__media::after {
			content: "";
			background: radial-gradient(97.05% 62.8% at 50% 37.2%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.237263) 66.44%, #000 100%), linear-gradient(-90deg, #000 0%, rgba(0, 0, 0, 0) 33.55%);
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

.is-style-overlap.has-media-on-the-right .wp-block-media-text__media {
			position: relative;
		}

@media (min-width: 48.8126em) {

.is-style-overlap.has-media-on-the-right .wp-block-media-text__media {
				margin-left: -20vw;
				margin-right: 0;
				z-index: -1;
		}
			}

.is-style-overlap.has-media-on-the-right .wp-block-media-text__media::after {
				content: "";
				background: radial-gradient(97.05% 62.8% at 50% 37.2%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.237263) 66.44%, #000 100%), linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0) 33.55%);
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}

@media (max-width: 37.5em) {

.is-style-overlap.is-image-fill .wp-block-media-text__media img {
			all: unset;
			height: auto;
			position: relative;
			width: 100%;
	}
		}

.is-style-overlap .wp-block-media-text__content {
		padding: var(--gutter);
	}

@media (min-width: 48.8126em) {

.is-style-overlap .wp-block-media-text__content {
			padding-bottom: var(--spacing-3);
	}
		}

@media (max-width: 37.5em) {

.is-style-overlap .wp-block-media-text__content {
			order: -1;
	}
		}

/*--- wp-block-group ---*/

.is-style-location,
.is-style-time,
.wp-block-illuminate-address,
.wp-block-simple-events-event-info,
.se-event .wp-block-post-date {
	padding-left: 2.5rem;
	position: relative;
	margin-bottom: 2.5rem;
}

:is(.is-style-location,.is-style-time,.wp-block-illuminate-address,.wp-block-simple-events-event-info,.se-event .wp-block-post-date)::before {
		background-color: var(--color-white);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		content: "";
		height: 1.25em;
		position: absolute;
		top: 0.2em;
		left: 0;
		width: 1.25em;
		transition: all var(--speed) ease;
	}

:is(.is-style-location,.is-style-time,.wp-block-illuminate-address,.wp-block-simple-events-event-info,.se-event .wp-block-post-date) > *:first-child {
		margin-top: 0;
	}

.wp-block-illuminate-address::before {
		-webkit-mask-image: url(./images/icon-location-pin.svg);
		        mask-image: url(./images/icon-location-pin.svg);
		top: 0.1em;
	}

.wp-block-illuminate-address > p {
		margin: 0.2em 0 0;
	}

.wp-block-illuminate-address .venue {
		font-weight: 600;
		line-height: 1.35;
		margin: 0;
	}

.wp-block-illuminate-address .venue a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.wp-block-illuminate-address .venue a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 0.1em;
			text-decoration-thickness: 1px;
		}

:is(.is-style-time,.wp-block-simple-events-event-info,.se-event .wp-block-post-date)::before {
		-webkit-mask-image: url(./images/icon-clock.svg);
		        mask-image: url(./images/icon-clock.svg);
	}

/* --- is-style-tiles // gallery block --- */

figure.wp-block-gallery.is-style-tiles {
	background-color: var(--color-white);
	gap: 1px;
	margin: 0;
	width: 100%;
}

.tab-contents figure.wp-block-gallery.is-style-tiles {
		height: 100%;
	}

.wp-block-column figure.wp-block-gallery.is-style-tiles:first-child {
		height: 100%;
	}

figure.wp-block-gallery.is-style-tiles figure {
		margin: 0;
	}

/*----- is-style-hero // Cover block -----*/

.is-style-hero {
	min-height: calc(var(--full-vp-height) + 1px);
	margin-top: calc(var(--site-header-height) * -1);
	overflow: clip;
	padding-bottom: 6rem;
	position: relative;
}

@media (max-width: 48.8125em) {

.is-style-hero {
		padding-bottom: 4.5rem;
}
	}

.is-style-hero .wp-block-cover__inner-container {
		max-width: 80rem;
	}

.is-style-hero .wp-block-cover__inner-container::before {
			background-image: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0.84) 28.93%, rgba(0, 0, 0, 0) 100%);
			content: "";
			height: 200%;
			position: absolute;
			left: -50%;
			bottom: -100%;
			width: 200%;
			z-index: -1;
		}

.is-style-hero .wp-block-button__link {
		color: var(--color-white);
	}

.is-style-hero .wp-block-button__link:hover {
			color: var(--color-black);
		}

/* --- Background video // embed, video block style --- */

.is-style-background-video {
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -1;
}

.is-style-background-video .wp-block-embed__wrapper {
		height: 100%;
	}

.is-style-background-video .wp-block-embed__wrapper iframe {
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

/* --- Video block --- */

.is-style-background-video video {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

.is-style-full-width-embed {
	margin-left: calc(var(--gutter) * -1);
	margin-right: calc(var(--gutter) * -1);
}

.is-style-full-width-embed .wp-block-embed__wrapper {
		display: flex;
	}

/* -- Date Box --- */

.wp-block-illuminate-event-date-box {
	border-radius: 1rem;
	height: max-content;
	text-align: center;
	width: 7.125rem;
}

@media (max-width: 48.8125em) {

.wp-block-illuminate-event-date-box {
		border-radius: 0.75rem;
		width: 5.25rem;
}
	}

@media (max-width: 37.5em) {

.wp-block-illuminate-event-date-box {
		width: 4.5rem;
}
	}

.wp-block-illuminate-event-date-box.spans-day .date {
		font-size: 90%;
		line-height: 1.45;
	}

.wp-block-illuminate-event-date-box.spans-month .date + .month::before {
		background-color: currentcolor;
		content: "";
		display: block;
		height: 1px;
		margin: 0.52em 0;
		width: 100%;
	}

/* --- Newsletter form --- */

.wp-block-illuminate-newsletter h2 {
		font-size: var(--font-size-5);
		letter-spacing: var(--letter-spacing);
		margin-top: 0;
		margin-bottom: 2.5rem;
	}

@media (max-width: 48.8125em) {

.wp-block-illuminate-newsletter h2 {
			font-size: var(--font-size-6);
			margin-bottom: 2rem;
	}
		}

/* --- Project section // homepage --- */

@media (min-width: 48.8126em) {

.is-project-section {
		aspect-ratio: 302 / 112;
}
	}

.is-project-section::before {
		background-image: linear-gradient(25deg, rgba(0, 0, 0, 0.9) 16%, rgba(0, 0, 0, 0) 66.5%);
		content: "";
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
	}

.is-project-section .wp-block-cover__image-background {
		z-index: -1;
	}

.is-project-section a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.is-project-section a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-decoration-thickness: 1px;
			text-underline-offset: 0.1em;
		}

/* --- Featured post cards --- */

.feature-card {
	aspect-ratio: 1 / 1;
	margin-top: 0;
}

@media (min-width: 60.001em) {

.feature-card {
		aspect-ratio: 151 / 112;
}
	}

.feature-card a {
		display: flex;
		flex-direction: column;
		height: 100%;
		position: relative;
		-webkit-text-decoration: none;
		text-decoration: none;
		width: 100%;
	}

.feature-card .feature-card-image {
		height: 100%;
		margin: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}

.feature-card .feature-card-image::before,
		.feature-card .feature-card-image::after {
			background-image: linear-gradient(25deg, rgba(0, 0, 0, 0.9) 16%, rgba(0, 0, 0, 0) 66.5%);
			content: "";
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
		}

.feature-card .feature-card-image::before {
			background-image: linear-gradient(25deg, rgba(0, 0, 0, 0.225) 16%, rgba(0, 0, 0, 0.25) 66.5%);
			opacity: 0;
			transition: opacity var(--speed-slowest) ease;
			z-index: 1;
		}

.feature-card .feature-card-image img {
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

.feature-card .post-title {
		font-size: var(--font-size-4);
		line-height: 1.3;
		margin: 0;
	}

@media (max-width: 48.8125em) {

.feature-card .post-title {
			font-size: var(--font-size-6);
	}
		}

.feature-card .event-date {
		align-items: center;
		border: 1px solid var(--color-white);
		border-radius: 1rem;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		font-size: var(--font-size-6);
		line-height: 1.2;
		order: -1;
		padding: 0.63em 0;
		text-transform: uppercase;
		transition: all var(--speed) ease;
		width: 5.125rem;
	}

@media (max-width: 48.8125em) {

.feature-card .event-date {
			border-radius: 0.75rem;
			font-size: var(--font-size-7);
			width: 4.5rem;
	}
		}

.feature-card .card-cta {
		margin-top: 2rem;
	}

@media (max-width: 48.8125em) {

.feature-card .card-cta {
			font-size: var(--font-size-8);
	}
		}

.feature-card:hover .feature-card-image::before {
			opacity: 1;
		}

.feature-card:hover .event-date,
		.feature-card:hover .wp-block-button__link {
			background-color: var(--color-white);
			color: var(--color-black);
		}

.feature-card:hover .wp-block-button__link {
			border-color: var(--color-white);
		}

.feature-card-content {
	margin: auto var(--gutter) 3.5rem;
	position: relative;
	z-index: 1;
}

@media (max-width: 48.8125em) {

.feature-card-content {
		margin-bottom: 2.25rem;
}
	}

@media (min-width: 75.001em) {

.feature-card-content {
		max-width: 56%;
}
	}

.event-feature .feature-card-content {
		align-items: flex-start;
		display: flex;
		gap: 2rem;
	}

@media (max-width: 48.8125em) {

.event-feature .feature-card-content {
			gap: 1rem;
	}
		}

/* --- Social Links block --- */

@media (max-width: 48.8125em) {

.wp-block-social-links {
		justify-content: flex-start;
		margin-top: 2rem;
}
	}

.wp-block-social-links .wp-block-social-link:hover {
			transform: none;
		}

.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor {
			transition: color var(--speed) ease;
		}

.wp-block-social-links .wp-block-social-link .wp-block-social-link-anchor:hover {
				color: var(--color-gray);
			}

.is-horizontal {
	display: flex;
	gap: 1.25rem;
}

/* --- Tabs block --- */

.wp-block-illuminate-tab {
	display: none;
}

.wp-block-illuminate-tab.open {
		display: block;
	}

.wp-block-illuminate-tab-group .tab-headings {
		border-bottom: 1px solid var(--color-white);
		display: flex;
		gap: 0.5rem;
		margin: 0 calc(var(--gutter) * -1);
		overflow-x: auto;
		padding: 2rem var(--gutter);
		position: relative;
	}

.wp-block-illuminate-tab-group .tab-headings button {
			background: none;
			color: var(--color-white);
			border: 1px solid transparent;
			border-radius: 9999px;
			cursor: pointer;
			font-size: var(--font-size-6);
			margin: 0;
			padding: 0.75rem 2rem;
		}

.wp-block-illuminate-tab-group .tab-headings button:hover {
				border-color: currentcolor;
			}

.wp-block-illuminate-tab-group .tab-headings button.current-tab {
				background-color: var(--color-white);
				border-color: var(--color-white);
				color: var(--color-black);
			}

.wp-block-illuminate-tab-group .tab-contents {
		margin: 0;
		padding: 0;
	}

.wp-block-illuminate-tab-group .tab-contents h3 {
			font-size: var(--font-size-5);
		}

.wp-block-illuminate-tab-group .wp-block-illuminate-tab > * > *:first-child {
			margin-top: var(--spacing-2);
		}

.wp-block-illuminate-tab-group .wp-block-illuminate-tab > * > *:last-child {
			margin-bottom: var(--spacing-3);
		}

.wp-block-illuminate-tab-group .wp-block-illuminate-tab > * .is-style-full-width-embed {
			margin-top: 0;
			margin-bottom: 0;
		}

.wp-block-illuminate-tab-group figure.wp-block-gallery.is-style-tiles {
		margin: 0 calc(var(--gutter) * -1);
		width: 100vw;
	}

/* --- Category block --- */

.taxonomy-category,
.wp-block-post-terms {
	display: flex;
	flex-shrink: 0;
	gap: 1rem;
	overflow-x: auto;
}

@media (min-width: 37.501em) {

.taxonomy-category,
.wp-block-post-terms {
		flex-wrap: wrap;
}
	}

.taxonomy-category a, .wp-block-post-terms a {
		transition: all var(--speed) ease;
		white-space: nowrap;
	}

.taxonomy-category a::before, .wp-block-post-terms a::before {
			content: "# ";
		}

.taxonomy-category .wp-block-post-terms__separator, .wp-block-post-terms .wp-block-post-terms__separator {
		display: none;
	}

/* --- Stacked page hero --- */

.is-style-stacked-hero {
	border-bottom: 1px solid var(--color-white);
	padding-top: var(--spacing-3);

}

.is-style-stacked-hero h1 {
		margin: 0;
	}

.is-style-stacked-hero > .wp-block-columns {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

.is-style-stacked-hero > .wp-block-columns p:first-of-type {
			margin-top: 3rem;
		}

.is-style-stacked-hero .header-column {
		max-width: calc(70% + var(--gutter));
	}

@media (min-width: 60.001em) {

.is-style-stacked-hero .header-column {
			max-width: calc(55% + var(--gutter));
	}
		}

@media (max-width: 37.5em) {

.is-style-stacked-hero .header-column {
			max-width: 100%;
	}
		}

.is-style-stacked-hero > .wp-block-image {
		margin: -20vw 0 0;
		position: relative;
		z-index: -1;
	}

.is-style-stacked-hero > .wp-block-image::after {
			background: linear-gradient(360deg, rgba(0, 0, 0, 0) 61.04%, #000 100%);
			content: "";
			height: 100%;
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
		}

.error404 :is(.is-style-stacked-hero > .wp-block-image) {
			margin-top: -10vw;
		}

@media (max-width: 37.5em) {

.is-style-stacked-hero > .wp-block-image {
			margin-top: 0;
	}

			.error404 :is(.is-style-stacked-hero > .wp-block-image) {
				margin-top: -10vw;
			}
		}

/* --- Press Source // Press post type --- */

.wp-block-illuminate-press-source {
	align-items: center;
	display: flex;
	font-size: var(--font-size-8);
	margin-top: auto;
}

.wp-block-illuminate-press-source::after {
		background-color: currentcolor;
		content: "";
		height: 0.75em;
		margin: 2px 0 0 0.75rem;
		-webkit-mask-image: url(./images/icon-external-arrow.svg);
		        mask-image: url(./images/icon-external-arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		width: 0.75em;
	}

.wp-block-happyprime-show-hide-section summary {
		cursor: pointer;
		list-style: none;
		padding-right: 4rem;
		position: relative;
	}

.wp-block-happyprime-show-hide-section summary::before,
		.wp-block-happyprime-show-hide-section summary::after {
			content: "";
			height: 3rem;
			position: absolute;
			right: 0;
			top: -0.5rem;
			width: 3rem;
		}

.wp-block-happyprime-show-hide-section summary::before {
			background-color: transparent;
			border-radius: 200px;
			transition: background-color var(--speed) ease;
		}

.wp-block-happyprime-show-hide-section summary::after {
			background-color: currentcolor;
			-webkit-mask-image: url(./images/icon-plus.svg);
			        mask-image: url(./images/icon-plus.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: 1.375rem;
			        mask-size: 1.375rem;
			transition: transform var(--speed) ease, background-color var(--speed) ease;
		}

.wp-block-happyprime-show-hide-section summary:hover::before {
			background-color: var(--color-white);
		}

.wp-block-happyprime-show-hide-section summary:hover::after {
			color: var(--color-black);
		}

.wp-block-happyprime-show-hide-section[open] summary::after {
			transform: rotate(-45deg);
		}

/* --- Jetpack sharing icons --- */

.wp-block-illuminate-jetpack-sharing {
	border: 1px solid transparent;
}

.event-share-cats .wp-block-illuminate-jetpack-sharing {
		margin-top: 0.75rem;
		margin-bottom: 3.5rem;
	}

.wp-block-illuminate-jetpack-sharing ul {
		align-items: center;
		display: flex;
		gap: 1.25rem;
		justify-content: center;
		list-style: none;
		margin: 0;
		padding: 0;
		position: relative;
	}

.wp-block-illuminate-jetpack-sharing ul svg {
			fill: var(--color-white);
		}

.wp-block-illuminate-jetpack-sharing ul svg:hover {
				fill: var(--color-gray);
			}

.wp-block-illuminate-jetpack-sharing .share-copy-link-notice {
		display: none;
	}

.wp-block-illuminate-jetpack-sharing .share-copy-link-notice.display {
			animation-delay: 3s;
			animation-duration: var(--speed);
			animation-fill-mode: forwards;
			animation-name: elementFadeOut;
			border: 1px solid var(--color-white-30);
			background-color: var(--color-white-15);
			color: var(--color-white);
			display: block;
			font-size: 0.75rem;
			padding: 0 0.25em;
			position: absolute;
			top: 0;
			transform: translateY(100%);
			left: 0;
			opacity: 1;
			width: 100%;
		}

/* --- Share slideout version --- */

.wp-block-illuminate-jetpack-sharing .share-toggle {
		background-color: transparent;
		height: 3rem;
		margin-right: -1px;
		order: 1;
		position: relative;
		width: 3rem;
		transition: background-color var(--speed) ease;
	}

.wp-block-illuminate-jetpack-sharing .share-toggle::after {
			content: "";
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			transition: background-color var(--speed) ease;

			background-color: var(--color-white);
			-webkit-mask-image: url(./images/icon-share.svg);
			        mask-image: url(./images/icon-share.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: 1.5rem;
			        mask-size: 1.5rem;
		}

.wp-block-illuminate-jetpack-sharing .share-toggle:hover {
			background-color: var(--color-white);
		}

.wp-block-illuminate-jetpack-sharing .share-toggle:hover::after {
				background-color: var(--color-black);
			}

.wp-block-illuminate-jetpack-sharing .share-toggle[aria-expanded="true"]::after {
			-webkit-mask-image: url(./images/icon-close.svg);
			        mask-image: url(./images/icon-close.svg);
		}

.wp-block-illuminate-jetpack-sharing.is-expanded {
		background-color: var(--color-black);
		border-color: var(--color-white);
		border-radius: 200px;
		display: flex;
	}

.wp-block-illuminate-jetpack-sharing.is-expanded > div {
			align-items: center;
			display: flex;
			gap: 1rem;
			margin-right: var(--spacing-050);
			padding-left: 1.5rem;
		}

.wp-block-illuminate-jetpack-sharing.is-expanded > div span {
				font-size: var(--font-size-8);
			}

.wp-block-illuminate-jetpack-sharing.is-expanded ul li a {
			display: flex;
		}

/* --- Animation to fade out share copy notice --- */

@keyframes elementFadeOut {

	0% {
		opacity: 1;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

/*--- Team51 Donate block ---*/

.wp-block-team51-donations-block {
	margin-top: var(--spacing);
	margin-bottom: var(--spacing-3);
}

.wp-block-team51-donations-block.is-layout-extended {
		--active-button-color: var(--color-black);
		--active-button-bg-color: var(--color-white);
		--t51-vertical-gap: var(--spacing-050);
		--t51custom--column-gap: var(--spacing-050);
		--t51custom--row-gap: var(--spacing-050);
	}

:is(.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts) label > input + .wp-element-button, :is(.wp-block-team51-donations-block.is-layout-extended .team51-donations__intervals) label > input + .wp-element-button {
				border-radius: 100px !important;
			}

.wp-block-team51-donations-block.is-layout-extended fieldset {
			margin: 0;
		}

.wp-block-team51-donations-block fieldset label {
		margin-top: 0;
	}

.wp-block-team51-donations-block label {
		font-size: var(--font-size-6);
		line-height: 1.35;
	}

@media (max-width: 75em) {

.wp-block-team51-donations-block label {
			font-size: var(--font-size-7);
	}
		}

@media (max-width: 37.5em) {

.wp-block-team51-donations-block label {
			font-size: var(--font-size-8);
	}
		}

.wp-block-team51-donations-block label .wp-element-button {
			padding: 0.75rem;
		}

.wp-block-team51-donations-block .team51-donations__intervals {
		border: 1px solid var(--color-white);
		border-radius: 100px;
		margin-top: 0;
	}

@media (max-width: 48.8125em) {

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts {
			grid-template-columns: 1fr 1fr;
	}
		}

@media (min-width: 60.001em) and (max-width: 75em) {

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts {
			grid-template-columns: 1fr 1fr;
	}
		}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts label .wp-element-button {
				border: 1px solid var(--color-white);
				border-radius: 100px;
				line-height: 1.1;
				padding-left: calc(2.375rem + 0.75rem);
				position: relative;
			}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts label .wp-element-button::after {
					border: 1px solid var(--color-white);
					border-radius: 100%;
					content: "";
					height: 2rem;
					flex-grow: 0;
					flex-shrink: 0;
					position: absolute;
					top: 50%;
					left: 0.75rem;
					transform: translateY(-50%);
					width: 2rem;
				}

:is(.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts label) input:checked + .wp-element-button::after {
				background-color: var(--color-black);
				background-image: url(./images/icon-check.svg);
				background-repeat: no-repeat;
				background-size: 1.25rem;
				background-position: center;
			}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label {
			grid-column: 1 / -1;
			position: relative;
		}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .wp-element-button {
				color: var(--color-gray);
				justify-content: left;
				padding-left: calc(2.375rem + 0.65em);
			}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .wp-element-button::before {
					content: "$ \00a0";
					color: var(--color-white);
				}

:is(.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label) > input:checked + .wp-element-button {
				clip: auto;
				-webkit-clip-path: none;
				        clip-path: none;
				border: 1px solid var(--color-white);
				border-radius: 100px;
				height: auto;
				margin: 0;
				padding: 0.75rem 0.75rem 0.75rem calc(2.375rem + 0.75rem);
				position: relative;
				width: 100%;
			}

:is(:is(.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label) > input:checked + .wp-element-button) ~ .team51-donations-input-group {
					display: flex;
				}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .team51-donations-input-group {
				background-color: var(--color-white);
				line-height: 1.35;
				margin-left: calc(1.625rem + 0.65em + 1px);
				position: absolute;
				top: calc(0.75rem + 1px);
				left: 0.75rem;
				width: calc(100% - 4rem) !important;
			}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .team51-donations-input-group .team51-donations-input-group__before {
					color: var(--color-black);
					justify-content: left;
					position: relative;
				}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .team51-donations-input-group input {
					background-color: var(--color-white);
					border: 0;
					padding: 0;
				}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts .custom-amount-label .team51-donations-input-group input:focus {
						outline: none;
					}

.wp-block-team51-donations-block .team51-donations__submit {
		display: grid;
		gap: var(--spacing-150);
	}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees label {
				cursor: pointer;
				font-size: var(--font-size-8);
			}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees input {
				clip: rect(1px, 1px, 1px, 1px);
				word-wrap: normal !important;
				border: 0;
				-webkit-clip-path: inset(50%);
				        clip-path: inset(50%);
				height: 1px;
				margin: -1px;
				overflow: hidden;
				padding: 0;
				position: absolute;
				width: 1px;
			}

:is(.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees input):checked ~ span::after {
						background-color: var(--color-black);
						content: "";
						height: 1.5rem;
						-webkit-mask-image: url(./images/icon-check.svg);
						        mask-image: url(./images/icon-check.svg);
						-webkit-mask-repeat: no-repeat;
						        mask-repeat: no-repeat;
						-webkit-mask-size: 1rem;
						        mask-size: 1rem;
						-webkit-mask-position: center;
						        mask-position: center;
						position: absolute;
						top: -0.1rem;
						left: 0.25rem;
						width: 1.5rem;
					}

:is(.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees input):checked ~ span::before {
						background-color: var(--color-white);
					}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees span {
				font-size: inherit;
				padding-left: 2.5rem;
				position: relative;
			}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__pay-for-fees span::before {
					border: 1px solid var(--color-white);
					border-radius: 100%;
					content: "";
					height: 1.5rem;
					flex-grow: 0;
					flex-shrink: 0;
					position: absolute;
					top: -0.1rem;
					left: 0.25rem;
					width: 1.5rem;
				}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__submit__button {
			background-color: var(--color-white);
			color: var(--color-black);
			padding-left: var(--spacing);
			padding-right: var(--spacing);
			max-width: max-content;
		}

.wp-block-team51-donations-block .team51-donations__submit .team51-donations__submit__button:hover {
				background-color: var(--color-black);
				color: var(--color-white);
			}

@media (max-width: 60em) {

#donate .wp-block-columns {
			flex-direction: column;
	}
		}

#donate .wp-block-column > *:first-child {
			margin-top: 0;
		}

#donate .column-has-donate-block h2,
		#donate .column-has-donate-block h3 {
			margin-bottom: 0.5rem;
		}

@media (min-width: 94.01em) {

#donate .column-has-donate-block {
			padding-left: var(--gutter);
			padding-right: var(--gutter);
	}
		}

/* --- Fix for Crowdfundr Widget on Bay Lights Post - Centers widget on mobile --- */

@media (max-width: 768px) {

	.widgetwrap {
		width: 300px;
		margin: auto;
	}
}

/* --- Media page styles --- */

.media-grouping .mediatag {
		border: 1px solid #fff;
		background: #000;
		border-radius: 50px;
		padding: 3px 15px;
		margin: -40px 10px;
		z-index: 1;
		margin-bottom: 30px;
	}

.media-grouping .has-m-font-size {
		margin: -20px auto;
	}

.media-grouping img {
		width: 100%;
	}

/* --- Homepage upcoming/featured columns --- */

.featured-columns .feature-card + .feature-card {
		display: none;
	}

.featured-columns > .wp-block-column:first-of-type:empty {
		display: none;
	}

:is(.featured-columns > .wp-block-column:first-of-type:empty) + .wp-block-column {
			background-color: var(--color-white);
			display: grid;
			gap: 1px;
			grid-template-columns: 1fr;
		}

@media (min-width: 60.001em) {

:is(.featured-columns > .wp-block-column:first-of-type:empty) + .wp-block-column {
				grid-template-columns: 1fr 1fr;
		}
			}

:is(:is(.featured-columns > .wp-block-column:first-of-type:empty) + .wp-block-column) .feature-card + .feature-card {
				display: block;
			}

/*--------------------------------------------------------------
	# Styles for single posts // news
--------------------------------------------------------------*/

@media (max-width: 48.8125em) {

		.single-post .is-post-header {
			border: none;
		}
	}

.is-post-header.is-style-border {
		background-color: rgba(255, 255, 255, 0.3);
	}

.is-post-header.wp-block-columns > .wp-block-column {
		flex-basis: 40rem;
	}

.is-post-header.wp-block-columns > .wp-block-column:first-of-type {
			display: flex;
			flex-direction: column;
			padding: var(--gutter);
		}

@media (max-width: 48.8125em) {

.is-post-header.wp-block-columns > .wp-block-column:first-of-type {
				order: 1;
				padding-bottom: 0;
		}
			}

.is-post-header .wp-block-post-title {
		font-size: var(--font-size-2);
		margin: auto 0 1rem;
	}

.is-post-header .is-post-image {
		height: 100%;
		margin: 0;
		width: 100%;
	}

.is-post-header .is-post-image img {
			height: 100%;
			object-fit: cover;
			object-position: center;
			width: 100%;
		}

.single-post .is-post-content {
		border-bottom: none;
	}

.is-post-content > .wp-block-column {
		padding: var(--gutter) 0;
	}

.is-post-content > .wp-block-column:last-of-type {
			display: flex;
		}

@media (max-width: 48.8125em) {

.is-post-content > .wp-block-column:last-of-type {
				display: none;
		}
			}

.is-post-content + .wp-block-illuminate-jetpack-sharing {
		max-width: max-content;
	}

.latest-news-sidebar {
	align-self: flex-start;
	border: 1px solid var(--color-white);
	border-radius: 1.5rem;
	margin-left: auto;
	max-width: 26.5rem;
}

@media (min-width: 75.001em) {

.latest-news-sidebar {
		min-width: 26.5rem;
		max-width: 60%;
}
	}

.latest-news-sidebar h2 {
		border-bottom: 1px solid var(--color-white);
		font-size: var(--font-size-5);
		margin: 0;
		padding: 2rem var(--spacing);
	}

.latest-news-sidebar ul {
		margin: 0;
	}

.latest-news-sidebar li {
		border-bottom: 1px solid var(--color-white);
	}

.latest-news-sidebar li:last-of-type {
			border: none;
		}

.latest-news-sidebar li a {
			display: block;
			padding: 2rem var(--spacing-3) 2rem var(--spacing);
			position: relative;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.latest-news-sidebar li a::before,
			.latest-news-sidebar li a::after {
				content: "";
				height: 3rem;
				position: absolute;
				right: var(--spacing);
				top: 50%;
				transform: translateY(-50%);
				width: 3rem;
				transition: background-color var(--speed) ease;
			}

.latest-news-sidebar li a::before {
				background-color: var(--color-black);
				border: 1px solid var(--color-white);
				border-radius: 10rem;
			}

.latest-news-sidebar li a::after {
				background-color: var(--color-white);
				-webkit-mask-image: url(./images/icon-gt.svg);
				        mask-image: url(./images/icon-gt.svg);
				-webkit-mask-position: calc(50% + 1px) center;
				        mask-position: calc(50% + 1px) center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
			}

.latest-news-sidebar li a:hover::before {
					background-color: var(--color-white);
				}

.latest-news-sidebar li a:hover::after {
					background-color: var(--color-black);
				}

/*--------------------------------------------------------------
	# Styles for post/news archive page
--------------------------------------------------------------*/

.news-archive-header > .wp-block-column:first-of-type {
			padding: var(--spacing-3) var(--gutter) 3rem;
		}

@media (max-width: 48.8125em) {

.news-archive-header > .wp-block-column:first-of-type {
				padding-top: var(--spacing-2);
		}
			}

.news-archive-header > .wp-block-column:last-of-type .wp-block-columns {
				padding: 3rem;
			}

@media (max-width: 48.8125em) {

.news-archive-header > .wp-block-column:last-of-type .wp-block-columns {
					padding: var(--gutter);
					padding-bottom: 2rem;
			}
				}

@media (min-width: 48.8126em) {

.news-archive-header > .wp-block-column:last-of-type .wp-block-columns {
					display: grid;
					gap: var(--gutter);
					grid-template-columns: 1fr max-content;
			}
				}

@media (min-width: 48.8126em) {

.news-archive-header > .wp-block-column:last-of-type .wp-block-columns .wp-block-column:last-of-type {
						align-items: flex-end;
						display: flex;
						justify-content: flex-end;
				}
					}

.news-archive-header > .wp-block-column:last-of-type .wp-block-post {
				cursor: pointer;
			}

.news-archive-header > .wp-block-column:last-of-type .wp-block-post:hover {
					background-color: var(--color-white);
					color: var(--color-black);
				}

.news-archive-header > .wp-block-column:last-of-type .wp-block-post:hover .wp-block-read-more {
						border-color: var(--color-black);
					}

.news-archive-header > .wp-block-column:last-of-type .wp-block-post a {
					-webkit-text-decoration: none;
					text-decoration: none;
				}

.news-archive-header h1 {
		margin: 0;
	}

.news-archive-header h2 {
		font-size: var(--font-size-3);
		margin: 0;
	}

.news-archive-header .wp-block-post-date {
		margin-bottom: 1rem;
	}

.news-archive-header .wp-block-read-more {
		margin-top: 3rem;
	}

.news-archive-header .wp-block-post-featured-image {
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
		margin-bottom: 0;
	}

/*--------------------------------------------------------------
	# Styles for donate page
--------------------------------------------------------------*/

@media (max-width: 48.8125em) {

		.page-donate .entry-content {
			display: flex;
			flex-direction: column;
		}

		.page-donate .content-area .entry-content .mobile-display-none {
			display: none;
		}
}

/*--------------------------------------------------------------
	# Styles for events, venues, and artists
--------------------------------------------------------------*/

/* --- Single event --- */

.event-header.wp-block-columns {
		border-bottom: none;
		gap: var(--gutter);
		grid-template-columns: repeat(12, 1fr);
		padding: var(--spacing-3) var(--gutter) var(--spacing-2);
	}

@media (min-width: 48.8126em) {

.event-header.wp-block-columns {
			display: block;
	}
		}

@media (min-width: 60.001em) {

.event-header.wp-block-columns {
			display: grid;
	}
		}

.event-header > .wp-block-column:first-of-type {
			display: grid;
			gap: 0 var(--spacing);
			grid-template-columns: max-content 1fr;
			grid-auto-rows: max-content;
		}

@media (max-width: 60em) {

.event-header > .wp-block-column:first-of-type {
				grid-template-columns: 8.5rem 1fr;
		}
			}

@media (min-width: 60.001em) {

.event-header > .wp-block-column:first-of-type {
				grid-column: 1 / span 7;
				padding-right: 2rem;
		}
			}

.event-header > .wp-block-column:first-of-type > * {

				grid-column: 1 / span 2;
			}

@media (min-width: 60.001em) {

.event-header > .wp-block-column:first-of-type > * {
					grid-column: 2 / span 1;
			}
				}

.event-header > .wp-block-column:first-of-type > p:first-of-type {
				margin-top: 0;
			}

.event-header > .wp-block-column:first-of-type .wp-block-illuminate-event-date-box {
				align-self: flex-start;
				font-size: var(--font-size-4);
				grid-column: 1;
				line-height: 1.2;
				padding: 0.63em 0;
				width: 7.875rem;
			}

@media (min-width: 60.001em) {

.event-header > .wp-block-column:first-of-type .wp-block-illuminate-event-date-box {
					grid-row: span 3;
			}
				}

.event-header > .wp-block-column:first-of-type .wp-block-post-title {
				font-size: var(--font-size-2);
				line-height: 1.2;
				margin: 0;
				grid-column: 2;
			}

.event-header > .wp-block-column:first-of-type .wp-block-illuminate-event-artists {
				margin-top: 1rem;
			}

@media (max-width: 60em) {

.event-header > .wp-block-column:first-of-type .wp-block-illuminate-event-artists {
					margin-top: var(--spacing);
			}
				}

.event-header > .wp-block-column:first-of-type .wp-block-simple-events-event-info {
				margin: var(--spacing) 0 1em;
			}

.event-header > .wp-block-column:last-of-type .wp-block-post-featured-image {
				border: 1px solid var(--color-white);
				margin: 0;
			}

@media (min-width: 60.001em) {

.event-header > .wp-block-column:last-of-type {
				grid-column: span 4;
		}
			}

.event-share-cats.wp-block-columns {
		grid-template-columns: max-content 1fr;
		padding: 0 var(--gutter);
	}

@media (min-width: 60.001em) {

.event-share-cats.wp-block-columns {
			display: grid;
			gap: 0 var(--spacing);
	}
		}

.event-share-cats.wp-block-columns > .wp-block-column:first-of-type {
				width: 7.875rem;
			}

.wp-block-simple-events-event-info {
	margin: 1.5rem 0 0.5rem;
}

.wp-block-simple-events-event-info.spans-day .month {
		display: inline-block;
	}

.wp-block-simple-events-event-info.spans-day .month::after {
			content: "/";
		}

@media (min-width: 37.501em) {

			.event-river .wp-block-simple-events-event-info .month, .single-se-event .wp-block-simple-events-event-info .month {
				display: inline-block;
			}

				.event-river .wp-block-simple-events-event-info .month::after, .single-se-event .wp-block-simple-events-event-info .month::after {
					content: "/";
				}
		}

@media (min-width: 37.501em) {

			.single-se-event .entry-content .wp-block-simple-events-event-info .month::after {
				content: "@";
			}
		}

.more-events .wp-block-simple-events-event-info:not(.spans-day) .month {
		display: none;
	}

/* --- more events seciton --- */

.more-events .more-events-title {
		font-size: var(--font-size-3);
		margin-top: var(--spacing-3);
		margin-bottom: 3.5rem;
	}

@media (max-width: 48.8125em) {

.more-events .more-events-title {
			margin-top: var(--spacing-2);
			margin-bottom: 2rem;
	}
		}

.archive-content .more-events {
		padding-left: 0;
		padding-right: 0;
	}

.more-events > .wp-block-columns {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

.more-events > .wp-block-columns .wp-block-buttons {
			margin-bottom: 3.5rem;
		}

@media (max-width: 48.8125em) {

.more-events > .wp-block-columns .wp-block-buttons {
				justify-content: left;
		}
			}

.more-events .wp-block-query {
		border-top: 1px solid var(--color-white);
		border-bottom: 1px solid var(--color-white);
	}

.more-events .wp-block-query .wp-block-post-template {
			gap: 0;
		}

.more-events .wp-block-query .wp-block-post-template > li {
				cursor: pointer;
				display: grid;
				flex: 1;
				gap: 0 2rem;
				grid-template-columns: auto 1fr;
				grid-template-rows: max-content max-content 1fr;
				padding: 3.5rem var(--gutter);
				position: relative;
				transition: all var(--speed) ease;
				width: auto;
			}

@media (min-width: 60.001em) and (max-width: 87.5em) {

.more-events .wp-block-query .wp-block-post-template > li {
					grid-template-columns: 1fr;
					grid-template-rows: max-content max-content max-content 1fr;
			}
				}

@media (max-width: 60em) {

.more-events .wp-block-query .wp-block-post-template > li {
					flex: 100%;
			}
				}

.more-events .wp-block-query .wp-block-post-template > li:hover {
					background-color: var(--color-white);
					color: var(--color-black);
				}

@media (max-width: 60em) {

:is(.more-events .wp-block-query .wp-block-post-template > li) + li {
						border-top: 1px solid var(--color-white);
				}
					}

@media (min-width: 60.001em) {

.more-events .wp-block-query .wp-block-post-template > li:nth-of-type(2) {
						border-right: 1px solid var(--color-white);
						border-left: 1px solid var(--color-white);
				}
					}

.more-events .wp-block-query .wp-block-simple-events-event-info {
			margin-top: 0.5rem;
			padding: 0;
		}

.more-events .wp-block-query .wp-block-simple-events-event-info::before {
				display: none;
			}

.more-events .wp-block-query .wp-block-simple-events-event-info .event-date,
			.more-events .wp-block-query .wp-block-simple-events-event-info .visual-at {
				display: none;
			}

.more-events .wp-block-query .wp-block-illuminate-event-date-box {
			grid-row: span 3;
			width: 4.5rem;
		}

@media (min-width: 60.001em) and (max-width: 87.5em) {

.more-events .wp-block-query .wp-block-illuminate-event-date-box {
				grid-row: 1;
				margin-bottom: 2rem;
		}
			}

.more-events .wp-block-query .wp-block-post-title {
			font-size: var(--font-size-5);
			margin: 0;
		}

.more-events .wp-block-query .wp-block-post-title a {
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.more-events .wp-block-query .wp-block-post-date {
			grid-column: 2;
			margin: 0.5rem 0 0;
			padding: 0;
		}

.more-events .wp-block-query .wp-block-post-date::before {
				display: none;
			}

.more-events .wp-block-query .wp-block-simple-events-event-info,
		.more-events .wp-block-query .wp-block-illuminate-event-artists {
			line-height: 1.3;
			margin-top: 0.75em;
		}

/* --- Events archive (page) --- */

.events-header {
	min-height: 35rem;
}

.events-header.wp-block-media-text {
		padding: 0;
	}

.events-header .wp-block-media-text__content {
		font-size: var(--font-size-6);
		padding: var(--gutter);
	}

.events-header .wp-block-media-text__content > *:last-child {
			margin-bottom: 0;
		}

.events-header h1 {
		margin: 0;
	}

:is(.events-header h1) + p {
			margin-top: var(--spacing-150);
		}

/* --- Events river (Query Loop) --- */

.event-river.wp-block-query {
		padding-left: 0;
		padding-right: 0;
	}

.event-river .se-event {
		cursor: pointer;
		display: grid;
		gap: var(--spacing);
		grid-template-columns: auto 2.5fr 1fr;
		overflow-y: clip;
		padding: 3.5rem var(--gutter) 0;
		position: relative;
		transition: all var(--speed) ease;
	}

.event-river .se-event:hover {
			background-color: var(--color-white);
			color: var(--color-black);
		}

.event-river .se-event:hover .wp-block-post-date::before, .event-river .se-event:hover .wp-block-illuminate-address::before, .event-river .se-event:hover .wp-block-simple-events-event-info::before {
					background-color: var(--color-black);
				}

@media (max-width: 37.5em) {

.event-river .se-event {
			grid-template-columns: auto 1fr;
	}
		}

@media (min-width: 60.001em) {

.event-river .se-event {
			padding-right: calc(var(--gutter) * 2);
	}
		}

.event-river .se-event .wp-block-illuminate-event-date-box {
			font-size: clamp(1.25rem, 3.8vw, 2rem);
		}

.event-river .se-event .wp-block-post-title {
			font-size: var(--font-size-3);
			margin: 0;
		}

.event-river .se-event .wp-block-post-title a {
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.event-river .se-event .wp-block-illuminate-event-artists {
			font-size: var(--font-size-6);
			margin-top: 0.5rem;
		}

.event-river .se-event .wp-block-illuminate-address {
			margin-bottom: 3.5rem;
		}

.event-river .se-event .wp-block-illuminate-address > * {
				display: none;
			}

.event-river .se-event .wp-block-illuminate-address .venue {
				display: block;
				font-weight: 400;
			}

.event-river .se-event .wp-block-post-featured-image {
			border: 1px solid var(--color-white);
			border-bottom: 0;
			border-radius: 1.5rem 1.5rem 0 0;
			margin-bottom: 0;
			overflow: hidden;
		}

@media (max-width: 37.5em) {

.event-river .se-event .wp-block-post-featured-image {
				display: none;
		}
			}

.event-river .se-event .wp-block-post-featured-image img {
				height: 100%;
				object-fit: cover;
				object-position: top center;
				position: absolute;
				width: 100%;
			}

:is(.event-river .se-event) + .se-event {
			border-top: 1px solid var(--color-white);
			margin-top: 0;
		}

/* --- Single venue --- */

.single-venue .wp-block-media-text {
		padding-left: 0;
		padding-right: 0;
	}

.single-venue .wp-block-media-text .wp-block-media-text__content {
			padding: 5.5rem;
		}

@media (max-width: 48.8125em) {

.single-venue .wp-block-media-text .wp-block-media-text__content {
				padding: var(--gutter);
		}
			}

.single-venue .wp-block-media-text .wp-block-media-text__content > *:first-child {
				margin-top: 0;
			}

.single-venue .wp-block-media-text h2 {
			font-size: var(--font-size-4);
		}

.single-venue .wp-block-media-text.venue-header .wp-block-media-text__content {
				padding: var(--spacing-3) var(--gutter);
			}

@media (max-width: 48.8125em) {

.single-venue .wp-block-media-text.venue-header .wp-block-media-text__content {
					padding: var(--spacing-2) var(--gutter);
			}
				}

.single-venue .wp-block-media-text.venue-header .wp-block-media-text__content .venue {
					display: none;
				}

.single-venue .wp-block-post-title {
		margin: 0 0 4.5rem;
	}

.single-venue .event-river {
		border-top: 1px solid var(--color-white);
		border-bottom: 1px solid var(--color-white);
	}

/* --- Event category archive --- */

.tax-se-event-category .archive-header.wp-block-columns {
		border-bottom: 1px solid var(--color-white);
		padding-bottom: var(--spacing-2);
	}

/* --- Add to calendar block --- */

.wp-block-illuminate-add-to-calendar {
	font-size: var(--font-size-7);
	margin-top: 2rem;
	position: relative;
	max-width: max-content;
}

.wp-block-illuminate-add-to-calendar button {
		cursor: pointer;
		font-size: inherit;
		position: relative;
		z-index: 1;
	}

.wp-block-illuminate-add-to-calendar button[aria-expanded="true"] {
			background-color: var(--color-white);
			color: var(--color-black);
		}

.wp-block-illuminate-add-to-calendar button[aria-expanded="true"]::before {
				content: "\2212";
			}

.wp-block-illuminate-add-to-calendar button::before {
			content: "\002B";
		}

.wp-block-illuminate-add-to-calendar .wp-block-illuminate-add-to-calendar__list {
		background-color: var(--color-black);
		border: 1px solid var(--color-white);
		border-top: none;
		border-radius: 0 0 22px 22px;
		line-height: 1.6;
		list-style: none;
		margin: -1.5rem 0 0;
		padding: 2.5rem 1.25rem 1.5rem;
		position: absolute;
		width: 100%;
	}

.wp-block-illuminate-add-to-calendar .wp-block-illuminate-add-to-calendar__list:hover {
			color: inherit;
		}

.wp-block-illuminate-add-to-calendar .wp-block-illuminate-add-to-calendar__list a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.wp-block-illuminate-add-to-calendar .wp-block-illuminate-add-to-calendar__list a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-decoration-thickness: 1px;
			}

/* --- Passed events style --- */

.passed-title {
	color: var(--color-gray);
	font-size: 1rem;
	font-weight: 600;
	margin-top: 0;
	margin-bottom: 0.5rem;
}

.past-event .wp-block-illuminate-event-date-box {
	color: var(--color-gray);
}

/*--------------------------------------------------------------
	# Styles for single project
--------------------------------------------------------------*/

.single-project .wp-block-post-featured-image {
		height: 75vh;
		margin: calc(var(--site-header-height) * -1) 0 0;
		padding: 0;
		position: relative;
		width: 100%;
	}

.single-project .wp-block-post-featured-image::before {
			background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
			content: "";
			height: 40%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

.single-project .wp-block-post-featured-image img {
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

.single-project .is-style-vertical-border {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}

.project-header-content {
	position: relative;
	gap: 0;
}

.project-header-content .wp-block-post-title {
		margin: 6.25rem 0 2.5rem;
	}

@media (max-width: 48.8125em) {

.project-header-content .wp-block-post-title {
			margin-top: 1.5em;
	}
		}

.project-header-content .project-description {
		font-size: var(--font-size-6);
		margin-top: 5rem;
		margin-bottom: 7rem;
	}

@media (max-width: 48.8125em) {

.project-header-content .project-description {
			margin-top: 3rem;
			margin-bottom: 3.5rem;
	}
		}

.project-header-content .project-description > *:first-child {
			margin-top: 0;
		}

.project-header-content .project-description > *:last-child {
			margin-bottom: 0;
		}

@media (min-width: 48.8126em) {

.project-header-content > .wp-block-column:first-child {
			padding-right: var(--gutter);
	}

				.project-header-content > .wp-block-column:first-child .wp-block-column > * {
					margin-top: 0;
					margin-bottom: 0.5em;
				}

				.project-header-content > .wp-block-column:first-child .wp-block-column .wp-block-social-links:empty {
					display: none;
				}
		}

@media (min-width: 48.8126em) {

.project-header-content > .wp-block-column:last-child {
			border-left: 1px solid var(--color-white);
			padding-left: var(--gutter);
	}
		}

@media (max-width: 48.8125em) {

.project-header-content > .wp-block-column:last-child {
			position: relative;
	}

			.project-header-content > .wp-block-column:last-child::before {
				background-color: var(--color-white);
				content: "";
				height: 1px;
				position: absolute;
				top: 0;
				left: calc(var(--gutter) * -1);
				width: 100vw;
			}
		}

.project-header-content > .wp-block-column:last-child > h2,
		.project-header-content > .wp-block-column:last-child > h3 {
			margin-bottom: 1em;
		}

@media (min-width: 48.8126em) {

.project-header-content > .wp-block-column:last-child > h2,
		.project-header-content > .wp-block-column:last-child > h3 {
				margin-top: 6.8rem;
		}
			}

.project-header-content > .wp-block-column:last-child .wp-block-illuminate-jetpack-sharing {
			position: absolute;
			top: var(--spacing);
			right: var(--gutter);
		}

@media (min-width: 75.001em) {

.project-header-content > .wp-block-column:last-child .wp-block-illuminate-jetpack-sharing {
				top: 7rem;
		}

				:is(.project-header-content > .wp-block-column:last-child .wp-block-illuminate-jetpack-sharing) + h2 {
					min-height: 1.2rem;
				}
			}

@media (max-width: 48.8125em) {

.project-header-content > .wp-block-column:last-child .wp-block-illuminate-jetpack-sharing {
				top: 3.25rem;
				right: 0;
		}
			}

/* --- Status bubble --- */

.project-status-bubble {
	background-color: var(--color-black);
	border: 1px solid currentcolor;
	border-radius: 100rem;
	color: var(--color-white);
	display: block;
	line-height: 1.35;
	padding: 0.5em 1.6em;
	position: absolute;
	top: 0;
	left: var(--gutter);
	transform: translateY(-50%);
	width: max-content;
}

/* --- Item fields block - two fields --- */

.wp-block-illuminate-definition-list {
	display: grid;
	gap: 0.5rem 1.5rem;
	grid-template-columns: max-content 3fr;
	margin: 0;
}

@media (max-width: 37.5em) {

.wp-block-illuminate-definition-list {
		grid-template-columns: max-content 1fr;
}
	}

.wp-block-illuminate-definition-list .item-title {
		font-weight: 600;
	}

.wp-block-illuminate-definition-list .item-content {
		margin: 0;
	}

.wp-block-illuminate-definition-list .item-content > * {
			margin: 0;
		}

:is(.wp-block-illuminate-definition-list .item-content > *) + * {
				margin-top: 1em;
			}

/*--------------------------------------------------------------
	# Styles for project archive
--------------------------------------------------------------*/

.archive,
.single-project {
	--card-title-width: 100;
	--marquee-speed: 150;
}

/* --- Project list view --- */

.project-archive-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.project-archive-list .project-card {
		border-bottom: 1px solid var(--color-white);
		cursor: pointer;
		position: relative;
	}

.map-view :is(.project-archive-list .project-card) {
			border-right: 1px solid var(--color-white);
		}

@media (max-width: 37.5em) {

.map-view :is(.project-archive-list .project-card) {
				border-right: none;
		}
			}

.project-archive-list .card-inner-wrap {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

@media (min-width: 48.8126em) {

.project-archive-list .card-inner-wrap {
			display: grid;
			grid-template-columns: max-content 1fr;
	}

				.project-archive-list .card-inner-wrap:hover .card-image {
					opacity: 0.75;
				}

				.project-archive-list .card-inner-wrap:hover .card-content {
					background-color: var(--color-white);
					color: var(--color-black);
				}
		}

@media (min-width: 37.501em) {

.map-view :is(.project-archive-list .card-inner-wrap) {
				min-height: 50vh;
		}
			}

.project-archive-list .card-image {
		aspect-ratio: 53 / 31;
		margin: 0;
		transition: all var(--speed) ease;
	}

@media (max-width: 48.8125em) {

.project-archive-list .card-image {
			border-bottom: 1px solid var(--color-white-30);
	}
		}

@media (min-width: 48.8126em) {

.project-archive-list .card-image {
			border-right: 1px solid var(--color-white);
			height: 100%;
			width: 28vw;
	}
		}

.map-view :is(.project-archive-list .card-image) {
			border-bottom: 1px solid var(--color-white-30);
		}

@media (max-width: 37.5em) {

.map-view :is(.project-archive-list .card-image) {
				display: none;
		}
			}

@media (min-width: 37.501em) {

.map-view :is(.project-archive-list .card-image) {
				aspect-ratio: 1 / 1;
		}
			}

.project-archive-list .card-image img {
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

.project-archive-list .card-content {
		position: relative;
		transition: all var(--speed) ease;
	}

@media (max-width: 48.8125em) {

.project-archive-list .card-content {
			padding: 2.5rem var(--gutter) 0;
	}
		}

@media (min-width: 48.8126em) {

.project-archive-list .card-content {
			display: flex;
			flex-direction: column;
			overflow-x: clip;
			padding: 1.5rem 2rem 0;
			white-space: nowrap; /* Bleed off overflow so it can scroll in */
	}
		}

.map-view :is(.project-archive-list .card-content) {
			padding-bottom: var(--spacing);
		}

.project-archive-list .card-content address {
			font-style: normal;
		}

.project-archive-list .card-eyebrow {
		min-height: 1em;
		line-height: 1.35;
		margin: 1em 0 0;
	}

.map-view :is(.project-archive-list .card-eyebrow) {
			font-size: var(--font-size-8);
			margin-top: 1rem;
		}

@media (max-width: 48.8125em) {

.project-archive-list .card-eyebrow {
			font-size: var(--font-size-7);
	}
		}

@media (min-width: 48.8126em) {

.project-archive-list .card-eyebrow {
			padding: 0;
			margin: 0;
			font-size: var(--font-size-7);
	}
		}

.project-archive-list .project-status-bubble {
		background-color: transparent;
		border: none;
		color: inherit;
		padding: 0;
		position: static;
		transform: none;
	}

.project-archive-list .card-button {
		position: absolute;
		top: calc(100vw / 53 * 31); /* Featured image aspect ratio 53/31 */
		left: var(--gutter);
		transform: translateY(-50%);
	}

.project-archive-list .card-button .wp-block-button__link {
			background-color: var(--color-black);
		}

.project-archive-list .card-button .wp-block-button__link:hover {
				background-color: var(--color-white);
			}

@media (min-width: 48.8126em) {

.project-archive-list .card-button {
			display: none;
	}
		}

.project-archive-list .card-title {
		font-size: 1.875rem;
		font-weight: 400;
		margin: 0 0 2.25rem;
		position: relative;
		width: 100%;
	}

@media (min-width: 48.8126em) {

.project-archive-list .card-title {
			height: 1em;
	}
		}

.map-view :is(.project-archive-list .card-title) {
			height: auto;
		}

@media (max-width: 37.5em) {

.map-view :is(.project-archive-list .card-title) {
				font-size: 1.5rem;
				line-height: 1.4;
		}
			}

.project-archive-list .card-title a {
			padding-right: 0.5ch;
			left: 0;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

@media (min-width: 48.8126em) {

.project-archive-list .card-title a {
				position: absolute;
		}
			}

.map-view :is(.project-archive-list .card-title a) {
				position: static;
			}

@media (min-width: 48.8126em) {

.project-archive-list .card-title {
			font-size: var(--font-size-1);
			font-weight: 200;
			margin: auto 0 0.4em;
	}
		}

/* Animate overflow text when card is hovered */

@keyframes marquee {

		0% {
			left: 0;
		}

		50% {
			left: calc(var(--card-title-width) * -1px);
		}

		50.01% {
			left: calc(var(--card-title-width) * 1px);
		}

		100% {
			left: 0;
		}
	}

@keyframes marquee-follower {

		0% {
			left: calc(var(--card-title-width) * 1px);
		}

		50% {
			left: 0;
		}

		50.01% {
			left: 0;
		}

		100% {
			left: calc(var(--card-title-width) * -1px);
		}
	}

@media (min-width: 48.8126em) {

			.project-archive-list .card-inner-wrap:hover .card-title.has-long-text::after {
				animation: marquee-follower calc((var(--card-title-width) / var(--marquee-speed)) * 1s) linear infinite forwards;
				content: attr(data-marquee-title);
				position: absolute;
			}

			.map-view :is(.project-archive-list .card-inner-wrap:hover .card-title.has-long-text)::after {
				display: none;
			}
		}

@media (min-width: 48.8126em) and (min-width: 48.8126em) {

			.project-archive-list .card-inner-wrap:hover .card-title.has-long-text a {
					animation: marquee calc((var(--card-title-width) / var(--marquee-speed)) * 1s) linear infinite forwards;
			}
				}

@media (min-width: 48.8126em) {

				.map-view :is(.project-archive-list .card-inner-wrap:hover .card-title.has-long-text a) {
					animation: none;
				}
		}

/* --- More projects list on single project --- */

.single-more-projects {
	margin-left: var(--gutter);
	margin-right: var(--gutter);
}

.single-more-projects .more-projects-title {
		font-size: var(--font-size-3);
		margin-top: var(--spacing-3);
		margin-bottom: 3.5rem;
	}

@media (max-width: 48.8125em) {

.single-more-projects .more-projects-title {
			margin-top: var(--spacing-2);
			margin-bottom: 2rem;
	}
		}

.single-more-projects .wp-block-buttons {
		margin-bottom: 3.5rem;
	}

@media (max-width: 48.8125em) {

.single-more-projects .wp-block-buttons {
			justify-content: left;
	}
		}

.single-more-projects + .project-archive-list {
		border-top: 1px solid var(--color-white);
	}

/* --- Archive list/map toggle bar --- */

div.archive-control {
	border-bottom: 1px solid var(--color-white);
	display: grid;
	grid-template-columns: max-content 1fr;
	padding: 0;
}

@media (max-width: 60em) {

div.archive-control {
		display: flex;
}
	}

@media (max-width: 48.8125em) {

div.archive-control {
		display: block;
}
	}

div.archive-control > *:first-child {
		display: grid;
		place-content: center;
	}

@media (max-width: 48.8125em) {

div.archive-control > *:first-child {
			border-bottom: 1px solid var(--color-white);
	}
		}

@media (min-width: 48.8126em) {

div.archive-control > *:first-child {
			border-right: 1px solid var(--color-white);
			width: 28vw;
			min-width: max-content;
	}
		}

div.archive-control > *:last-child {
		align-items: center;
		display: flex;
		padding: 0 2rem;
	}

.toggle-wrapper {
	--toggle-height: 45px;
	--toggle-width: 235px;
	height: var(--toggle-height);
	margin: 1.5rem !important;
	position: relative;
	width: var(--toggle-width);
}

.toggle-wrapper .archive-toggle {
		-webkit-appearance: none;
		        appearance: none;
		border: none;
		height: var(--toggle-height);
		margin: 0;
		position: absolute;
		width: var(--toggle-width);
		opacity: 0;
	}

:is(.toggle-wrapper .archive-toggle):checked ~ .label-text::before {
				left: calc(100% - 116px);
			}

:is(.toggle-wrapper .archive-toggle):checked ~ .label-text > *:first-child {
				color: var(--color-white);
			}

:is(.toggle-wrapper .archive-toggle):checked ~ .label-text > *:last-child {
				color: var(--color-black);
			}

.toggle-wrapper .label-text {
		align-items: center;
		background-color: var(--color-black);
		border: 1px solid var(--color-white);
		border-radius: 34px;
		cursor: pointer;
		display: flex;
		height: 100%;
		padding: 0;
		position: absolute;
		width: 100%;
	}

.toggle-wrapper .label-text::before {
			background-color: var(--color-white);
			border-radius: 1.25rem;
			content: "";
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			bottom: 0;
			width: 50%;
			transition: 0.4s;
		}

.toggle-wrapper .label-text > * {
			color: var(--color-black);
			cursor: pointer;
			display: flex;
			justify-content: center;
			position: relative;
			width: 50%;
			transition: 0.4s;
			z-index: 1;
		}

.toggle-wrapper .label-text > *:first-child {
				color: var(--color-black);
			}

.toggle-wrapper .label-text > *:last-child {
				color: var(--color-white);
			}

.nearby-indicator {
	display: flex;
}

.nearby-indicator::before {
		background-image: url(./images/icon-location-arrow.svg);
		background-repeat: no-repeat;
		background-size: contain;
		content: "";
		flex-shrink: 0;
		height: 1.25rem;
		margin: 0.35em 1rem 0 0;
		width: 1.25rem;
	}

.project-distance:not(:empty)::before {
	content: "\2014\a0"; /* Non-breaking space, em dash, non-breaking space. */
}

/* --- Archive map view --- */

.map-view {
	display: grid;
	grid-template-columns: 28vw auto;
}

@media (max-width: 37.5em) {

.map-view {
		grid-template-columns: 1fr;
}
	}

.map-view .archive-control {
		grid-column: 1 / span 2;
		grid-row: 1;
	}

.map-view .project-archive-list {
		grid-column: 1;
		grid-row: 2;
		overflow-x: hidden;
		overflow-y: auto;
	}

@media (max-width: 37.5em) {

.map-view .project-archive-list {
			grid-row: 3;
	}
		}

@media (min-width: 48.8126em) {

			.map-view .project-archive-list .card-inner-wrap {
				grid-template-columns: auto;
			}

			.map-view .project-archive-list .card-title {
				font-size: var(--font-size-5);
				font-weight: 400;
				margin: 0;
			}

			.map-view .project-archive-list .card-content {
				white-space: normal;
			}

				.map-view .project-archive-list .card-content .card-title {
					width: 100%;
					margin-top: 0.5rem;
					margin-bottom: 0;
				}

			.map-view .project-archive-list .card-inner-wrap:hover {
				background-color: var(--color-black);
				color: var(--color-white);
			}

			.map-view .project-archive-list .has-coordinates .card-content::before {
				color: var(--color-white);
				content: counter(project);
				counter-increment: project;
				display: block;
				position: absolute;
				top: 0;
				background: var(--color-black);
				width: 44px;
				border-radius: 44px;
				height: 44px;
				border: 1px solid var(--color-white);
				text-align: center;
				font-size: var(--font-size-6);
				font-weight: 600;
				transform: translateY(-50%);
			}
		}

.map-view .project-archive-list .card-inner-wrap:hover .card-title.has-long-text {
			animation: none;
		}

.map-view .project-map {
		border-bottom: 1px solid var(--color-white);
		grid-row: 2;
		position: relative;
	}

@media (max-width: 37.5em) {

.map-view .project-map {
			grid-column: 1;
			height: 14rem;
			position: sticky;
			top: var(--site-header-height);
	}
		}

@media (min-width: 37.501em) {

.map-view .project-map {
			grid-column: 2;
			height: var(--full-vp-height);
			position: sticky;
			top: var(--vp-top);
	}
		}

@media (max-width: 37.5em) {

.map-view .leaflet-control-attribution {
			display: none;
	}
		}

.map-view .project-card {
		display: none;
	}

.map-view .project-card.has-coordinates {
		display: list-item;
	}

.map-view .venue-name {
		font-weight: 700;
	}

.card-location {
	display: none;
}

.map-view .card-location {
		display: block;
		font-size: var(--font-size-8);
		margin-top: 1.5rem;
	}

.view-in-map {
	background-color: var(--color-black);
	border-radius: 34px;
	border: 1px solid var(--color-white);
	display: none;
	padding: 0.5rem 1.25rem;
	position: absolute;
	-webkit-text-decoration: none;
	text-decoration: none;
	top: 0;
	transform: translateY(-50%);
}

@media (max-width: 37.5em) {

		.site-main:not(.map-view) .view-in-map {
			display: block;
		}
	}

/* --- Project map view - mobile slider --- */

.flickity-nav {
	display: none;
}

@media (max-width: 37.5em) {

		.map-view .project-archive-list {
			position: relative;
		}

			.map-view .project-archive-list.is-draggable {
				-webkit-tap-highlight-color: transparent;
				-webkit-user-select: none;
				        user-select: none;
			}

			.map-view .project-archive-list:focus-visible {
				outline: none;
			}

			.map-view .project-archive-list::after {
				content: "flickity";
				display: none;
			}

		.map-view .flickity-viewport {
			overflow: hidden;
			position: relative;
			touch-action: pan-y;
			transition: height var(--speed);
		}

		.map-view .flickity-slider {
			height: 100%;
			left: 0;
			position: absolute;
			width: 100%;
		}

		.map-view .flickity-cell {
			position: absolute;
			width: 100%;
		}

		.map-view .flickity-button {
			line-height: 8px;
			padding: 16px 17px 16px 15px;
		}

			.map-view .flickity-button svg {
				display: block;
				fill: var(--color-white);
				height: 16px;
				width: 16px;
			}

			.map-view .flickity-button:hover svg {
				fill: var(--color-black);
			}


			.map-view .flickity-button.next {
				order: 1;
				padding: 16px 15px 16px 17px;
			}

			.map-view .flickity-button[disabled] {
				opacity: 0.5;
				pointer-events: none;
			}

		.map-view .flickity-nav {
			align-items: center;
			display: flex;
			justify-content: space-between;
			padding: 0.75rem var(--gutter);
		}

		.map-view .slider-status span {
			font-weight: 700;
		}
}

/* --- Don't display svg that is loaded on map for location pin --- */

.map-icons {
	display: none;
}

/*--------------------------------------------------------------
	# Archive styles that apply to multiple archives
--------------------------------------------------------------*/

.archive-header.wp-block-group {
		border-bottom: 0;
	}

@media (max-width: 48.8125em) {

.archive-header.wp-block-group {
			margin-top: var(--spacing-2);
	}
		}

@media (min-width: 48.8126em) {

.archive-header > .wp-block-column:last-of-type {
				align-items: flex-end;
				display: flex;
				justify-content: flex-end;
		}
			}

.archive-header .is-eyebrow {
		font-size: var(--font-size-4);
		margin: 0 0 0.5rem;
	}

@media (min-width: 48.8126em) {

.archive-header .is-eyebrow {
			font-weight: 300;
	}
		}

@media (max-width: 48.8125em) {

.archive-header .is-eyebrow {
			font-size: var(--font-size-7);
	}
		}

.archive-header .wp-block-query-title {
		margin: 0;
	}

.archive-header .wp-block-query-title::before {
			content: "#";
		}

@media (max-width: 37.5em) {

.archive-header .wp-block-query-title {
			font-size: var(--wp--preset--font-size--7);
	}
		}

.archive-header .wp-block-buttons {
		margin-bottom: 1rem;
	}

@media (max-width: 48.8125em) {

.archive-header .wp-block-buttons {
			display: none;
	}
		}

/* --- Archive river --- */

.archive-river {
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

.archive-river .wp-block-post-template {
		display: grid;
		gap: var(--spacing-3) var(--gutter);
		grid-template-columns: 1fr 1fr 1fr;
		margin-top: var(--spacing-3);
		padding-bottom: var(--spacing-3);
	}

.archive :is(.archive-river .wp-block-post-template) {
			margin-top: var(--spacing-2);
		}

@media (max-width: 60em) {

.archive-river .wp-block-post-template {
			gap: 3.5rem;
			grid-template-columns: 1fr 1fr !important;
			margin-top: 3.5rem;
			padding-bottom: 3.5rem;
	}
		}

@media (max-width: 37.5em) {

.archive-river .wp-block-post-template {
			grid-template-columns: 1fr !important;
	}
		}

.archive-river .wp-block-post-template li {
			border: 1px solid var(--color-white);
			border-radius: 1.5rem;
			cursor: pointer;
			display: flex;
			flex-direction: column;
			overflow: hidden;
			padding: 2rem;
			position: relative;
			width: 100% !important;
			transition: all var(--speed) ease;
		}

.archive-river .wp-block-post-template li:hover {
				background-color: var(--color-white);
				color: var(--color-black);
			}

.archive-river .wp-block-post-template .wp-block-post-featured-image {
			border-bottom: 1px solid rgba(255, 255, 255, 0.3);
			height: 0;
			margin: -2rem -2rem 0;
			padding-bottom: calc(100% + 4rem);
			position: relative;
		}

.archive-river .wp-block-post-template .wp-block-post-featured-image img {
				height: 100%;
				object-fit: cover;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}

.archive-river .wp-block-post-template .wp-block-post-title {
			font-size: var(--font-size-5);
			font-weight: 400;
			line-height: 1.4;
			margin: 2rem 0 1rem;
		}

.archive-river .wp-block-post-template .wp-block-post-title a {
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.archive-river .wp-block-post-template .wp-block-post-date {
			margin-top: auto;
		}

.card-cover {
	all: unset;
	cursor: pointer;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.card-cover:hover {
		background-color: transparent;
	}

/* --- No Results // Query block --- */

.wp-block-query-no-results {
	padding: var(--spacing-3) var(--gutter);
	max-width: 80vw;
}

@media (max-width: 48.8125em) {

.wp-block-query-no-results {
		padding: var(--spacing-2) var(--gutter);
		max-width: 100%;
}
	}

.wp-block-query-no-results > *:first-child {
		margin-top: 0;
	}

.wp-block-query-no-results > *:only-child {
		margin: 0;
	}

.wp-block-query-no-results > *:last-child {
		margin-bottom: 0;
	}

/* --- Pagination --- */

.wp-block-query-pagination {
	margin-bottom: var(--spacing-3);
}

.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	border: 1px solid var(--color-white);
	border-radius: 9999px;
	padding: 0.625em 2.5em;
	position: relative;
	-webkit-text-decoration: none;
	text-decoration: none;
	transition: all var(--speed) ease;
}

.wp-block-query-pagination-previous:hover, .wp-block-query-pagination-next:hover {
		background-color: var(--color-white);
		color: var(--color-black);
	}

.wp-block-query-pagination-previous:hover::before,
		.wp-block-query-pagination-next:hover::before,
		.wp-block-query-pagination-previous:hover::after,
		.wp-block-query-pagination-next:hover::after {
			background-color: var(--color-black);
		}

.wp-block-query-pagination-previous::before,
.wp-block-query-pagination-next::after {
	background-color: var(--color-white);
	content: "";
	height: 100%;
	-webkit-mask-image: url(./images/icon-gt.svg);
	        mask-image: url(./images/icon-gt.svg);
	-webkit-mask-position: center;
	        mask-position: center;
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1em;
	transition: background-color var(--speed) ease;
}

.wp-block-query-pagination-previous {
	padding-left: 4rem;
}

.wp-block-query-pagination-previous::before {
		left: 2rem;
		transform: translateY(-50%) rotate(180deg);
	}

.wp-block-query-pagination-next {
	padding-right: 4rem;
}

.wp-block-query-pagination-next::after {
		right: 2rem;
	}

.wp-block-query-pagination-numbers {
	align-items: center;
	display: flex;
	gap: 1rem;
}

@media (max-width: 48.8125em) {

.wp-block-query-pagination-numbers {
		display: none;
}
	}

.wp-block-query-pagination-numbers > * {
		border: 1px solid var(--color-white);
		border-radius: 50%;
		display: grid;
		height: 3rem;
		place-content: center;
		-webkit-text-decoration: none;
		text-decoration: none;
		transition: all var(--speed) ease;
		width: 3rem;
	}

.wp-block-query-pagination-numbers > *:hover,
		.wp-block-query-pagination-numbers > *.current {
			background-color: var(--color-white);
			color: var(--color-black);
		}

/* --- Pagination - "Load More" variation --- */

.wp-block-query-pagination.is-load-more {
	border-top: 1px solid var(--color-white);
	margin: 0;
}

.wp-block-query-pagination.is-load-more .button {
		align-items: center;
		cursor: pointer;
		display: flex;
		justify-content: center;
		margin: var(--spacing-150) auto;
	}

.wp-block-query-pagination.is-load-more .button[disabled] {
			cursor: default;
			pointer-events: none;
		}

/* --- Press archive --- */

.post-type-archive-press h1 {
		margin: 0;
	}

.post-type-archive-press .wp-block-post-template {
		display: grid;
		gap: var(--spacing-3) var(--gutter);
		grid-template-columns: repeat(4, 1fr);
	}

@media (max-width: 75em) {

.post-type-archive-press .wp-block-post-template {
			grid-template-columns: repeat(3, 1fr);
	}
		}

@media (max-width: 48.8125em) {

.post-type-archive-press .wp-block-post-template {
			grid-template-columns: repeat(2, 1fr);
	}
		}

@media (max-width: 37.5em) {

.post-type-archive-press .wp-block-post-template {
			grid-template-columns: 1fr;
	}
		}

.post-type-archive-press .wp-block-post-template li {
			padding: 1.5rem;
		}

.post-type-archive-press .wp-block-post-template .wp-block-post-title {
			font-size: var(--font-size-6);
			line-height: 1.3;
			margin-bottom: 1rem;
		}

/* --- Artist archive --- */

.tax-artist .archive-header {
		padding-bottom: var(--spacing-2);
		border-bottom: 1px solid var(--color-white);
	}

.tax-artist .archive-header .wp-block-query-title::before {
			display: none;
		}

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
}

.leaflet-container {
	-webkit-tap-highlight-color: transparent;
	overflow: hidden;
	background: #ddd;
	outline-offset: 1px;
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	        user-select: none;
	-webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */

.leaflet-tile::selection {
	background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */

.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */

.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */

/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */

.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
}

.leaflet-container.leaflet-touch-zoom {
	touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {

	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	touch-action: none;
}

.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
	color: #0078a8;
}

.leaflet-tile {
	filter: invert();
	visibility: hidden;
}

.leaflet-tile-loaded {
	visibility: inherit;
}

.leaflet-zoom-box {
	width: 0;
	height: 0;
	box-sizing: border-box;
	z-index: 800;
	border: 2px dotted #38f;
	background: rgba(255, 255, 255, 0.5);
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */

.leaflet-overlay-pane svg {
	-moz-user-select: none;
}

.leaflet-pane {
	z-index: 400;
}

.leaflet-tile-pane {
	z-index: 200;
}

.leaflet-overlay-pane {
	z-index: 400;
}

.leaflet-shadow-pane {
	z-index: 500;
}

.leaflet-marker-pane {
	z-index: 600;
}

.leaflet-tooltip-pane {
	z-index: 650;
}

.leaflet-popup-pane {
	z-index: 700;
}

.leaflet-map-pane canvas {
	z-index: 100;
}

.leaflet-map-pane svg {
	z-index: 200;
}

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
}

.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
}

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: auto;
	float: left;
	clear: both;
}

.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
}

.leaflet-top {
	top: 0;
}

.leaflet-right {
	right: 0;
}

.leaflet-bottom {
	bottom: 0;
}

.leaflet-left {
	left: 0;
}

.leaflet-right .leaflet-control {
	float: right;
	margin-right: 10px;
}

.leaflet-top .leaflet-control {
	margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
	margin-left: 10px;
}

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
}

.leaflet-zoom-animated {
	transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
}

.leaflet-interactive {
	cursor: pointer;
}

.leaflet-grab {
	cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: grabbing;
}

/* marker & overlays interactivity */

.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: auto;
}

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
	border-radius: 4px;
}

.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	-webkit-text-decoration: none;
	text-decoration: none;
	color: 000;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: 700 18px "Lucida Console", Monaco, monospace;
	text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in,
.leaflet-touch .leaflet-control-zoom-out {
	font-size: 22px;
}

/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
	background: #fff;
	border-radius: 5px;
}

.leaflet-control-layers-toggle {
	background-image: url(images/layers.png);
	width: 36px;
	height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url(images/layers-2x.png);
	background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
}

.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
}

.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
}

.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
}

.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
}

.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
}

.leaflet-default-icon-path {
	background-image: url(images/icon-location-ping.svg);
}

.leaflet-container .leaflet-control-attribution {
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
}

.leaflet-control-attribution a {
	-webkit-text-decoration: none;
	text-decoration: none;
}

.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
}

.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
}

.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
}

.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0, 0, 0, 0.2);
	background-clip: padding-box;
}

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
}

.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
}

.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
}

.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
}

.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;
	margin: -10px auto 0;
	pointer-events: auto;
	transform: rotate(45deg);
}

.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: #fff;
	color: #333;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	-webkit-text-decoration: none;
	text-decoration: none;
	background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
}

.leaflet-popup-scrolled {
	overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;
	filter: progid:DXImageTransform.Microsoft.Matrix(m11=0.70710678, m12=0.70710678, m21=-0.70710678, m22=0.70710678);
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
}

.map-marker-icon-html {
	width: 100%;
	height: 65px;
}

.leaflet-marker-icon {
	opacity: 0.6;
	transition: opacity var(--speed) ease-in-out;
}

.leaflet-marker-icon.is-current-marker {
		opacity: 1;
	}

.leaflet-marker-icon::before {
		display: block;
		position: absolute;
		content: counter(marker);
		counter-increment: marker;
		color: #000;
		font-family: var(--font-sans);
		font-size: var(--font-size-6);
		font-weight: 600;
		line-height: 1.3;
		text-align: center;
		top: 9%;
		width: 100%;
	}

/*--------------------------------------------------------------
  # Accessibility
--------------------------------------------------------------*/

/* --- Text meant only for screen readers. --- */

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	-webkit-text-decoration: none;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.hide-visually {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0 !important;
	border: 0 !important;
	height: 1px !important;
	width: 1px !important;
	overflow: hidden;
}

/* --- Skip Link --- */

.skip-link {
	left: 0;
	top: 0;
}

.skip-link:focus {
	background: #f1f1f1;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	color: #0073aa;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Segoe UI Symbol";
	font-size: 14px;
	font-weight: 700;
	left: 6px;
	line-height: normal;
	padding: 15px 23px 14px;
	-webkit-text-decoration: none;
	text-decoration: none;
	top: 7px;
	z-index: 100000;
}

/*--------------------------------------------------------------
  # Displays
--------------------------------------------------------------*/

.show-item-on-mobile {
	display: none;
}

@media (max-width: 48.8125em) {

.show-item-on-mobile {
		display: block;
}
	}

/*--------------------------------------------------------------
  # Alignments
--------------------------------------------------------------*/

.alignfull,
.alignwide {
	padding-left: 0;
	padding-right: 0;
}

.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
}

.aligncenter.wp-block-image {
		margin-left: auto;
		margin-right: auto;
	}

/*--------------------------------------------------------------
  # Positions
--------------------------------------------------------------*/

@media (min-width: 48.8126em) {

.is-sticky {
		position: sticky;
		top: calc(100px + var(--spacing-3));
}
	}

/*--------------------------------------------------------------
  # Colors
--------------------------------------------------------------*/

/* --- Background colors --- */

:root .has-blue-dark-background-color {
		background-color: var(--color-blue-dark);
	}

:root .has-blue-background-color {
		background-color: var(--color-blue);
	}

:root .has-blue-light-background-color {
		background-color: var(--color-blue-light);
	}

:root .has-gray-background-color {
		background-color: var(--color-gray);
	}

:root .has-gray-light-background-color {
		background-color: var(--color-gray-light);
	}

:root .has-yellow-background-color {
		background-color: var(--color-yellow);
	}

:root .has-white-background-color {
		background-color: var(--color-white);
	}

:root .has-black-background-color {
		background-color: var(--color-black);
	}

/* --- Text colors --- */

:root .has-blue-dark-color {
		color: var(--color-blue-dark);
	}

:root .has-blue-color {
		color: var(--color-blue);
	}

:root .has-blue-light-color {
		color: var(--color-blue-light);
	}

:root .has-gray-color {
		color: var(--color-gray);
	}

:root .has-gray-light-color {
		color: var(--color-gray-light);
	}

:root .has-yellow-color {
		color: var(--color-yellow);
	}

:root .has-white-color {
		color: var(--color-white);
	}

:root .has-black-color {
		color: var(--color-black);
	}

/*--------------------------------------------------------------
  # Margins
--------------------------------------------------------------*/

.has-zero-margin-top {
	margin-top: 0;
}

.has-small-margin-top {
	margin-top: var(--spacing);
}

.has-medium-margin-top {
	margin-top: var(--spacing-2);
}

.has-large-margin-top {
	margin-top: var(--spacing-3);
}

.has-larger-margin-top {
	margin-top: var(--spacing-4);
}

/*--------------------------------------------------------------
  # Editor font sizes
--------------------------------------------------------------*/

.has-s-font-size {
	font-size: var(--font-size-8) !important;
	letter-spacing: var(--letter-spacing);
	line-height: 1.6;
}

.has-m-font-size {
	font-size: var(--font-size-6) !important;
	letter-spacing: var(--letter-spacing);
	line-height: 1.4;
}

.has-l-font-size {
	font-size: var(--font-size-3) !important;
	letter-spacing: 0;
	line-height: 1.2;
}

.has-xl-font-size {
	font-size: var(--font-size-2) !important;
	letter-spacing: 0;
	line-height: 1.2;
}

.has-hero-font-size {
	font-size: var(--font-size-1) !important;
	letter-spacing: 0;
	line-height: 1.1;
}

/*--------------------------------------------------------------
  # Offsite icon
--------------------------------------------------------------*/

.is-offsite::after {
		content: "\2197";
		font-size: 0.6em;
		font-weight: 400;
		vertical-align: super;
		display: inline-block;
		transform: translate(0.2em, -0.2em);
		font-family: system-ui;
	}

/*--------------------------------------------------------------
  # Image fade in handling
--------------------------------------------------------------*/

.illuminate-js .content-area img:not(.leaflet-tile) {
	filter: opacity(0);
}

.illuminate-js .content-area img.is-in-viewport:not(.leaflet-tile) {
		filter: opacity(1);
		transition: filter 1s ease-in-out;
	}

@media (max-width: 48.8125em) {

	.mobile-order-1 {
		order: 1;
	}

	.mobile-order-2 {
		order: 2;
	}

	.mobile-order-3 {
		order: 3;
	}

	.mobile-order-4 {
		order: 4;
	}

	.mobile-order-5 {
		order: 5;
	}

	.mobile-order-6 {
		order: 6;
	}
}

.loading-indicator {
	animation: loading-indicator-rotation 1s linear infinite;
	border: 2px solid var(--color-white);
	border-bottom-color: transparent;
	border-radius: 50%;
	display: inline-block;
	height: 1.5rem;
	margin-right: 0.5rem;
	width: 1.5rem;
}

@keyframes loading-indicator-rotation {

	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}
