/*!
Theme Name: Buckminster Fuller Institute
Theme URI: https://github.com/a8cteam51/bfi/
Author: WordPress.com Special Projects Team
Author URI: https://wpspecialprojects.wordpress.com
Description: A custom theme designed and built for the Buckminster Fuller Institute.
Requires at least: WordPress 5.6
Version: 0.0.1
License: GNU General Public License v2 or later
License URI: LICENSE
Template: seedlet
Text Domain: bfi
This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
BFI is a child theme of Seedlet, (C) 2020 Automattic, Inc.
Seedlet is distributed under the terms of the GNU GPL v2 or later.
*/

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

/* Remove default padding */

ul[class],
ol[class] {
	padding: 0;
}

/* Set core body defaults */

body {
	box-sizing: border-box;
	min-height: 100vh;
	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;
}

/*--------------------------------------------------------------
	# Eames Century Modern
--------------------------------------------------------------*/

/* --- Regular--- */

@font-face {
	font-family: "Eames Century Modern";
	font-weight: 400;
	font-display: fallback;
	src: url(./fonts/Eames-Century-Modern-Regular.woff2) format("woff2");
}

@font-face {
	font-family: "Eames Century Modern";
	font-weight: 400;
	font-display: fallback;
	font-style: italic;
	src: url(./fonts/Eames-Century-Modern-Regular-Italic.woff2) format("woff2");
}

/*--------------------------------------------------------------
	# Inter
--------------------------------------------------------------*/

/* --- Regular--- */

@font-face {
	font-family: Inter;
	font-weight: 400;
	font-display: fallback;
	src: url(./fonts/Inter-Regular.woff2) format("woff2");
}

@font-face {
	font-family: Inter;
	font-weight: 400;
	font-display: fallback;
	font-style: italic;
	src: url(./fonts/Inter-Italic.woff2) format("woff2");
}

/* --- Bold--- */

@font-face {
	font-family: Inter;
	font-weight: 700;
	font-display: fallback;
	src: url(./fonts/Inter-Bold.woff2) format("woff2");
}

@font-face {
	font-family: Inter;
	font-weight: 700;
	font-display: fallback;
	font-style: italic;
	src: url(./fonts/Inter-BoldItalic.woff2) format("woff2");
}

/* --- Black--- */

@font-face {
	font-family: Inter;
	font-weight: 900;
	font-display: fallback;
	src: url(./fonts/Inter-Black.woff2) format("woff2");
}

@font-face {
	font-family: Inter;
	font-weight: 900;
	font-display: fallback;
	font-style: italic;
	src: url(./fonts/Inter-BlackItalic.woff2) format("woff2");
}

/* 880px */

/* 448px */

/* 600px */

/* 781px - WordPress column breakpoint */

/* 800px */

/* 960px */

/* 1216px */

:root {

	/* --- Font families --- */
	--font-sans: "Inter", sans-serif;
	--font-serif: "Eames Century Modern", serif;

	/* --- Font sizes --- */
	--font-size-xxs: 14px;
	--font-size-small-footer: 0.875rem;
	--font-size-xs: 1rem; /* Captions */
	--font-size-default: 1.125rem; /* body and h6 */
	--font-size-s: max(1rem, min(2vw, 1.375rem)); /* Subheadings media-text areas */
	--font-size-m: max(1.125rem, min(2.25vw, 1.5rem)); /* h5 */
	--font-size-l: max(1.25rem, min(3vw, 2rem)); /* h4 */
	--font-size-xl: max(1.5rem, min(3.75vw, 2.5rem)); /* h3 */
	--font-size-xxl: max(2.5rem, min(5vw, 3rem)); /* h2 */
	--font-size-xxxl: max(2.75rem, min(5.6vw, 4rem)); /* h1 */
	--font-size-huge: max(3rem, min(7vw, 5.75rem));

	/* --- Letter spacing --- */
	--letter-spacing: 0.05em;

	/* --- focus --- */
	--focus: 1px dotted var(--color-red-hover);

	/*--------------------------------------------------------------
	  # Colors
	  # Color variables are set in ./includes/theme-setup.php
	  # Section colors are set in ./css/imports/section-colors.css
	--------------------------------------------------------------*/
	--color-grid-gray: hsla(210, 2%, 95%, 1);

	--section-color: var(--color-green);

	--color-green-light: hsl(83, 51%, 54%);
	--color-blue-light: hsl(198, 88%, 76%);

	--color-gray-on-dark: hsl(210, 2%, 56%);

	/* --- Spacing --- */
	--spacing: 1.25rem /* 20px */;
	--spacing-050: calc(var(--spacing) / 2);
	--spacing-1: var(--spacing);
	--spacing-150: calc(var(--spacing) * 1.5);
	--spacing-2: calc(var(--spacing) * 2);
	--spacing-250: calc(var(--spacing) * 2.5);
	--spacing-3: calc(var(--spacing) * 3);
	--spacing-350: calc(var(--spacing) * 3.5);
	--spacing-4: calc(var(--spacing) * 4);
	--spacing-450: calc(var(--spacing) * 4.5);
	--spacing-5: calc(var(--spacing) * 5);
	--spacing-6: calc(var(--spacing) * 6);
	--spacing-8: calc(var(--spacing) * 8);

	--spacing-small: var(--spacing-050);
	--spacing-medium: var(--spacing-150);
	--spacing-large: var(--spacing-6);
	--spacing-larger: var(--spacing-8);

	--spacing-vertical-default: var(--spacing-large);

	--gutter: 2rem;

	/* --- Max widths --- */
	--max-width: 92rem; /* 1472px -- 32px gutters (x2) -- 1408 main content area */
	--max-content: 43rem;
	--max-wide-width: 73rem; /* 1168px */
	--max-less-wide-width: 58rem;

	/* --- Height of site header --- */
	--site-header-height: 7rem;
	/* stylelint-disable length-zero-no-unit */
	--mtsnb-height: 0px;

	/* --- Triangle unit sizes --- */
	--horizontal-unit: 7.5rem;

	--vertical-unit: calc(var(--horizontal-unit) * 1.1538333);

	/* --- Speed --- */
	--speed-fast: 0.15s;
	--speed: 0.25s;

	/*--------------------------------------------------------------
	  # Typography
	--------------------------------------------------------------*/ /* hero */
}

@media (max-width: 37.5em) {

:root {
		--font-size-default: 1.125rem;
		--font-size-huge: 3rem;
}
	}

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

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

@media (max-width: 37.5em) {

:root {
		--gutter: 1rem;
}
	}

/* Used on single and page featured image */

/* --- Height of notification bar --- */

/* stylelint-enable length-zero-no-unit */

@media (max-width: 60em) {

:root {
		--site-header-height: 5.5rem;
}
	}

@media (max-width: 92em) {

:root {
		--horizontal-unit: calc((100vw - var(--gutter)) / 12);
}
	}

@media (max-width: 50em) {

:root {
		--horizontal-unit: calc((100vw - var(--gutter)) / 8);
}
	}

@media (max-width: 37.5em) {

:root {
		--horizontal-unit: calc(100vw / 4);
}
	}

/*--------------------------------------------------------------
  # Section color variables and inheritance
--------------------------------------------------------------*/

/* --- Set default section colors --- */

:root {
	--section-color: var(--color-green);
	--section-color-light: var(--color-green-light);
	--section-color-on-dark: #00a35c;
	--text-on-section-color: var(--color-white);
	--text-on-white: var(--color-green);
}

/* --- Blue section color / Programs, events, videos --- */

.section-color-blue {
	--section-color: var(--color-blue);
	--section-color-light: var(--color-blue-light);
	--section-color-on-dark: #1094da;
	--text-on-section-color: var(--color-white);
	--text-on-white: var(--color-blue);
}

/* --- Red section color / About Fuller --- */

.section-color-red {
	--section-color: var(--color-red);
	--section-color-light: #ffb5a6;
	--section-color-on-dark: #f95134;
	--text-on-section-color: var(--color-white);
	--text-on-white: var(--color-red);
}

/* --- Green section color / Trimtab blog, Dymaxion marketplace --- */

.section-color-green {
	--section-color: var(--color-green);
	--section-color-light: var(--color-green-light);
	--section-color-on-dark: #00a35c;
	--text-on-section-color: var(--color-white);
	--text-on-white: var(--color-green);
}

/* --- Light green section color / Challenge --- */

.section-color-green-light {
	--section-color: var(--color-green-light);
	--section-color-light: var(--color-green-light);
	--section-color-on-dark: var(--color-green-light);
	--text-on-section-color: var(--color-black);
	--text-on-white: var(--color-black);
}

/* --- Purple section color / About BFI --- */

.section-color-purple {
	--section-color: var(--color-purple);
	--section-color-light: #d9acfc;
	--section-color-on-dark: #b770ef;
	--text-on-section-color: var(--color-white);
	--text-on-white: var(--color-purple);
}

/* --- Yellow section color / Get involved, memberships --- */

.section-color-yellow {
	--section-color: var(--color-yellow);
	--section-color-light: #ffe874;
	--section-color-on-dark: var(--color-yellow);
	--text-on-section-color: var(--color-black);
	--text-on-white: var(--color-black);
}

/* --- Use section color on dark for black backgrounds --- */

.has-black-background-color {
	--section-color: var(--section-color-on-dark);
}

/*--------------------------------------------------------------
	# Elements
--------------------------------------------------------------*/

body {
	background-color: var(--color-white);
	font-family: "Inter", sans-serif;
	font-family: var(--font-sans);
	font-size: 1.125rem;
	font-size: var(--font-size-default);
	height: 100%;
	line-height: 1.6;
	margin: 0;
	width: 100%;
}

/* --- Anchor styles --- */

.entry-content a, .content-area a {
		color: inherit;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
	}

.entry-content a:hover, .content-area a:hover {
			color: var(--color-green);
			color: var(--section-color);
		}

.entry-content a:focus-visible {
			outline: 1px dotted var(--color-green);
			outline: 1px dotted var(--section-color);
			outline-offset: 2px;
		}

.content-area a:focus-visible {
			outline: 1px dotted var(--color-green);
			outline: 1px dotted var(--section-color);
			outline-offset: 2px;
		}

.entry-content h1 a, .content-area h1 a, .entry-content h2 a, .content-area h2 a, .entry-content h3 a, .content-area h3 a, .entry-content h4 a, .content-area h4 a, .entry-content h5 a, .content-area h5 a {
			display: inline-block;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.entry-content h1 a:hover, .content-area h1 a:hover, .entry-content h2 a:hover, .content-area h2 a:hover, .entry-content h3 a:hover, .content-area h3 a:hover, .entry-content h4 a:hover, .content-area h4 a:hover, .entry-content h5 a:hover, .content-area h5 a:hover {
				color: inherit;
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 2px;
				text-decoration-thickness: 1px;
			}

/* -- Headers --- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 900;
	line-height: 1.2;
}

h1 {
	font-family: "Inter", sans-serif;
	font-family: var(--font-sans);
	font-size: max(2.75rem, min(5.6vw, 4rem));
	font-size: var(--font-size-xxxl);
	font-weight: 900;
	line-height: 1.1;
}

h2 {
	font-size: max(2.5rem, min(5vw, 3rem));
	font-size: var(--font-size-xxl);
	line-height: 1.1;
}

h3 {
	font-size: max(1.5rem, min(3.75vw, 2.5rem));
	font-size: var(--font-size-xl);
}

h4 {
	font-size: max(1.25rem, min(3vw, 2rem));
	font-size: var(--font-size-l);
}

h5 {
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	line-height: 1.3;
}

h6 {
	font-size: 1.125rem;
	font-size: var(--font-size-default);
	line-height: 1.3;
}

strong {
	font-weight: 900;
}

/* --- selection --- */

::selection {
	background-color: var(--color-green);
	background-color: var(--section-color);
	color: var(--color-white);
	color: var(--text-on-section-color);
}

.is-style-overlap ::selection {
		background-color: var(--color-white);
		background-color: var(--text-on-section-color);
		color: var(--color-green);
		color: var(--section-color);
	}

/* --- Special Serif header style --- */

.is-style-special-serif {
	font-family: "Eames Century Modern", serif;
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.1;
}

/* --- blockquote --- */

blockquote {
	border-left: 0.25rem solid var(--color-green);
	border-left: 0.25rem solid var(--section-color);
	margin-left: 0;
	margin-right: 0;
	padding-left: calc(1.25rem  * 1.5);
	padding-left: var(--spacing-150);
}

blockquote cite {
		font-size: 1.125rem;
		font-size: var(--font-size-default);
		font-style: normal;
	}

.entry-content ul,
	.entry-content ol {
		margin-top: 2em;
		margin-bottom: 2em;
		padding-left: 1.5em;
	}

.entry-content ul ::marker {
			color: var(--color-green);
			color: var(--section-color);
		}

.entry-content ol ::marker {
			color: var(--color-green);
			color: var(--section-color);
		}

.entry-content li {
		margin-top: 1em;
		margin-bottom: 1em;
	}

/* --- Forms --- */

::placeholder {
	color: var(--color-gray);
}

label {
	font-size: 0.875rem;
	font-size: var(--font-size-small-footer);
	font-weight: 700;
	letter-spacing: 0.05em;
	letter-spacing: var(--letter-spacing);
	text-transform: uppercase;
}

select,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
textarea {
	all: reset;
	background-color: var(--color-white);
	color: var(--color-black);
	border: 1px solid var(--color-gray);
	font-family: "Inter", sans-serif;
	font-family: var(--font-sans);
	padding: 0.5em 1em;
}

select:focus, input[type="search"]:focus, input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus, input[type="tel"]:focus, textarea:focus {
		border-color: var(--color-black);
		outline: 1px solid var(--color-black);
	}

form button {
		margin-top: 2rem;
		margin-top: var(--gutter);
	}

form button:focus {
			outline: 2px dashed var(--color-red);
			outline-offset: 2px;
		}

/* --- Tables --- */

.wp-block-table thead {
		border-bottom: 3px solid;
	}

.wp-block-table tfoot {
		border-top: 3px solid;
	}

.wp-block-table td,
	.wp-block-table th {
		padding: 0.5em;
		border: 1px solid;
		word-break: normal;
	}

.wp-block-table figcaption {
		color: #555;
		font-size: 0.875rem;
		text-align: center;
	}

/*--------------------------------------------------------------
	# Global components
--------------------------------------------------------------*/

html,
body {
	overflow-x: clip;
	position: relative;
}

.site {
	margin: 0 auto;
	padding: calc(7rem + 0px) 2rem 0;
	padding: calc(var(--site-header-height) + var(--mtsnb-height)) var(--gutter) 0;
	position: relative;
	max-width: 92rem;
	max-width: var(--max-width);
}

.site::before {
		background-image: url(./images/body-bg-lines.svg);
		background-repeat: repeat-y;
		background-position: center;
		background-size: contain;
		content: "";
		position: absolute;
		top: 0;
		right: calc((2rem / 2) - 1px);
		right: calc((var(--gutter) / 2) - 1px);
		bottom: 0;
		left: calc((2rem / 2) - 1px);
		left: calc((var(--gutter) / 2) - 1px);
		z-index: -1;
	}

@media (max-width: 50em) {

.site::before {
			background-image: url(./images/body-bg-lines-tablet.svg);
	}
		}

@media (max-width: 37.5em) {

.site::before {
			background-image: url(./images/body-bg-lines-tablet.svg);
			left: -1px;
			right: -1px;
	}
		}

.site-header {
	align-items: center;
	display: flex;
	height: 7rem;
	height: var(--site-header-height);
	max-width: 92rem;
	max-width: var(--max-width);
	position: fixed;
	top: 0px;
	top: var(--mtsnb-height);
	transform: translate3d(0, 0, 0);
	width: calc(100% - 2rem * 2);
	width: calc(100% - var(--gutter) * 2);
	z-index: 10;
}

@media (min-width: 94em) {

.site-header {
		left: 0;
		margin: 0 auto;
		right: 0;
}
	}

.admin-bar .site-header {
		top: calc(0px + 32px);
		top: calc(var(--mtsnb-height) + 32px);
	}

@media screen and ( max-width: 782px ) {

.admin-bar .site-header {
			top: calc(0px + 46px);
			top: calc(var(--mtsnb-height) + 46px);
	}
		}

.site-header::before {
		content: "";
		height: 100%;
		left: calc(50% - 50vw);
		position: absolute;
		transition-property: background-color, filter;
		transition-duration: 0.15s;
		transition-duration: var(--speed-fast);
		transition-timing-function: ease;
		width: 100vw;
		z-index: -1;
	}

.site-header.has-shadow::before {
		background-color: var(--color-white);
		filter: drop-shadow(0 0 16px rgba(0, 0, 0, 0.15));
	}

.site-header .search-toggle .svg-icon {
		height: 28px;
		width: 28px;
	}

.site-header a {
		align-content: center;
		display: flex;
	}

.site-header a:focus-visible {
			outline: 2px dotted var(--color-green);
			outline: 2px dotted var(--section-color);
			outline-offset: 4px;
		}

@media (max-width: 55em) {

		.drawer-navigation-open .site-header {
			z-index: 3;
		}
	}

.site-header .site-title {
		align-content: center;
		display: flex;
		margin: 0;
		max-width: 308px;
		min-width: 170px;
	}

@media (max-width: 55em) {

			.drawer-navigation-open .site-header .site-title {
				margin-top: -0.25rem;
				z-index: 2;
			}
		}

.site-header .site-title a {
			align-content: center;
			display: flex;
		}

.site-header .site-title svg {
			width: 100%;
		}

@media (max-width: 60em) {

.site-header .site-title svg {
				height: 3rem;
				width: auto;
		}
			}

@media (max-width: 37.5em) {

.site-header .site-title svg {
				height: 2.125rem;
		}
			}

@media (max-width: 28em) {

.site-header .site-title svg {
				height: 1.825rem;
		}
			}

@media (max-width: 55em) {

					.drawer-navigation-open .site-header .site-title svg .mark path {
						fill: var(--color-white);
					}

					.drawer-navigation-open .site-header .site-title svg .type {
						display: none;
					}
			}

/* Keep the admin bard fixed rather than fight with the header positioning */

@media (max-width: 600px) {

	#wpadminbar {
		position: fixed;
	}
}

.site-navigation {
	align-content: center;
	display: flex;
	flex: 1;
	align-content: center;
	justify-content: right;
	place-content: center right;
}

@media (max-width: 55em) {

.site-navigation {
		display: none;
}
	}

.site-navigation ul {
		align-items: center;
		display: flex;
		margin: 0 0 0 auto;
		padding: 0;
	}

.site-navigation ul li {
			margin: 0 0.5rem;
			white-space: nowrap;
		}

.site-navigation a {
		border-radius: 3rem;
		color: var(--color-black);
		font-size: 1.25rem;
		padding: 0.5em 1em;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.site-navigation a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

.site-navigation a:focus-visible {
			outline: 2px dotted var(--color-green);
			outline: 2px dotted var(--section-color);
		}

.site-navigation a:focus {
			outline: 2px dotted var(--color-green);
			outline: 2px dotted var(--section-color);
		}

.site-navigation + .search-toggle {
		border-radius: 100%;
		color: var(--color-black);
		display: grid;
		height: 3.25rem;
		align-content: center;
		justify-content: center;
		place-content: center;
		margin-left: auto;
		margin-right: 0.5rem;
		width: 3.25rem;
	}

@media (min-width: 55.01em) {

			.site-navigation + .search-toggle:hover {
				background-color: hsla(210, 2%, 95%, 1);
				background-color: var(--color-grid-gray);
			}
		}

.site-navigation + .search-toggle:focus,
		.site-navigation + .search-toggle:focus-visible {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
			outline: 2px dotted var(--color-green);
			outline: 2px dotted var(--section-color);
			outline-offset: 2px;
		}

a.account-icon-link {
	border-radius: 100%;
	color: var(--color-black);
	display: grid;
	height: 3.25rem;
	align-content: center;
	justify-content: center;
	place-content: center;
	margin-right: 0.5rem;
	width: 3.25rem;
}

@media (min-width: 55.01em) {

		a.account-icon-link:hover {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
		}
	}

a.account-icon-link:focus,
	a.account-icon-link:focus-visible {
		background-color: hsla(210, 2%, 95%, 1);
		background-color: var(--color-grid-gray);
		outline: 2px dotted var(--color-green);
		outline: 2px dotted var(--section-color);
		outline-offset: 2px;
	}

nav .social {
	column-gap: calc(1.25rem  / 2);
	column-gap: var(--spacing-050);
	display: flex;
}

nav .social svg {
		fill: currentcolor;
	}

.bfi-breadcrumb {
	font-size: 1rem;
	font-size: var(--font-size-xs);
	margin: 3rem 0;
	text-align: center;
}

.bfi-breadcrumb ol {
		list-style: none;
		margin: 0;
		padding-left: 0;
	}

.bfi-breadcrumb li {
		display: inline;
	}

.bfi-breadcrumb li + li::before {
		color: var(--color-green);
		color: var(--section-color);
		content: "/";
		display: inline-block;
		margin: 0 calc(1.25rem  / 2);
		margin: 0 var(--spacing-050);
	}

.bfi-breadcrumb a {
		color: var(--color-black);
	}

.bfi-breadcrumb a:hover {
			color: var(--color-green);
			color: var(--text-on-white);
			-webkit-text-decoration: none;
			text-decoration: none;
		}

/* Sitewide footer */

.site-footer {
	position: relative;
}

.site-footer.alignfull {
		margin-left: calc(2rem * -1);
		margin-left: calc(var(--gutter) * -1);
		margin-right: calc(2rem * -1);
		margin-right: calc(var(--gutter) * -1);
		width: 100vw;
		max-width: 100vw;
	}

@media (min-width: 92em) {

.site-footer.alignfull {
			margin-left: calc(92rem / 2 - 50vw - 2rem);
			margin-left: calc(var(--max-width) / 2 - 50vw - var(--gutter));
			margin-right: calc(92rem / 2 - 50vw - 2rem);
			margin-right: calc(var(--max-width) / 2 - 50vw - var(--gutter));
	}
		}

/* --- Footer buttons --- */

.site-footer .wp-block-buttons {
		gap: 2rem;
		gap: var(--gutter);
	}

.site-footer .wp-block-button {
		flex: 1;
	}

.site-footer .wp-block-button__link {
		background-color: transparent;
		border: 4px solid currentcolor;
		border-radius: 0;
		color: var(--color-white);
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
		font-size: max(2.5rem, min(5vw, 3rem));
		font-size: var(--font-size-xxl);
		justify-content: center;
		padding: calc(1.25rem  * 3) 2rem;
		padding: var(--spacing-3) var(--gutter);
		width: 100%;
		word-break: normal;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
	}

@media (max-width: 50em) {

.site-footer .wp-block-button__link {
			font-size: 2.25rem;
	}
		}

.site-footer .wp-block-button__link::after {
			background-color: currentcolor;
			background-image: none;
			height: 2.375rem;
			margin: -3rem 0 0 0;
			-webkit-mask-image: url(./images/bfi-mark.svg);
			        mask-image: url(./images/bfi-mark.svg);
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			width: 2.375rem;
			transition: none;
		}

.site-footer .wp-block-button__link:hover {
			background-color: var(--color-green);
			background-color: var(--section-color);
			border-color: var(--color-green);
			border-color: var(--section-color);
			color: var(--color-white);
			color: var(--text-on-section-color);
		}

.site-footer .wp-block-button__link:hover::after {
				background-color: currentcolor;
			}

.site-footer .donate-button {
		padding: 0 !important;
	}

.site-footer .donate-button {
		background-color: transparent;
	}

.site-footer .donate-button .wp-block-button__link::after {
		-webkit-mask-image: url(./images/bfi-heart.svg);
		        mask-image: url(./images/bfi-heart.svg);
		margin-top: -2rem;
	}

/* --- footer social nav --- */

.site-footer .social-navigation {
		grid-column: 6;
	}

@media (max-width: 76em) {

.site-footer .social-navigation {
			grid-column: 5 / span 2;
	}
		}

@media (max-width: 60em) {

.site-footer .social-navigation {
			grid-column: 4 / span 3;
	}
		}

@media (max-width: 37.5em) {

.site-footer .social-navigation {
			grid-column: 1;
			grid-row: 2;
	}
		}

.site-footer .social-navigation p {
			color: hsl(210, 2%, 56%);
			color: var(--color-gray-on-dark);
			font-size: 0.875rem;
			font-size: var(--font-size-small-footer);
			font-weight: 700;
			letter-spacing: 0.05em;
			letter-spacing: var(--letter-spacing);
			text-transform: uppercase;
		}

.site-footer .social-navigation .social {
			margin-top: 0;
		}

.site-footer .social-navigation .social svg {
				height: auto;
				width: 2rem;
			}

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

.dark-bg p,
	.dark-bg a {
		color: var(--color-white);
	}

.dark-bg-inner-wrapper {
	margin: 0 auto;
	padding: 2rem;
	padding: var(--gutter);
	max-width: 92rem;
	max-width: var(--max-width);
}

.footer-navigation {
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
}

.footer-navigation:hover li {
			opacity: 0.6;
		}

.footer-navigation ul {
		line-height: 1.2;
		margin: 0;
		padding: 0;
		transition: all 0.3s ease;
	}

.footer-navigation li {
		margin: 0.4em 0;
	}

.footer-navigation a {
		font-size: 1rem;
		font-size: var(--font-size-xs);
		-webkit-text-decoration: none;
		text-decoration: none;
		transition: all 0.3s ease;
	}

.footer-navigation a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

.footer-navigation > ul {
		grid-column-gap: 32px;
		column-gap: 32px;
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(6, 1fr);
	}

@media (max-width: 60em) {

.footer-navigation > ul {
			grid-template-columns: repeat(3, 1fr);
	}
		}

@media (max-width: 37.5em) {

.footer-navigation > ul {
			grid-template-columns: 100%;
	}
		}

.footer-navigation > ul > li > a {
				color: hsl(210, 2%, 56%);
				color: var(--color-gray-on-dark);
				font-size: 0.875rem;
				font-size: var(--font-size-small-footer);
				font-weight: 700;
				letter-spacing: 0.05em;
				letter-spacing: var(--letter-spacing);
				text-transform: uppercase;
				transition: all 0.3s ease;
			}

.footer-navigation > ul > li:hover a {
				color: #00a35c;
				color: var(--section-color-on-dark);
			}

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

.footer-navigation > ul > li {
		margin: 0;
		transition: opacity 0.25s ease;
		transition: opacity var(--speed) ease;
	}

.footer-navigation > ul > li:hover {
			opacity: 1;
		}

.footer-navigation > ul > li:hover > a {
				color: #00a35c;
				color: var(--section-color-on-dark);
			}

.footer-navigation > ul > li:hover li {
				opacity: 1;
			}

.footer-navigation > ul > li:hover .sub-menu a {
			color: var(--color-white);
		}

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

.footer-columns {
	grid-column-gap: 32px;
	column-gap: 32px;
	display: grid;
	gap: 2rem;
	grid-gap: 2rem;
	grid-gap: var(--gutter);
	gap: var(--gutter);
	grid-template-columns: repeat(6, 1fr);
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
}

@media (max-width: 37.5em) {

.footer-columns {
		grid-template-columns: 100%;
}
	}

.site-info {
	align-self: end;
	grid-column: 1 / span 3;
}

@media (max-width: 76em) {

.site-info {
		grid-column: 1 / span 2;
}
	}

@media (max-width: 60em) {

.site-info {
		grid-row: 2;
		grid-column: 1 / span 3;
}
	}

@media (max-width: 37.5em) {

.site-info {
		grid-column: 1;
		grid-row: 3;
}
	}

.site-info a {
		display: block;
		font-size: 1rem;
		font-size: var(--font-size-xs);
		-webkit-text-decoration: none;
		text-decoration: none;
		max-width: max-content;
	}

.subscribe {
	grid-column: 4 / span 2;
}

@media (max-width: 76em) {

.subscribe {
		grid-column: 3 / span 2;
}
	}

@media (max-width: 60em) {

.subscribe {
		grid-column: 1 / span 3;
}
	}

@media (max-width: 37.5em) {

.subscribe {
		grid-column: 1;
		grid-row: 1;
}
	}

.subscribe p {
		color: hsl(210, 2%, 56%);
		color: var(--color-gray-on-dark);
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
		font-weight: 700;
		letter-spacing: 0.05em;
		letter-spacing: var(--letter-spacing);
		text-transform: uppercase;
	}

.subscribe form {
		border: 1px solid var(--color-white);
		display: grid;
		grid-template-columns: 1fr auto;
	}

.subscribe input {
		background: transparent;
		border: none;
		color: var(--color-white);
		padding: calc(1.25rem  / 2) 1.25rem  calc((1.25rem  / 2) - 2px);
		padding: calc(1.25rem  / 2) 1.25rem  calc(calc(1.25rem  / 2) - 2px);
		padding: var(--spacing-050) var(--spacing) calc(var(--spacing-050) - 2px);
		width: 100%;
	}

.subscribe input:focus {
			border: none;
			outline: none;
		}

.subscribe ::placeholder {
		color: var(--color-white);
	}

.subscribe button {
		align-items: center;
		background-color: var(--color-white);
		border: none;
		border-radius: 0;
		color: var(--color-black);
		display: flex;
		margin: 0;
		padding: calc(1.25rem  / 2) calc(1.25rem  / 2) calc((1.25rem  / 2) - 2px) 1.25rem ;
		padding: calc(1.25rem  / 2) calc(1.25rem  / 2) calc(calc(1.25rem  / 2) - 2px) 1.25rem ;
		padding: var(--spacing-050) var(--spacing-050) calc(var(--spacing-050) - 2px) var(--spacing);
		cursor: pointer;
	}

.subscribe button svg {
			height: 1em;
			margin-left: 0.25rem;
		}

.subscribe button svg path {
				fill: currentcolor;
			}

.widget-area.supporters {
	background: var(--color-white);
	column-gap: calc(1.25rem  * 2.5);
	column-gap: var(--spacing-250);
	display: flex;
	padding: 1.5rem 2rem;
	padding: 1.5rem var(--gutter);
	align-content: center;
	justify-content: center;
	place-content: center;
}

@media (max-width: 50em) {

.widget-area.supporters {
		flex-wrap: wrap;
}
	}

.widget-area.supporters .widget_text {
		display: flex;
		align-content: center;
		justify-content: center;
		place-content: center;
		white-space: nowrap;
	}

@media (max-width: 50em) {

.widget-area.supporters .widget_text {
			flex: 100%;
	}
		}

.widget-area.supporters .widget_text p {
			display: flex;
			font-size: 1rem;
			font-size: var(--font-size-xs);
			align-items: center;
			justify-items: center;
			place-items: center;
		}

.widget-area.supporters .widget_text a {
			color: rgba(115, 117, 119, 1);
		}

.widget-area.supporters .wp-block-gallery .blocks-gallery-grid {
		gap: 1.25rem  calc(1.25rem  * 2.5);
		gap: var(--spacing) var(--spacing-250);
		display: flex;
		align-content: center;
		justify-content: center;
		place-content: center;
	}

.widget-area.supporters .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item {
			align-self: center;
			margin: 0;
			width: auto;
		}

.widget-area.supporters .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item figure {
				align-items: center;
				justify-content: center;
			}

.widget-area.supporters .wp-block-gallery .blocks-gallery-grid img {
			filter: grayscale(1);
		}

.supporters #block-3 .has-nested-images {
	gap: calc(1.25rem  * 2.5) !important;
	gap: var(--spacing-250) !important;
}

@media (max-width: 50em) {

.supporters #block-3 .has-nested-images {
		justify-content: center;
}
	}

@media (max-width: 37.5em) {

.supporters #block-3 .has-nested-images {
		gap: 2rem !important;
}

.supporters #block-3 .has-nested-images {
		flex-direction: column;
		justify-content: center;
}
	}

.supporters #block-3 .has-nested-images .wp-block-image {
		margin: 0 !important;
		width: auto !important;
	}

.supporters #block-3 .has-nested-images .wp-block-image {
		flex-grow: 0;
	}

.supporters #block-3 .has-nested-images a {
		display: flex;
		max-height: 80px;
		max-width: 165px;
	}

.supporters #block-3 .has-nested-images a > img {
			height: 100% !important;
			max-height: 80px !important;
			width: 100% !important;
			max-width: 165px !important;
		}

.supporters #block-3 .has-nested-images a > img {
			-o-object-fit: contain;
			   object-fit: contain;
		}

/*--------------------------------------------------------------
	# Pagination
--------------------------------------------------------------*/

.nav-links {
	align-content: center;
	color: var(--color-green);
	color: var(--text-on-white);
	display: flex;
	flex-wrap: wrap;
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	font-weight: 900;
	gap: 0.5rem;
	line-height: 1;
	margin: calc(1.25rem  * 5) auto;
	margin: var(--spacing-5) auto;
	max-width: max-content;
}

.nav-links > * {
		display: grid;
		align-content: center;
		justify-content: center;
		place-content: center;
		height: 40px;
		min-width: 40px;
	}

.nav-links .prev,
	.nav-links .next {
		align-items: center;
		display: flex;
	}

.nav-links .prev svg, .nav-links .next svg {
			opacity: 0;
			transition: opacity 0.25s ease;
			transition: opacity var(--speed) ease;
		}

.nav-links .prev:hover svg, .nav-links .next:hover svg {
			opacity: 1;
		}

.nav-links .current {
		border: 3px solid var(--color-green);
		border: 3px solid var(--section-color);
		border-radius: 100px;
	}

.nav-links a {
		color: inherit;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.nav-links a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

/*--------------------------------------------------------------
	# Button to open drawer navigation
--------------------------------------------------------------*/

#drawer-open-menu {
	border: none;
	border-radius: 100%;
	background-color: transparent;
	color: var(--color-black);
	cursor: pointer;
	display: grid;
	height: 3.25rem;
	align-content: center;
	justify-content: center;
	place-content: center;
	width: 3.25rem;
}

#drawer-open-menu .svg-icon {
		height: 28px;
		width: 28px;
	}

@media (min-width: 55.01em) {

		#drawer-open-menu:hover {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
		}
	}

#drawer-open-menu:focus-visible {
		background-color: hsla(210, 2%, 95%, 1);
		background-color: var(--color-grid-gray);
		outline: 2px dotted var(--color-green);
		outline: 2px dotted var(--section-color);
		outline-offset: 2px;
	}

/*--------------------------------------------------------------
	# Drawer navigation
--------------------------------------------------------------*/

.drawer-navigation {
	--max-drawer-width-with-children: 60rem;
	--color-nav-dim: #6e7072;
	--color-nav-dim-small: #8c8d8e;

	background: var(--color-black);
	height: calc(100vh - 0px);
	height: calc(100vh - var(--mtsnb-height));
	opacity: 0;
	position: fixed;
	right: calc(50% - 50vw);
	top: 0;
	width: 100vw;
	transform: translateX(1rem);
	transition-duration: 0.15s, 0.25s, 0.25s;
	transition-duration: var(--speed-fast), var(--speed), var(--speed);
	transition-property: max-width, opacity, transform;
	transition-timing-function: ease, ease-in-out, ease-in-out;
	z-index: 1;
}

@media (min-width: 55.01em) {

.drawer-navigation {
		max-width: 46rem;
}

		.drawer-navigation::before,
		.drawer-navigation::after {
			background-image: linear-gradient(90deg, var(--color-black) 50%, var(--color-black) 50%);
			content: "";
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			z-index: -1;
		}

		.drawer-navigation::after {
			transition: background-image 0.15s ease 0.15s;
			transition: background-image var(--speed-fast) ease var(--speed-fast);
		}
	}

@media (max-width: 37.5em) {

.drawer-navigation {
		--color-nav-dim-small: #adadad;
}
	}

.drawer-navigation-open .drawer-navigation {
		transform: translateX(0);
		opacity: 1;
	}

/* Menu Close button */

.drawer-navigation button.close {
		align-items: center;
		background-color: var(--color-black);
		border: none;
		border-radius: 50%;
		cursor: pointer;
		display: flex;
		height: 4.5rem;
		justify-content: center;
		margin: 0;
		position: absolute;
		transition: 0.3s box-shadow ease, 0.1s background-color ease, 0.3s top ease, 0.2s transform ease;
		transform-style: preserve-3d;
		width: 4.5rem;
		z-index: 1;
	}

@media (max-width: 55em) {

.drawer-navigation button.close {
			height: auto;
			top: 1.5rem;
			right: 1.25rem ;
			right: var(--spacing);
			width: auto;
	}

			.drawer-navigation button.close .hide-visually:not(.collapsed-text) {
				border: 0 !important;
				height: auto !important;
				padding: 0 !important;
				position: static !important;
				width: auto !important;
			}

			.drawer-navigation button.close .hide-visually:not(.collapsed-text) {
				clip: none;
				color: var(--color-white);
				font-size: 1.25rem;
				overflow: visible;
			}
		}

@media (min-width: 55.01em) {

.drawer-navigation button.close {
			top: calc(1.25rem  * 3.5);
			top: var(--spacing-350);
			left: -2rem;
			transform: translateX(-100%);
	}
		}

.drawer-navigation button.close:active {
			background: var(--color-green);
			background: var(--section-color);
			transform: scale(0.95);
		}

@media (min-width: 55.01em) {

.drawer-navigation button.close:active {
				transform: scale(0.95) translateX(-100%);
		}
			}

@media (min-width: 55.01em) {

			.drawer-navigation button.close::before {
				content: "";
				height: 4px;
				width: 60%;
				background: #fff;
				transform: rotate(30deg);
				position: absolute;
				transition: 0.4s transform cubic-bezier(0.22, 0.68, 0, 1.71);
			}

			.drawer-navigation button.close::after {
				content: "";
				height: 4px;
				width: 60%;
				background: #fff;
				transform: rotate(30deg);
				position: absolute;
				transition: 0.4s transform cubic-bezier(0.22, 0.68, 0, 1.71);
			}
		}

.drawer-navigation button.close::after {
			transform: rotate(-30deg);
		}

.drawer-navigation button.close:active {
			transform: scale(1.05);
		}

.drawer-navigation button.close:hover {
			transform: scale(1.05);
		}

@media (min-width: 55.01em) {

.drawer-navigation button.close:active {
				transform: scale(1.05) translateX(-96%);
		}

.drawer-navigation button.close:hover {
				transform: scale(1.05) translateX(-96%);
		}
			}

.drawer-navigation button.close:hover::before {
				transform: rotate(45deg);
			}

.drawer-navigation button.close:active::before {
				transform: rotate(45deg);
			}

.drawer-navigation button.close:hover::after {
				transform: rotate(-45deg);
			}

.drawer-navigation button.close:active::after {
				transform: rotate(-45deg);
			}

.drawer-navigation button.close:focus-visible {
			outline: 2px dashed #00a35c;
			outline: 2px dashed var(--section-color-on-dark);
		}

/* Vellum effect when drawer is out */

@media (min-width: 55.01em) {

		.drawer-navigation-open .site-header > *:not(.drawer-navigation),
		.drawer-navigation-open .site-content,
		.drawer-navigation-open .site-footer {
			opacity: 0.3;
			pointer-events: none;
		}
	}

/* Drawer-navigation inner content wrapper */

.drawer-navigation-inner {
	border-top: 2px solid #6e7072;
	display: flex;
	flex-direction: column;
	height: 100%;
	margin-top: 5rem;
	overflow-y: auto;
	padding: 0 2rem 2rem;
	transition: padding 0.15s ease-in-out;
	transition: padding var(--speed-fast) ease-in-out;
}

@media (max-width: 37.5em) {

.drawer-navigation-inner {
		padding-left: 0;
		padding-right: 0;
}
	}

@media (min-width: 55.01em) {

.drawer-navigation-inner {
		border-top: none;
		margin-top: 0;
		padding: 3.5rem;
}
	}

.drawer-navigation-inner ul {
		margin: 0;
	}

.drawer-navigation-inner a {
		align-items: center;
		border-radius: 0.5rem;
		color: var(--color-white);
		-webkit-text-decoration: none;
		text-decoration: none;
		transition: color 0.25s ease;
		transition: color var(--speed) ease;
	}

.drawer-navigation-inner a[aria-current="page"],
		.drawer-navigation-inner a:hover {
			color: var(--color-white);
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 0.075em;
			text-decoration-thickness: 2px;
		}

.drawer-navigation-inner a:focus {
			outline: 2px dashed #00a35c;
			outline: 2px dashed var(--section-color-on-dark);
			outline-offset: 0.25em;
		}

/* Primary navigation */

.drawer-navigation-inner .primary {
		font-size: 2.25rem;
		font-weight: 900;
		line-height: 1.1;
		margin-bottom: 1.25rem ;
		margin-bottom: var(--spacing);
	}

@media (min-width: 55.01em) {

.drawer-navigation-inner .primary {
			font-size: max(2.5rem, min(5vw, 3rem));
			font-size: var(--font-size-xxl);
			margin-right: 1.5rem;
			max-width: 25rem;
	}
		}

.drawer-navigation-inner .primary li {
			display: block;
			margin: 0.5em 0;
		}

@media (max-width: 55em) {

.drawer-navigation-inner .primary li {
				padding-right: 3.75rem;
				position: relative;
		}
			}

@media (min-width: 55.01em) {

.drawer-navigation-inner .primary li {
				display: flex;
				gap: 0.5rem;
				max-width: 26.5rem;
		}
			}

@media (max-width: 55em) {

.drawer-navigation-inner .primary > li {
				border-bottom: 1px solid #5a5c5d;
				margin: 0;
				padding: 1.125rem 2rem 1rem;
				padding: 1.125rem var(--gutter) 1rem;
		}
			}

.drawer-navigation-inner .primary .child-menu-toggle {
			background-color: transparent;
			border: none;
			border-radius: 100px;
			cursor: pointer;
			height: 3.5rem;
			flex-shrink: 0;
			margin-left: auto;
			overflow: hidden;
			position: relative;
			width: 3.5rem;
		}

@media (max-width: 55em) {

.drawer-navigation-inner .primary .child-menu-toggle {
				position: absolute;
				right: 0.25rem;
				top: 0.625rem;
		}
			}

.drawer-navigation-inner .primary .child-menu-toggle::after {
				background-color: var(--color-white);
				content: "";
				height: 100%;
				/* stylelint-disable-next-line function-url-quotes */
				-webkit-mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M22.75 12.972h-9.778v9.778h-2.444v-9.778H.75v-2.444h9.778V.75h2.444v9.778h9.778z"/></svg>');
				        mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M22.75 12.972h-9.778v9.778h-2.444v-9.778H.75v-2.444h9.778V.75h2.444v9.778h9.778z"/></svg>');
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: 23px 23px;
				        mask-size: 23px 23px;
				-webkit-mask-position: center;
				        mask-position: center;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}

.drawer-navigation-inner .primary .child-menu-toggle::before {
				background-color: transparent;
				content: "";
				height: 100%;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
			}

.drawer-navigation-inner .primary .child-menu-toggle:hover::before {
					background-color: rgba(255, 255, 255, 0.1);
				}

.drawer-navigation-inner .primary .child-menu-toggle:hover::after {
					background-color: var(--color-white);
				}

.drawer-navigation-inner .primary .child-menu-toggle:focus-visible {
				outline: 2px dashed #00a35c;
				outline: 2px dashed var(--section-color-on-dark);
			}

@media (max-width: 55em) {

.drawer-navigation-inner .primary > .has-open-child-menu {
				background-color: #404142;
		}
			}

.drawer-navigation-inner .primary > .has-open-child-menu > .child-menu-toggle::after {/* stylelint-disable-next-line function-url-quotes */
					-webkit-mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M.75 10.5h22V13h-22z"/></svg>');
					        mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M.75 10.5h22V13h-22z"/></svg>');
				}

@media (min-width: 55.01em) {

					.drawer-navigation-inner .primary > .has-open-child-menu > .child-menu-toggle::after {
						/* stylelint-disable-next-line function-url-quotes */
						-webkit-mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path d="M12 2L10.2375 3.7625L17.2125 10.75H2V13.25H17.2125L10.2375 20.2375L12 22L22 12L12 2Z" fill="%23fff"/></svg>');
						        mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path d="M12 2L10.2375 3.7625L17.2125 10.75H2V13.25H17.2125L10.2375 20.2375L12 22L22 12L12 2Z" fill="%23fff"/></svg>');
					}

					.drawer-navigation-inner .primary > .has-open-child-menu > .child-menu-toggle:hover::after {
						/* stylelint-disable-next-line function-url-quotes */
						-webkit-mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="m18.7 20.4-7-7-6.9 7-1.7-1.7 7-7-7-6.9 1.7-1.7 7 7 6.9-7 1.7 1.7-7 7 7 6.9z"/></svg>');
						        mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="m18.7 20.4-7-7-6.9 7-1.7-1.7 7-7-7-6.9 1.7-1.7 7 7 6.9-7 1.7 1.7-7 7 7 6.9z"/></svg>');
					}
				}

/* Secondary navigation */

.drawer-navigation-inner .secondary {
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		margin-top: auto;
	}

@media (max-width: 55em) {

.drawer-navigation-inner .secondary {
			padding-left: 2rem;
			padding-left: var(--gutter);
			padding-right: 2rem;
			padding-right: var(--gutter);
	}
		}

/* Social icon navigation */

.drawer-navigation-inner .social {
		margin-top: 1.25rem ;
		margin-top: var(--spacing);
		margin-left: -0.5rem; /* offset padding of <a> */
	}

@media (max-width: 55em) {

.drawer-navigation-inner .social {
			padding-left: 2rem;
			padding-left: var(--gutter);
			padding-right: 2rem;
			padding-right: var(--gutter);
	}
		}

.drawer-navigation-inner .social a {
			border-radius: 100px;
			display: flex;
			height: 3rem;
			padding: 0.5rem;
			width: 3rem;
		}

.drawer-navigation-inner .social a:hover {
				background-color: rgba(255, 255, 255, 0.1);
			}

.drawer-navigation-inner .social a:focus {
				outline-offset: 0;
			}

.drawer-navigation-inner .social svg {
			height: auto;
			width: 2rem;
		}

/* Primary nav sub-menus */

.primary > .has-open-child-menu > .sub-menu {
		font-size: 1.875rem;
	}

@media (min-width: 55.01em) {

.primary > .has-open-child-menu > .sub-menu {
			height: 100%;
			padding: 3.85rem 3rem 2rem;
			position: absolute;
			top: 0;
			left: 50%;
			overflow-x: scroll;
			width: 100%;
			max-width: 50%;
	}
		}

@media (min-width: 68rem) {

.primary > .has-open-child-menu > .sub-menu {
			width: calc(var(--max-drawer-width-with-children) / 2);
			max-width: 100%;
	}
		}

.primary > .has-open-child-menu > .sub-menu > li {
			animation-delay: 0.15s;
			animation-delay: var(--speed-fast);
			animation-duration: 0.15s;
			animation-duration: var(--speed-fast);
			animation-fill-mode: forwards;
			animation-name: fadeAndSlideUp;
			opacity: 0;
			padding-top: 0.5rem;
		}

@media (max-width: 55em) {

.primary > .has-open-child-menu > .sub-menu > li {
				padding-top: 0;
		}
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(2) {
				animation-delay: calc(0.15s * 1.2);
				animation-delay: calc(var(--speed-fast) * 1.2);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(3) {
				animation-delay: calc(0.15s * 1.3);
				animation-delay: calc(var(--speed-fast) * 1.3);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(4) {
				animation-delay: calc(0.15s * 1.4);
				animation-delay: calc(var(--speed-fast) * 1.4);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(5) {
				animation-delay: calc(0.15s * 1.5);
				animation-delay: calc(var(--speed-fast) * 1.5);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(6) {
				animation-delay: calc(0.15s * 1.6);
				animation-delay: calc(var(--speed-fast) * 1.6);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(7) {
				animation-delay: calc(0.15s * 1.7);
				animation-delay: calc(var(--speed-fast) * 1.7);
			}

.primary > .has-open-child-menu > .sub-menu > li:nth-child(8) {
				animation-delay: calc(0.15s * 1.8);
				animation-delay: calc(var(--speed-fast) * 1.8);
			}

.primary .sub-menu {
		display: none;
		font-size: 1.5rem;
		font-weight: 400;
	}

.primary .sub-menu li {
			display: block;
			margin: calc(1.25rem  * 1.5) 0;
			margin: var(--spacing-150) 0;
			padding-right: 3rem;
			position: relative;
		}

.primary .sub-menu li.has-open-child-menu > .child-menu-toggle::after {
					/* stylelint-disable-next-line function-url-quotes */
					-webkit-mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M.75 10.5h22V13h-22z"/></svg>');
					        mask-image: url('data:image/svg+xml, <svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg"><path fill="%23fff" d="M.75 10.5h22V13h-22z"/></svg>');
				}

.primary .sub-menu .child-menu-toggle {
			background-size: 18px 18px;
			position: absolute;
			right: -0.125rem;
			top: 0;
			height: 2.25rem;
			width: 2.25rem;
		}

.has-open-child-menu > .sub-menu {
		display: block;
	}

.sub-menu .sub-menu {
		border-left: 2px solid rgba(255, 255, 255, 0.1);
		margin: 1.125rem -3rem 1.125rem 2px;
		padding-left: calc(1.25rem  * 1.5);
		padding-left: var(--spacing-150);
	}

@media (max-width: 55em) {

.sub-menu .sub-menu {
			margin-top: 1.5rem;
			padding-left: 1.25rem ;
			padding-left: var(--spacing);
	}
		}

.sub-menu .sub-menu li {
			margin: 1.25rem  0;
			margin: var(--spacing) 0;
		}

.sub-menu .sub-menu .child-menu-toggle {
			top: -0.25em;
		}

.sub-menu .sub-menu .sub-menu {
			margin: 0.85rem 0 0.85rem 2px;
		}

/* --- Animation for drawer navigation background --- */

@keyframes gradientFade {

	0% {
		background-image: linear-gradient(90deg, var(--color-black) 50%, var(--color-black) 50%);
	}

	100% {
		background-image: linear-gradient(90deg, var(--color-black) 50%, #404142 50%);
	}
}

/* --- Animation for drawer navigation background --- */

@keyframes fadeAndSlideUp {

	0% {
		opacity: 0;
		padding-top: 0.5rem;
	}

	100% {
		opacity: 1;
		padding-top: 0;
	}
}

@media (max-width: 55em) {

	@keyframes fadeAndSlideUp {

		0% {
			opacity: 0;
			padding-top: 0;
		}

		100% {
			opacity: 1;
			padding-top: 0;
		}
	}
}

/* Change background color and widths on desktop when child nav is open */

@media (min-width: 55.01em) {

.has-open-child-menus {
		width: calc(100% - 7.5rem);
		max-width: var(--max-drawer-width-with-children);
}

		.has-open-child-menus::after {
			animation-delay: 0.15s;
			animation-delay: var(--speed-fast);
			animation-duration: 0.1s;
			animation-fill-mode: forwards;
			animation-name: gradientFade;
		}
	}

@media (min-width: 55.01em) {

.has-open-child-menus .drawer-navigation-inner {
			padding-right: 50%;
	}
		}

.has-open-child-menus .drawer-navigation-inner .child-menu-toggle::after {
			background-color: var(--color-nav-dim);
		}

/* Menu link color gray/white */

.has-open-child-menus a {
		color: var(--color-nav-dim);
	}

.has-open-child-menus .sub-menu a {
		color: var(--color-white);
	}

.has-open-child-menus .sub-menu a + .child-menu-toggle::after {
			background-color: var(--color-white);
		}

.has-open-child-menus .has-open-sub-menu > li > a {
		color: var(--color-nav-dim-small);
	}

.has-open-child-menus .has-open-sub-menu > li > a + .child-menu-toggle::after {
			background-color: var(--color-nav-dim-small);
		}

.has-open-child-menus .has-open-sub-menu > li > a:hover {
			color: var(--color-white);
		}

.has-open-child-menus .has-open-sub-menu > li > a:hover + .child-menu-toggle::after {
				background-color: var(--color-white);
			}

.has-open-child-menus li.has-open-child-menu > a {
		color: var(--color-white);
	}

.has-open-child-menus li.has-open-child-menu > a + .child-menu-toggle::after {
			background-color: var(--color-white);
		}

.has-open-child-menus .current-menu-ancestor .sub-menu a {
			color: var(--color-nav-dim-small);
		}

.has-open-child-menus .current-menu-ancestor .sub-menu a + .child-menu-toggle::after {
				background-color: var(--color-nav-dim-small);
			}

.has-open-child-menus .current-menu-ancestor .sub-menu a:hover {
				color: var(--color-white);
			}

.has-open-child-menus .current-menu-ancestor .sub-menu a:hover + .child-menu-toggle::after {
					background-color: var(--color-white);
				}

.has-open-child-menus .current-menu-ancestor .sub-menu .current-menu-item a,
		.has-open-child-menus .current-menu-ancestor .sub-menu .current-menu-ancestor > a {
			color: var(--color-white);
		}

.has-open-child-menus .current-menu-ancestor .sub-menu .current-menu-item a + .child-menu-toggle::after, .has-open-child-menus .current-menu-ancestor .sub-menu .current-menu-ancestor > a + .child-menu-toggle::after {
				background-color: var(--color-white);
			}

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

/* --- Remove Home page title --- */

.home .entry-header {
	display: none;
}

/* --- Entry Content defaults --- */

.entry-content > *:not(.alignwide):not(.alignfull):not(.max-less-wide-width):not(.wp-block-post-featured-image):not(.is-style-intro) {
	margin-left: auto;
	margin-right: auto;
	max-width: 43rem;
	max-width: var(--max-content);
}

.home .entry-content > *:not(.alignwide):not(.alignfull):not(.max-less-wide-width):not(.wp-block-post-featured-image):not(.is-style-intro) {
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.entry-content > *:last-child:not(.alignfull) {
	margin-bottom: calc(1.25rem  * 4);
	margin-bottom: var(--spacing-4);
}

/*--------------------------------------------------------------
	# Core blocks and styles
--------------------------------------------------------------*/

/* --- Buttons --- */

.wp-block-button__link,
a.wp-block-button__link,
.wp-block-jetpack-button button.wp-block-button__link {
	align-items: center;
	background-color: var(--color-green);
	background-color: var(--section-color);
	border-radius: 100px; /* pill shape */
	color: var(--color-white);
	color: var(--text-on-section-color);
	display: inline-flex;
	font-size: inherit;
	line-height: 1;
	padding: 1rem 1.5rem;
	transition: all 0.25s ease;
	transition: all var(--speed) ease;
}

.wp-block-button__link::after, a.wp-block-button__link::after, .wp-block-jetpack-button button.wp-block-button__link::after {
		background-color: var(--color-green);
		background-color: var(--section-color);
		-webkit-mask-image: url(./images/icon-arrow.svg);
		        mask-image: url(./images/icon-arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		content: "";
		display: block;
		height: 1em;
		margin-left: 0.5em;
		width: 1em;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
	}

.wp-block-button__link strong, a.wp-block-button__link strong, .wp-block-jetpack-button button.wp-block-button__link strong {
		font-weight: 900;
		margin-left: 0.5ch;
	}

.wp-block-button__link:focus-visible, a.wp-block-button__link:focus-visible, .wp-block-jetpack-button button.wp-block-button__link:focus-visible {
		outline: 2px dashed var(--color-red);
		outline-offset: 2px;
	}

.is-style-fill .wp-block-button__link, .wc-block-grid__product-add-to-cart .wp-block-button__link, .is-style-cta-small .wp-block-button__link, .is-style-cta-small-back .wp-block-button__link, .wp-block-sensei-button .wp-block-button__link, .wp-block-sensei-button.is-style-outline .wp-block-button__link, .more-courses .wp-block-button__link, .view-certificate .wp-block-button__link, .wp-block-jetpack-button button.wp-block-button__link .wp-block-button__link {
		transition: padding 0.25s ease;
		transition: padding var(--speed) ease;
	}

.is-style-fill .wp-block-button__link::after, .wc-block-grid__product-add-to-cart .wp-block-button__link::after, .is-style-cta-small .wp-block-button__link::after, .is-style-cta-small-back .wp-block-button__link::after, .wp-block-sensei-button .wp-block-button__link::after, .wp-block-sensei-button.is-style-outline .wp-block-button__link::after, .more-courses .wp-block-button__link::after, .view-certificate .wp-block-button__link::after, .wp-block-jetpack-button button.wp-block-button__link .wp-block-button__link::after {
			transition: margin 0.25s ease;
			transition: margin var(--speed) ease;
		}

.is-style-fill .wp-block-button__link:hover, .wc-block-grid__product-add-to-cart .wp-block-button__link:hover, .is-style-cta-small .wp-block-button__link:hover, .is-style-cta-small-back .wp-block-button__link:hover, .wp-block-sensei-button .wp-block-button__link:hover, .wp-block-sensei-button.is-style-outline .wp-block-button__link:hover, .more-courses .wp-block-button__link:hover, .view-certificate .wp-block-button__link:hover, .wp-block-jetpack-button button.wp-block-button__link .wp-block-button__link:hover {
			padding-right: calc(1.5rem - 4px);
		}

.is-style-fill .wp-block-button__link:hover::after, .wc-block-grid__product-add-to-cart .wp-block-button__link:hover::after, .is-style-cta-small .wp-block-button__link:hover::after, .is-style-cta-small-back .wp-block-button__link:hover::after, .wp-block-sensei-button .wp-block-button__link:hover::after, .wp-block-sensei-button.is-style-outline .wp-block-button__link:hover::after, .more-courses .wp-block-button__link:hover::after, .view-certificate .wp-block-button__link:hover::after, .wp-block-jetpack-button button.wp-block-button__link .wp-block-button__link:hover::after {
				margin-left: calc(0.5em + 4px);
			}

.is-style-fill .wp-block-button__link, .wc-block-grid__product-add-to-cart .wp-block-button__link, .wp-block-sensei-button:not(.is-style-outline) .wp-block-button__link, .more-courses .wp-block-button__link, .view-certificate .wp-block-button__link, div.wp-block-jetpack-button .wp-block-button__link {
		border: none;
	}

.is-style-fill .wp-block-button__link:hover, .wc-block-grid__product-add-to-cart .wp-block-button__link:hover, .wp-block-sensei-button:not(.is-style-outline) .wp-block-button__link:hover, .more-courses .wp-block-button__link:hover, .view-certificate .wp-block-button__link:hover, div.wp-block-jetpack-button .wp-block-button__link:hover {
			color: var(--color-white);
			color: var(--text-on-section-color);
		}

.is-style-fill .wp-block-button__link::after, .wc-block-grid__product-add-to-cart .wp-block-button__link::after, .wp-block-sensei-button:not(.is-style-outline) .wp-block-button__link::after, .more-courses .wp-block-button__link::after, .view-certificate .wp-block-button__link::after, div.wp-block-jetpack-button .wp-block-button__link::after {
			background-color: var(--color-white);
			background-color: var(--text-on-section-color);
		}

.is-style-cta-large .wp-block-button__link, .is-style-cta-small .wp-block-button__link, .is-style-cta-small-back .wp-block-button__link, .wp-block-sensei-button.is-style-outline .wp-block-button__link {
		background-color: transparent;
		color: var(--color-green);
		color: var(--section-color);
		padding: 0;
	}

.is-style-cta-large .wp-block-button__link {
		border: 2px solid transparent;
		color: var(--color-green);
		color: var(--section-color);
		flex-wrap: wrap;
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
		gap: 0.5ch;
		margin-right: -1px; /* offset 1px transparent border */
		min-height: 44px;
		padding-left: calc(40px + 0.5rem);
		padding-right: 1em; /* to have padding on hover */
		position: relative;
		text-align: left;
		white-space: nowrap;
	}

.is-style-cta-large .wp-block-button__link strong {
			margin-left: 0;
		}

.is-style-cta-large .wp-block-button__link::after,
		.is-style-cta-large .wp-block-button__link::before {
			background-color: var(--color-green);
			background-color: var(--section-color);
			background-position: center;
			background-repeat: no-repeat;
			background-size: 1.25rem;
			border-radius: 100px;
			height: 40px;
			left: 0;
			flex-shrink: 0;
			margin: 0 0.5em 0 0;
			order: -1;
			position: absolute;
			width: 40px;
			transition: all 0.25s ease;
			transition: all var(--speed) ease;
		}

.is-style-cta-large .wp-block-button__link::before {
			content: "";
		}

.is-style-cta-large .wp-block-button__link::after {
			background-color: var(--color-white);
			background-color: var(--text-on-section-color);
			background-image: none;
			-webkit-mask-image: url(./images/icon-arrow.svg);
			        mask-image: url(./images/icon-arrow.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: 1.25rem;
			        mask-size: 1.25rem;
			z-index: 1;
		}

.is-style-cta-large .wp-block-button__link:hover {
			background-color: var(--color-green);
			background-color: var(--section-color);
			border-color: var(--color-green);
			border-color: var(--section-color);
			color: var(--color-white);
		}

.is-style-cta-large .wp-block-button__link:hover::after {
				background-color: var(--color-green);
				background-color: var(--text-on-white);
				background-image: none;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-position: center;
				        mask-position: center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: 1.25rem;
				        mask-size: 1.25rem;
				z-index: 1;
			}

.is-style-cta-large .wp-block-button__link:hover::before {
				background-color: var(--color-white);
			}

.is-style-cta-small .wp-block-button__link, .is-style-cta-small-back .wp-block-button__link, .wp-block-sensei-button.is-style-outline .wp-block-button__link {
		-webkit-text-decoration: underline;
		text-decoration: underline;
	}

.is-style-cta-small-back .wp-block-button__link::after {
		transform: rotate(180deg);
		margin-right: 0.5em;
		margin-left: 0;
		order: -1;
	}

.is-style-cta-small-back .wp-block-button__link:hover {
		margin-left: 0;
	}

.is-style-cta-small-back .wp-block-button__link:hover::after {
			margin-left: -4px;
			margin-right: calc(0.5em + 4px);
		}

.section-color-yellow .is-style-cta-large .wp-block-button__link, .section-color-green-light .is-style-cta-large .wp-block-button__link, .section-color-yellow .is-style-cta-small .wp-block-button__link, .section-color-green-light .is-style-cta-small .wp-block-button__link, .section-color-yellow .wp-block-sensei-button.is-style-outline .wp-block-button__link, .section-color-green-light .wp-block-sensei-button.is-style-outline .wp-block-button__link {
			color: var(--color-black);
		}

.section-color-yellow .has-black-background-color .is-style-cta-large .wp-block-button__link, .section-color-green-light .has-black-background-color .is-style-cta-large .wp-block-button__link, .section-color-yellow .has-black-background-color .is-style-cta-small .wp-block-button__link, .section-color-green-light .has-black-background-color .is-style-cta-small .wp-block-button__link, .section-color-yellow .has-black-background-color .wp-block-sensei-button.is-style-outline .wp-block-button__link, .section-color-green-light .has-black-background-color .wp-block-sensei-button.is-style-outline .wp-block-button__link {
				color: var(--color-white);
			}

.section-color-yellow .has-black-background-color .is-style-cta-large .wp-block-button__link:hover, .section-color-green-light .has-black-background-color .is-style-cta-large .wp-block-button__link:hover, .section-color-yellow .has-black-background-color .is-style-cta-small .wp-block-button__link:hover, .section-color-green-light .has-black-background-color .is-style-cta-small .wp-block-button__link:hover, .section-color-yellow .has-black-background-color .wp-block-sensei-button.is-style-outline .wp-block-button__link:hover, .section-color-green-light .has-black-background-color .wp-block-sensei-button.is-style-outline .wp-block-button__link:hover {
					color: var(--color-white);
					color: var(--text-on-section-color);
				}

.sensei .is-style-outline > :where(.wp-block-button__link) {
	border: none;
}

/* --- Embed block --- */

.wp-block-embed {
	margin-top: 3rem;
	margin-bottom: 3rem;
}

/* --- Columns block --- */

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

/* --- Quote --- */

.wp-block-quote.is-style-large {
		border: none;
		display: grid;
		min-height: calc((7.5rem * 1.1538333) * 5);
		min-height: calc(calc(7.5rem * 1.1538333) * 5);
		min-height: calc(var(--vertical-unit) * 5);
		align-content: center;
		justify-content: center;
		place-content: center;
		position: relative;
	}

.wp-block-quote.is-style-large::before,
		.wp-block-quote.is-style-large::after {
			content: "";
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			z-index: -1;
		}

.wp-block-quote.is-style-large::before {
			background-color: hsl(83, 51%, 54%);
			background-color: var(--section-color-light);
			-webkit-mask-image: url(./images/quote-bg.svg);
			        mask-image: url(./images/quote-bg.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
		}

.wp-block-quote.is-style-large::after {
			background-image: url(./images/quote-bg-lines.svg);
			background-position: center;
			background-repeat: no-repeat;
		}

.wp-block-quote.is-style-large > * {
			position: relative;
			text-align: center;
		}

.wp-block-quote.is-style-large p {
			font-family: "Eames Century Modern", serif;
			font-family: var(--font-serif);
			font-size: max(2.5rem, min(5vw, 3rem));
			font-size: var(--font-size-xxl);
			font-style: normal;
			line-height: 1.1;
			margin: 0 auto;
			padding: calc(1.25rem  * 2.5) 0;
			padding: var(--spacing-250) 0;
			max-width: 51rem;
		}

.wp-block-quote.is-style-large cite {
			font-size: 1.125rem;
			font-size: var(--font-size-default);
			margin-top: calc((1.25rem  * 1.5) * -1);
			margin-top: calc(calc(1.25rem  * 1.5) * -1);
			margin-top: calc(var(--spacing-150) * -1);
			text-align: center;
		}

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

.section-color-yellow .wp-block-quote.is-style-large::before, .section-color-green-light .wp-block-quote.is-style-large::before {
		background-color: var(--color-green);
		background-color: var(--section-color);
	}

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

/* --- Intro style (paragrpah) --- */

.is-style-intro {
	font-family: "Eames Century Modern", serif;
	font-family: var(--font-serif);
	font-size: max(2.5rem, min(5vw, 3rem));
	font-size: var(--font-size-xxl);
	line-height: 1.1;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: max(4.125rem, min(12.5vw, 9.625rem));
	position: relative;
	text-align: center;
	max-width: 44.5rem;
}

.is-style-intro::after {
		background-color: var(--color-green);
		background-color: var(--section-color);
		content: "";
		display: block;
		height: max(3rem, min(6.4vw, 4rem));
		margin-top: calc(1.25rem  * 2);
		margin-top: var(--spacing-2);
		-webkit-mask-image: url(./images/bfi-asterisk.svg);
		        mask-image: url(./images/bfi-asterisk.svg);
		-webkit-mask-position: center;
		        mask-position: center;
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		position: relative;
	}

.wp-block-bfi-hero + .is-style-intro {
	margin-top: calc((7.5rem * 1.1538333) * -2.25);
	margin-top: calc(calc(7.5rem * 1.1538333) * -2.25);
	margin-top: calc(var(--vertical-unit) * -2.25);
}

@media (max-width: 37.5em) {

.wp-block-bfi-hero + .is-style-intro {
		margin-top: calc((7.5rem * 1.1538333) * -0.5);
		margin-top: calc(calc(7.5rem * 1.1538333) * -0.5);
		margin-top: calc(var(--vertical-unit) * -0.5);
}
	}

@media (max-width: 32em) {

.wp-block-bfi-hero + .is-style-intro {
		margin-top: 0;
}
	}

@media (max-width: 25em) {

.wp-block-bfi-hero + .is-style-intro {
		margin-top: calc(7.5rem * 1.1538333);
		margin-top: var(--vertical-unit);
}
	}

/* --- Intro style general (paragrpah) --- */

.is-style-intro-general {
	font-size: max(1rem, min(2vw, 1.375rem));
	font-size: var(--font-size-s);
	text-align: center;
}

.is-style-intro-general::after {
		background-color: var(--color-green);
		background-color: var(--section-color);
		content: "";
		display: block;
		height: 4px;
		margin: 2.25rem auto calc(1.25rem  * 4);
		margin: 2.25rem auto var(--spacing-4);
		position: relative;
		width: 7rem;
	}

/* --- List item arrow style --- */

ul.is-style-arrow {
	list-style: none;
	padding-left: 0.5rem;
}

ul.is-style-arrow li {
		display: flex;
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
	}

ul.is-style-arrow li::before {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 1em;
			margin-top: 0.25em;
			margin-right: 0.5em;
			-webkit-mask-image: url(./images/icon-arrow.svg);
			        mask-image: url(./images/icon-arrow.svg);
			-webkit-mask-position: center;
			        mask-position: center;
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: 1.25rem;
			        mask-size: 1.25rem;
			width: 1em;
			min-width: 1em;
		}

/* --- Image block --- */

.wp-block-image .alignright {
		margin-right: calc(7.5rem * -2);
		margin-right: calc(var(--horizontal-unit) * -2);
		margin-left: calc(1.25rem  * 3);
		margin-left: var(--spacing-3);
	}

@media (max-width: 76em) {

.wp-block-image .alignright {
			margin-right: calc(7.5rem * -1);
			margin-right: calc(var(--horizontal-unit) * -1);
	}
		}

@media (max-width: 60em) {

.wp-block-image .alignright {
			margin-right: 0;
	}
		}

@media (max-width: 37.5em) {

.wp-block-image .alignright {
			float: none;
			margin-left: auto;
			margin-right: auto;
	}
		}

.wp-block-image .alignleft {
		margin-left: calc(7.5rem * -2);
		margin-left: calc(var(--horizontal-unit) * -2);
		margin-right: calc(1.25rem  * 3);
		margin-right: var(--spacing-3);
	}

@media (max-width: 76em) {

.wp-block-image .alignleft {
			margin-left: calc(7.5rem * -1);
			margin-left: calc(var(--horizontal-unit) * -1);
	}
		}

@media (max-width: 60em) {

.wp-block-image .alignleft {
			margin-left: 0;
	}
		}

@media (max-width: 37.5em) {

.wp-block-image .alignleft {
			float: none;
			margin-left: auto;
			margin-right: auto;
	}
		}

.wp-block-image figcaption {
		border-left: 4px solid var(--color-green);
		border-left: 4px solid var(--section-color);
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
		font-size: 1rem;
		font-size: var(--font-size-xs);
		margin-top: 1.5rem;
		padding-left: 1.5rem;
	}

.wp-block-image figcaption strong {
			font-family: "Inter", sans-serif;
			font-family: var(--font-sans);
			letter-spacing: 0.05em;
			letter-spacing: var(--letter-spacing);
			text-transform: uppercase;
		}

.wp-block-image .aligncenter figcaption {
		border: none;
		padding-left: 0;
	}

/* --- Gallery block --- */

.wp-block-gallery {
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
	margin-bottom: calc(1.25rem  * 2);
	margin-bottom: var(--spacing-2);
}

.wp-block-gallery.is-style-caption-slide figure, .wp-block-gallery.is-style-caption-slide.has-nested-images figure {
			overflow: hidden;
		}

.wp-block-gallery.is-style-caption-slide figure figcaption, .wp-block-gallery.is-style-caption-slide.has-nested-images figure figcaption {
				background: var(--color-green);
				background: var(--section-color);
				color: var(--color-white);
				color: var(--text-on-section-color);
				padding: 0.5rem;
				text-align: left;
				transition: bottom 0.25s ease;
				transition: bottom var(--speed) ease;
			}

.wp-block-gallery.is-style-caption-slide figure:hover figcaption, .wp-block-gallery.is-style-caption-slide.has-nested-images figure:hover figcaption {
					bottom: -100%;
				}

/* --- Media-text block --- */

.wp-block-media-text {
	gap: 0;
	grid-template-columns: 1fr 1fr;
}

.wp-block-media-text .wp-block-media-text__content {
		background-color: var(--color-green);
		background-color: var(--section-color);
		color: var(--color-white);
		color: var(--text-on-section-color);
		padding: calc(1.25rem  * 6) calc(1.25rem  * 4) calc(1.25rem  * 6) calc(1.25rem  * 5);
		padding: var(--spacing-6) var(--spacing-4) var(--spacing-6) var(--spacing-5);
	}

@media (max-width: 76em) {

.wp-block-media-text .wp-block-media-text__content {
			padding: max(3rem, min(8vw, 9rem)) max(2rem, min(8.3vw, 5rem));
			padding: max(3rem, min(8vw, 9rem)) max(var(--gutter), min(8.3vw, 5rem));
	}
		}

@media (max-width: 60em) {

.wp-block-media-text .wp-block-media-text__content {
			padding: 3rem 2rem;
			padding: 3rem var(--gutter);
	}
		}

.wp-block-media-text .wp-block-media-text__content > * {
			max-width: 43rem;
			max-width: var(--max-content);
		}

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

.wp-block-media-text .wp-block-media-text__content a:hover {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.wp-block-media-text .wp-block-media-text__content .is-style-cta-small .wp-block-button__link {
			color: var(--color-white);
			color: var(--text-on-section-color);
		}

.wp-block-media-text .wp-block-media-text__content .is-style-cta-small .wp-block-button__link::after {
				background-color: var(--color-white);
				background-color: var(--text-on-section-color);
			}

.wp-block-media-text .wp-block-media-text__content .is-style-fill .wp-block-button__link {
			background-color: var(--color-white);
			background-color: var(--text-on-section-color);
			color: var(--color-green);
			color: var(--section-color);
		}

.wp-block-media-text .wp-block-media-text__content .is-style-fill .wp-block-button__link::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

.wp-block-media-text.bleed {
		margin-left: calc(2rem * -1);
		margin-left: calc(var(--gutter) * -1);
		margin-right: calc(2rem * -1);
		margin-right: calc(var(--gutter) * -1);
		width: 100vw;
		max-width: 100vw;
	}

@media (min-width: 92em) {

.wp-block-media-text.bleed {
			margin-left: calc(92rem / 2 - 50vw - 2rem);
			margin-left: calc(var(--max-width) / 2 - 50vw - var(--gutter));
			margin-right: calc(92rem / 2 - 50vw - 2rem);
			margin-right: calc(var(--max-width) / 2 - 50vw - var(--gutter));
	}
		}

/* --- Overlap style (media-text) --- */

.is-style-overlap {
	gap: 0;
	grid-template-columns: 100%;
	margin-bottom: max(4.5rem, min(15vw, 13.5rem));
	position: relative;
}

@media (max-width: 37.5em) {

.is-style-overlap {
		margin-bottom: 4.5rem;
}
	}

@media (min-width: 50.01em) {

.is-style-overlap {
		gap: 2rem;
		gap: var(--gutter);
		grid-template-columns: repeat(12, 1fr);
}
	}

.is-style-overlap.has-media-on-the-right {
		grid-template-columns: 100%;
	}

@media (min-width: 50.01em) {

.is-style-overlap.has-media-on-the-right {
			grid-template-columns: repeat(12, 1fr);
	}
		}

.is-style-overlap.has-media-on-the-right .wp-block-media-text__media {
			grid-column: 1;
		}

@media (min-width: 50.01em) {

.is-style-overlap.has-media-on-the-right .wp-block-media-text__media {
				grid-column: 3 / span 10;
		}
			}

@media (max-width: 50em) {

				.is-style-overlap.has-media-on-the-right .wp-block-media-text__media img {
					height: auto;
					margin: 0;
					position: static;
					position: initial;
					width: 100%;
				}
			}

.is-style-overlap.has-media-on-the-right .wp-block-media-text__content {
			grid-column: 1;
			grid-row: 2;
		}

@media (min-width: 50.01em) {

.is-style-overlap.has-media-on-the-right .wp-block-media-text__content {
				grid-column: 1 / span 7;
				grid-row: 1;
				margin-left: 0;
				margin-right: 0;
		}
			}

@media (min-width: 60.001em) {

.is-style-overlap.has-media-on-the-right .wp-block-media-text__content {
				margin-right: calc(2rem / 2);
				margin-right: calc(var(--gutter) / 2);
		}
			}

@media (min-width: 76.01em) {

.is-style-overlap.has-media-on-the-right .wp-block-media-text__content {
				grid-column: 1 / span 6;
		}
			}

.is-style-overlap .wp-block-media-text__content {
		background-color: var(--color-green);
		background-color: var(--section-color);
		color: var(--color-white);
		color: var(--text-on-section-color);
	}

@media (min-width: 50.01em) {

.is-style-overlap .wp-block-media-text__content {
			grid-column: 1 / span 6;
			margin: calc(1.25rem  * 5) calc(2rem / 2) calc(1.25rem  * 5) 0;
			margin: var(--spacing-5) calc(var(--gutter) / 2) var(--spacing-5) 0;
	}
		}

.is-style-overlap .wp-block-media-text__media {
		grid-column: 1;
	}

@media (min-width: 50.01em) {

.is-style-overlap .wp-block-media-text__media {
			grid-column: 3 / span -1;
	}
		}

.is-style-overlap .is-style-cta-large .wp-block-button__link {
			color: var(--color-white);
			color: var(--text-on-section-color);
		}

.is-style-overlap .is-style-cta-large .wp-block-button__link::before {
				background-color: var(--color-white);
				background-color: var(--text-on-section-color);
			}

.is-style-overlap .is-style-cta-large .wp-block-button__link::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
				background-image: none;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-position: center;
				        mask-position: center;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: 1.25rem;
				        mask-size: 1.25rem;
				z-index: 1;
			}

.is-style-overlap .is-style-cta-large .wp-block-button__link:hover {
				background-color: var(--color-white);
				background-color: var(--text-on-section-color);
				border-color: var(--color-white);
				border-color: var(--text-on-section-color);
				color: var(--color-green);
				color: var(--section-color);
			}

.is-style-overlap .is-style-cta-large .wp-block-button__link:hover::after {
					background-color: var(--color-white);
					background-color: var(--text-on-section-color);
				}

.is-style-overlap .is-style-cta-large .wp-block-button__link:hover::before {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

/* --- Hero block --- */

.wp-block-bfi-hero:not(.is-mid-page) {
	margin-top: calc(7rem * -1 - 1rem);
	margin-top: calc(var(--site-header-height) * -1 - 1rem);
}

.wp-block-bfi-hero {
	display: grid;
	grid-gap: 0;
	gap: 0;
	grid-template-columns: 50% 50%;
	grid-template-rows: auto;
	height: calc((7.5rem * 1.1538333) * 11);
	height: calc(calc(7.5rem * 1.1538333) * 11);
	height: calc(var(--vertical-unit) * 11);
	position: relative;
	margin-top: calc(7rem * -1 - 1rem);
	margin-top: calc(var(--site-header-height) * -1 - 1rem);
}

@media (max-width: 37.5em) {

.wp-block-bfi-hero {
		grid-template-columns: 100%;
}
	}

.wp-block-bfi-hero.has-media-on-the-right {
		grid-template-columns: 50% 50%;
	}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.has-media-on-the-right {
			grid-template-columns: 100%;
	}
		}

.wp-block-bfi-hero.has-media-on-the-right .wp-block-bfi-hero__media {
			grid-column: 2;
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.has-media-on-the-right .wp-block-bfi-hero__media {
				grid-column: 1;
		}
			}

.wp-block-bfi-hero .wp-block-bfi-hero__media {
		grid-row: 1;
		height: calc((7.5rem * 1.1538333) * 6);
		height: calc(calc(7.5rem * 1.1538333) * 6);
		height: calc(var(--vertical-unit) * 6);
		margin: calc((7.5rem * 1.1538333) / 2) 0 0 calc(7.5rem * -1);
		margin: calc(calc(7.5rem * 1.1538333) / 2) 0 0 calc(7.5rem * -1);
		margin: calc(var(--vertical-unit) / 2) 0 0 calc(var(--horizontal-unit) * -1);
		position: relative;
		width: calc((7.5rem * 8) - 1px);
		width: calc((var(--horizontal-unit) * 8) - 1px);
		z-index: -1;
	}

@media (max-width: 37.5em) {

.wp-block-bfi-hero .wp-block-bfi-hero__media {
			grid-column: 1;
			grid-row: 2;
			margin: 0 0 0 -1rem;
	}
		}

.wp-block-bfi-hero .wp-block-bfi-hero__content {
		background-color: transparent;
		grid-column: 1;
		grid-row: 1;
		margin-top: calc((7.5rem * 1.1538333) * 2.5);
		margin-top: calc(calc(7.5rem * 1.1538333) * 2.5);
		margin-top: calc(var(--vertical-unit) * 2.5);
		padding: 0;
		pointer-events: none;
		z-index: 1;
	}

@media (max-width: 87.5rem) {

.wp-block-bfi-hero .wp-block-bfi-hero__content {
			padding-left: 2rem;
			padding-left: var(--gutter);
	}
		}

@media (max-width: 50em) {

.wp-block-bfi-hero .wp-block-bfi-hero__content {
			padding-left: 0;
	}
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero .wp-block-bfi-hero__content {
			margin-top: 10rem;
	}
		}

.wp-block-bfi-hero .wp-block-bfi-hero__content h1 {
			font-family: "Inter", sans-serif;
			font-family: var(--font-sans);
			font-size: max(3rem, min(7vw, 5.75rem));
			font-size: var(--font-size-huge);
			font-weight: 900;
		}

.wp-block-bfi-hero .wp-block-bfi-hero__content h1:first-child {
				margin: 0;
			}

.wp-block-bfi-hero .wp-block-bfi-hero__content .wp-block-buttons {
			margin-top: calc(1.25rem  * 2);
			margin-top: var(--spacing-2);
		}

.wp-block-bfi-hero .wp-block-bfi-hero__content .wp-block-button__link {
			font-size: max(1.25rem, min(3vw, 2rem));
			font-size: var(--font-size-l);
			font-weight: 900;
			pointer-events: auto;
		}

.wp-block-bfi-hero img {
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100%;
	}

.wp-block-bfi-hero > svg {
		color: var(--color-green);
		color: var(--section-color);
		grid-column: 1 / span 2;
		grid-row: 1;
		justify-self: center;
		margin-top: calc((7.5rem * 1.1538333) / -2);
		margin-top: calc(calc(7.5rem * 1.1538333) / -2);
		margin-top: calc(var(--vertical-unit) / -2);
		margin-left: 1px;
		stroke-width: 1px;
		width: calc((7.5rem * 16) + 2px);
		width: calc((var(--horizontal-unit) * 16) + 2px);
	}

@media (max-width: 76em) {

.wp-block-bfi-hero > svg {
			margin-left: calc(7.5rem * 2 + 1px);
			margin-left: calc(var(--horizontal-unit) * 2 + 1px);
	}
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero > svg {
			grid-row: 2;
			margin-left: calc((7.5rem * -7) - 1rem);
			margin-left: calc((var(--horizontal-unit) * -7) - 1rem);
	}
		}

.wp-block-bfi-hero > svg .big-triangles {
			transform: translate(-1px, -1px);
		}

.wp-block-bfi-hero > svg .big-triangles path:nth-child(3n - 2) {
					fill-opacity: 0.4;
				}

.wp-block-bfi-hero > svg .big-triangles path:nth-of-type(3n - 1) {
					fill-opacity: 0;
					pointer-events: none;
					stroke-opacity: 1;
					transition: all 1.5s ease;
				}

.wp-block-bfi-hero > svg .big-triangles path:nth-child(3n) {
					pointer-events: none;
					mix-blend-mode: multiply;
					stroke: transparent;
				}

.wp-block-bfi-hero > svg .big-triangles path:hover + path {
					fill-opacity: 0.6;
					transition: all 0.25s ease;
				}

.wp-block-bfi-hero > svg .windows path {
			fill: currentcolor;
			fill-opacity: 0;
		}

.wp-block-bfi-hero > svg .windows path:nth-of-type(odd) {
				mix-blend-mode: multiply;
				stroke-opacity: 0;
			}

.wp-block-bfi-hero > svg .windows path:nth-of-type(even) {
				pointer-events: none;
				stroke-opacity: 0.25;
				transition: all 1.5s ease;
			}

.wp-block-bfi-hero > svg .windows path:hover {
				fill-opacity: 1;
				transition: fill-opacity 0.25s ease;
			}

.wp-block-bfi-hero > svg .windows path:hover + path {
					fill-opacity: 0.4;
					transition: fill-opacity 0.25s ease;
				}

/* --- Hero block: Mid-page variation --- */

.wp-block-bfi-hero.is-mid-page {
	height: calc((7.5rem * 1.1538333) * 9);
	height: calc(calc(7.5rem * 1.1538333) * 9);
	height: calc(var(--vertical-unit) * 9);
	margin-top: calc((7.5rem * 1.1538333) / -2);
	margin-top: calc(calc(7.5rem * 1.1538333) / -2);
	margin-top: calc(var(--vertical-unit) / -2);
}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page {
		grid-template-columns: 100%;
		grid-template-rows: max-content 1fr;
}
	}

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__media {
		grid-column: 1;
		height: calc((7.5rem * 1.1538333) * 5);
		height: calc(calc(7.5rem * 1.1538333) * 5);
		height: calc(var(--vertical-unit) * 5);
		margin-top: calc((7.5rem * 1.1538333) * 1.5);
		margin-top: calc(calc(7.5rem * 1.1538333) * 1.5);
		margin-top: calc(var(--vertical-unit) * 1.5);
		margin-left: calc((7.5rem + (2rem) / 2) * -1);
		margin-left: calc((var(--horizontal-unit) + (var(--gutter)) / 2) * -1);
		width: calc(7.5rem * 8);
		width: calc(var(--horizontal-unit) * 8);
	}

@media (max-width: 76em) {

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__media {
			margin-left: calc(((7.5rem * 2) + (2rem) / 2) * -1);
			margin-left: calc(((var(--horizontal-unit) * 2) + (var(--gutter)) / 2) * -1);
	}
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__media {
			grid-column: 1;
			grid-row: 1;
			margin-left: calc((7.5rem + (2rem) / 2) * -1);
			margin-left: calc((var(--horizontal-unit) + (var(--gutter)) / 2) * -1);
	}
		}

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__content {
		align-self: flex-start;
		grid-column: 2;
		margin-top: calc((7.5rem * 1.1538333) * 2.75);
		margin-top: calc(calc(7.5rem * 1.1538333) * 2.75);
		margin-top: calc(var(--vertical-unit) * 2.75);
		margin-left: calc(7.5rem * 1.5);
		margin-left: calc(var(--horizontal-unit) * 1.5);
		padding: 0 2rem;
		padding: 0 var(--gutter);
		pointer-events: all;
		width: calc(7.5rem * 4);
		width: calc(var(--horizontal-unit) * 4);
	}

@media (max-width: 76em) {

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__content {
			margin-left: 0;
			width: 100%;
	}
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page .wp-block-bfi-hero__content {
			grid-column: 1;
			grid-row: 2;
			padding: 0;
			margin: calc((7.5rem * 1.1538333) * 0.5) 0 0 0;
			margin: calc(calc(7.5rem * 1.1538333) * 0.5) 0 0 0;
			margin: calc(var(--vertical-unit) * 0.5) 0 0 0;
	}
		}

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right > svg .big-triangles {
			transform: translate(0);
		}

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right .wp-block-bfi-hero__media {
			grid-column: 2;
			margin-left: calc(7.5rem * -1);
			margin-left: calc(var(--horizontal-unit) * -1);
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right .wp-block-bfi-hero__media {
				grid-column: 1;
				grid-row: 1;
				margin-left: 0;
		}
			}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right .wp-block-bfi-hero__media {
				margin-left: calc(2rem * -1);
				margin-left: calc(var(--gutter) * -1);
		}
			}

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right .wp-block-bfi-hero__content {
			grid-column: 1;
			margin-right: calc(7.5rem * 1.5);
			margin-right: calc(var(--horizontal-unit) * 1.5);
			margin-left: 0;
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right .wp-block-bfi-hero__content {
				grid-column: 1;
				grid-row: 2;
		}
			}

@media (max-width: 76em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right > svg {
				margin-left: calc(7.5rem * 2 - 1px);
				margin-left: calc(var(--horizontal-unit) * 2 - 1px);
		}
			}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right > svg {
				margin-left: calc(7.5rem * -6 + 2rem / -2 - 1px);
				margin-left: calc(var(--horizontal-unit) * -6 + var(--gutter) / -2 - 1px);
		}
			}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.is-mid-page.has-media-on-the-right > svg {
				grid-row: 1 / span 2;
				margin-left: calc(7.5rem * -7 - 2rem - 1px);
				margin-left: calc(var(--horizontal-unit) * -7 - var(--gutter) - 1px);
		}
			}

.wp-block-bfi-hero.is-mid-page > svg {
		margin-top: 0;
		margin-left: -1px;
		width: calc(7.5rem * 16);
		width: calc(var(--horizontal-unit) * 16);
	}

@media (max-width: 76em) {

.wp-block-bfi-hero.is-mid-page > svg {
			margin-left: calc(7.5rem * -2 - 1px);
			margin-left: calc(var(--horizontal-unit) * -2 - 1px);
	}
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page > svg {
			grid-row: 1 / span 2;
			margin-left: calc((7.5rem * -2) + (2rem / -2) - 1px);
			margin-left: calc((var(--horizontal-unit) * -2) + (var(--gutter) / -2) - 1px);
	}
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.is-mid-page > svg {
			margin-left: calc(7.5rem * -5 - 2rem);
			margin-left: calc(var(--horizontal-unit) * -5 - var(--gutter));
	}
		}

.wp-block-bfi-hero.is-mid-page .wp-block-buttons {
		margin-top: 1.25rem ;
		margin-top: var(--spacing);
	}

.wp-block-bfi-hero.is-mid-page .wp-block-button__link {
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
		font-weight: 400;
	}

.wp-block-bfi-hero.is-mid-page h2,
	.wp-block-bfi-hero.is-mid-page h3 {
		margin: 0 0 0.34em;
	}

.wp-block-bfi-hero.is-mid-page + .wp-block-bfi-hero.is-mid-page {
		margin-top: calc((calc(7.5rem * 1.1538333) * -3) - 2px);
		margin-top: calc((var(--vertical-unit) * -3) - 2px);
	}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-mid-page + .wp-block-bfi-hero.is-mid-page {
			margin-top: 0;
			margin-bottom: calc((7.5rem * 1.1538333) * 1.5);
			margin-bottom: calc(calc(7.5rem * 1.1538333) * 1.5);
			margin-bottom: calc(var(--vertical-unit) * 1.5);
	}
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.is-mid-page + .wp-block-bfi-hero.is-mid-page {
			margin-top: calc((7.5rem * 1.1538333) * -1 - 2px);
			margin-top: calc(calc(7.5rem * 1.1538333) * -1 - 2px);
			margin-top: calc(var(--vertical-unit) * -1 - 2px);
			margin-bottom: 0;
	}
		}

@media (max-width: 28rem) {

.wp-block-bfi-hero.is-mid-page + .wp-block-bfi-hero.is-mid-page {
			margin-top: 0;
	}
		}

@media (max-width: 22rem) {

.wp-block-bfi-hero.is-mid-page + .wp-block-bfi-hero.is-mid-page {
			margin-top: calc(7.5rem * 1.1538333);
			margin-top: var(--vertical-unit);
	}
		}

/* --- Hero block: Page header variation --- */

.wp-block-bfi-hero.is-page-header {
	height: auto;
	margin-bottom: calc(1.25rem  * 5);
	margin-bottom: var(--spacing-5);
	z-index: 0;
}

@media (max-width: 60em) {

.wp-block-bfi-hero.is-page-header {
		height: auto;
}
	}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-page-header {
		grid-template-columns: 100%;
		grid-template-rows: max-content 1fr;
}
	}

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__media {
		height: calc((7.5rem * 1.1538333) * 4.5);
		height: calc(calc(7.5rem * 1.1538333) * 4.5);
		height: calc(var(--vertical-unit) * 4.5);
		margin-top: calc((7.5rem * 1.1538333) + 2px);
		margin-top: calc(calc(7.5rem * 1.1538333) + 2px);
		margin-top: calc(var(--vertical-unit) + 2px);
		margin-left: 0;
		width: calc(7.5rem * 7);
		width: calc(var(--horizontal-unit) * 7);
	}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__media {
			grid-column: 1;
			grid-row: 1;
			margin-left: calc(7.5rem + 2rem / 2 * -1);
			margin-left: calc(var(--horizontal-unit) + var(--gutter) / 2 * -1);
	}
		}

@media (max-width: 37.5em) {

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__media {
			margin-left: calc(2rem * -1);
			margin-left: calc(var(--gutter) * -1);
	}
		}

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__content {
		margin-top: calc(7.5rem * 2.5);
		margin-top: calc(var(--horizontal-unit) * 2.5);
		padding: 0 calc(7.5rem / 2) 0 7.5rem;
		padding: 0 calc(var(--horizontal-unit) / 2) 0 var(--horizontal-unit);
		pointer-events: all;
	}

@media (max-width: 76em) {

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__content {
			margin-left: 0;
			width: 100%;
	}
		}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__content {
			grid-column: 1;
			grid-row: 2;
			padding: 0;
			margin: calc((7.5rem * 1.1538333) * 0.5) 0 0 0;
			margin: calc(calc(7.5rem * 1.1538333) * 0.5) 0 0 0;
			margin: calc(var(--vertical-unit) * 0.5) 0 0 0;
	}
		}

.wp-block-bfi-hero.is-page-header .wp-block-bfi-hero__content h1 {
			font-size: max(2.75rem, min(5.6vw, 4rem));
			font-size: var(--font-size-xxxl);
		}

.wp-block-bfi-hero.is-page-header > svg {
		grid-column: 2;
		margin-left: 0;
		margin-right: calc(7.5rem * 1 - (2rem / 2));
		margin-right: calc(var(--horizontal-unit) * 1 - (var(--gutter) / 2));
		position: absolute;
		width: calc(7.5rem * 9 + 2px);
		width: calc(var(--horizontal-unit) * 9 + 2px);
	}

@media (max-width: 50em) {

.wp-block-bfi-hero.is-page-header > svg {
			grid-column: 1;
			grid-row: 1 / span 2;
			margin-left: calc(2rem / -2 - -1px);
			margin-left: calc(var(--gutter) / -2 - -1px);
	}
		}

/* --- TOC Item style (media-text) --- */

.is-style-toc-item {
	border-top: 4px solid var(--color-green);
	border-top: 4px solid var(--section-color);
	border-bottom: 4px solid var(--color-green);
	border-bottom: 4px solid var(--section-color);
	display: grid;
	gap: 2rem;
	grid-gap: 2rem;
	grid-gap: var(--gutter);
	gap: var(--gutter);
	padding: calc(1.25rem  * 1.5) 0;
	padding: var(--spacing-150) 0;
}

@media (min-width: 37.51em) {

.is-style-toc-item {
		grid-template-columns: repeat(10, 1fr);
}
	}

.is-style-toc-item .wp-block-media-text__content {
		background-color: transparent;
		color: var(--color-black);
		padding: 0;
		max-width: 35.5rem;
	}

@media (min-width: 37.51em) {

.is-style-toc-item .wp-block-media-text__content {
			font-size: 1.25rem;
			grid-column: 5 / span 6;
	}
		}

.is-style-toc-item .wp-block-media-text__media {
		aspect-ratio: 3 / 2;
	}

.is-style-toc-item .wp-block-media-text__media img {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

@media (min-width: 37.51em) {

.is-style-toc-item .wp-block-media-text__media {
			grid-column: 1 / span 4;
	}
		}

@media (min-width: 37.51em) {

.is-style-toc-item.has-media-on-the-right {
			grid-template-columns: repeat(10, 1fr);
	}

			.is-style-toc-item.has-media-on-the-right .wp-block-media-text__content {
				grid-column: 1 / span 6;
			}

			.is-style-toc-item.has-media-on-the-right .wp-block-media-text__media {
				grid-column: 7 / span 4;
			}
		}

.is-style-toc-item h2,
	.is-style-toc-item h3 {
		margin: 0 0 1.25rem ;
		margin: 0 0 var(--spacing);
	}

.is-style-toc-item h2 a, .is-style-toc-item h3 a {
			color: var(--color-black);
			-webkit-text-decoration: none;
			text-decoration: none;
			transition: color 0.15s ease;
			transition: color var(--speed-fast) ease;
		}

.is-style-toc-item h2 a::before {
				background-color: transparent;
				content: "";
				display: inline-block;
				height: 0.833em;
				margin: 0 0 -3px 0.5rem;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				transition: background-color 0.15s ease;
				transition: background-color var(--speed-fast) ease;
				width: 0.833em;
			}

.is-style-toc-item h3 a::before {
				background-color: transparent;
				content: "";
				display: inline-block;
				height: 0.833em;
				margin: 0 0 -3px 0.5rem;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				transition: background-color 0.15s ease;
				transition: background-color var(--speed-fast) ease;
				width: 0.833em;
			}

.is-style-toc-item h2 a:hover, .is-style-toc-item h3 a:hover {
				color: var(--color-green);
				color: var(--section-color);
			}

.is-style-toc-item h2 a:hover::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.is-style-toc-item h3 a:hover::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.is-style-toc-item + .is-style-toc-item {
		border-top: none;
		border-bottom: 4px solid var(--color-green);
		border-bottom: 4px solid var(--section-color);
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		margin-top: calc(1.25rem  * 1.5);
		margin-top: var(--spacing-150);
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: calc(1.25rem  * 1.5);
		padding-bottom: var(--spacing-150);
	}

/* --- Group block --- */

.wp-block-group.alignfull {
		padding-left: 2rem;
		padding-left: var(--gutter);
		padding-right: 2rem;
		padding-right: var(--gutter);
	}

.wp-block-group.has-background {
		padding-top: calc(1.25rem  * 4);
		padding-top: var(--spacing-4);
		padding-bottom: calc(1.25rem  * 4);
		padding-bottom: var(--spacing-4);
		position: relative;
	}

.wp-block-group.has-background.alignfull::before {
			content: "";
			background-color: inherit;
			height: 100%;
			position: absolute;
			top: 0;
			left: calc(50% - 50vw);
			width: 100vw;
			z-index: -1;
		}

.wp-block-group__inner-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.is-style-overlap-top {
	background: var(--color-white);
	margin-top: -7.5rem;
	padding: calc(1.25rem  * 3) 7.5rem 0;
	padding: var(--spacing-3) var(--horizontal-unit) 0;
	position: relative;
}

.is-style-overlap-top h1 {
		margin: 0;
		padding: 0;
	}

.is-style-overlap-top .is-style-intro-general::after {
		margin-top: calc(1.25rem  * 2);
		margin-top: var(--spacing-2);
		margin-bottom: calc(1.25rem  * 2);
		margin-bottom: var(--spacing-2);
	}

/* --- Offset top (group) --- */

.is-style-offset-top {
	margin-top: calc((7.5rem * 1.1538333) * 0.75);
	margin-top: calc(calc(7.5rem * 1.1538333) * 0.75);
	margin-top: calc(var(--vertical-unit) * 0.75);
	padding-top: 1px;
	padding-bottom: 1px;
	position: relative;
}

@media (min-width: 37.51em) {

.is-style-offset-top {
		background-color: var(--color-black);
		color: var(--color-white);
}

		.is-style-offset-top::before {
			content: "";
			background-color: inherit;
			height: 100%;
			position: absolute;
			top: 0;
			left: calc(50% - 50vw);
			width: 100vw;
			z-index: -1;
		}
	}

@media (max-width: 28rem) {

.is-style-offset-top {
		margin-top: 10rem;
}
	}

@media (max-width: 23rem) {

.is-style-offset-top {
		margin-top: 12rem;
}
	}

.is-style-offset-top .wp-block-columns {
		margin-top: calc(((100% - 2rem) / -2) * (0.656 / 2));
		margin-top: calc(((100% - var(--gutter)) / -2) * (0.656 / 2));
	}

@media (max-width: 37.5em) {

.is-style-offset-top .wp-block-column + .wp-block-column {
			margin-top: 6rem;
	}
		}

.is-style-offset-top .wp-block-image {
		aspect-ratio: 3 / 2;
		position: relative;
	}

.is-style-offset-top .wp-block-image img {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

.is-style-offset-top h2,
	.is-style-offset-top h3 {
		margin: 0.55em 0 1rem;
	}

@media (min-width: 37.51em) {

.is-style-offset-top .is-style-cta-small .wp-block-button__link {
			color: #00a35c;
			color: var(--section-color-on-dark);
	}

			.is-style-offset-top .is-style-cta-small .wp-block-button__link::after {
				background-color: #00a35c;
				background-color: var(--section-color-on-dark);
			}
		}

/* --- Candy Striped / Diagonal Color Blocks (group) --- */

.is-style-candy-striped {
	--section-color: var(--color-black);
	background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 33%, hsl(83, 51%, 54%) 33%, hsl(83, 51%, 54%) 75%, hsl(198, 88%, 76%) 75%);
	background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 33%, var(--color-green-light) 33%, var(--color-green-light) 75%, var(--color-blue-light) 75%);
	margin-top: max(7.5rem, min(15.347vw, 14rem));
	padding: calc(1.25rem  * 4) 0 calc(1.25rem  * 6);
	padding: var(--spacing-4) 0 var(--spacing-6);
	position: relative;
}

.is-style-candy-striped.alignfull {
		margin-left: calc(2rem * -1);
		margin-left: calc(var(--gutter) * -1);
		margin-right: calc(2rem * -1);
		margin-right: calc(var(--gutter) * -1);
		width: 100vw;
		max-width: 100vw;
	}

@media (min-width: 92em) {

.is-style-candy-striped.alignfull {
			margin-left: calc(92rem / 2 - 50vw - 2rem);
			margin-left: calc(var(--max-width) / 2 - 50vw - var(--gutter));
			margin-right: calc(92rem / 2 - 50vw - 2rem);
			margin-right: calc(var(--max-width) / 2 - 50vw - var(--gutter));
	}
		}

@media (max-width: 37.5em) {

.is-style-candy-striped {
		background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 15%, hsl(83, 51%, 54%) 15%, hsl(83, 51%, 54%) 85%, hsl(198, 88%, 76%) 85%);
		background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 15%, var(--color-green-light) 15%, var(--color-green-light) 85%, var(--color-blue-light) 85%);
}
	}

@media (min-width: 94em) {

.is-style-candy-striped {
		background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 20%, hsl(83, 51%, 54%) 20%, hsl(83, 51%, 54%) 80%, hsl(198, 88%, 76%) 80%);
		background: linear-gradient(120deg, var(--color-yellow), var(--color-yellow) 20%, var(--color-green-light) 20%, var(--color-green-light) 80%, var(--color-blue-light) 80%);
}
	}

.is-style-candy-striped .wp-block-group__inner-container {
		position: relative;
		max-width: 92rem;
		max-width: var(--max-width);
	}

@media (min-width: 94em) {

.is-style-candy-striped .wp-block-group__inner-container {
			padding-left: 2rem;
			padding-left: var(--gutter);
			padding-right: 2rem;
			padding-right: var(--gutter);
	}
		}

.is-style-candy-striped .wp-block-group__inner-container > * {
			max-width: 100%;
		}

.is-style-candy-striped .wp-block-media-text__content {
		background-color: transparent;
		color: var(--color-black);
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
		padding: max(3rem, min(10vw, 9.5rem));
		padding-left: calc(max(3rem, min(10vw, 9.5rem)) - 2rem);
		padding-left: calc(max(3rem, min(10vw, 9.5rem)) - var(--gutter));
	}

@media (max-width: 60em) {

.is-style-candy-striped .wp-block-media-text__content {
			padding: 3rem;
			padding-left: calc(3rem - 2rem);
			padding-left: calc(3rem - var(--gutter));
	}
		}

@media (max-width: 37.5em) {

.is-style-candy-striped .wp-block-media-text__content {
			padding: 3rem 0 0;
	}
		}

.is-style-candy-striped h2,
	.is-style-candy-striped h3 {
		color: var(--color-black);
	}

.is-style-candy-striped .is-style-cta-large .wp-block-button__link::after {
				background-color: var(--color-white);
			}

.is-style-candy-striped .is-style-cta-large .wp-block-button__link:hover {
				color: var(--color-white);
			}

.is-style-candy-striped .is-style-cta-large .wp-block-button__link:hover::after {
					background-color: var(--color-black);
				}

.is-style-candy-striped h3,
	.is-style-candy-striped h4,
	.is-style-candy-striped h5 {
		margin-bottom: 0.5em;
	}

@media (max-width: 60em) {

.is-style-candy-striped .wp-block-columns {
			flex-wrap: wrap;
	}

			.is-style-candy-striped .wp-block-columns .wp-block-column {
				flex-basis: 40%;
				margin-bottom: calc(1.25rem  * 2);
				margin-bottom: var(--spacing-2);
			}
		}

/* --- Columns block --- */

.wp-block-columns {
	gap: 2rem;
	gap: var(--gutter);
}

.wp-block-columns .wp-block-column:not(:first-child) {
		margin-left: 0 !important;
	}

@media (min-width: 50.01em) {

.wp-block-columns.columns-six-four {
			display: grid;
			grid-template-columns: repeat(10, 1fr);
	}
		}

.wp-block-columns.columns-six-four .wp-block-column:first-child {
			grid-column: 1 / span 5;
		}

.wp-block-columns.columns-six-four .wp-block-column {
			grid-column: 7 / span 4;
		}

@media (max-width: 60em) {

.wp-block-columns.columns-six-four .wp-block-column {
				grid-column: 6 / span 5;
		}
			}

.wp-block-columns.icon-row img {
			max-height: 140px;
			width: auto;
		}

@media (min-width: 37.51em) {

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

		.is-style-profile .wp-block-column:first-child {
			grid-column: 1 / span 2;
		}

		.is-style-profile .wp-block-column:last-child {
			grid-column: 3 / span 6;
		}
	}

/* Membership page columns */

.membership-columns .wp-block-column {
		background-color: var(--color-white);
		border: 1px solid var(--color-gray-light);
		padding: calc(1.25rem  * 2) 2rem;
		padding: var(--spacing-2) var(--gutter);
	}

.membership-columns .wp-block-buttons {
		border-bottom: 1px solid var(--color-gray-light);
		padding-bottom: calc(1.25rem  * 2);
		padding-bottom: var(--spacing-2);
		margin-bottom: calc(1.25rem  * 2);
		margin-bottom: var(--spacing-2);
	}

.bigger-svg .wc-block-grid__product-image img.size-woocommerce_thumbnail {
	height: 150px;
}

/* --- Separator block --- */

.wp-block-separator {
	background-image: url(./images/bfi-hr-image.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	border: none;
	height: calc((7.5rem * 1.1538333) * 2.5 + 4px);
	height: calc(calc(7.5rem * 1.1538333) * 2.5 + 4px);
	height: calc(var(--vertical-unit) * 2.5 + 4px);
	margin-top: 7.5rem;
	margin-top: var(--horizontal-unit);
	margin-bottom: 7.5rem;
	margin-bottom: var(--horizontal-unit);
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 37.5em) {

.wp-block-separator {
		margin-bottom: 0;
}
	}

.wp-block-separator.alignfull {
		margin-left: calc(7.5rem * -1 + 2rem / 2 * -1 - 1px);
		margin-left: calc(var(--horizontal-unit) * -1 + var(--gutter) / 2 * -1 - 1px);
		width: calc(7.5rem * 14 + 2px);
		width: calc(var(--horizontal-unit) * 14 + 2px);
		max-width: none;
	}

@media (max-width: 37.5em) {

.wp-block-separator.alignfull {
			margin-left: calc(7.5rem * -2 - 2rem - 1px);
			margin-left: calc(var(--horizontal-unit) * -2 - var(--gutter) - 1px);
	}
		}

.wp-block-separator.is-style-chevron {
		background: none;
		height: auto;
		margin: 0;
		opacity: 1;
		text-align: center;
		width: 100%;
	}

.wp-block-separator.is-style-chevron svg path {
			fill: var(--color-green);
			fill: var(--section-color);
		}

.wp-block-separator.is-style-chevron svg path:nth-child(even) {
				fill: hsl(83, 51%, 54%);
				fill: var(--section-color-light);
			}

.section-color-green-light .wp-block-separator.is-style-chevron svg path {
				fill: var(--color-green);
			}

.section-color-green-light .wp-block-separator.is-style-chevron svg path:nth-child(even) {
					fill: hsl(83, 51%, 54%);
					fill: var(--section-color-light);
				}

.is-style-line,
.is-style-line-short {
	background: var(--color-green);
	background: var(--section-color);
	height: 4px;
	margin: calc(1.25rem  * 2.5) auto;
	margin: var(--spacing-250) auto;
	width: 100%;
}

#main .is-style-line-short {
	max-width: 13rem;
}

/* --- Featured image block --- */

.wp-block-post-featured-image {
	aspect-ratio: 58 / 22;
	margin: 0 auto;
	position: relative;
	max-width: 58rem;
	max-width: var(--max-less-wide-width);
}

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

.wp-block-post-featured-image.alignfull img {
			margin-left: calc(2rem * -1);
			margin-left: calc(var(--gutter) * -1);
			margin-right: calc(2rem * -1);
			margin-right: calc(var(--gutter) * -1);
			width: calc(100% + 2rem * 2);
			width: calc(100% + var(--gutter) * 2);
			max-width: calc(100% + 2rem * 2);
			max-width: calc(100% + var(--gutter) * 2);
		}

.wp-block-post-featured-image.is-full-height {
		aspect-ratio: unset;
	}

/* --- Marketplace styles (class added in advanced block settings) --- */

.marketplace-section h2,
	.marketplace-section h3 {
		margin: calc(1.25rem  * 2.5) 0 calc(1.25rem  * 1.5);
		margin: var(--spacing-250) 0 var(--spacing-150);
	}

.marketplace-section .wc-block-grid__products {
		display: grid !important;
	}

.marketplace-section .wc-block-grid__products {
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(5, calc(7.5rem * 2 - 2rem));
		grid-template-columns: repeat(5, calc(var(--horizontal-unit) * 2 - var(--gutter)));
		justify-content: center;
		margin: max(3.75rem, min(6.25vw, 5.625rem)) 0 0;
		overflow-x: scroll;
		padding: 0;
	}

@media (max-width: 50em) {

.marketplace-section .wc-block-grid__products {
			grid-template-columns: repeat(5, calc(7.5rem * 3 - 2rem));
			grid-template-columns: repeat(5, calc(var(--horizontal-unit) * 3 - var(--gutter)));
			justify-content: start;
			margin-right: calc(2rem * -1);
			margin-right: calc(var(--gutter) * -1);
			margin-left: calc(2rem * -1);
			margin-left: calc(var(--gutter) * -1);
			padding-left: 2rem;
			padding-left: var(--gutter);
	}
		}

.marketplace-section .wc-block-grid__products .wc-block-grid__product {
			border: 1px solid var(--color-gray-light);
			display: grid;
			padding: 0;
			align-content: center;
			justify-content: center;
			place-content: center;
			width: 100%;
			max-width: 100%;
			transition: border-color 0.25s ease;
			transition: border-color var(--speed) ease;
		}

.marketplace-section .wc-block-grid__products .wc-block-grid__product:hover {
				border-color: var(--color-green);
				border-color: var(--section-color);
			}

.marketplace-section .wc-block-grid__products .wc-block-grid__product-image {
			margin: 0;
		}

/*--------------------------------------------------------------
	# Slideshow block
--------------------------------------------------------------*/

section.video-section.has-background {
	padding-top: max(3.375rem, min(18.75vw, 16.875rem));
}

@media (max-width: 37.5em) {

section.video-section.has-background {
		margin-top: 8rem;
}
	}

.video-slideshow-group {
	color: var(--color-white);
	padding-bottom: 12.5rem;
	position: relative;
}

@media (max-width: 37.5em) {

.video-slideshow-group {
		padding-bottom: calc(1.25rem  * 2);
		padding-bottom: var(--spacing-2);
}
	}

.video-slideshow-group > div > h2,
	.video-slideshow-group > div > h3 {
		margin-top: 0;
	}

@media (min-width: 37.51em) {

.video-slideshow-group .wp-block-buttons {
			position: absolute;
			top: 0.4rem;
			right: -1em;
	}
		}

@media (max-width: 37.5em) {

.video-slideshow-group .wp-block-buttons {
			margin-top: 3rem;
	}
		}

.wp-block-bfi-slideshow {
	margin-top: calc(1.25rem  * 2.5);
	margin-top: var(--spacing-250);
	padding: 0;
	position: relative;
}

.wp-block-bfi-slideshow .deck-wrapper {
		overflow: hidden;
		position: relative;
		width: 100%;
	}

@media (min-width: 50.01em) {

.wp-block-bfi-slideshow .deck-wrapper {
			left: calc(50% - 50vw);
			padding: 0 calc(2rem * 2);
			padding: 0 calc(var(--gutter) * 2);
			width: 100vw;
	}
		}

@media (min-width: 50.01em) {

.wp-block-bfi-slideshow .deck-wrapper::after {
				--remainder: calc(var(--gutter) * 2);
				--gradient-stop: calc(100% - var(--horizontal-unit));
				background: linear-gradient(270deg, rgba(38, 38, 39, 0.75) calc(100% - 7.5rem), rgba(38, 38, 39, 0) 100%);
				background: linear-gradient(270deg, rgba(38, 38, 39, 0.75) var(--gradient-stop), rgba(38, 38, 39, 0) 100%);
				content: "";
				height: 100%;
				position: absolute;
				right: 0;
				top: 0;
				width: calc((2rem * 2) + 7.5rem);
				width: calc(calc(2rem * 2) + 7.5rem);
				width: calc(var(--remainder) + var(--horizontal-unit));
		}
			}

@media (min-width: 81rem) {

.wp-block-bfi-slideshow .deck-wrapper::after {
				--remainder: calc(50% - var(--max-wide-width) / 2);
		}
			}

.wp-block-bfi-slideshow .deck {
		column-gap: 1.25rem ;
		column-gap: var(--spacing);
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 auto;
		max-width: 73rem;
		max-width: var(--max-wide-width);
		position: relative;
		width: 100%;
	}

.wp-block-bfi-slideshow .deck:focus-visible {
			outline: none;
		}

.wp-block-bfi-slideshow .flickity-viewport {
		width: 100%;
	}

@media (max-width: 37.5em) {

.wp-block-bfi-slideshow .flickity-viewport {
			margin-bottom: 3rem;
	}
		}

.wp-block-bfi-slideshow article {
		display: flex;
		cursor: move;
		flex-direction: column;
		margin: 0 calc(1.25rem  / 2);
		margin: 0 var(--spacing-050);
		width: 100%;
	}

@media (min-width: 50.01em) {

.wp-block-bfi-slideshow article {
			width: calc(100% / 10 * 7);
	}
		}

.wp-block-bfi-slideshow article header h2 {
				font-size: max(1.125rem, min(2.25vw, 1.5rem));
				font-size: var(--font-size-m);
				font-weight: 900;
				margin-top: 1em;
				padding-right: calc(1.25rem  * 2);
				padding-right: var(--spacing-2);
			}

.wp-block-bfi-slideshow article header h2 a {
					color: var(--color-white);
					-webkit-text-decoration: none;
					text-decoration: none;
				}

.wp-block-bfi-slideshow article header h2 .duration {
					color: var(--color-green);
					color: var(--section-color);
					font-size: 1rem;
					font-size: var(--font-size-xs);
					font-weight: 400;
				}

.wp-block-bfi-slideshow article figure {
			margin: 0;
			order: -1;
			position: relative;
			width: 100%;
		}

.wp-block-bfi-slideshow article figure * {
				width: 100%;
			}

.wp-block-bfi-slideshow article figure .video-play-button {
				color: var(--color-green);
				color: var(--section-color);
				left: 50%;
				position: absolute;
				top: 50%;
				transform: translate(-50%, -50%);
				width: auto;
			}

.wp-block-bfi-slideshow .is-pointer-down article,
	.wp-block-bfi-slideshow .is-pointer-down article a {
		cursor: grabbing;
	}

.wp-block-bfi-slideshow .flickity-prev-next-button {
		--button-size: 56px;
		all: unset;
		background-color: var(--color-white);
		border-radius: 50%;
		color: var(--color-green);
		color: var(--text-on-white);
		cursor: pointer;
		display: flex;
		height: 56px;
		height: var(--button-size);
		width: 56px;
		width: var(--button-size);
		z-index: 1;
	}

.wp-block-bfi-slideshow .flickity-prev-next-button:disabled {
			opacity: 0.2;
		}

.wp-block-bfi-slideshow .flickity-prev-next-button svg {
			fill: currentcolor;
			margin: 0 auto;
			width: 23px;
		}

@media (min-width: 50.01em) {

.wp-block-bfi-slideshow .flickity-prev-next-button {
			position: absolute;
			right: calc(var(--button-size) / -2 - 2rem);
			right: calc(var(--button-size) / -2 - var(--gutter));
			top: calc(70% * 0.67 - (var(--button-size) / 2));
	}

			.wp-block-bfi-slideshow .flickity-prev-next-button.previous {
				left: calc(var(--button-size) / -2 - 2rem);
				left: calc(var(--button-size) / -2 - var(--gutter));
			}
		}

@media (min-width: 81em) {

.wp-block-bfi-slideshow .flickity-prev-next-button {
			right: calc(50% - 50vw + 4px);
	}

			.wp-block-bfi-slideshow .flickity-prev-next-button.previous {
				left: calc(50% - 50vw + 4px);
			}
		}

@media (min-width: 87.5em) {

.wp-block-bfi-slideshow .flickity-prev-next-button {
			right: calc(var(--button-size) * -2);
	}

			.wp-block-bfi-slideshow .flickity-prev-next-button.previous {
				left: calc(var(--button-size) * -2);
			}
		}

/*--------------------------------------------------------------
	# Post card block
--------------------------------------------------------------*/

.wp-block-bfi-post-card {
	border-top: 4px solid var(--color-green);
	border-top: 4px solid var(--section-color);
	border-bottom: 4px solid var(--color-green);
	border-bottom: 4px solid var(--section-color);
	color: var(--color-black);
	display: flex;
	flex-direction: column;
	gap: 0 2rem;
	gap: 0 var(--gutter);
	padding: calc(1.25rem  * 1.5) 0;
	padding: var(--spacing-150) 0;
	-webkit-text-decoration: none;
	text-decoration: none;
}

@media (min-width: 37.51em) {

.wp-block-bfi-post-card {
		display: grid;
		grid-template-columns: repeat(10, 1fr);
		grid-template-rows: max-content 1fr;
}
	}

.wp-block-bfi-post-card .card-title,
	.wp-block-bfi-post-card .excerpt {
		max-width: 35.5rem;
	}

@media (min-width: 37.51em) {

.wp-block-bfi-post-card .card-title,
	.wp-block-bfi-post-card .excerpt {
			font-size: 1.25rem;
			grid-column: 1 / span 5;
	}
		}

.wp-block-bfi-post-card .card-title {
		font-size: max(1.5rem, min(3.75vw, 2.5rem));
		font-size: var(--font-size-xl);
		margin: 0 0 1.25rem ;
		margin: 0 0 var(--spacing);
	}

.wp-block-bfi-post-card .card-title::after {
			background-color: transparent;
			content: "";
			display: inline-block;
			height: 0.833em;
			margin: 0 0 -3px 0.5rem;
			-webkit-mask-image: url(./images/icon-arrow.svg);
			        mask-image: url(./images/icon-arrow.svg);
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			transition: background-color 0.15s ease;
			transition: background-color var(--speed-fast) ease;
			width: 0.833em;
		}

.site-main .wp-block-bfi-post-card {
		color: var(--color-black);
	}

.site-main .wp-block-bfi-post-card:hover {
			color: var(--color-black);
		}

.site-main .wp-block-bfi-post-card:hover .card-title {
				color: var(--color-green);
				color: var(--section-color);
			}

.site-main .wp-block-bfi-post-card:hover .excerpt {
				color: var(--color-black);
			}

.site-main .wp-block-bfi-post-card:hover .card-title::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

.site-main .wp-block-bfi-post-card:hover .post-thumb::before {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

.site-main .wp-block-bfi-post-card:hover .post-thumb::after {
				opacity: 0.4;
			}

.wp-block-bfi-post-card .excerpt {
		margin: 0;
	}

@media (min-width: 37.51em) {

.wp-block-bfi-post-card .excerpt {
			grid-row: 2;
	}
		}

.wp-block-bfi-post-card .post-thumb {
		aspect-ratio: 3 / 2;
		margin: 0;
		position: relative;
	}

@media (max-width: 37.5em) {

.wp-block-bfi-post-card .post-thumb {
			margin-bottom: 2rem;
			margin-bottom: var(--gutter);
			order: -1;
	}
		}

.wp-block-bfi-post-card .post-thumb img {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

@media (min-width: 37.51em) {

.wp-block-bfi-post-card .post-thumb {
			grid-column: 7 / span 4;
			grid-row: 1 / span 2;
	}
		}

.wp-block-bfi-post-card .post-thumb::before {
			background-color: transparent;
			content: "";
			height: 100%;
			mix-blend-mode: multiply;
			position: absolute;
			top: 0;
			left: 0;
			transition: background-color 0.15s ease;
			transition: background-color var(--speed-fast) ease;
			width: 100%;
			z-index: 1;
		}

.wp-block-bfi-post-card .post-thumb::after {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 100%;
			opacity: 0;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			transition: all 0.25s ease;
			transition: all var(--speed) ease;
			z-index: 1;
		}

.wp-block-bfi-post-card + .wp-block-bfi-post-card {
		border-top: none;
		border-bottom: 4px solid var(--color-green);
		border-bottom: 4px solid var(--section-color);
		margin-top: calc(1.25rem  * 1.5);
		margin-top: var(--spacing-150);
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: calc(1.25rem  * 1.5);
		padding-bottom: var(--spacing-150);
	}

/*--------------------------------------------------------------
	# Latest blog post section
--------------------------------------------------------------*/

.latest-blog-posts {
	max-width: 100% !important;
}

.latest-blog-posts {
	padding: 0 calc(7.5rem - 2rem);
	padding: 0 calc(var(--horizontal-unit) - var(--gutter));
}

@media (max-width: 50em) {

.latest-blog-posts {
		padding: 0;
}
	}

.latest-blog-posts > div {
		max-width: 100%;
	}

.latest-blog-posts > div .wp-block-columns {
			display: grid;
			grid-template-columns: 1fr 1fr;
		}

@media (max-width: 37.5em) {

.latest-blog-posts > div .wp-block-columns {
				grid-template-columns: 100%;
		}
			}

.latest-blog-posts > div .wp-block-column:last-child {
			padding: 4rem 0 0 3rem;
		}

@media (max-width: 50em) {

.latest-blog-posts > div .wp-block-column:last-child {
				padding: 1rem 0 0 1rem;
		}
			}

@media (max-width: 37.5em) {

.latest-blog-posts > div .wp-block-column:last-child {
				padding: 0;
		}
			}

.latest-blog-posts > div > h2,
		.latest-blog-posts > div > h3 {
			color: var(--color-green);
			color: var(--section-color);
			font-size: 2rem;
			margin-top: 4.875em;
			margin-bottom: 1.56em;
		}

.section-color-green-light .latest-blog-posts > div > h2,
			.section-color-green-light .latest-blog-posts > div > h3,
			.section-color-yellow .latest-blog-posts > div > h2,
			.section-color-yellow .latest-blog-posts > div > h3 {
				color: var(--color-black);
			}

/* --- Airtable block --- */

iframe.wp-block-bfi-airtable,
.entry-content > iframe {
	display: block;
	margin-top: 1.25rem ;
	margin-top: var(--spacing);
	margin-bottom: calc(1.25rem  * 2);
	margin-bottom: var(--spacing-2);
	border: 1px solid var(--color-gray-light);
	width: 100%;
	min-height: 533px;
}

/* --- BFI Posts block --- */

.wp-block-bfi-posts article {
		display: flex;
		flex-direction: column;
	}

.wp-block-bfi-posts article + article {
			border-top: 4px solid hsla(210, 2%, 95%, 1);
			border-top: 4px solid var(--color-grid-gray);
			margin-top: 2rem;
		}

.wp-block-bfi-posts article + article:last-child {
				border-bottom: 4px solid hsla(210, 2%, 95%, 1);
				border-bottom: 4px solid var(--color-grid-gray);
				margin-bottom: 2rem;
				padding-bottom: 2rem;
			}

.wp-block-bfi-posts .block-post-thumbnail {
		height: 0;
		margin: 0;
		order: -1;
		padding-bottom: 70%;
		position: relative;
		width: 100%;
	}

@media (max-width: 37.5em) {

.wp-block-bfi-posts .block-post-thumbnail {
			margin-left: calc(2rem * -1);
			margin-left: calc(var(--gutter) * -1);
			margin-right: calc(2rem * -1);
			margin-right: calc(var(--gutter) * -1);
			width: 100vw;
	}
		}

.wp-block-bfi-posts .block-post-thumbnail img {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

.wp-block-bfi-posts .block-post-thumbnail:empty {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
			background-image: url(./images/bfi-mark.svg);
			background-position: center;
			background-repeat: no-repeat;
			background-size: 10%;
		}

.wp-block-bfi-posts .block-entry-footer {
		color: var(--color-green);
		color: var(--section-color);
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
		font-weight: 700;
		letter-spacing: 0.05em;
		letter-spacing: var(--letter-spacing);
		margin: 1.75rem 0 0.75rem;
		order: -1;
		text-transform: uppercase;
	}

.section-color-green-light .wp-block-bfi-posts .block-entry-footer,
		.section-color-yellow .wp-block-bfi-posts .block-entry-footer {
			color: var(--color-black);
		}

.wp-block-bfi-posts .block-entry-footer a {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.wp-block-bfi-posts .block-entry-footer a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 2px;
				text-decoration-thickness: 1px;
			}

.wp-block-bfi-posts .block-entry-title {
		color: var(--color-black);
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
		font-size: max(2.5rem, min(5vw, 3rem));
		font-size: var(--font-size-xxl);
		font-weight: 400;
		line-height: 1.1;
		margin: 0;
	}

.wp-block-bfi-posts .block-entry-title a {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.wp-block-bfi-posts .block-entry-title a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 2px;
				text-decoration-thickness: 1px;
			}

@media (max-width: 37.5em) {

.wp-block-bfi-posts .block-entry-content {
			border-bottom: 4px solid hsla(210, 2%, 95%, 1);
			border-bottom: 4px solid var(--color-grid-gray);
			padding-bottom: 2rem;
	}
		}

.wp-block-bfi-posts .block-entry-content p {
			font-size: max(1rem, min(2vw, 1.375rem));
			font-size: var(--font-size-s);
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 3;
			overflow: hidden;
		}

/* --- Child Pages block --- */

.bfi-toc {
	margin: 0 auto;
	max-width: calc(92rem - 7.5rem * 2);
	max-width: calc(var(--max-width) - var(--horizontal-unit) * 2);
	padding: calc(1.25rem  * 4) 2rem calc(1.25rem  * 5);
	padding: var(--spacing-4) var(--gutter) var(--spacing-5);
	position: relative;
}

.bfi-toc.bfi-toc-child {
		background: hsla(210, 2%, 95%, 1);
		background: var(--color-grid-gray);
		margin-bottom: 0;
		padding-top: calc(1.25rem  * 4);
		padding-top: var(--spacing-4);
		padding-bottom: calc(1.25rem  * 2);
		padding-bottom: var(--spacing-2);
		max-width: 92rem;
		max-width: var(--max-width);
	}

.bfi-toc.bfi-toc-child::before {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
			content: "";
			height: 100%;
			top: 0;
			position: absolute;
			left: calc(50% - 50vw);
			width: 100vw;
			z-index: -1;
		}

.bfi-toc.bfi-toc-child h2 {
			font-family: "Eames Century Modern", serif;
			font-family: var(--font-serif);
			font-weight: 400;
			margin: 0;
			padding-bottom: 0.5em;
		}

.bfi-toc a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.bfi-toc .toc-item {
		border-top: 4px solid var(--color-green);
		border-top: 4px solid var(--section-color);
		padding: 2rem 0;
	}

.bfi-toc .toc-item a {
			display: grid;
			gap: 0 1.25rem ;
			grid-gap: 0 1.25rem ;
			grid-gap: 0 var(--spacing);
			gap: 0 var(--spacing);
			grid-template: "number title image" ". excerpt image" 1fr / max-content 1fr calc(7.5rem * 4 - 2rem);
			grid-template: "number title image" ". excerpt image" 1fr / max-content 1fr calc(var(--horizontal-unit) * 4 - var(--gutter));
		}

@media (max-width: 50em) {

.bfi-toc .toc-item a {
				gap: calc(1.25rem  / 2);
				gap: var(--spacing-050);
				grid-template: "image image" "number title" "excerpt excerpt" / auto 1fr;
		}
			}

.bfi-toc .toc-item a img {
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
			}

.bfi-toc .toc-item a:hover .toc-page-thumb::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.bfi-toc .toc-item a:hover img {
					filter: grayscale(1);
				}

.bfi-toc .toc-item a:hover .title h3 {
					color: var(--color-green);
					color: var(--text-on-white);
				}

.bfi-toc .toc-item a:hover .title h3::after {
						background-color: var(--color-green);
						background-color: var(--section-color);
					}

.bfi-toc .toc-item .title {
			color: var(--color-black);
			grid-area: title;
			width: 100%;
		}

.bfi-toc .toc-item .title h3 {
				align-items: center;
				display: flex;
				margin: 0;
				font-size: max(1.25rem, min(3vw, 2rem));
				font-size: var(--font-size-l);
			}

.bfi-toc .toc-item .title h3::after {
					content: "";
					background-color: transparent;
					-webkit-mask-image: url(./images/icon-arrow.svg);
					        mask-image: url(./images/icon-arrow.svg);
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-size: contain;
					        mask-size: contain;
					display: block;
					height: 1em;
					margin-left: 0.5em;
					width: 1em;
				}

.bfi-toc .toc-item .excerpt {
			color: var(--color-black);
			grid-area: excerpt;
			margin-bottom: 0;
			max-width: 43em;
		}

.bfi-toc .toc-item .number {
			color: var(--color-green);
			color: var(--text-on-white);
			font-family: "Inter", sans-serif;
			font-family: var(--font-sans);
			font-size: 1rem;
			font-size: var(--font-size-xs);
			font-weight: 700;
			grid-area: number;
			letter-spacing: 0.05em;
			letter-spacing: var(--letter-spacing);
		}

.bfi-toc .toc-item .toc-page-thumb {
			grid-area: image;
			min-height: 200px;
			margin: 0;
			position: relative;
		}

.bfi-toc .toc-item .toc-page-thumb::before {
				background-color: transparent;
				content: "";
				height: 100%;
				mix-blend-mode: multiply;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

.bfi-toc .toc-item .toc-page-thumb::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
				content: "";
				height: 100%;
				opacity: 0;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

.bfi-toc .toc-item .toc-page-thumb img {
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
				width: 100%;
			}

.bfi-toc .toc-item .here {
			align-items: center;
			display: flex;
			grid-area: image;
		}

.bfi-toc .toc-item .here .asterisk {
				background-color: var(--color-gray);
				margin-right: 1.25rem ;
				margin-right: var(--spacing);
				-webkit-mask-image: url(./images/bfi-asterisk.svg);
				        mask-image: url(./images/bfi-asterisk.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				height: 30px;
				width: 30px;
			}

.bfi-toc .current-toc-item {
		border-color: var(--color-gray);
		color: var(--color-gray);
		display: grid;
		grid-template: "number title image" / max-content 1fr calc(7.5rem * 4 - 2rem);
		grid-template: "number title image" / max-content 1fr calc(var(--horizontal-unit) * 4 - var(--gutter));
		grid-gap: 0 1em;
		gap: 0 1em;
		padding-bottom: 4rem;
	}

@media (max-width: 37.5em) {

.bfi-toc .current-toc-item {
			grid-template: "number title image" / max-content 1fr max-content;
	}
		}

@media (max-width: 28em) {

.bfi-toc .current-toc-item {
			gap: 1em;
			grid-template: "number title" ". image" 1fr / max-content 1fr;
	}
		}

.bfi-toc .current-toc-item .title,
		.bfi-toc .current-toc-item .number {
			color: inherit;
		}

.bfi-toc:empty {
		display: none;
	}

#main .wp-block-bfi-child-pages {
	display: grid;
	gap: 1.25rem ;
	grid-gap: 1.25rem ;
	grid-gap: var(--spacing);
	gap: var(--spacing);
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	list-style: none;
	margin-top: calc(1.25rem  * 5);
	margin-top: var(--spacing-5);
	max-width: 58rem;
	max-width: var(--max-less-wide-width);
}

#main .wp-block-bfi-child-pages.is-style-list {
		display: block;
		max-width: 92rem;
		max-width: var(--max-width);
		padding-top: calc(1.25rem  * 4);
		padding-top: var(--spacing-4);
	}

@media (max-width: 37.5em) {

#main .wp-block-bfi-child-pages {
		margin-top: calc(1.25rem  * 3);
		margin-top: var(--spacing-3);
}
	}

#main .wp-block-bfi-child-pages a {
		-webkit-text-decoration: none;
		text-decoration: none;
	}

#main .wp-block-bfi-child-pages a figure {
			display: block;
			margin: 0;
			position: relative;
		}

#main .wp-block-bfi-child-pages a figure::before {
				background-color: transparent;
				content: "";
				height: 100%;
				mix-blend-mode: multiply;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

#main .wp-block-bfi-child-pages a figure::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
				content: "";
				height: 100%;
				opacity: 0;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

#main .wp-block-bfi-child-pages a img {
			aspect-ratio: 2 / 1;
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

#main .wp-block-bfi-child-pages a h2 {
			font-size: max(1.125rem, min(2.25vw, 1.5rem));
			font-size: var(--font-size-m);
			font-weight: 900;
			line-height: 1.2;
		}

#main .wp-block-bfi-child-pages a h2::after {
				content: "";
				background-color: transparent;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				display: inline-block;
				height: 1em;
				margin-left: 0.5em;
				margin-bottom: -4px;
				width: 1em;
			}

#main .wp-block-bfi-child-pages a:hover h2::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

#main .wp-block-bfi-child-pages a:focus-visible h2::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

#main .wp-block-bfi-child-pages a:hover figure::before {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

#main .wp-block-bfi-child-pages a:focus-visible figure::before {
				background-color: var(--color-green);
				background-color: var(--section-color);
			}

#main .wp-block-bfi-child-pages a:hover figure::after {
				opacity: 0.4;
			}

#main .wp-block-bfi-child-pages a:focus-visible figure::after {
				opacity: 0.4;
			}

#main .wp-block-bfi-child-pages a:focus-visible img {
				filter: grayscale(1);
			}

#main .wp-block-bfi-child-pages a:hover img {
				filter: grayscale(1);
			}

#main .wp-block-bfi-child-pages li {
		border-top: 4px solid var(--color-green);
		border-top: 4px solid var(--section-color);
	}

/*--------------------------------------------------------------
	# Collapsible block
--------------------------------------------------------------*/

.wp-block-bfi-collapsible {
	border-top: 4px solid var(--color-green);
	border-top: 4px solid var(--section-color);
	padding: 1.5rem 0;
}

.wp-block-bfi-collapsible:first-of-type {
		margin-top: calc(1.25rem  * 3);
		margin-top: var(--spacing-3);
	}

.wp-block-bfi-collapsible:last-of-type {
		border-bottom: 4px solid var(--color-green);
		border-bottom: 4px solid var(--section-color);
		margin-bottom: calc(1.25rem  * 3);
		margin-bottom: var(--spacing-3);
	}

.wp-block-bfi-collapsible summary {
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		font-weight: 900;
	}

.wp-block-bfi-collapsible .wp-block-bfi-collapsible ul {
		margin: 1.5rem 0;
	}

::marker {
	color: var(--color-green);
	color: var(--section-color);
}

/*--------------------------------------------------------------
	# Everything I know columns
--------------------------------------------------------------*/

@media (min-width: 782px) {

div.everything-i-know-columns {
		display: grid;
		grid-template-columns: 1fr max-content 1fr;
}

		div.everything-i-know-columns > *:nth-child(2) {
			width: max(400px, min(50vw, 43rem));
			width: max(400px, min(50vw, var(--max-content)));
		}

		div.everything-i-know-columns .is-style-sticky {
			padding-left: 0.25rem;
			padding-bottom: 2rem;
		}
	}

/*--------------------------------------------------------------
	# Table of Contents block (in-page nav)
--------------------------------------------------------------*/

div.wp-block-bfi-table-of-contents {
	background: transparent;
	border: none;
	margin: 0;
	padding: 0;
}

div.wp-block-bfi-table-of-contents #toc-list {
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
		list-style: disc;
		padding: 0;
		margin: 1rem 1.5rem;
	}

div.wp-block-bfi-table-of-contents #toc-list li {
			border: none;
			display: list-item;
			margin: 0.25em 0;
			padding: 0;
		}

div.wp-block-bfi-table-of-contents h2 {
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
	}

div.wp-block-bfi-table-of-contents button {
		background-color: transparent;
		border: 1px solid var(--color-green);
		border: 1px solid var(--section-color);
		border-radius: 4px;
		cursor: pointer;
		padding: 0.25em 1em;
		max-height: none;
	}

@media (min-width: 782px) {

div.wp-block-bfi-table-of-contents button {
			display: none;
	}
		}

@media (min-width: 782px) {

.is-style-sticky {
		--sticky-offset: calc(7rem + var(--mtsnb-height) + var(--spacing-2)); /* 7rem is height of header */
		height: calc(100vh - (7rem + 0px + (1.25rem  * 2)));
		height: calc(100vh - calc(7rem + 0px + calc(1.25rem  * 2)));
		height: calc(100vh - var(--sticky-offset));
		overflow-x: scroll;
		position: sticky;
		top: calc(7rem + 0px + (1.25rem  * 2));
		top: calc(7rem + 0px + calc(1.25rem  * 2));
		top: var(--sticky-offset);
		left: 0;
}
	}

/*--------------------------------------------------------------
	# Sharing tools
--------------------------------------------------------------*/

.sharing-tools ul {
		align-items: center;
		display: flex;
		gap: 1rem;
		justify-content: center;
		list-style: none;
		margin: 1.5rem 0 calc(1.25rem  * 4);
		margin: 1.5rem 0 var(--spacing-4);
		padding: 0;
	}

.sharing-tools ul li {
			margin: 0;
		}

.sharing-tools svg {
		fill: var(--color-green);
		fill: var(--section-color);
		height: 24px;
		width: 24px;
	}

.sharing-tools .share-copy-link {
		position: relative;
	}

.sharing-tools .share-copy-link svg {
			height: 22px;
			width: 22px;
		}

.sharing-tools .success {
		display: grid;
		grid-template-columns: min-content 1fr;
		left: 100%;
		margin-left: calc(1.25rem  / 2);
		margin-left: var(--spacing-050);
		opacity: 0;
		position: absolute;
		top: 0;
		transition-property: opacity, visibility;
		transition-delay: 2s;
		transition-duration: 0.25s;
		transition-duration: var(--speed);
		transition-timing-function: ease;
		visibility: hidden;
		white-space: nowrap;
	}

.sharing-tools .success::before {
			align-self: center;
			content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M7.33 13.23L3.85 9.75l-1.18 1.18 4.66 4.66 10-10-1.18-1.18-8.82 8.82z"/></svg>'); /* stylelint-disable-line function-url-quotes */
			margin-right: calc(1.25rem  / 2);
			margin-right: var(--spacing-050);
			width: 1.125rem;
			width: var(--font-size-default);
		}

.sharing-tools .success.display {
			opacity: 1;
			transition-delay: 0s;
			visibility: visible;
		}

/* --- 404 elements --- */

.error-404,
.not-found {
	text-align: center;
	margin: 0 auto calc(1.25rem  * 4);
	margin: 0 auto var(--spacing-4);
	max-width: 58rem;
	max-width: var(--max-less-wide-width);
}

.error-404 .search-form, .not-found .search-form {
		display: flex;
		justify-content: center;
		margin-top: calc(1.25rem  * 2);
		margin-top: var(--spacing-2);
	}

.error-404 .search-submit, .not-found .search-submit {
		align-items: center;
		background-color: var(--color-black);
		border: none;
		cursor: pointer;
		color: var(--color-white);
		font-size: inherit;
		font-weight: 400;
		line-height: 1;
		margin-top: 0;
		padding: 1rem 1.5rem;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
		max-width: max-content;
	}

.error-404 .search-submit:hover, .not-found .search-submit:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

.error-404 .search-submit:focus-visible, .not-found .search-submit:focus-visible {
			outline: 2px dashed var(--color-red);
			outline-offset: 2px;
		}

/* --- 404 elements --- */

.wp-block-jetpack-contact-form select {
		width: 100%;
	}

.wp-block-jetpack-contact-form h3,
	.wp-block-jetpack-contact-form h4 {
		flex: 100%;
	}

/* Mailchimp */

.wp-block-bfi-mailchimp button {
	margin-top: 1.5rem !important;
}

.wp-block-bfi-mailchimp button {
	align-items: center;
}

/*--------------------------------------------------------------
	# Donations block
--------------------------------------------------------------*/

.wp-block-team51-donations-block.is-layout-extended {

	--t51-vertical-gap: var(--spacing-2);
	--active-button-bg-color: var(--section-color);
	--active-button-color: var(--text-on-section-color);
}

.wp-block-team51-donations-block.is-layout-extended .is-layout-grouped {
		background-color: var(--color-white);
		border: 1px solid var(--color-green);
		border: 1px solid var(--section-color);
		border-radius: 100px;
		overflow: clip;
	}

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

.wp-block-team51-donations-block.is-layout-extended .team51-donations__intervals.is-button-transparent label > input + .wp-element-button {
	border: none;
	padding: 0.75em 1em;
}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__amounts label > input + .wp-element-button {
	background-color: var(--color-white);
	border: 1px solid var(--color-green);
	border: 1px solid var(--section-color);
	border-radius: 100px;
	padding: 0.75em 1em;
}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__submit__button {
	align-items: center;
	background-color: var(--color-black);
	border: none;
	border-radius: 0;
	color: var(--color-white);
	display: flex;
	font-size: inherit;
	line-height: 1;
	margin: calc(1.25rem  * 2) auto;
	margin: var(--spacing-2) auto;
	padding: 1em 1.5em;
	transition: all 0.25s ease;
	transition: all var(--speed) ease;
	width: max-content;
}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__submit__button::after {
		background-color: currentcolor;
		-webkit-mask-image: url(./images/icon-arrow.svg);
		        mask-image: url(./images/icon-arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		content: "";
		display: block;
		height: 1em;
		margin-left: 0.5em;
		width: 1em;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
	}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__submit__button:hover {
		padding-right: 1em;
	}

.wp-block-team51-donations-block.is-layout-extended .team51-donations__submit__button:hover::after {
			margin-left: 1em;
		}

/*--------------------------------------------------------------
	# Page styles, including .home
--------------------------------------------------------------*/

.page h1 {
		margin-bottom: 0.5em;
	}

.page h1.is-style-special-serif {
			color: var(--color-green);
			color: var(--text-on-white);
		}

/*--------------------------------------------------------------
	# Single post styles
--------------------------------------------------------------*/

.single:not(.single-se-event) {
		--max-wide-width: var(--max-less-wide-width);
	}

.single h1 {
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
	}

.single .alignwide {
		margin-top: 4rem;
		margin-bottom: 4rem;
		max-width: 58rem;
		max-width: var(--max-less-wide-width);
	}

.single .alignfull {
		margin-top: 4rem;
		margin-bottom: 4rem;
	}

.single .nav-links {
		gap: 0;
		margin-top: calc(1.25rem  * 5);
		margin-top: var(--spacing-5);
	}

.single .nav-links > *:first-child {
			border-color: var(--color-green);
			border-color: var(--section-color);
		}

.single .nav-links:hover > *:first-child {
				border-color: hsla(210, 2%, 95%, 1);
				border-color: var(--color-grid-gray);
			}

.single .nav-links:hover > *:hover {
				border-color: var(--color-green);
				border-color: var(--section-color);
			}

.single .nav-previous,
	.single .nav-next {
		width: 100% !important;
	}

.single .nav-previous,
	.single .nav-next {
		border-top: 4px solid hsla(210, 2%, 95%, 1);
		border-top: 4px solid var(--color-grid-gray);
		display: block;
		height: auto;
	}

.single .nav-previous a, .single .nav-next a {
			display: grid;
			gap: 2rem;
			grid-gap: 2rem;
			grid-gap: var(--gutter);
			gap: var(--gutter);
			grid-template-columns: repeat(6, 1fr);
			padding: calc(1.25rem  * 1.5) 0;
			padding: var(--spacing-150) 0;
		}

.single .nav-previous a:hover, .single .nav-next a:hover {
				background-color: var(--color-white);
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.single .nav-previous a:hover .post-title, .single .nav-next a:hover .post-title {
					color: var(--color-green);
					color: var(--section-color);
				}

.single .nav-previous a:hover .meta-nav::after {
						background-color: var(--color-green);
						background-color: var(--section-color);
					}

.single .nav-next a:hover .meta-nav::after {
						background-color: var(--color-green);
						background-color: var(--section-color);
					}

.single .nav-previous .meta-nav, .single .nav-next .meta-nav {
			align-self: start;
			align-items: center;
			display: flex;
			grid-column: 1 / span 2;
		}

.single .nav-previous .meta-nav::before, .single .nav-next .meta-nav::before {
				display: none;
			}

.single .nav-previous .meta-nav::after, .single .nav-next .meta-nav::after {
				content: "";
				background-color: transparent;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: contain;
				        mask-size: contain;
				display: block;
				height: 1em;
				margin-left: 0.5em;
				transition: background-color 0.25s ease;
				transition: background-color var(--speed) ease;
				width: 1em;
			}

.single .nav-previous .post-title, .single .nav-next .post-title {
			color: var(--color-black);
			font-family: "Eames Century Modern", serif;
			font-family: var(--font-serif);
			font-size: max(1.25rem, min(3vw, 2rem));
			font-size: var(--font-size-l);
			font-weight: 400;
			grid-column: 3 / span 4;
		}

.taxonomy-category {
	color: var(--color-green);
	color: var(--section-color);
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	font-weight: 900;
}

.taxonomy-category a {
		color: inherit;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.taxonomy-category a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

.taxonomy-category .wp-block-post-title {
		font-weight: 400;
		margin: 1em 0 0.5em;
	}

.wp-block-post-terms {
	margin-top: 1em;
}

/* --- Jetpack related posts --- */

#jp-relatedposts .jp-relatedposts-items-visual {
	display: grid;
	gap: 2rem;
	grid-gap: 2rem;
	grid-gap: var(--gutter);
	gap: var(--gutter);
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	margin: 0;
}

#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post {
	opacity: 1;
	padding: 0;
	width: 100%;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title {
	order: +1;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a {
	color: var(--color-black);
	display: block;
	font-family: "Eames Century Modern", serif;
	font-family: var(--font-serif);
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	line-height: 1.1;
	margin-top: 0.5em;
	position: relative;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-title a:hover {
	color: var(--color-green);
	color: var(--section-color);
	-webkit-text-decoration: none;
	text-decoration: none;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a {
	color: var(--color-green);
	color: var(--section-color);
	-webkit-text-decoration: none;
	text-decoration: none;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post:hover .jp-relatedposts-post-title a::after {
	background-color: var(--color-green);
	background-color: var(--section-color);
	-webkit-mask-image: url(./images/icon-arrow.svg);
	        mask-image: url(./images/icon-arrow.svg);
	-webkit-mask-repeat: no-repeat;
	        mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	        mask-size: contain;
	content: "";
	display: inline-block;
	height: 1em;
	margin-left: 0.5em;
	width: 1em;
	position: absolute;
}

#jp-relatedposts h3.jp-relatedposts-headline,
#jp-relatedposts h3.jp-relatedposts-headline em {
	font-family: "Inter", sans-serif;
	font-family: var(--font-sans);
	font-size: max(2.5rem, min(5vw, 3rem));
	font-size: var(--font-size-xxl);
	font-weight: 900;
}

#jp-relatedposts h3.jp-relatedposts-headline em::before {
	display: none;
}

#jp-relatedposts .jp-relatedposts-post-thumbs {
	display: flex;
	flex-direction: column;
}

.jp-relatedposts-post-thumbs > a {
	aspect-ratio: 3/2;
	display: flex;
	position: relative;
}

#jp-relatedposts .jp-relatedposts-post-thumbs > .jp-relatedposts-post-a::after {
	background-color: transparent;
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: all 0.25s ease;
	transition: all var(--speed) ease;
}

#jp-relatedposts .jp-relatedposts-post-thumbs:hover > .jp-relatedposts-post-a::before {
		background-color: var(--color-green);
		background-color: var(--section-color);
		mix-blend-mode: multiply;
		z-index: 1;
	}

#jp-relatedposts .jp-relatedposts-post-thumbs:hover > .jp-relatedposts-post-a::after {
		opacity: 0.4;
		z-index: 1;
	}

#jp-relatedposts .jp-relatedposts-post-thumbs:hover img.jp-relatedposts-post-img {
		filter: grayscale(1);
	}

#jp-relatedposts .jp-relatedposts-items-visual .jp-relatedposts-post img.jp-relatedposts-post-img {
	-o-object-fit: cover;
	   object-fit: cover;
	transition: all 0.25s ease;
	transition: all var(--speed) ease;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-date,
#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post .jp-relatedposts-post-context {
	color: var(--color-green);
	color: var(--section-color);
	font-weight: 700;
	letter-spacing: 0.05em;
	letter-spacing: var(--letter-spacing);
	margin-top: 10px;
	opacity: 1;
	text-transform: uppercase;
}

#jp-relatedposts .cat-links a {
	-webkit-text-decoration: none;
	text-decoration: none;
}

#jp-relatedposts .jp-relatedposts-post-thumbs:hover .cat-links a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

/*--------------------------------------------------------------
	# Blog and category archive styles
--------------------------------------------------------------*/

.archive .site-main, .blog .site-main {
		margin-left: auto;
		margin-right: auto;
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.archive .page-header, .blog .page-header {
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(10, 1fr);
		margin-top: calc(1.25rem  * 6);
		margin-top: var(--spacing-6);
	}

@media (max-width: 50em) {

.archive .page-header, .blog .page-header {
			display: block;
			margin-top: calc(1.25rem  * 3);
			margin-top: var(--spacing-3);
	}
		}

.archive .page-header h1, .blog .page-header h1 {
			font-family: "Inter", sans-serif;
			font-family: var(--font-sans);
			font-weight: 900;
			grid-column: 1 / span 5;
			grid-row: 1;
			margin: 0;
		}

.archive .page-header .archive-description, .blog .page-header .archive-description {
			font-size: max(1rem, min(2vw, 1.375rem));
			font-size: var(--font-size-s);
			grid-column: 1 / span 5;
			grid-row: 2;
		}

.archive .page-header .archive-description >:first-child, .blog .page-header .archive-description >:first-child {
				margin-top: 0;
			}

.archive .page-header .categories, .blog .page-header .categories {
			font-size: max(1.125rem, min(2.25vw, 1.5rem));
			font-size: var(--font-size-m);
			font-weight: 900;
			grid-column: 7 / span 4;
			grid-row: 2;
			line-height: 1.5;
			list-style: none;
			margin: 0;
		}

.archive .page-header .categories a, .blog .page-header .categories a {
				align-items: center;
				color: var(--color-green);
				color: var(--section-color);
				display: flex;
				-webkit-text-decoration: none;
				text-decoration: none;
				max-width: max-content;
			}

.archive .page-header .categories a::after {
					background-color: transparent;
					-webkit-mask-image: url(./images/icon-arrow.svg);
					        mask-image: url(./images/icon-arrow.svg);
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-size: contain;
					        mask-size: contain;
					content: "";
					display: block;
					height: 1em;
					margin-left: 0.5em;
					transition: background-color 0.25s ease;
					transition: background-color var(--speed) ease;
					width: 1em;
				}

.blog .page-header .categories a::after {
					background-color: transparent;
					-webkit-mask-image: url(./images/icon-arrow.svg);
					        mask-image: url(./images/icon-arrow.svg);
					-webkit-mask-repeat: no-repeat;
					        mask-repeat: no-repeat;
					-webkit-mask-size: contain;
					        mask-size: contain;
					content: "";
					display: block;
					height: 1em;
					margin-left: 0.5em;
					transition: background-color 0.25s ease;
					transition: background-color var(--speed) ease;
					width: 1em;
				}

.archive .page-header .categories a:hover::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.blog .page-header .categories a:hover::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.archive .page-header .categories [aria-current="page"], .blog .page-header .categories [aria-current="page"] {
				color: var(--color-gray);
			}

.archive .page-header .categories [aria-current="page"]::after, .blog .page-header .categories [aria-current="page"]::after {
					background-color: currentcolor;
					-webkit-mask-image: url(./images/bfi-asterisk.svg);
					        mask-image: url(./images/bfi-asterisk.svg);
				}

.archive-post-river {
	display: grid;
	gap: 0 2rem;
	grid-gap: 0 2rem;
	grid-gap: 0 var(--gutter);
	gap: 0 var(--gutter);
	grid-template-columns: repeat(10, 1fr);
}

.archive-post-river article {
		border-top: 4px solid hsla(210, 2%, 95%, 1);
		border-top: 4px solid var(--color-grid-gray);
		display: grid;
		gap: 0 2rem;
		grid-gap: 0 2rem;
		grid-gap: 0 var(--gutter);
		gap: 0 var(--gutter);
		grid-column: span 10;
		grid-template-columns: repeat(10, 1fr);
		padding: calc(1.25rem  * 1.5) 0;
		padding: var(--spacing-150) 0;
		transition: border-color 0.25s ease;
		transition: border-color var(--speed) ease;
	}

@media (max-width: 37.5em) {

.archive-post-river article {
			display: flex;
			flex-direction: column;
	}
		}

.archive-post-river article:not(.has-post-thumbnail)::before {
			aspect-ratio: 3 / 2;
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
			background-image: url(./images/bfi-mark.svg);
			background-position: center;
			background-repeat: no-repeat;
			background-size: 10%;
			content: "";
			display: block;
			grid-column: 8 / span 3;
			grid-row: 1 / span 5;
			order: -1;
			width: 100%;
		}

@media (max-width: 50em) {

.archive-post-river article:not(.has-post-thumbnail)::before {
				grid-column: 7 / span 4;
		}
			}

@media (max-width: 37.5em) {

.archive-post-river article:not(.has-post-thumbnail)::before {
				order: -1;
		}
			}

.archive-post-river article:first-child {
			margin-top: calc(1.25rem  * 5);
			margin-top: var(--spacing-5);
		}

@media (max-width: 50em) {

.archive-post-river article:first-child {
				margin-top: calc(1.25rem  * 3);
				margin-top: var(--spacing-3);
		}
			}

@media (min-width: 37.51em) {

body:not(.paged) .archive-post-river article:nth-child(2) {

					display: flex;
					flex-direction: column;
					grid-column: span 5;
			}

body:not(.paged) .archive-post-river article:nth-child(3) {

					display: flex;
					flex-direction: column;
					grid-column: span 5;
			}

					body:not(.paged) .archive-post-river article:nth-child(2) .post-thumbnail {
						order: -1;
					}

					body:not(.paged) .archive-post-river article:nth-child(3) .post-thumbnail {
						order: -1;
					}

					body:not(.paged) .archive-post-river article:nth-child(2) .block-entry-footer {
						margin: 1.5em 0 0.5em;
						order: -1;
					}

					body:not(.paged) .archive-post-river article:nth-child(3) .block-entry-footer {
						margin: 1.5em 0 0.5em;
						order: -1;
					}
				}

body:not(.paged) .archive-post-river article:first-child {
				border-top-color: var(--color-green);
				border-top-color: var(--section-color);
				border-bottom: 4px solid hsla(210, 2%, 95%, 1);
				border-bottom: 4px solid var(--color-grid-gray);
				grid-column: span 10;
				margin-bottom: -4px;
			}

@media (min-width: 37.51em) {

					body:not(.paged) .archive-post-river article:first-child .entry-header {
						grid-column: 1 / span 5;
					}

					body:not(.paged) .archive-post-river article:first-child .block-entry-content {
						grid-column: 1 / span 5;
					}

					body:not(.paged) .archive-post-river article:first-child .block-entry-footer {
						grid-column: 1 / span 5;
					}

					body:not(.paged) .archive-post-river article:first-child .post-thumbnail {
						grid-column: 6 / span 5;
					}

					body:not(.paged) .archive-post-river article:first-child::before {
						grid-column: 6 / span 5;
					}
				}

@media (min-width: 50.01em) {

					body:not(.paged) .archive-post-river article:first-child .entry-header {
						grid-column: 1 / span 4;
						padding-right: 2rem;
						padding-right: var(--gutter);
					}

					body:not(.paged) .archive-post-river article:first-child .block-entry-content {
						grid-column: 1 / span 4;
						padding-right: 2rem;
						padding-right: var(--gutter);
					}

					body:not(.paged) .archive-post-river article:first-child .block-entry-footer {
						grid-column: 1 / span 4;
						padding-right: 2rem;
						padding-right: var(--gutter);
					}

					body:not(.paged) .archive-post-river article:first-child .post-thumbnail {
						grid-column: 5 / span 6;
					}

					body:not(.paged) .archive-post-river article:first-child::before {
						grid-column: 5 / span 6;
					}
				}

body:not(.paged) .archive-post-river article:first-child .entry-title {
					font-size: max(2.5rem, min(5vw, 3rem));
					font-size: var(--font-size-xxl);
				}

.archive-post-river article:hover {
			border-top-color: var(--color-green);
			border-top-color: var(--section-color);
		}

.archive-post-river .entry-header {
		grid-column: 1 / span 6;
		grid-row: 2;
	}

.archive-post-river .entry-title {
		color: var(--color-black);
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
		font-size: max(1.5rem, min(3.75vw, 2.5rem));
		font-size: var(--font-size-xl);
		font-weight: 400;
		margin: 0.3em 0 0;
		max-width: 43rem;
		max-width: var(--max-content);
	}

.archive-post-river .entry-title a {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.archive-post-river .entry-title a:hover {
				color: var(--color-green);
				color: var(--section-color);
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 1px;
				text-decoration-thickness: 1px;
			}

.archive-post-river .post-thumbnail {
		grid-column: 8 / span 3;
		grid-row: 1 / span 5;
		margin: 0;
	}

.archive-post-river .post-thumbnail .post-thumbnail-inner {
			aspect-ratio: 3 / 2;
			display: flex;
			position: relative;
		}

.archive-post-river .post-thumbnail .post-thumbnail-inner::before {
				background-color: transparent;
				content: "";
				height: 100%;
				mix-blend-mode: multiply;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

.archive-post-river .post-thumbnail .post-thumbnail-inner::after {
				background-color: var(--color-green);
				background-color: var(--section-color);
				content: "";
				height: 100%;
				opacity: 0;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
				z-index: 1;
			}

.archive-post-river .post-thumbnail .post-thumbnail-inner img {
				transition: all 0.25s ease;
				transition: all var(--speed) ease;
			}

.archive-post-river .post-thumbnail .post-thumbnail-inner:hover img {
					filter: grayscale(1);
				}

.archive-post-river .post-thumbnail .post-thumbnail-inner:hover::before {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

.archive-post-river .post-thumbnail .post-thumbnail-inner:hover::after {
					opacity: 0.4;
				}

@media (max-width: 50em) {

.archive-post-river .post-thumbnail {
			grid-column: 7 / span 4;
	}
		}

@media (max-width: 37.5em) {

.archive-post-river .post-thumbnail {
			order: -1;
	}
		}

.archive-post-river .post-thumbnail img {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

.archive-post-river .block-entry-content {
		grid-column: 1 / span 6;
		grid-row: 3;
	}

.archive-post-river .block-entry-footer {
		color: var(--color-green);
		color: var(--section-color);
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
		font-weight: 700;
		grid-column: 1 / span 6;
		grid-row: 1;
		letter-spacing: 0.05em;
		letter-spacing: var(--letter-spacing);
		text-transform: uppercase;
	}

@media (max-width: 37.5em) {

.archive-post-river .block-entry-footer {
			margin: 1.5em 0 0.5em;
			order: -1;
	}
		}

.archive-post-river .block-entry-footer a {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.archive-post-river .block-entry-footer a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 1px;
				text-decoration-thickness: 1px;
			}

/* Videos archive */

.post-type-archive-bfi-video article {
		display: flex;
		flex-direction: column;
	}

.post-type-archive-bfi-video .block-entry-header {
		order: 1;
	}

.post-type-archive-bfi-video .block-entry-title {
		color: var(--color-green);
		color: var(--section-color);
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		margin-top: 1.25rem ;
		margin-top: var(--spacing);
	}

/*--------------------------------------------------------------
	# Single and archive styles for Challenges and resources
--------------------------------------------------------------*/

/* --- General Challenge styles --- */

.challenge .recognition,
	.challenge .continents,
	.challenge .categories,
	.challenge .external-url {
		align-items: center;
		border-top: 1px solid var(--color-gray-light);
		display: flex;
		margin-top: auto;
		padding: 1rem 1.5rem;
	}

.challenge .recognition::before, .challenge .continents::before, .challenge .categories::before, .challenge .external-url::before {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 1.375rem;
			margin-right: 1rem;
			-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;
			width: 1.375rem;
		}

.challenge .recognition::before {
		-webkit-mask-image: url(./images/icon-trophy.svg);
		        mask-image: url(./images/icon-trophy.svg);
	}

.challenge .continents::before {
		-webkit-mask-image: url(./images/icon-globe.svg);
		        mask-image: url(./images/icon-globe.svg);
	}

.challenge .categories::before {
		-webkit-mask-image: url(./images/icon-folder.svg);
		        mask-image: url(./images/icon-folder.svg);
	}

.challenge .external-url::before {
		-webkit-mask-image: url(./images/icon-link.svg);
		        mask-image: url(./images/icon-link.svg);
	}

/* --- Single challenge specific styles --- */

.single-challenge .wp-block-post-title {
		font-family: "Inter", sans-serif;
		font-family: var(--font-sans);
	}

.single-challenge .entry-meta {
		background-color: var(--color-white);
		border: 1px solid var(--color-gray-light);
		border-bottom: none;
		display: flex;
		flex-wrap: wrap;
	}

.single-challenge .recognition,
	.single-challenge .continents,
	.single-challenge .categories,
	.single-challenge .external-url {
		border-bottom: 1px solid var(--color-gray-light);
		border-top: none;
		flex: 100%;
		padding: 1rem 1.5rem;
		transition: border-color 0.25s ease;
		transition: border-color var(--speed) ease;
	}

.single-challenge .recognition a, .single-challenge .continents a, .single-challenge .categories a, .single-challenge .external-url a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.single-challenge .recognition a:hover, .single-challenge .continents a:hover, .single-challenge .categories a:hover, .single-challenge .external-url a:hover {
				color: inherit;
				-webkit-text-decoration: underline;
				text-decoration: underline;
			}

.single-challenge .continents,
	.single-challenge .categories {
		align-items: flex-start;
		flex: 50%;
		flex-wrap: wrap;
		letter-spacing: 0.05em;
		letter-spacing: var(--letter-spacing);
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
		font-weight: 700;
		margin-top: 0;
		text-transform: uppercase;
	}

.single-challenge .continents .taxonomy-terms, .single-challenge .categories .taxonomy-terms {
			flex: 100%;
			height: 100%;
			margin-left: calc(22px + 1rem);
		}

.single-challenge .continents a, .single-challenge .categories a {
			font-size: 1.125rem;
			font-size: var(--font-size-default);
			font-weight: 400;
			text-transform: none;
		}

.single-challenge .categories {
		border-left: 1px solid var(--color-gray-light);
		margin-left: -1px;
	}

/* Related challenges */

.single-challenge .jp-relatedposts-post-nothumbs::after {
		background-color: var(--color-green);
		background-color: var(--section-color);
		content: "";
		grid-area: image;
		padding-bottom: 66.66667%;
		width: 100%;
	}

.single-challenge .related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title a {
		font-size: max(1.125rem, min(2.25vw, 1.5rem)) !important;
		font-size: var(--font-size-m) !important;
	}

.single-challenge .related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title a {
		font-weight: 900;
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

/* --- Single resource specific styles --- */

.block-entry-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 43rem;
	max-width: var(--max-content);
}

/* Filterable archives - Resources and Challenges */

.post-type-archive-resource .site-main, .post-type-archive-challenge .site-main {
		max-width: 100%;
	}

.bfi-archive-filters {
	background-color: var(--color-green);
	background-color: var(--section-color);
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin: 0 auto calc(1.25rem  * 3.5);
	margin: 0 auto var(--spacing-350);
	padding: 2rem;
	position: relative;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.bfi-archive-filters.resource {
		max-width: 43rem;
		max-width: var(--max-content);
	}

.bfi-archive-filters input,
	.bfi-archive-filters select {
		border-color: var(--color-black);
	}

.bfi-archive-filters .search {
		width: 100%;
	}

.bfi-archive-filters .search input {
			background-image: url(./images/icon-magnifying-glass.svg);
			background-position: 1rem center;
			background-repeat: no-repeat;
			background-size: 1.75rem;
			padding-left: 3.5rem;
			width: 100%;
		}

.bfi-archive-filters .select {
		flex-basis: 0;
		flex-grow: 1;
	}

@media (max-width: 37.5em) {

.bfi-archive-filters .select {
			flex: 100%;
	}
		}

.bfi-archive-filters .select label,
		.bfi-archive-filters .select select {
			display: block;
			width: 100%;
		}

.bfi-archive-filters .select label {
			color: var(--color-white);
			color: var(--text-on-section-color);
		}

.bfi-archive-filters .select select {
			-webkit-appearance: none;
			        appearance: none;
			background-image: url(./images/icon-down-chevron.svg);
			background-position: calc(100% - 0.5rem) center;
			background-repeat: no-repeat;
			background-size: 1.5rem;
			padding-right: 3.5rem;
		}

#order-by {
	-webkit-appearance: none;
	        appearance: none;
	background-color: transparent;
	background-image: url(./images/icon-down-chevron.svg);
	background-position: calc(100% - 0.5rem) center;
	background-repeat: no-repeat;
	background-size: 1.5rem;
	padding-right: 2.5rem;
}

#order-by:focus-visible {
		outline: none;
	}

.bfi-archive-count-and-sort {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	gap: var(--gutter);
	justify-content: space-between;
	margin: 0 auto calc(1.25rem  * 3.5);
	margin: 0 auto var(--spacing-350);
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.post-type-archive-resource .bfi-archive-count-and-sort {
		max-width: 43rem;
		max-width: var(--max-content);
	}

.bfi-archive-count-and-sort .post-count {
		align-items: center;
		display: flex;
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		font-weight: 900;
	}

.bfi-archive-count-and-sort .secondary-select select {
		border: none;
	}

.bfi-archive-count-and-sort > *:last-child {
		margin-left: auto;
	}

.bfi-archive-count-and-sort .reset-filters {
		align-items: center;
		background-color: transparent;
		border: none;
		cursor: pointer;
		font-size: inherit;
		font-weight: 400;
		line-height: 1;
		margin-top: 0;
		padding: 1rem 1.5rem;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-underline-offset: 2px;
		text-decoration-thickness: 1px;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
		max-width: max-content;
	}

.bfi-archive-count-and-sort .reset-filters:hover {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.bfi-archive-count-and-sort .reset-filters:focus {
			outline: 2px dashed var(--color-red);
			outline-offset: 2px;
		}

.river {
	margin: 0 auto;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.post-type-archive-resource .river {
		max-width: 43rem;
		max-width: var(--max-content);
	}

.post-type-archive-resource .river article {
			background-color: var(--color-white);
			border-top: 4px solid hsla(210, 2%, 95%, 1);
			border-top: 4px solid var(--color-grid-gray);
			padding: 2rem 0;
			transition: border-color 0.25s ease;
			transition: border-color var(--speed) ease;
		}

.post-type-archive-resource .river article:hover {
				border-color: var(--color-green);
				border-color: var(--section-color);
			}

.post-type-archive-resource .river .entry-title {
			font-family: "Eames Century Modern", serif;
			font-family: var(--font-serif);
			font-size: max(1.25rem, min(3vw, 2rem));
			font-size: var(--font-size-l);
			font-weight: 400;
			margin: 0 0 0 1.5rem;
		}

.post-type-archive-resource .river .entry-title a {
				display: flex;
			}

.post-type-archive-resource .river .attribution,
		.post-type-archive-resource .river .block-entry-content {
			margin-left: 1.5rem;
		}

.river.grid {
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	}

.post-type-archive-challenge .river article {
			background-color: var(--color-white);
		}

.post-type-archive-challenge .river article:not(.has-post-thumbnail) a::before {
					background-color: var(--color-green);
					background-color: var(--section-color);
					content: "";
					padding-bottom: 66.66667%;
					position: static;
					width: 100%;
				}

.post-type-archive-challenge .river article a {
				border: 1px solid var(--color-gray-light);
				border-top: none;
				display: flex;
				height: 100%;
				flex-direction: column;
				position: relative;
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.post-type-archive-challenge .river article a:hover {
					border-color: var(--color-green);
					border-color: var(--section-color);
					color: var(--color-black);
				}

.post-type-archive-challenge .river article a:hover .recognition {
						border-color: var(--color-green);
						border-color: var(--section-color);
						transition: border-color 0.25s ease;
						transition: border-color var(--speed) ease;
					}

.post-type-archive-challenge .river article a:hover::after {
						background-image: url(./images/light-green-circle-black-arrow.svg);
						background-repeat: no-repeat;
						background-size: contain;
						content: "";
						height: 4rem;
						position: absolute;
						top: 22.5%;
						left: 50%;
						transform: translateX(-50%);
						width: 4rem;
						z-index: 1;
					}

.post-type-archive-challenge .river article a::before {
					background-color: var(--color-green);
					background-color: var(--section-color);
					content: "";
					height: 4px;
					position: absolute;
					top: 0;
					left: -1px;
					width: calc(100% + 2px);
					z-index: 1;
				}

.post-type-archive-challenge .river article .post-thumbnail {
				margin: 0;
				order: -1;
			}

.post-type-archive-challenge .river article .post-thumbnail img {
					aspect-ratio: 3 / 2;
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
					width: 100%;
				}

.post-type-archive-challenge .river article .entry-title {
				font-size: max(1.25rem, min(3vw, 2rem));
				font-size: var(--font-size-l);
				margin: 1.5rem;
			}

.pagination.loading,
.river.loading,
.river.scrolling {
	filter: blur(1px);
	opacity: 0.25;
	pointer-events: none;
}

.resource.entry.external .entry-title, .resource.entry.attachment .entry-title {
			margin-left: 0;
		}

.resource.entry.external .entry-title a::before,
	.resource.entry.attachment .entry-title a::before {
		margin-right: 0.5rem;
		width: 1rem;
		min-width: 1rem;
		max-width: 1rem;
	}

.resource.entry.external .entry-title a::before {
		content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z" /></svg>'); /* stylelint-disable-line function-url-quotes */
	}

.resource.entry.attachment .entry-title a::before {
		content: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.2h-5.9l-.6-1.1c-.3-.7-1-1.1-1.8-1.1H5a2 2 0 0 0-2 2v11.8c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V8.2a2 2 0 0 0-2-2zm.5 11.6c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h5.8c.2 0 .4.1.4.3l1 2H19c.3 0 .5.2.5.5v9.5z"/></svg>'); /* stylelint-disable-line function-url-quotes */
	}

/*--------------------------------------------------------------
	# Single event post and archive
--------------------------------------------------------------*/

/* --- Single event layout and specific .wrapper styles --- */

.single-se-event .site-main > .se-event > *:not(.alignwide):not(.alignfull):not(.wrapper) {
		margin-left: auto;
		margin-right: auto;
		max-width: 43rem;
		max-width: var(--max-content);
	}

/* Single event wrapper styles */

.single-se-event .wrapper {
		border: 1px solid var(--color-gray-light);
		background-color: var(--color-white);
		margin: 0 auto;
		max-width: calc(43rem + (2rem * 2));
		max-width: calc(var(--max-content) + (var(--gutter) * 2));
		border-top: none;
		position: relative;
	}

.single-se-event .wrapper::before {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 4px;
			position: absolute;
			top: 0;
			left: -1px;
			width: calc(100% + 2px);
			z-index: 1;
		}

.single-se-event .wrapper .wp-block-post-featured-image {
			margin: 0 -1px;
		}

.single-se-event .wrapper .wp-block-post-title {
			font-family: "Inter", sans-serif;
			font-family: var(--font-sans);
			font-size: max(1.5rem, min(3.75vw, 2.5rem));
			font-size: var(--font-size-xl);
			font-weight: 400;
			margin: 1rem auto calc(1.25rem  * 2.5);
			margin: 1rem auto var(--spacing-250);
			padding: 0 2rem;
			padding: 0 var(--gutter);
			max-width: calc(33rem + (2rem * 2));
			max-width: calc(33rem + (var(--gutter) * 2));
		}

.single-se-event .wrapper + * {
			margin-top: calc(1.25rem  * 4);
			margin-top: var(--spacing-4);
		}

/* --- Related events layout --- */

.single-se-event #main .related-posts-wrap {
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.related-posts-wrap > ul {
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		list-style: none;
		padding: 0;
	}

/* Tag that shows up on single card, archive, and related views */

.passed {
	background-color: hsla(210, 2%, 95%, 1);
	background-color: var(--color-grid-gray);
	border-radius: 600px;
	color: var(--color-gray);
	font-size: 0.875rem;
	font-size: var(--font-size-small-footer);
	font-weight: 700;
	margin: calc(1.25rem  * 1.5) auto 0;
	margin: var(--spacing-150) auto 0;
	padding: calc(1.25rem  / 2) 1.25rem ;
	padding: var(--spacing-050) var(--spacing);
	text-transform: uppercase;
	width: max-content;
}

.passed + .wp-block-post-terms {
		margin-top: 1.25rem ;
		margin-top: var(--spacing);
	}

/* Category output on single event */

.taxonomy-se-event-category {
	color: var(--color-green);
	color: var(--text-on-white);
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	font-weight: 900;
	margin: calc(1.25rem  * 2) 0 0;
	margin: var(--spacing-2) 0 0;
	text-align: center;
}

.taxonomy-se-event-category a {
		color: inherit;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.taxonomy-se-event-category a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

/* Event card layout */

ul.simple-events-archive {
	list-style: none;
	margin: 0;
	padding: 0;
}

li.se-event {
	background-color: var(--color-white);
	border: 1px solid var(--color-gray-light);
	border-top: none;
	position: relative;
}

li.se-event::before {
		background-color: var(--color-green);
		background-color: var(--section-color);
		content: "";
		height: 4px;
		position: absolute;
		top: 0;
		left: -1px;
		width: calc(100% + 2px);
		z-index: 1;
	}

li.se-event > a {
		display: grid;
		grid-template: "image image" max-content "date title" "date place" / auto 1fr;
		height: 100%;
		margin-top: 0;
		padding-bottom: 2rem;
		-webkit-text-decoration: none;
		text-decoration: none;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
	}

li.se-event > a:hover {
			border-color: var(--color-green);
			border-color: var(--section-color);
		}

li.se-event > a:hover .block-post-thumbnail img {
					filter: grayscale(1);
				}

li.se-event > a:hover .block-post-thumbnail::after {
					background-color: var(--color-green);
					background-color: var(--section-color);
				}

li.se-event .block-post-thumbnail {
		display: flex;
		grid-area: image;
		margin: 0 -1px;
		position: relative;
	}

.simple-events-archive li.se-event .block-post-thumbnail,
		.related-posts-wrap li.se-event .block-post-thumbnail,
		.post-type-archive-se-event li.se-event .block-post-thumbnail {
			aspect-ratio: 2 / 1;
		}

.simple-events-archive li.se-event .block-post-thumbnail img, .related-posts-wrap li.se-event .block-post-thumbnail img, .post-type-archive-se-event li.se-event .block-post-thumbnail img {
				height: 100%;
				-o-object-fit: cover;
				   object-fit: cover;
				width: 100%;
			}

li.se-event .block-post-thumbnail::before {
			background-color: transparent;
			content: "";
			height: 100%;
			mix-blend-mode: multiply;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			transition: all 0.25s ease;
			transition: all var(--speed) ease;
			z-index: 1;
		}

li.se-event .block-post-thumbnail::after {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 100%;
			opacity: 0;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			transition: all 0.25s ease;
			transition: all var(--speed) ease;
			z-index: 1;
		}

li.se-event .block-post-thumbnail img {
			transition: all 0.25s ease;
			transition: all var(--speed) ease;
			width: 100%;
		}

li.se-event .block-entry-title {
		color: var(--color-black);
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		font-weight: 400;
		grid-area: title;
		line-height: 1.3;
		margin-bottom: 1rem;
		margin-top: 1rem;
		padding-right: 1.25rem ;
		padding-right: var(--spacing);
	}

/* Time and location styles */

.simple-events-archive .time-place,
	.post-type-archive-se-event .time-place,
	.related-posts-wrap .time-place {
		color: var(--color-gray);
		font-size: 1rem;
		font-size: var(--font-size-xs);
		font-weight: 700;
		line-height: 1.65;
		margin-top: auto;
		padding-right: 1.25rem ;
		padding-right: var(--spacing);
		text-transform: uppercase;

		/* line-clamp */
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
		overflow: hidden;
	}

.single-se-event .wrapper .time-place {
		border-top: 1px solid var(--color-gray-light);
		display: flex;
		flex-wrap: wrap;
		gap: 2rem;
		gap: var(--gutter);
		padding: 2rem;
		padding: var(--gutter);
	}

.related-posts-wrap .time-place {
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
	}

.se-event-date,
.se-event-location {
	position: relative;
}

.single-se-event .wrapper .se-event-date, .single-se-event .wrapper .se-event-location {
		flex: 1;
		padding-left: calc(1.25rem  * 1.5);
		padding-left: var(--spacing-150);
	}

.se-event-date svg, .se-event-location svg {
		color: var(--color-green);
		color: var(--section-color);
		left: 0;
		position: absolute;
		top: 0;
	}

.se-event-date .date,
	.se-event-location .date,
	.se-event-date .location-name,
	.se-event-location .location-name {
		font-weight: 700;
	}

.se-event-date .time,
	.se-event-location .time,
	.se-event-date .location-info,
	.se-event-location .location-info {
		font-size: 1rem;
		font-size: var(--font-size-xs);
	}

.simple-events-archive .se-event-time,
	.simple-events-archive .se-event-location,
	.post-type-archive-se-event .se-event-time,
	.post-type-archive-se-event .se-event-location,
	.related-posts-wrap .se-event-time,
	.related-posts-wrap .se-event-location {
		display: inline;
	}

.related-posts-wrap .se-event-date,
	
	.simple-events-archive .se-event-date {
		align-items: center;
		color: var(--color-green);
		color: var(--text-on-white);
		display: flex;
		flex-direction: column;
		grid-area: date;
		font-size: 0.875rem;
		font-size: var(--font-size-small-footer);
		font-weight: 900;
		line-height: 1;
		margin: 1.25rem;
		text-transform: uppercase;
		width: 4rem;
	}

.related-posts-wrap .se-event-date .month, .simple-events-archive .se-event-date .month {
			font-size: 1.125rem;
			font-size: var(--font-size-default);
		}

.related-posts-wrap .se-event-date .day, .simple-events-archive .se-event-date .day {
			font-size: 1.875rem;
		}

.simple-events-archive .se-event-location::before, .post-type-archive-se-event .se-event-location::before, .related-posts-wrap .se-event-location::before {
			color: var(--color-gray-light);
			content: "/";
			font-weight: 400;
			margin-right: 0.5ch;
		}

/* --- Jetpack related posts --- */

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post {
		background-color: var(--color-white);
		border: 1px solid var(--color-gray-light);
		border-top: none;
		display: grid;
		grid-template: "image image" max-content "date title" "date place" 1fr / auto 1fr;
		margin-top: 0;
		padding-bottom: 2rem;
		position: relative;
	}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post::before {
			background-color: var(--color-green);
			background-color: var(--section-color);
			content: "";
			height: 4px;
			position: absolute;
			top: 0;
			left: -1px;
			width: calc(100% + 2px);
			z-index: 1;
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-excerpt,
		.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-context {
			display: none;
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post > .jp-relatedposts-post-a {
			grid-area: image;
			margin-left: -1px;
			margin-right: -1px;
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post > .jp-relatedposts-post-a .jp-relatedposts-post-img {
				width: 100%;
			}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title {
			font-size: max(1rem, min(2vw, 1.375rem));
			font-size: var(--font-size-s);
			font-weight: 400;
			line-height: 1.3;
			margin: 1.25rem 0 0.5rem;
			padding-right: 1.25rem ;
			padding-right: var(--spacing);
			grid-area: title;
		}

@media (max-width: 37.5em) {

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title {
				font-size: 1rem;
		}
			}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title a {
				font-size: inherit !important;
				line-height: inherit !important;
				margin-top: 0 !important;
			}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title a {
				font-family: "Inter", sans-serif;
				font-family: var(--font-sans);
			}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .jp-relatedposts-post-title a::after {
					margin-top: 3px;
				}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .se-event-date {
			grid-area: date;
			margin: 1.5rem 1.25rem;
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .time-place {
			display: inline;
			height: auto;
			margin-top: 1.25rem ;
			margin-top: var(--spacing);
			overflow: visible;
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .se-event-location {
			margin-left: calc(1.25rem  / 2);
			margin-left: var(--spacing-050);
		}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post .se-event-location::before {
				display: none;
			}

.related-posts-wrap #jp-relatedposts div.jp-relatedposts-post p:empty {
			display: none;
		}

/*--------------------------------------------------------------
	# Event archive layouts
--------------------------------------------------------------*/

.post-type-archive-se-event .bfi-breadcrumb, .tax-se-event-category .bfi-breadcrumb {
		margin-bottom: 0;
	}

.post-type-archive-se-event .page-header, .tax-se-event-category .page-header {
		display: block;
		margin-bottom: calc(1.25rem  * 4);
		margin-bottom: var(--spacing-4);
	}

.post-type-archive-se-event .archive-description, .tax-se-event-category .archive-description {
		margin: 2rem 0;
		margin: var(--gutter) 0;
	}

.post-type-archive-se-event .site-content, .tax-se-event-category .site-content {
		margin: 0 auto;
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

@media (min-width: 50.01em) {

.post-type-archive-se-event .site-content, .tax-se-event-category .site-content {
			display: grid;
			gap: 2rem;
			grid-gap: 2rem;
			grid-gap: var(--gutter);
			gap: var(--gutter);
			grid-template-columns: 1fr 1fr;
	}

			.post-type-archive-se-event .site-content > *, .tax-se-event-category .site-content > * {
				grid-column: 1 / span 2;
			}

			.post-type-archive-se-event .site-content .page-header, .tax-se-event-category .site-content .page-header {
				grid-column: 1 / span 1;
				padding-right: calc(1.25rem  * 4);
				padding-right: var(--spacing-4);
			}
		}

.post-type-archive-se-event .upcoming:first-of-type, .tax-se-event-category .upcoming:first-of-type {
			margin-top: calc(1.25rem  * 3);
			margin-top: var(--spacing-3);
		}

@media (min-width: 50.01em) {

.post-type-archive-se-event .upcoming:first-of-type, .tax-se-event-category .upcoming:first-of-type {
				grid-column: 2 / span 1;
				margin-top: calc(1.25rem  * 6);
				margin-top: var(--spacing-6);
		}
			}

.post-type-archive-se-event .upcoming + .upcoming, .tax-se-event-category .upcoming + .upcoming {
			margin-top: 2rem;
			margin-top: var(--gutter);
		}

.post-type-archive-se-event .upcoming + .upcoming .se-event, .tax-se-event-category .upcoming + .upcoming .se-event {
				margin-bottom: 2rem;
				margin-bottom: var(--gutter);
				padding: 0;
			}

@media (min-width: 50.01em) {

					.post-type-archive-se-event .upcoming + .upcoming .se-event a, .tax-se-event-category .upcoming + .upcoming .se-event a {
						grid-template: ". . image" 1rem "date title image" "date place image" 1fr ". . image" 2rem / auto 1fr 38.3%;
						padding: 0;
					}
				}

.post-type-archive-se-event .upcoming + .upcoming .se-event .block-post-thumbnail, .tax-se-event-category .upcoming + .upcoming .se-event .block-post-thumbnail {
					position: relative;
				}

@media (min-width: 50.01em) {

						.post-type-archive-se-event .upcoming + .upcoming .se-event .block-post-thumbnail::before, .tax-se-event-category .upcoming + .upcoming .se-event .block-post-thumbnail::before {
							background-color: var(--color-green);
							background-color: var(--section-color);
							background-image: url(./images/icon-arrow.svg);
							background-repeat: no-repeat;
							background-position: center;
							background-size: 26px 26px;
							border-radius: 100px;
							content: "";
							height: 64px;
							opacity: 0;
							position: absolute;
							top: 50%;
							left: 0;
							width: 64px;
							transform: translateX(-50%) translateY(-50%);
							transition: all 0.25s ease;
							transition: all var(--speed) ease;
							z-index: 1;
						}
					}

@media (min-width: 50.01em) {

						.post-type-archive-se-event .upcoming + .upcoming .se-event:hover .block-post-thumbnail::before, .tax-se-event-category .upcoming + .upcoming .se-event:hover .block-post-thumbnail::before {
							opacity: 1;
						}
					}

.post-type-archive-se-event .upcoming + .upcoming .se-event:hover .time-place, .tax-se-event-category .upcoming + .upcoming .se-event:hover .time-place {
						color: var(--color-green);
						color: var(--text-on-white);
					}

.post-type-archive-se-event .upcoming + .upcoming .se-event .time-place, .tax-se-event-category .upcoming + .upcoming .se-event .time-place {
					grid-area: place;
				}

.post-type-archive-se-event .upcoming + .upcoming .se-event .se-event-date, .tax-se-event-category .upcoming + .upcoming .se-event .se-event-date {
					margin-top: 1.25rem;
				}

.post-type-archive-se-event .upcoming + h2, .tax-se-event-category .upcoming + h2 {
			margin-top: calc(1.25rem  * 4);
			margin-top: var(--spacing-4);
		}

.post-type-archive-se-event .past, .tax-se-event-category .past {
		display: grid;
		gap: 2rem;
		grid-gap: 2rem;
		grid-gap: var(--gutter);
		gap: var(--gutter);
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		margin-bottom: calc(1.25rem  * 4);
		margin-bottom: var(--spacing-4);
	}

.post-type-archive-se-event .past a, .tax-se-event-category .past a {
			padding-bottom: 1rem;
		}

.post-type-archive-se-event .past li.se-event .block-post-thumbnail, .tax-se-event-category .past li.se-event .block-post-thumbnail {
				aspect-ratio: 3 / 2;
				display: flex;
			}

.post-type-archive-se-event .past li.se-event .block-post-thumbnail img, .tax-se-event-category .past li.se-event .block-post-thumbnail img {
					height: 100%;
					-o-object-fit: cover;
					   object-fit: cover;
					width: 100%;
				}

.post-type-archive-se-event .past li.se-event .time-place, .tax-se-event-category .past li.se-event .time-place {
				font-size: 0.875rem;
				font-size: var(--font-size-small-footer);
			}

.post-type-archive-se-event .past li.se-event .se-event-time, .tax-se-event-category .past li.se-event .se-event-time {
				background-color: hsla(210, 2%, 95%, 1);
				background-color: var(--color-grid-gray);
				border-radius: 100px;
				display: inline-block;
				letter-spacing: 0.05em;
				letter-spacing: var(--letter-spacing);
				margin-right: 1rem;
				padding: 0.5em 1.25em;
			}

.post-type-archive-se-event .past li.se-event .se-event-location::before {
					display: none;
				}

.tax-se-event-category .past li.se-event .se-event-location::before {
					display: none;
				}

/* --- Tickets block --- */

.wp-block-se-event-tickets__ticket-row {
	border-bottom: 1px solid var(--color-green);
	border-bottom: 1px solid var(--section-color);
	display: grid;
	gap: 1.25rem ;
	grid-gap: 1.25rem ;
	grid-gap: var(--spacing);
	gap: var(--spacing);
	grid-template-columns: 1fr 1fr;
	margin-bottom: calc(1.25rem  * 2);
	margin-bottom: var(--spacing-2);
	padding-bottom: 1.25rem ;
	padding-bottom: var(--spacing);
}

.wp-block-se-event-tickets__ticket-row .wp-block-se-event-tickets__ticket-column--title {
		grid-column: 1 / -1;
	}

.wp-block-se-event-tickets__ticket-row .wp-block-se-event-tickets__ticket-column--buy {
		margin-left: auto;
	}

.wp-block-se-event-tickets__ticket-row .wp-block-se-event-tickets__ticket-column--buy .button {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

/*--------------------------------------------------------------
	# WooCommerce views
--------------------------------------------------------------*/

.woocommerce-page {
	--global--spacing-unit: var(--spacing);
	--global--spacing-vertical: 1em;
	--global--color-primary: var(--section-color);
	--global--color-background: var(--section-color);
	--wc--tabs--border-color: var(--section-color);
}

#main #woocommerce-wrapper ul.products li.product .woocommerce-loop-product__title {
				color: var(--color-black);
				font-size: 1.31rem;
				font-weight: 500;
				line-height: 1.3;
			}

#main #woocommerce-wrapper ul.products li.product a > .price {
					margin-bottom: calc(1.25rem  / 2);
					margin-bottom: var(--spacing-050);
				}

#main #woocommerce-wrapper ul.products li.product a:hover .woocommerce-loop-product__title {
						-webkit-text-decoration: underline;
						text-decoration: underline;
					}

#main #woocommerce-wrapper .product_meta {
		display: flex;
		flex-direction: column;
		gap: calc(1.25rem  / 2);
		gap: var(--spacing-050);
	}

#main #woocommerce-wrapper .summary.entry-summary {
		display: flex;
		flex-direction: column;
		gap: calc(1.25rem  / 2);
		gap: var(--spacing-050);
	}

#main #woocommerce-wrapper .attachment-woocommerce_thumbnail {
		aspect-ratio: 1 / 1;
		border: 1px solid var(--color-gray-light);
		-o-object-fit: contain;
		   object-fit: contain;
		transition: border-color 0.25s ease;
		transition: border-color var(--speed) ease;
	}

#main #woocommerce-wrapper .woocommerce-loop-product__link:hover .attachment-woocommerce_thumbnail {
			border-color: var(--color-green);
			border-color: var(--section-color);
		}

#main #woocommerce-wrapper .button.product_type_variable,
	#main #woocommerce-wrapper .button.product_type_simple {
		display: none !important;
	}

/* --- Single product --- */

#main #woocommerce-wrapper div.product {
		display: grid;
		gap: calc(1.25rem  * 2);
		grid-gap: calc(1.25rem  * 2);
		grid-gap: var(--spacing-2);
		gap: var(--spacing-2);
		grid-template-columns: 1fr;
	}

@media (min-width: 50.01em) {

#main #woocommerce-wrapper div.product {
			grid-template-columns: 1fr 1fr;
	}
		}

#main #woocommerce-wrapper div.product .woocommerce-product-gallery {
			width: 100% !important;
		}

#main #woocommerce-wrapper div.product .summary {
			width: 100% !important;
		}

#main #woocommerce-wrapper div.product .summary {
			display: flex;
		}

#main #woocommerce-wrapper div.product .woocommerce-tabs,
		#main #woocommerce-wrapper div.product .related.products {
			width: 100% !important;
		}

#main #woocommerce-wrapper div.product .woocommerce-tabs,
		#main #woocommerce-wrapper div.product .related.products {
			grid-column: 1 / -1;
			margin-top: calc(1.25rem  * 6);
			margin-top: var(--spacing-6);
			margin-left: auto;
			margin-right: auto;
			max-width: 58rem;
			max-width: var(--max-less-wide-width);
		}

@media (max-width: 37.5em) {

#main #woocommerce-wrapper div.product .woocommerce-tabs,
		#main #woocommerce-wrapper div.product .related.products {
				margin-top: calc(1.25rem  * 3);
				margin-top: var(--spacing-3);
		}
			}

/* --- Woo description tabs --- */

#main #woocommerce-wrapper .woocommerce-tabs.wc-tabs-wrapper {
			margin-left: auto;
			margin-right: auto;
			padding-top: 1px;
			max-width: 58rem;
			max-width: var(--max-less-wide-width);
		}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs {
			padding: 0 1rem;
		}

@media (min-width: 37.51em) {

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs {
				margin-top: calc(1.25rem  * 4);
				margin-top: var(--spacing-4);
		}
			}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs::before {
				border-color: var(--color-green);
				border-color: var(--section-color);
			}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li {
				background-color: var(--color-white);
				border-color: var(--color-green);
				border-color: var(--section-color);
				border-radius: 0;
				padding: calc(1.25rem  / 2) 1.25rem ;
				padding: var(--spacing-050) var(--spacing);
				margin: 0;
			}

@media (max-width: 37.5em) {

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li {
					width: 100%;
			}
				}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li.active {
					background-color: var(--color-green);
					background-color: var(--section-color);
					border-color: var(--color-green);
					border-color: var(--section-color);
				}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li.active a {
						color: var(--color-white);
						color: var(--text-on-section-color);
					}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li a {
					color: var(--color-black);
					display: block;
					font-weight: 400;
				}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li::before {
					display: none;
				}

#main #woocommerce-wrapper .woocommerce-tabs ul.tabs li::after {
					display: none;
				}

@media (min-width: 37.51em) {

#main #woocommerce-wrapper .woocommerce-tabs .panel {
				margin-top: calc(1.25rem  * 4);
				margin-top: var(--spacing-4);
		}
			}

#main #woocommerce-wrapper .woocommerce-tabs .panel table {
				width: 100%;
			}

#main #woocommerce-wrapper .woocommerce-tabs .panel iframe {
				max-width: 100%;
			}

/* --- Event product // Woo Box Office --- */

#main #woocommerce-wrapper .wc-box-office-ticket-form {
		flex: 100%;
		margin-top: 0;
	}

#main #woocommerce-wrapper .wc-box-office-ticket-form .wc-box-office-ticket-fields-title {
			margin: calc(1.25rem  * 2) 0 1.25rem ;
			margin: var(--spacing-2) 0 var(--spacing);
		}

body[class*="woocommerce"] #page ul.products li.product a > .price,
.woocommerce div.product .woocommerce-variation-price p.price,
.woocommerce div.product .woocommerce-variation-price span.price {
	color: var(--color-green);
	color: var(--text-on-white);
	font-size: 1.125rem;
	font-size: var(--font-size-default);
	font-weight: 900;
	margin-bottom: calc(1.25rem  / 2);
	margin-bottom: var(--spacing-050);
}

.woocommerce div.product .woocommerce-variation-price p.price,
.woocommerce div.product .woocommerce-variation-price span.price {
	display: block;
	font-size: max(1.25rem, min(3vw, 2rem));
	font-size: var(--font-size-l);
	margin-bottom: 1rem;
}

body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers {
		align-content: center;
		border: none;
		color: var(--color-green);
		color: var(--section-color);
		display: flex;
		flex-wrap: wrap;
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		font-weight: 900;
		gap: 0.5rem;
		line-height: 1;
		margin: calc(1.25rem  * 5) auto;
		margin: var(--spacing-5) auto;
		max-width: max-content;
	}

body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers li,
		body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers li > * {
			border: none;
			display: grid;
			font-size: max(1.125rem, min(2.25vw, 1.5rem));
			font-size: var(--font-size-m);
			font-weight: 900;
			align-content: center;
			justify-content: center;
			place-content: center;
			height: 40px;
			min-width: 40px;
		}

body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers .current {
			background-color: transparent;
			border: 3px solid var(--color-green);
			border: 3px solid var(--section-color);
			border-radius: 100px;
		}

body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers a {
			color: inherit;
			-webkit-text-decoration: none;
			text-decoration: none;
		}

body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers a:hover {
				background-color: transparent;
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 2px;
				text-decoration-thickness: 1px;
			}

.woocommerce nav.woocommerce-pagination ul li,
body[class*="woocommerce"] #page .woocommerce-pagination .page-numbers li span.current {
	overflow: visible;
	padding: 0;
}

#woocommerce-wrapper a {
	color: var(--color-green);
	color: var(--text-on-white);
}

.woocommerce-account #content .entry-content .woocommerce {
		margin-left: auto;
		margin-right: auto;
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.woocommerce-account #content .is-active {
		font-weight: 900;
	}

.logged-in div#woocommerce-my-account-wrapper {

		display: flex;
		flex-wrap: wrap;
		gap: calc(1.25rem  * 2);
		gap: var(--spacing-2);
	}

@media (max-width: 37.5em) {

.logged-in div#woocommerce-my-account-wrapper {
			flex-direction: column;
	}
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation {
	width: 100%;
	flex: 1;
}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul {
		margin: 0;
		padding: 0;
	}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li {
		margin-top: 0;
	}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > a,
		body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > button {
			align-items: center;
			border-radius: 1.25rem;
			display: flex;
			font-size: 1.25rem;
			font-weight: 900;
			gap: 0.75rem;
			height: auto;
			line-height: 1.1;
			padding: 0 0.5em 0 0;
			position: relative;
			-webkit-text-decoration: none;
			text-decoration: none;
			width: 100%;
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > a::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > button::before {
				content: "";
				background-color: var(--color-yellow);
				border: 2px solid var(--color-yellow);
				border-radius: 1.25rem;
				box-sizing: border-box;
				display: block;
				flex-shrink: 0;
				height: 2.5rem;
				width: 2.5rem;
			}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > a::after, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li > button::after {
				background-color: var(--color-black);
				box-sizing: border-box;
				content: "";
				display: block;
				height: 2.5rem;
				left: 0;
				-webkit-mask-image: url(./images/icon-arrow.svg);
				        mask-image: url(./images/icon-arrow.svg);
				-webkit-mask-origin: content-box;
				        mask-origin: content-box;
				-webkit-mask-repeat: no-repeat;
				        mask-repeat: no-repeat;
				-webkit-mask-size: 1rem;
				        mask-size: 1rem;
				padding: 0.75rem;
				position: absolute;
				top: 50%;
				width: 2.5rem;
				transform: translateY(-50%);
			}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li button {
			background-color: transparent;
			border: none;
			text-align: left;
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li button::after {
				transform: translateY(-50%) rotate(90deg);
			}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li:hover > a,
			body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.is-active > a,
			body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.has-open-child-menu > a,
			body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li:hover > button,
			body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.is-active > button,
			body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.has-open-child-menu > button {
				background-color: var(--color-yellow);
				color: var(--color-black);
				cursor: pointer;
			}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li:hover > a::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.is-active > a::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.has-open-child-menu > a::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li:hover > button::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.is-active > button::before, body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation > ul > li.has-open-child-menu > button::before {
					background-color: var(--color-white);
				}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .child-menu {
		display: none;
		margin: 1.5rem 0;
		padding: 0 0 0 3.25rem;
	}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .child-menu li {
			margin: 1rem 0;
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .child-menu a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .child-menu a:hover {
				color: var(--color-black);
				-webkit-text-decoration: underline;
				text-decoration: underline;
			}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .child-menu .is-active a {
			font-weight: 400;
			-webkit-text-decoration: underline;
			text-decoration: underline;
		}

body[class*="woocommerce"] #page .entry-content .woocommerce-MyAccount-navigation .has-open-child-menu .child-menu {
		display: block;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content {
	display: flex;
	flex: 3;
	flex-direction: column;
	width: 100%;
}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content h2 {
		font-size: max(1.25rem, min(3vw, 2rem));
		font-size: var(--font-size-l);
		margin-top: calc(1.25rem  * 2);
		margin-top: var(--spacing-2);
		margin-bottom: 0;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content h3 {
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content a p {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .wp-block-heading a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .wp-block-heading a:hover {
				-webkit-text-decoration: underline;
				text-decoration: underline;
				text-underline-offset: 2px;
				text-decoration-thickness: 1px;
			}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .welcome {
		margin: 0;
		text-align: right;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .wp-block-post-template {
		margin: 1rem 0;
		padding: 0;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .wp-block-post-title {
		font-size: max(1.5rem, min(3.75vw, 2.5rem));
		font-size: var(--font-size-xl);
		margin: 0 0 1.5rem;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-info {
		align-items: center;
		display: flex;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-info.woocommerce-Message--info {
			flex-wrap: wrap;
			gap: 1.5rem 0.5rem;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-info.woocommerce-Message--info .button {
				margin-left: auto;
				order: 1;
			}

@media (max-width: 37.5em) {

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-info.woocommerce-Message--info .button {
					margin-left: 0;
			}
				}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
	body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 2rem;
		gap: 2rem;
	}

@media (max-width: 37.5em) {

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm,
	body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper {
			grid-template-columns: 1fr;
	}
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm > *, body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > * {
			margin: 0;
			width: 100%;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-wide,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-wide,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm > fieldset,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > fieldset {
			grid-column: 1 / -1;
		}

@media (max-width: 37.5em) {

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm > .form-row-wide,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > .form-row-wide,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm > fieldset,
		body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper > fieldset {
				grid-column: span 1;
		}
			}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset, body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper fieldset {
			border: 1px solid var(--color-gray-light);
			padding: 3rem 2rem;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm fieldset legend, body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper fieldset legend {
				float: left;
				font-size: max(1.125rem, min(2.25vw, 1.5rem));
				font-size: var(--font-size-m);
				font-weight: 900;
				margin-bottom: 1rem;
			}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm .clear, body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper .clear {
			display: none;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-EditAccountForm em, body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-address-fields__field-wrapper em {
			font-size: 14px;
			font-size: var(--font-size-xxs);
			font-style: normal;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content table.shop_table {
		margin-top: 1.5rem;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content table.shop_table .button:not(:first-child) {
			margin-left: 1rem !important;
		}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content address {
		font-style: normal;
		padding: 1.5rem;
		margin-top: 1.5rem;
	}

body[class*="woocommerce"] #page .woocommerce-MyAccount-content .woocommerce-Address address {
		margin-top: 0;
	}

.select2-container--default .select2-selection--single {
	background-color: var(--color-white);
	border-radius: 0;
	color: var(--color-black);
	border: 1px solid var(--color-gray);
	font-family: "Inter", sans-serif;
	font-family: var(--font-sans);
	height: auto;
	padding: 0.5em 1em;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
}

.woocommerce-Address-title {
	align-items: center;
	display: flex;
}

.woocommerce-account h1 {
		max-width: 73rem !important;
		max-width: var(--max-wide-width) !important;
	}

.woocommerce-account h1 {
		font-family: "Eames Century Modern", serif;
		font-family: var(--font-serif);
		font-weight: 400;
	}

.woocommerce-account .addresses .title .edit {
		margin-left: 2rem;
		-webkit-text-decoration: underline;
		text-decoration: underline;
		text-underline-offset: 2px;
		text-decoration-thickness: 1px;
	}

.woocommerce-account .addresses .title .edit:hover {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.woocommerce-account .site::before {
			display: none;
		}

.woocommerce-account .site::after {
			content: "";
			background-image: url(./images/woo-triangles.svg);
			background-position: top;
			background-repeat: no-repeat;
			background-size: contain;
			border: none;
			color: var(--color-green);
			color: var(--section-color);
			height: calc((7.5rem * 1.1538333) * 2.5 + 4px);
			height: calc(calc(7.5rem * 1.1538333) * 2.5 + 4px);
			height: calc(var(--vertical-unit) * 2.5 + 4px);
			padding-left: 0;
			padding-right: 0;
			margin-left: calc(7.5rem * -1 + 2rem / 2 * -1 - 1px);
			margin-left: calc(var(--horizontal-unit) * -1 + var(--gutter) / 2 * -1 - 1px);
			width: calc(7.5rem * 14 + 2px);
			width: calc(var(--horizontal-unit) * 14 + 2px);
			max-width: none;
			position: absolute;
			top: 0;
			z-index: -1;
		}

@media (max-width: 37.5em) {

.woocommerce-account .site::after {
				left: -50%;
		}
			}

.woocommerce-account .bfi-breadcrumb {
		margin-left: auto;
		margin-right: auto;
		text-align: left;
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.woocommerce-account .woocommerce-info {
		border-top-color: var(--color-green);
		border-top-color: var(--section-color);
	}

.account-dashboard-main-content {
	border-top: 4px solid var(--color-green);
	border-top: 4px solid var(--section-color);
	margin-top: 2rem;
	padding-top: 2rem;
}

.account-dashboard-main-content .is-style-two-columns {
		display: grid;
		gap: calc(1.25rem  * 2);
		grid-gap: calc(1.25rem  * 2);
		grid-gap: var(--spacing-2);
		gap: var(--spacing-2);
		grid-template-columns: 1fr 1fr;
		margin-top: calc(1.25rem  * 3.5);
		margin-top: var(--spacing-350);
	}

@media (max-width: 50em) {

.account-dashboard-main-content .is-style-two-columns {
			grid-template-columns: 1fr;
	}
		}

.account-dashboard-main-content .is-style-two-columns > * {
			border-top: 4px solid hsla(210, 2%, 95%, 1);
			border-top: 4px solid var(--color-grid-gray);
			padding-top: 1.5rem;
		}

.account-dashboard-main-content .is-style-two-columns .is-layout-flex {
			gap: 1rem;
		}

.account-dashboard-main-content .is-style-two-columns .is-layout-flex figure {
				flex-shrink: 0;
				width: 75px;
			}

.account-dashboard-main-content .is-style-two-columns .is-nowrap {
			flex-wrap: nowrap;
		}

.account-dashboard-main-content .is-style-two-columns .wp-block-heading {
			margin: 0 !important;
		}

.account-dashboard-main-content .is-style-two-columns p {
			line-height: 1.2;
			margin: 0;
		}

.account-dashboard-main-content .is-style-two-columns p + p {
				margin-top: 0.5em;
			}

/* --- Member content feed --- */

.my-account-member-content-wrapper {
	border: 1px solid var(--color-gray-light);
	padding-top: 3px;
	position: relative;
}

.my-account-member-content-wrapper::before {
		content: "";
		background-color: var(--color-green);
		background-color: var(--section-color);
		height: 0.25rem;
		position: absolute;
		top: -1px;
		left: -1px;
		width: calc(100% + 2px);
	}

.my-account-member-content-wrapper article {
		display: grid;
		gap: calc(1.25rem  * 2);
		grid-gap: calc(1.25rem  * 2);
		grid-gap: var(--spacing-2);
		gap: var(--spacing-2);
		grid-template-columns: 4fr 1fr;
		padding: 1.5rem;
	}

@media (max-width: 37.5em) {

.my-account-member-content-wrapper article {
			gap: 1.25rem ;
			gap: var(--spacing);
			grid-template-columns: 3fr 1fr;
	}
		}

.my-account-member-content-wrapper article h2,
		.my-account-member-content-wrapper article h3 {
			font-size: max(1.125rem, min(2.25vw, 1.5rem)) !important;
			font-size: var(--font-size-m) !important;
			margin: 0.5rem 0 0.25rem !important;
		}

.my-account-member-content-wrapper article figure {
			margin: 0;
		}

.my-account-member-content-wrapper article + article {
			border-top: 1px solid var(--color-gray-light);
		}

/* --- Discounts view --- */

.my-account-member-content-wrapper.discounts {
		margin-top: 1.25rem ;
		margin-top: var(--spacing);
	}

@media (max-width: 37.5em) {

.my-account-member-content-wrapper.discounts article {
				grid-template-columns: 1fr;
		}
			}

.my-account-member-content-wrapper.discounts .product-discount-price {
			font-size: 14px;
			font-size: var(--font-size-xxs);
			font-weight: 700;
			letter-spacing: 0.05em;
			text-transform: uppercase;
		}

.my-account-member-content-wrapper.discounts .product-discount-price del {
				color: var(--color-gray);
				margin-right: 1rem;
			}

.my-account-member-content-wrapper.discounts .product-discount-percentage {
			font-size: 1rem;
		}

.my-account-member-content-wrapper.discounts .product-actions {
			margin-top: 0.5rem;
		}

.my-account-member-content-wrapper.discounts .is-style-cta-small .wp-block-button__link {
			font-size: 1rem;
		}

.my-account-member-content-wrapper.discounts .is-style-cta-small .wp-block-button__link:hover {
				padding-right: 0;
			}

.post-type-name {
	font-size: 14px;
	font-size: var(--font-size-xxs);
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.type-post .post-type-name {
		color: var(--color-green);
	}

.type-se-event .post-type-name {
		color: var(--color-blue);
	}

/* --- My Account post pagination --- */

.my-account-pagination {
	align-content: center;
	border-top: 1px solid var(--color-gray-light);
	color: var(--color-green);
	color: var(--text-on-white);
	display: flex;
	flex-wrap: wrap;
	font-size: max(1.125rem, min(2.25vw, 1.5rem));
	font-size: var(--font-size-m);
	font-weight: 900;
	justify-content: center;
	gap: 0.5rem;
	line-height: 1;
	padding: 1.5rem;
	width: 100%;
}

.my-account-pagination > * {
		display: grid;
		align-content: center;
		justify-content: center;
		place-content: center;
		height: 40px;
		-webkit-text-decoration: none;
		text-decoration: none;
		min-width: 40px;
	}

.my-account-pagination .current {
		border: 3px solid var(--color-green);
		border: 3px solid var(--section-color);
		border-radius: 100px;
	}

/* --- My orders table --- */

.woocommerce table {
	background-color: var(--color-white);
}

.woocommerce table.my_account_orders thead td, .woocommerce table.my_account_orders thead th, .woocommerce table.my_account_orders tbody td, .woocommerce table.my_account_orders tbody th, .woocommerce table.my_account_orders tfoot td, .woocommerce table.my_account_orders tfoot th, .woocommerce table.order_details thead td, .woocommerce table.order_details thead th, .woocommerce table.order_details tbody td, .woocommerce table.order_details tbody th, .woocommerce table.order_details tfoot td, .woocommerce table.order_details tfoot th, .woocommerce table.subscription_details thead td, .woocommerce table.subscription_details thead th, .woocommerce table.subscription_details tbody td, .woocommerce table.subscription_details tbody th, .woocommerce table.subscription_details tfoot td, .woocommerce table.subscription_details tfoot th, .woocommerce table.my_account_memberships thead td, .woocommerce table.my_account_memberships thead th, .woocommerce table.my_account_memberships tbody td, .woocommerce table.my_account_memberships tbody th, .woocommerce table.my_account_memberships tfoot td, .woocommerce table.my_account_memberships tfoot th {
				padding: 1.5rem 1rem;
			}

@media (min-width: 48.8126em) {

.woocommerce table.my_account_orders thead td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_orders thead th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_orders tbody td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_orders tbody th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_orders tfoot td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_orders tfoot th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details thead td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details thead th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details tbody td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details tbody th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details tfoot td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.order_details tfoot th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details thead td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details thead th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details tbody td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details tbody th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details tfoot td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.subscription_details tfoot th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships thead td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships thead th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships tbody td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships tbody th:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships tfoot td:first-child {
						padding-left: 2.5rem;
				}

.woocommerce table.my_account_memberships tfoot th:first-child {
						padding-left: 2.5rem;
				}
					}

@media (min-width: 48.8126em) {

.woocommerce table.my_account_orders thead td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_orders thead th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_orders tbody td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_orders tbody th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_orders tfoot td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_orders tfoot th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details thead td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details thead th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details tbody td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details tbody th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details tfoot td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.order_details tfoot th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details thead td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details thead th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details tbody td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details tbody th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details tfoot td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.subscription_details tfoot th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships thead td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships thead th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships tbody td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships tbody th:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships tfoot td:last-child {
						padding-right: 2.5rem;
				}

.woocommerce table.my_account_memberships tfoot th:last-child {
						padding-right: 2.5rem;
				}
					}

.woocommerce table.my_account_orders thead tr, .woocommerce table.order_details thead tr, .woocommerce table.subscription_details thead tr, .woocommerce table.my_account_memberships thead tr {
			background-color: hsla(210, 2%, 95%, 1);
			background-color: var(--color-grid-gray);
		}

.woocommerce table.my_account_orders thead tr th, .woocommerce table.order_details thead tr th, .woocommerce table.subscription_details thead tr th, .woocommerce table.my_account_memberships thead tr th {
				font-size: 14px;
				font-size: var(--font-size-xxs);
				letter-spacing: 0.05em;
				text-transform: uppercase;
				padding-top: 2rem;
				padding-bottom: 2rem;
			}

.woocommerce table.my_account_memberships {
		position: relative;
	}

.woocommerce table.my_account_memberships::before {
			content: "";
			background-color: var(--color-green);
			background-color: var(--section-color);
			height: 4px;
			position: absolute;
			top: -1px;
			left: -1px;
			width: calc(100% + 2px);
		}

/* --- Group table --- */

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table {
	width: 100%;
}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tbody {
		display: grid;
		grid-gap: 1rem;
		gap: 1rem;
	}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr {
		border-top: 1px solid var(--color-gray-light);
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 1rem;
		margin-top: calc(1.25rem  / 2);
		margin-top: var(--spacing-050);
		padding-top: 1.25rem ;
		padding-top: var(--spacing);
	}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr:last-child {
			border-bottom: 1px solid var(--color-gray-light);
			padding-bottom: 1.25rem ;
			padding-bottom: var(--spacing);
		}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr td {
			padding-bottom: 0;
		}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr .woocommerce-grouped-product-list-item__quantity {
			display: contents;
		}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr .woocommerce-grouped-product-list-item__quantity .button {
				background-color: transparent;
				color: var(--color-gray);
				flex: 100%;
				font-size: 1rem;
				font-size: var(--font-size-xs);
				margin: 0;
				order: 1;
				padding: 0;
				width: 100%;
				max-width: 100%;
			}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr .woocommerce-grouped-product-list-item__quantity .button::after {
					background-color: currentcolor;
				}

.woocommerce #page div.product form.cart .woocommerce-grouped-product-list.group_table tr .woocommerce-grouped-product-list-item__label {
			padding: 0;
		}

/* --- Yearly reports --- */

.year-to-report {
	margin-bottom: 1.5rem;
}

/* --- Credit card payments --- */

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
	background: transparent;
	border: 1px solid var(--color-gray-light);
}

/* --- login --- */

.woocommerce-form-login__rememberme {
	margin-bottom: 1.5rem;
}

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

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	position: static;
	position: initial;
}

.single-product .product_title {
		font-size: max(2.5rem, min(5vw, 3rem));
		font-size: var(--font-size-xxl);
		font-weight: 400;
		margin-bottom: 0;
	}

.single-product div.product p.price {
		color: var(--color-green);
		color: var(--text-on-white);
		font-weight: 900;
	}

.single-product div.product form.cart .variations {
			text-align: left;
		}

.single-product div.product form.cart div.quantity {
			margin-right: 1.25rem ;
			margin-right: var(--spacing);
		}

.single-product div.product .variations_form.cart {
		align-items: flex-start;
		flex-direction: column;
	}

.single-product .woocommerce-variation-add-to-cart {
		align-items: center;
		display: flex;
	}

.single-product button.button.alt,
	.single-product button.button.alt:hover {
		background-color: var(--color-green);
		background-color: var(--section-color);
		border-radius: 100px;
		font-weight: 400;
		padding: 1rem 1.5rem;
	}

.single-product button.button.alt:hover {
		-webkit-text-decoration: underline;
		text-decoration: underline;
	}

.single-product .wc-memberships-member-discount-message {
		background-color: hsla(210, 2%, 95%, 1);
		background-color: var(--color-grid-gray);
	}

.single-product .flex-viewport {
		border: 1px solid var(--color-gray-light);
	}

.single-product div.product div.images .flex-control-thumbs {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 1rem;
		gap: 1rem;
	}

.single-product div.product div.images .flex-control-thumbs li {
			aspect-ratio: 1/1;
			border: 1px solid var(--color-gray-light);
			display: grid;
			align-content: center;
			justify-content: center;
			place-content: center;
			width: 100%;
			max-width: 100px;
		}

.woocommerce .woocommerce-order-details h2:last-child {
	margin-bottom: revert;
}

.woocommerce #content table.cart td.actions .coupon,
.woocommerce table.cart td.actions .coupon,
.woocommerce-page #content table.cart td.actions .coupon,
.woocommerce-page table.cart td.actions .coupon {
	align-items: center;
	display: flex;
	gap: 1rem;
}

.woocommerce #content table.cart td.actions .coupon button, .woocommerce table.cart td.actions .coupon button, .woocommerce-page #content table.cart td.actions .coupon button, .woocommerce-page table.cart td.actions .coupon button {
		margin: 0;
	}

.woocommerce #content table.cart td.actions .coupon .input-text, .woocommerce table.cart td.actions .coupon .input-text, .woocommerce-page #content table.cart td.actions .coupon .input-text, .woocommerce-page table.cart td.actions .coupon .input-text {
		width: 100%;
		max-width: 12ch;
	}

body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button {
	background-color: var(--color-green);
	background-color: var(--section-color);
	font-weight: 400;
	margin: 0;
}

/* --- Button overrides --- */

body[class*="woocommerce"] #page .site-content a.button::after,
body[class*="woocommerce"] #page .site-content a.button::before {
	display: none;
}

body[class*="woocommerce"] #page .site-content a.button,
body[class*="woocommerce"] #page .site-content .woocommerce button.button,
body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button,
.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order,
.woocommerce div.product form.cart .button {
	align-items: center;
	background-color: var(--color-green);
	background-color: var(--section-color);
	border-radius: 100px; /* pill shape */
	color: var(--color-white);
	color: var(--text-on-section-color);
	display: inline-flex;
	font-size: inherit;
	font-weight: 400;
	line-height: 1;
	margin-top: 0;
	padding: 1rem 1.5rem;
	transition: all 0.25s ease;
	transition: all var(--speed) ease;
	max-width: max-content;
}

body[class*="woocommerce"] #page .site-content a.button svg, body[class*="woocommerce"] #page .site-content .woocommerce button.button svg, body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button svg, .woocommerce #payment #place_order svg, .woocommerce-page #payment #place_order svg, .woocommerce div.product form.cart .button svg {
		display: none;
	}

body[class*="woocommerce"] #page .site-content a.button::after, body[class*="woocommerce"] #page .site-content .woocommerce button.button::after, body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button::after, .woocommerce #payment #place_order::after, .woocommerce-page #payment #place_order::after, .woocommerce div.product form.cart .button::after {
		-webkit-mask-image: url(./images/icon-arrow.svg);
		        mask-image: url(./images/icon-arrow.svg);
		-webkit-mask-repeat: no-repeat;
		        mask-repeat: no-repeat;
		-webkit-mask-size: contain;
		        mask-size: contain;
		content: "";
		display: block;
		height: 1em;
		margin-left: 0.5em;
		width: 1em;
		transition: all 0.25s ease;
		transition: all var(--speed) ease;
		background-color: var(--color-white);
		background-color: var(--text-on-section-color);
	}

body[class*="woocommerce"] #page .site-content a.button:hover, body[class*="woocommerce"] #page .site-content .woocommerce button.button:hover, body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button:hover, .woocommerce #payment #place_order:hover, .woocommerce-page #payment #place_order:hover, .woocommerce div.product form.cart .button:hover {
		color: var(--color-white);
		color: var(--text-on-section-color);
		padding-right: calc(1.5rem - 4px);
	}

body[class*="woocommerce"] #page .site-content a.button:hover::after, body[class*="woocommerce"] #page .site-content .woocommerce button.button:hover::after, body[class*="woocommerce"] #page .site-content .woocommerce .actions button.button:hover::after, .woocommerce #payment #place_order:hover::after, .woocommerce-page #payment #place_order:hover::after, .woocommerce div.product form.cart .button:hover::after {
			background-color: var(--color-white);
			background-color: var(--text-on-section-color);
			margin-left: calc(0.5em + 4px);
		}

.woocommerce .site-content button.button {
	margin-top: 2rem;
	margin-top: var(--gutter);
	white-space: nowrap;
}

.woocommerce td.product-name dl.variation p {
	margin-top: 0;
	margin-bottom: 0.5em;
}

#add_payment_method #payment ul.payment_methods li,
.woocommerce-cart #payment ul.payment_methods li {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 1rem;
}

.woocommerce-info {
	padding: 1rem;
}

/* Login */

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background-color: var(--color-white);
	max-width: 43rem;
	max-width: var(--max-content);
}

.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
	top: 0;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: block;
}

/* Alert bar */

.woocommerce-error,
.cart-empty {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

/* --- Cart button --- */

.cart-link-wrapper a {
		align-items: center;
		background-color: var(--color-green);
		background-color: var(--section-color);
		border-radius: 100px;
		color: var(--color-white);
		color: var(--text-on-section-color);
		display: flex;
		gap: 1rem;
		margin: 0 10px 0 auto;
		padding: 1rem 1.5rem 1rem 1.75rem;
		-webkit-text-decoration: none;
		text-decoration: none;
		max-width: max-content;
	}

.cart-link-wrapper a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

.cart-link-wrapper + .bfi-breadcrumb {
		margin-top: 0.5rem;
	}

.woocommerce div.product form.cart {
	align-items: center;
	display: flex;
	gap: 1.25rem ;
	gap: var(--spacing);
	margin-bottom: 2em;
	flex-wrap: wrap;
}

/* --- Store navigation --- */

.store-navigation {
	margin: 0 auto;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.store-navigation ul {
		display: flex;
		flex-wrap: wrap;
		gap: 1em;
		padding: 0;
	}

.store-navigation a {
		color: var(--color-green);
		color: var(--section-color);
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.store-navigation a:hover {
			-webkit-text-decoration: underline;
			text-decoration: underline;
			text-underline-offset: 2px;
			text-decoration-thickness: 1px;
		}

/* --- My Account My Courses --- */

.woocommerce-MyAccount-content #user-course-status-toggle {
		border-bottom: 4px solid var(--color-gray-light);
		display: flex;
	}

.woocommerce-MyAccount-content #user-course-status-toggle a {
		background-color: transparent;
		border: none;
		border-bottom: 4px solid transparent;
		color: var(--color-gray);
		font-weight: 900;
		margin-bottom: -3px;
		padding: 0.75rem 1rem;
	}

.woocommerce-MyAccount-content #user-course-status-toggle a.active,
		.woocommerce-MyAccount-content #user-course-status-toggle a:hover {
			border-bottom-color: var(--color-green);
			border-bottom-color: var(--section-color);
			color: var(--color-black);
		}

.woocommerce-MyAccount-content .sensei-progress-bar__label {
		font-size: 1rem;
		margin-top: 0.25rem;
	}

.woocommerce-MyAccount-content .sensei-progress-bar__bar {
		background-color: hsla(210, 2%, 95%, 1);
		background-color: var(--color-grid-gray);
		height: 4px;
		margin-top: 1rem;
	}

.woocommerce-MyAccount-content .sensei-progress-bar__progress {
		background-color: var(--color-blue);
		height: 100%;
	}

/* --- On sale badge --- */

.woocommerce span.onsale {
	background-color: var(--color-yellow);
	border-radius: 0;
	color: var(--color-black);
	padding: 0.25em 1em;
}

/* --- Woo hand-picked product block --- */

.wp-block-handpicked-products .wc-block-grid__products {
		margin: 0;
		padding: 0;
	}

.wp-block-handpicked-products .wc-block-grid__product {
		border: none;
		border-bottom: 1px solid var(--color-gray-light);
		margin: 0 0 calc(1.25rem  * 2);
		margin: 0 0 var(--spacing-2);
		padding-bottom: calc(1.25rem  * 2);
		padding-bottom: var(--spacing-2);
	}

.wp-block-handpicked-products .wc-block-grid__product img {
			width: 100%;
		}

.wp-block-handpicked-products .wc-block-grid__product a {
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.wp-block-handpicked-products .wc-block-grid__product-title {
		font-size: max(1.25rem, min(3vw, 2rem));
		font-size: var(--font-size-l);
		font-weight: 900;
		margin: 0;
	}

.wp-block-handpicked-products .wc-block-grid__product-price {
		font-size: max(1rem, min(2vw, 1.375rem));
		font-size: var(--font-size-s);
		margin: 1.25rem  0;
		margin: var(--spacing) 0;
	}

.wp-block-handpicked-products .wc-block-grid__product-add-to-cart {
		margin: 0 auto;
	}

.wp-block-handpicked-products .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
			padding: 1rem 1.5rem;
		}

.wp-block-handpicked-products .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:hover {
				padding-right: calc(1.5rem - 4px);
			}

.wp-block-handpicked-products.is-style-reduce-image-size .wc-block-grid__product img {
				margin-left: auto;
				margin-right: auto;
				width: 50%;
				max-width: 200px;
			}

/*--------------------------------------------------------------
	# Sensei views
--------------------------------------------------------------*/

.sensei {
	--button--color-text: var(--color-white);
	--button--color-background: var(--section-color);
	--button--padding-vertical: 1rem;
	--button--padding-horizontal: 1.5rem;
}

.sensei .wp-block-sensei-lms-course-outline-module-bordered {
		border-color: var(--color-green) !important;
		border-color: var(--section-color) !important;
	}

.sensei .entry-content section.sensei-breadcrumb {
			padding: calc(1.25rem  / 2) 0;
			padding: var(--spacing-050) 0;
		}

/* --- Post nav --- */

.sensei nav#post-entries {
		border-top: 4px solid var(--color-gray-light);
		margin: calc(1.25rem  * 2) auto;
		margin: var(--spacing-2) auto;
		padding-top: 1.25rem ;
		padding-top: var(--spacing);
	}

.wp-block-sensei-lms-learner-courses {
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
}

#learner-info #learner-info {
	align-items: center;
	display: flex;
	margin: 1.25rem  0;
	margin: var(--spacing) 0;
}

#learner-info #learner-info h2 {
		font-size: max(1.125rem, min(2.25vw, 1.5rem));
		font-size: var(--font-size-m);
		margin: 0;
	}

ul.course-container {
	padding: 0;
}

ul.course-container .course-content .entry {
		display: grid;
		gap: calc(1.25rem  / 2) 2rem;
		grid-gap: calc(1.25rem  / 2) 2rem;
		grid-gap: var(--spacing-050) var(--gutter);
		gap: var(--spacing-050) var(--gutter);
		grid-template-columns: 3fr 1fr;
	}

@media (max-width: 37.5em) {

ul.course-container .course-content .entry {
			grid-template-columns: 1fr;
	}
		}

@media (min-width: 37.51em) {

ul.course-container .course-title {
			grid-row: 1;
			grid-column: 1;
	}
		}

@media (min-width: 37.51em) {

ul.course-container .course-author {
			grid-row: 2;
			grid-column: 1;
	}
		}

@media (min-width: 37.51em) {

ul.course-container .sensei-course-meta {
			grid-column: 1;
			grid-row: 3;
	}
		}

ul.course-container .course-excerpt {
		margin-top: 0 !important;
	}

ul.course-container .course-excerpt {
		grid-column: 1;
	}

@media (min-width: 37.51em) {

ul.course-container .course-content .entry > a {
			grid-column: 2;
			grid-row: 1 / span 3;
	}
		}

ul.course-container .course-content .entry > a img {
			width: 100%;
		}

ul.course-container .course,
	ul.course-container .course-container,
	ul.course-container .course-container .course {
		border: none;
	}

ul.course-container .course + .course, ul.course-container .course-container + .course, ul.course-container .course-container .course + .course {
			border-top: 4px solid var(--color-green);
			border-top: 4px solid var(--section-color);
			padding-top: calc(1.25rem  * 2);
			padding-top: var(--spacing-2);
		}

/* --- Lesson archive --- */

.post-type-archive-lesson .site-content {
		margin: 0 auto;
		max-width: 73rem;
		max-width: var(--max-wide-width);
	}

.post-type-archive-lesson .lesson-title > h2 {
		color: var(--color-black);
		font-size: max(1.25rem, min(3vw, 2rem));
		font-size: var(--font-size-l);
	}

.post-type-archive-lesson .lesson-title > h2 a {
			color: inherit;
		}

.post-type-archive-lesson .lesson-title > h2 a:hover {
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.post-type-archive-lesson .lesson .lesson-meta {
			display: flex;
			flex-wrap: wrap;
			margin: 1em 0;
		}

.post-type-archive-lesson .lesson .lesson-meta > * + * {
				border-left: 1px solid var(--color-gray-light);
				margin-left: 1.25rem ;
				margin-left: var(--spacing);
				padding-left: 1.25rem ;
				padding-left: var(--spacing);
			}

.post-type-archive-lesson .lesson + .lesson {
			border-top: 4px solid hsla(210, 2%, 95%, 1);
			border-top: 4px solid var(--color-grid-gray);
			margin-top: 2rem;
			margin-top: var(--gutter);
			padding-top: 2rem;
			padding-top: var(--gutter);
		}

.product_cat-courses {
	display: flex;
	gap: 2rem;
	gap: var(--gutter);
	flex-wrap: wrap;
}

/* --- Quiz --- */

.sensei-quiz-list {
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
}

/* --- Generic button styles --- */

.sensei-course-theme .wp-block-button {
	font-size: inherit !important;
}

.sensei-course-theme .wp-block-button.wp-block-button:not(.is-style-outline):not(.is-style-link):not(:hover) {
	background-color: inherit !important;
	color: inherit !important;
}

.sensei-course-theme .wp-block-buttons .wp-block-button .wp-block-button__link {
	font-weight: inherit !important;
	display: inline-flex !important;
	border: inherit !important;
	padding: inherit !important;
}

/* --- Large CTA button styles --- */

.sensei-course-theme .wp-block-button.wp-block-button.is-style-cta-large:not(.is-style-outline):not(.is-style-link):not(:hover) {
	background-color: transparent !important;
	color: var(--sensei-primary-color) !important;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-large .wp-block-button__link {
	padding-left: calc(40px + 0.5rem) !important;
	padding-right: 1em !important;
	border: 2px solid transparent !important;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-large .wp-block-button__link {
	font-size: max(1rem, min(2vw, 1.375rem));
	font-size: var(--font-size-s);
	font-weight: 400;
	border-radius: 50px;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-large .wp-block-button__link:hover {
	background-color: var(--color-green) !important;
	background-color: var(--section-color) !important;
	color: var(--color-white) !important;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-large .wp-block-button__link:hover {
	border-color: var(--color-green);
	border-color: var(--section-color);
}

/* --- Fill button styles --- */

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-fill .wp-block-button__link {
	padding: 1rem 1.5rem !important;
	background-color: var(--color-green) !important;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-fill .wp-block-button__link {
	border-radius: 100px;
	border: none;
}

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-fill .wp-block-button__link:hover {
	color: var(--color-white) !important;
	padding-right: calc(1.5rem - 4px) !important;
}

.sensei-course-theme .wp-block-button.wp-block-button.is-style-fill:not(.is-style-outline):not(.is-style-link):not(:hover) {
	background-color: transparent !important;
	color: var(--color-white) !important;
}

/* --- Small CTA button styles --- */

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-small .wp-block-button__link {
	-webkit-text-decoration: underline !important;
	text-decoration: underline !important;
	color: var(--color-green) !important;
}

/* --- Small CTA back button styles --- */

.sensei-course-theme .wp-block-buttons .wp-block-button.is-style-cta-small-back .wp-block-button__link {
	-webkit-text-decoration: underline !important;
	text-decoration: underline !important;
	color: var(--color-green) !important;
}

/* --- Course filters --- */

ul.sensei-course-filters {
	border-bottom: 2px solid var(--color-green);
	border-bottom: 2px solid var(--section-color);
}

ul.sensei-course-filters li {
		margin-bottom: -2px !important;
	}

ul.sensei-course-filters li a {
			background-color: transparent;
			border-color: var(--color-green);
			border-color: var(--section-color);
			color: var(--color-green);
			color: var(--text-on-white);
			-webkit-text-decoration: none;
			text-decoration: none;
		}

ul.sensei-course-filters li a:hover {
				background-color: var(--color-green);
				background-color: var(--section-color);
				border-color: var(--color-green);
				border-color: var(--section-color);
				color: var(--color-white);
				color: var(--text-on-section-color);
			}

ul.sensei-course-filters li a.active {
				background-color: var(--color-green);
				background-color: var(--section-color);
				border-color: var(--color-green);
				border-color: var(--section-color);
				color: var(--color-white);
				color: var(--text-on-section-color);
			}

/*--------------------------------------------------------------
	# Comments // potentially used on lessons
--------------------------------------------------------------*/

#comments ul,
	#comments ol {
		list-style: none;
	}

#comments ul ol,
		#comments ol ol,
		#comments ul ul,
		#comments ol ul {
			padding-left: 1.25rem ;
			padding-left: var(--spacing);
		}

#comments li {
		padding: 1.25rem  0;
		padding: var(--spacing) 0;
	}

#comments li + li {
		border-top: 4px solid var(--color-gray-light);
	}

#comments .children li {
		border-top: 2px solid hsla(210, 2%, 95%, 1);
		border-top: 2px solid var(--color-grid-gray);
	}

#comments a.comment-reply-link {
		align-items: center;
		background-color: transparent;
		color: var(--color-green);
		color: var(--section-color);
		border-radius: 100px; /* pill shape */
		display: inline-flex;
		font-size: 1rem;
		font-size: var(--font-size-xs);
		font-weight: 400;
		line-height: 1;
		padding: 0;
		text-transform: none;
		transition: padding 0.25s ease;
		transition: padding var(--speed) ease;
	}

#comments a.comment-reply-link::after {
			background-color: var(--color-green);
			background-color: var(--section-color);
			-webkit-mask-image: url(./images/icon-arrow.svg);
			        mask-image: url(./images/icon-arrow.svg);
			-webkit-mask-repeat: no-repeat;
			        mask-repeat: no-repeat;
			-webkit-mask-size: contain;
			        mask-size: contain;
			content: "";
			display: block;
			height: 1em;
			margin-left: 0.5em;
			transition: margin 0.25s ease;
			transition: margin var(--speed) ease;
			width: 1em;
		}

#comments a.comment-reply-link:hover {
			padding-right: calc(1.5rem - 4px);
		}

#comments a.comment-reply-link:hover::after {
				margin-left: calc(0.5em + 4px);
			}

.comment-meta {
	display: flex;
	flex-direction: column;
	gap: calc(1.25rem  / 2);
	gap: var(--spacing-050);
}

.comment-author {
	display: flex;
	gap: calc(1.25rem  / 2);
	gap: var(--spacing-050);
	flex-wrap: wrap;
}

.comment-metadata {
	font-size: 1rem;
	font-size: var(--font-size-xs);
}

.comment-respond {
	background: hsla(210, 2%, 95%, 1);
	background: var(--color-grid-gray);
	padding: 1px 2rem;
	padding: 1px var(--gutter);
}

.comment-respond .comment-form-comment {
		display: flex;
		flex-direction: column;
	}

/*--------------------------------------------------------------
  # Accessibility
--------------------------------------------------------------*/

/* --- Text meant only for screen readers. --- */

.screen-reader-text {
	position: absolute !important;
	word-wrap: normal !important;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	width: 1px;
}

.screen-reader-text:focus {
	clip: auto !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	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;
	padding: 0 !important;
	border: 0 !important;
	height: 1px !important;
	width: 1px !important;
}

.hide-visually {
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
}

/* --- Skip Link --- */

.screen-reader-text.skip-link {
	clip: auto;
	left: 0;
	margin: 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, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, 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;
}

/*--------------------------------------------------------------
  # Template width
--------------------------------------------------------------*/

.responsive-max-width {
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-left: var(--gutter);
	padding-right: 2rem;
	padding-right: var(--gutter);
	max-width: 92rem;
	max-width: var(--max-width);
}

/*--------------------------------------------------------------
  # Alignments
--------------------------------------------------------------*/

.alignwide {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.alignfull {
	margin-left: auto;
	margin-right: auto;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
	max-width: 92rem;
	max-width: var(--max-width);
}

/*--------------------------------------------------------------
  # Widths
--------------------------------------------------------------*/

.max-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 92rem;
	max-width: var(--max-width);
}

.max-wide-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 73rem;
	max-width: var(--max-wide-width);
}

.max-less-wide-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 58rem;
	max-width: var(--max-less-wide-width);
}

.max-content {
	margin-left: auto;
	margin-right: auto;
	max-width: 43rem;
	max-width: var(--max-content);
}

/*--------------------------------------------------------------
  # Font sizes
--------------------------------------------------------------*/

.has-xxs-font-size {
	font-size: 14px !important;
	font-size: var(--font-size-xxs) !important;
}

.has-xs-font-size {
	font-size: 1rem !important;
	font-size: var(--font-size-xs) !important;
}

.has-s-font-size {
	font-size: max(1rem, min(2vw, 1.375rem)) !important;
	font-size: var(--font-size-s) !important;
}

.has-default-font-size {
	font-size: 1.125rem !important;
	font-size: var(--font-size-default) !important;
}

.has-m-font-size {
	font-size: max(1.125rem, min(2.25vw, 1.5rem)) !important;
	font-size: var(--font-size-m) !important;
}

.has-l-font-size {
	font-size: max(1.25rem, min(3vw, 2rem)) !important;
	font-size: var(--font-size-l) !important;
}

.has-xl-font-size {
	font-size: max(1.5rem, min(3.75vw, 2.5rem)) !important;
	font-size: var(--font-size-xl) !important;
}

.has-xl-font-size {
	line-height: 1.2;
}

.has-xxl-font-size {
	font-size: max(2.5rem, min(5vw, 3rem)) !important;
	font-size: var(--font-size-xxl) !important;
}

.has-xxl-font-size {
	line-height: 1.2;
}

.has-xxxl-font-size {
	font-size: max(2.75rem, min(5.6vw, 4rem)) !important;
	font-size: var(--font-size-xxxl) !important;
}

.has-xxxl-font-size {
	line-height: 1.1;
}

.has-huge-font-size {
	font-size: max(3rem, min(7vw, 5.75rem)) !important;
	font-size: var(--font-size-huge) !important;
}

.has-huge-font-size {
	line-height: 1.1;
}

/* --- Lock scrolling --- */

.lock-scrolling {
	overflow: hidden;
}

/*--------------------------------------------------------------
  # Top margins
--------------------------------------------------------------*/

.has-zero-margin-top {
	margin-top: 0;
	margin-bottom: 0;
}

.has-small-margin-top {
	margin-top: calc(1.25rem  * 2);
	margin-top: var(--spacing-2);
	margin-bottom: 0;
}

.has-medium-margin-top {
	margin-top: calc(1.25rem  * 4);
	margin-top: var(--spacing-4);
	margin-bottom: 0;
}

@media (max-width: 37.5em) {

.has-medium-margin-top {
		margin-top: calc(1.25rem  * 2.5);
		margin-top: var(--spacing-250);
}
	}

.has-large-margin-top {
	margin-top: calc(1.25rem  * 6);
	margin-top: var(--spacing-6);
	margin-bottom: 0;
}

@media (max-width: 37.5em) {

.has-large-margin-top {
		margin-top: calc(1.25rem  * 3);
		margin-top: var(--spacing-3);
}
	}

.has-larger-margin-top {
	margin-top: calc(1.25rem  * 8);
	margin-top: var(--spacing-8);
	margin-bottom: 0;
}

@media (max-width: 37.5em) {

.has-larger-margin-top {
		margin-top: calc(1.25rem  * 4);
		margin-top: var(--spacing-4);
}
	}

/*--------------------------------------------------------------
  # Colors
--------------------------------------------------------------*/

/* --- Background colors --- */

:root .has-red-background-color {
		background-color: var(--color-red);
	}

:root .has-green-background-color {
		background-color: var(--color-green);
	}

:root .has-green-light-background-color {
		background-color: hsl(83, 51%, 54%);
		background-color: var(--color-green-light);
	}

:root .has-blue-background-color {
		background-color: var(--color-blue);
	}

:root .has-blue-dark-background-color {
		background-color: var(--color-blue-dark);
	}

:root .has-light-blue-background-color {
		background-color: hsl(198, 88%, 76%);
		background-color: var(--color-blue-light);
	}

:root .has-gray-background-color {
		background-color: var(--color-gray);
	}

:root .has-purple-background-color {
		background-color: var(--color-purple);
	}

:root .has-orange-background-color {
		background-color: var(--color-orange);
	}

:root .has-black-background-color {
		background-color: var(--color-black);
	}

:root .has-white-background-color {
		background-color: var(--color-white);
	}

:root .has-yellow-background-color {
		background-color: var(--color-yellow);
	}

/* --- Text colors --- */

:root .has-red-color {
		color: var(--color-red);
	}

:root .has-green-color {
		color: var(--color-green);
	}

:root .has-green-light-color {
		color: hsl(83, 51%, 54%);
		color: var(--color-green-light);
	}

:root .has-blue-color {
		color: var(--color-blue);
	}

:root .has-blue-dark-color {
		color: var(--color-blue-dark);
	}

:root .has-light-blue-color {
		color: hsl(198, 88%, 76%);
		color: var(--color-blue-light);
	}

:root .has-gray-color {
		color: var(--color-gray);
	}

:root .has-purple-color {
		color: var(--color-purple);
	}

:root .has-orange-color {
		color: var(--color-orange);
	}

:root .has-black-color {
		color: var(--color-black);
	}

:root .has-white-color {
		color: var(--color-white);
	}

:root .has-yellow-color {
		color: var(--color-yellow);
	}

/* --- Disable button when site is processing ---- */

.is-loading {
	opacity: 0.5;
	pointer-events: none;
}
