/* Figtree, self-hosted (replaces the Google Fonts request from the markup) */
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url(../fonts/figtree-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Figtree';
	font-style: normal;
	font-weight: 300 900;
	font-display: swap;
	src: url(../fonts/figtree-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Figtree';
	font-style: italic;
	font-weight: 300 900;
	font-display: swap;
	src: url(../fonts/figtree-italic-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Figtree';
	font-style: italic;
	font-weight: 300 900;
	font-display: swap;
	src: url(../fonts/figtree-italic-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Job openings: "fully staffed" state (design only, no markup provided) */
.text-card--empty {
	padding-block: 6rem;
}
.text-card--empty h2,
.text-card--empty .h1 {
	--h1-h6-color: var(--primary-color);
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 3rem;
	line-height: 0.9;
}
.text-card--empty h2 svg {
	width: 6.2em;
	height: auto;
	margin-block: -0.35em;
	color: var(--accent-color);
	position: relative;
	z-index: 1;
}
.text-card--empty p:last-child {
	margin-bottom: 0;
}

/* Posts loaded in place by the "more" button */
.post-card-list.is-loading {
	opacity: 0.6;
}

/* Newsletter form (Gravity Forms) inside the CTA: field and button sit on one row like the markup */
.cta-form .gform_wrapper.gravity-theme .gform_footer,
.cta-form .gform_wrapper.gravity-theme .gform_page_footer {
	padding: 0 !important;
	align-items: flex-start;
}
/* the button stays level with the field when an error message appears under the field */
.cta-form .gform_wrapper.gravity-theme .gform_footer input[type=submit],
.cta-form .gform_wrapper.gravity-theme .gform_footer button[type=submit] {
	align-self: flex-start;
}

/* Gravity Forms: match the form elements of the markup (.form-el, labels, buttons) */
.wrapper .gform_wrapper.gravity-theme .gform_fields {
	grid-column-gap: 1.2rem !important;
}
.wrapper .gform_wrapper.gravity-theme .gfield_label {
	display: block;
	margin-bottom: 1rem;
	font-size: var(--label-fz);
	line-height: var(--label-lh);
	font-weight: 600;
	color: var(--label-color);
}
.wrapper .gform_wrapper.gravity-theme .gfield_required {
	color: inherit;
	font-size: inherit;
	padding-inline-start: 0;
}
.wrapper .gform_wrapper.gravity-theme .gfield textarea.small,
.wrapper .gform_wrapper.gravity-theme .gfield textarea.medium {
	height: 20rem !important;
}
.wrapper .gform_wrapper.gravity-theme button[type=submit],
.wrapper .gform_wrapper.gravity-theme input[type=submit] {
	line-height: 1 !important;
}
.form-block .gform_wrapper.gravity-theme .gform_footer,
.form-block .gform_wrapper.gravity-theme .gform_page_footer {
	justify-content: center;
	padding-top: 5.5rem !important;
}
.wrapper .gform_wrapper.gravity-theme .gform_confirmation_message {
	text-align: center;
}

/* Footer: the contacts column and the social icons row overlap in the markup's CSS, which made the first icon unclickable.
   The icons sit on top, and the empty part of their row lets clicks through to the contacts underneath. */
.footer-socials {
	position: relative;
	z-index: 3;
	pointer-events: none;
}
.footer-socials a {
	pointer-events: auto;
}

/* Hover states matched to the current live site (the markup only changes the text colour) */
@media (min-width: 1200px) {
	/* Main navigation and Order link: colour stays, an underline grows in from the centre */
    /*
	.header .menu > li,
	.header .header-link {
		position: relative;
	}
	.header .menu > li > a:hover {
		color: inherit;
	}
	.header .menu > li::after,
	.header .header-link::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: -0.6rem;
		width: 0;
		height: 2px;
		background: transparent;
		transform: translateX(-50%);
		transition: width 0.5s, background-color 0.5s;
		pointer-events: none;
	}
	.header .menu > li:hover::after,
	.header .header-link:hover::after,
	.header .header-link:focus-visible::after {
		width: 80%;
		background: var(--primary-color);
	}
    */
}

/* Footer links: underline instead of a colour change (also shown in the design on "Careers") */
.footer-menu a:hover,
.footer-menu a:focus-visible,
.footer-bottom-links a:hover,
.footer-bottom-links a:focus-visible {
	color: var(--primary-color);
	text-decoration: underline 1.5px;
	text-decoration-skip-ink: none;
	text-underline-offset: 4px;
}

/* Merch tiles: same gentle zoom as the live site */
@media (min-width: 992px) {
	.shop-item {
		transition: transform 0.35s;
	}
	.shop-item:hover {
		transform: scale(1.02);
	}
}

/* Gravity Forms: error states */
.wrapper .gform_wrapper.gravity-theme .gform_validation_errors {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0 !important;
	margin: 0 0 2rem !important;
	text-align: left;
}
.wrapper .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	display: flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--base-font);
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}
.wrapper .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon {
	position: static;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin: 0;
	font-size: 1.4rem;
	color: var(--color-white);
	background: var(--error-color);
	border: 0;
	border-radius: 50%;
}
.wrapper .gform_wrapper.gravity-theme .gfield_validation_message,
.wrapper .gform_wrapper.gravity-theme .validation_message {
	padding-top: 0.6rem !important;
	padding-left: var(--input-x) !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	font-weight: 600;
	text-align: left;
}
.wrapper .gform_wrapper.gravity-theme .gfield_error .gfield_label {
	color: var(--label-color);
}
.wrapper .gform_wrapper.gravity-theme .gfield_error [aria-invalid=true] {
	border-color: var(--error-color) !important;
	box-shadow: 0 0 0 3px rgba(var(--color-red-800--rgb), 0.25);
}
.cta-form .gform_wrapper.gravity-theme .gform_validation_errors {
	margin-bottom: 1.4rem !important;
}
/* plain "!" so the error icon never depends on Gravity Forms' icon font */
.wrapper .gform_wrapper.gravity-theme .gform_validation_errors > h2 .gform-icon::before {
	content: "!";
	font-family: var(--base-font);
	font-weight: 800;
	line-height: 1;
}
/* on phones the newsletter button is full width under the field, like the markup */
@media (max-width: 567px) {
	.cta-form .gform_wrapper.gravity-theme .gform_footer input[type=submit],
	.cta-form .gform_wrapper.gravity-theme .gform_footer button[type=submit] {
		width: 100%;
	}
}
/*Fixes*/
.wp-block-image{
    margin-bottom: var(--vertical-rhythm);
}
.article h3.wp-block-heading, .article .h3.wp-block-heading {
    margin-block: 0.5em;
}
.offset-header + .offset-header{
    padding-top: 0;
}