/*!
Theme Name: We Stand
Theme URI: https://westand.ca/
Author: Sean Pearce
Author URI: https://westand.ca/
Description: Custom theme for westand.ca
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: westand

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

We Stand is based on Underscores https://underscores.me/, (C) 2012-2020
Automattic, Inc. Underscores is distributed under the terms of the GNU GPL v2 or
later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/


TABLE OF CONTENTS: -------------------------------------------------------------

# Normalization
# Base
  ## Variables
  ## Typography
  ## Elements
  ## Links
  ## Forms
# Layouts
# Components
  ## Navigation
  ## Footer
  ## Posts and pages
  ## Comments
  ## Widgets
  ## Media
  ## Captions
  ## Galleries
# Home page
  # Banner section
  # Statement section
  # About section
  # Image section
  # Our Future section
  # Get Involved section
# Plugins
  ## Jetpack infinite scroll
# Utilities
  ## Accessibility
  ## Alignments


/* -----------------------------------------------------------------------------
 # Normalization ------------------------------------------------------------ */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css     */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
 html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}


/* -----------------------------------------------------------------------------
 # Base --------------------------------------------------------------------- */

/* ## Variables ------------------------------------------------------------- */

:root {
	--colour-text: #000;
	--colour-primary: #ec008c;
	--colour-primary-darker: hsl(324, 100%, 36%);
	--colour-primary-dim: hsl(324, 100%, 60%);
	--colour-primary-highlight: hsl(324, 80%, 65%);
	--colour-primary-shadow: hsla(324, 100%, 46%, 0.2);
	--colour-secondary: #000;
	--colour-outer-bg: #fff;
	--colour-lt-grey: #f2f2f2;
	--colour-header-stripe: var(--colour-secondary);
	--colour-footer-bg-upper: #000;
	--colour-footer-bg-lower: #333;
}

/* ## Typography ------------------------------------------------------------ */

@font-face{
	font-family: "SignPainter-HouseScript Semibold";
	src: url("./fonts/9b6ea01638fd252fe935acad72ebb914.eot");
	src: url("./fonts/9b6ea01638fd252fe935acad72ebb914.eot?#iefix") format("embedded-opentype"),
		url("./fonts/9b6ea01638fd252fe935acad72ebb914.woff") format("woff"),
		url("./fonts/9b6ea01638fd252fe935acad72ebb914.woff2") format("woff2"),
		url("./fonts/9b6ea01638fd252fe935acad72ebb914.ttf") format("truetype"),
		url("./fonts/9b6ea01638fd252fe935acad72ebb914.svg#SignPainter-HouseScript Semibold") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

body,
button,
input,
select,
optgroup,
textarea {
	color: #333;
	font-family: "Roboto", sans-serif;
	font-optical-sizing: auto;
	font-size: 1rem;
	font-style: normal;
	font-weight: normal;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.centered {
	text-align: center;
}

.nowrap {
	white-space: nowrap;
}

/* ## Elements -------------------------------------------------------------- */

body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 0;
	padding-inline-start: 1em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* ## Links ----------------------------------------------------------------- */

a {
	color: var(--colour-primary);
	transition: color 0.1s;
	outline: none;
	text-decoration: underline;
}

.site-content a {
	text-decoration: underline;
	transition: color 0.1s;
}

.site-content a:hover {
	color: var(--colour-primary-dim);
	text-decoration: none;
}

.site-content a:focus,
.site-content a:focus-visible {
	text-decoration: none;
	outline: 2px solid var(--colour-primary);
}

.site-content a:focus:not(:focus-visible) {
	outline: none !important;
}

a.external-link {
	padding-right: 1.25em;
}

a.external-link::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: 0.25em;
	background-size: 100%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath fill='%23a40a4b' d='M384 64C366.3 64 352 78.3 352 96C352 113.7 366.3 128 384 128L466.7 128L265.3 329.4C252.8 341.9 252.8 362.2 265.3 374.7C277.8 387.2 298.1 387.2 310.6 374.7L512 173.3L512 256C512 273.7 526.3 288 544 288C561.7 288 576 273.7 576 256L576 96C576 78.3 561.7 64 544 64L384 64zM144 160C99.8 160 64 195.8 64 240L64 496C64 540.2 99.8 576 144 576L400 576C444.2 576 480 540.2 480 496L480 416C480 398.3 465.7 384 448 384C430.3 384 416 398.3 416 416L416 496C416 504.8 408.8 512 400 512L144 512C135.2 512 128 504.8 128 496L128 240C128 231.2 135.2 224 144 224L224 224C241.7 224 256 209.7 256 192C256 174.3 241.7 160 224 160L144 160z'/%3E%3C/svg%3E");
	transform: translateY(0.1875em);
}

a.external-link .link-text {
	border-bottom: 1px solid var(--colour-primary);
}

a.external-link:hover .link-text {
	color: var(--colour-primary-dim);
	border-bottom-color: var(--colour-primary-dim);
	border-bottom-width: 1.5px;
}

a.external-link:focus .link-text,
a.external-link:focus-visible .link-text {
	border-bottom: none;
}

a.external-link:focus:not(:focus-visible) .link-text {
	border-bottom: 1.5px solid var(--colour-primary);
}

/* ## Forms ----------------------------------------------------------------- */

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}


/* -----------------------------------------------------------------------------
 # Layouts ------------------------------------------------------------------ */

.limited-page {
	max-width: 1280px;
	margin: 0 auto;
}

.limiter {
	width: 100%;
	max-width: 1152px;
	margin: 0 auto;
	padding: 0 1.5em;
}

.page-body {
	background: #fff;
}


/* -----------------------------------------------------------------------------
 # Components --------------------------------------------------------------- */

/* ## Navigation ------------------------------------------------------------ */

:root {
	--nav-colour-primary: var(--colour-primary);
	--nav-height-above: 0px;
	--nav-height-primary: 6.25em;
	--nav-height-primary-mobile: 5.25em;
	--nav-height: calc(var(--nav-height-above) + var(--nav-height-primary));
	--nav-page-margin: 1.5em;
	--nav-width-inner: 1152px;
	--nav-width-outer: 1280px;
	/* logo */
	--nav-logo-height-percent: 66.667%;
	--nav-logo-margin-adjustment: -0.125em 0 0 0;
	--nav-logo-max-width: 7em;
	--nav-logo-max-width-mobile: 6em;
	/* desktop parent menu */
	--nav-d-p-bg-hover-colour: transparent;
	--nav-d-p-font-size: 1.1875em;
	--nav-d-p-font-weight: 400;
	--nav-d-p-padding-x: 1.25rem;
	--nav-d-p-text-colour: #000;
	--nav-d-p-text-transform: none;
	--nav-d-p-underline-thickness: 1.5px;
	/* desktop child menu */
	--nav-d-c-bg-colour: var(--colour-primary);
	--nav-d-c-bg-hover-colour: hsl(335, 89%, 24%);
	--nav-d-c-focus-outline-colour: #fff;
	--nav-d-c-item-width: auto;
	--nav-d-c-padding: 0.625rem 0.875rem;
	--nav-d-c-white-space: nowrap;
	/* mobile */
	--nav-m-left-border-thickness: 0.375rem;
}

@media all and (max-width: 50em) {
	:root {
		--nav-d-p-padding-x: 0.75rem;
	}
}

.jump-anchor::before {
	content: '';
	display: block;
	height: var(--nav-height-primary);
	margin-top: calc(-1 * var(--nav-height-primary));
	visibility: hidden;
}

@media screen and (max-width: 45em) {
	.jump-anchor::before {
		height: var(--nav-height-primary-mobile);
		margin-top: calc(-1 * var(--nav-height-primary-mobile));
	}
}

.site-content {
	padding-top: var(--nav-height);
}

.site-header {
	position: fixed;
	width: 100%;
	left: 0;
	top: 0;
	z-index: 100;
	/* prevent flicker in Chrome: */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.site-header .nav-limiter {
	margin: 0 auto;
	max-width: var(--nav-width-inner);
}

.site-header a {
	text-decoration: none;
}

.nav-wrapper {
	max-width: var(--nav-width-outer);
	margin: 0 auto;
	background: #fff;
}

.above-nav {
	height: var(--nav-height-above);
	background: var(--colour-header-stripe);
}

.primary-nav {
	width: 100%;
	height: var(--nav-height-primary);
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
	position: relative;
	z-index: 20;
}

.primary-nav.sticky {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	/* prevent flicker in Chrome: */
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.primary-nav .nav-limiter {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

.primary-nav a:focus,
.primary-nav a:focus-visible {
	border-radius: 0.25px;
	outline: 2px solid var(--nav-colour-primary);
}

.primary-nav a:focus:not(:focus-visible) {
	outline: none !important;
}

/* Nav logo ----------------------------------------------------------------- */

.primary-nav .logo-container {
	flex: 1;
	max-width: var(--nav-logo-max-width);
	margin-left: var(--nav-page-margin);
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.primary-nav .logo {
	display: block;
	width: 100%;
	height: 0;
	padding-bottom: var(--nav-logo-height-percent);
	margin: var(--nav-logo-margin-adjustment);
	background-image: url('./img/logo-we-stand.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	border-radius: 0.5px;
	text-decoration: none;
	outline: none;
	transition: opacity 0.1s;
}

.primary-nav .logo:hover {
	opacity: 0.9;
}

.primary-nav .logo:focus,
.primary-nav .logo:focus-visible {
	outline: 2px solid var(--nav-colour-primary);
	outline-offset: 3px;
}

.primary-nav .logo:focus:not(:focus-visible) {
	outline: none;
}

/* Nav menu ----------------------------------------------------------------- */

.primary-nav .menu-container {
	position: relative;
	flex: initial;
	height: var(--nav-height-primary);
}

/* Parent menu */

.primary-nav .nav-menu {
	display: flex;
	align-items: center;
	margin: 0;
	margin-left: calc(var(--nav-page-margin) - var(--nav-d-p-padding-x));
	margin-right: calc(var(--nav-page-margin) - var(--nav-d-p-padding-x));
	padding: 0;
	list-style-type: none;
	text-align: right;
}

.primary-nav .nav-menu > .menu-item {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	height: var(--nav-height-primary);
	padding: 0 var(--nav-d-p-padding-x);
	line-height: 1.125;
	text-align: center;
}

.primary-nav .nav-menu > .menu-item:hover {
	background: var(--nav-d-p-bg-hover-colour);
}

.primary-nav .nav-menu > .menu-item.current-menu-item,
.primary-nav .nav-menu > .menu-item.current-menu-ancestor {
	color: var(--nav-colour-primary);
}

.primary-nav .nav-link-parent {
	display: block;
	margin-top: 0.0625rem;
	padding-top: 0.1875rem;
	padding-bottom: 0.125rem;
	color: var(--nav-d-p-text-colour);
	font-size: var(--nav-d-p-font-size);
	font-weight: var(--nav-d-p-font-weight);
	text-transform: var(--nav-d-p-text-transform);
	border-bottom: var(--nav-d-p-underline-thickness) solid transparent;
}

.primary-nav .menu-item .nav-link-parent:focus,
.primary-nav .menu-item .nav-link-parent:hover,
.primary-nav .menu-item-has-children:hover .nav-link-parent {
	color: var(--nav-colour-primary);
}

.primary-nav .menu-item .nav-link-parent:focus,
.primary-nav .menu-item .nav-link-parent:focus-visible {
	outline-color: var(--nav-colour-primary);
	outline-offset: 2px;
}

.primary-nav .menu-item .nav-link-parent:focus:not(:focus:visible) {
	outline: none;
}

.primary-nav .menu-item.current-menu-item .nav-link-parent,
.primary-nav .menu-item.current-menu-parent .nav-link-parent {
	border-bottom-color: var(--nav-colour-primary);
}

.primary-nav .menu-item-has-children .nav-link-parent {
	cursor: default;
}

/* Child menu */

.primary-nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	margin: 0;
	padding: 0;
	z-index: 999;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
	list-style-type: none;
	text-align: right;
}

.primary-nav .sub-menu .menu-item {
	padding: 0;
	width: var(--nav-d-c-item-width);
	position: relative;
}

.primary-nav .sub-menu .menu-item:not(:first-child)::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0.5px;
	background: rgba(255, 255, 255, 0.35);
}

.primary-nav .menu-item.expanded .sub-menu {
	display: block;
}

.primary-nav .nav-link-child {
	display: block;
	padding: var(--nav-d-c-padding);
	background: var(--nav-d-c-bg-colour);
	font-size: 0.875rem;
	line-height: 1.3;
	color: #fff;
	white-space: var(--nav-d-c-white-space);
}

.primary-nav .current-menu-item > .nav-link-child,
.primary-nav .nav-link-child:focus,
.primary-nav .nav-link-child:hover {
	background: var(--nav-d-c-bg-hover-colour);
}

.primary-nav .nav-link-child:focus,
.primary-nav .nav-link-child:focus-visible {
	outline: 2px solid var(--nav-d-c-focus-outline-colour);
	outline-offset: -4px;
}

.primary-nav .nav-link-child:focus:not(:focus-visible) {
	outline: none;
}

@media screen and (min-width: 45.01em) {
	.primary-nav .nav-menu > .menu-item:nth-child(3) .nav-link-parent {
		color: var(--colour-primary);
	}
}


/* Nav menu toggle ---------------------------------------------------------- */

.nav-menu-toggle {
	display: none;
	flex: initial;
	width: 2.5em;
	height: 2.5em;
	margin: 0 var(--nav-page-margin);
	background-color: #fff;
	color: var(--nav-colour-primary);
	outline: none;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	border: none;
	font-size: 1em;
	padding: 0;
}

.nav-menu-toggle i {
	font-size: 1.375em;
}

.nav-menu-toggle:hover:not(:disabled) {
	background: transparent;
	color: var(--colour-primary-dim);
}

.nav-menu-toggle[aria-expanded="true"]:not(:disabled) {
	background: var(--nav-colour-primary);
	color: #fff;
}

.nav-menu-toggle:focus:not(:disabled),
.nav-menu-toggle:focus-visible:not(:disabled) {
	outline: 2px solid var(--nav-colour-primary);
	outline-offset: 2px;
	box-shadow: none;
}

.nav-menu-toggle:focus:not(:focus-visible) {
	outline: none !important;
}

/* Mobile styling ----------------------------------------------------------- */

@media screen and (min-width: 45.01em) {
	.primary-nav .menu-container {
		display: block !important;
	}
}

@media screen and (max-width: 45em) {
	.site-content {
		padding-top: calc(var(--nav-height-above) + var(--nav-height-primary-mobile));
	}

	.primary-nav {
		height: var(--nav-height-primary-mobile);
	}

	.primary-nav .nav-limiter {
		position: relative;
		height: var(--nav-height-primary-mobile);
	}

	/* Nav logo ------------------------------------------------------------- */

	.primary-nav .logo-container {
		flex: 1;
		max-width: var(--nav-logo-max-width-mobile);
	}

	/* Nav menu ------------------------------------------------------------- */

	.primary-nav .menu-container {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		height: auto;
		top: 100%;
		background: #f2f2f2;
		border-top: 1px solid #ccc;
		padding: 0.5em 0;
	}

	.primary-nav .menu-container::after {
		content: '';
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		height: 0.5px;
		background: rgba(0, 0, 0, 0.5);
	}

	.primary-nav .menu-container.expanded {
		display: block;
	}

	/* Parent menu */

	.primary-nav .nav-menu {
		display: block;
		margin: 0;
		text-align: left;
	}

	.primary-nav .nav-menu > .menu-item {
		display: block;
		width: auto;
		height: auto;
		padding: 0;
		text-align: left;
		border: none;
	}

	.primary-nav .nav-link-parent {
		margin-top: 0;
		padding: 0.625rem 1rem 0.625rem calc(var(--nav-page-margin) - var(--nav-m-left-border-thickness));
		line-height: 1.3;
		border-bottom: none;
		border-top: none;
		border-left: var(--nav-m-left-border-thickness) solid transparent;
	}

	.primary-nav .menu-item.current-menu-item .nav-link-parent {
		background: var(--nav-colour-primary);
		color: #fff;
	}

	.primary-nav .menu-item.current-menu-ancestor:not(.expanded) .nav-link-parent {
		border-left-color: var(--nav-colour-primary);
	}

	.primary-nav .menu-item .nav-link-parent:focus,
	.primary-nav .menu-item .nav-link-parent:focus-visible {
		outline: 2px solid var(--colour-primary);
		outline-offset: -4px;
	}

	.primary-nav .menu-item.current-menu-item .nav-link-parent:focus,
	.primary-nav .menu-item.current-menu-item .nav-link-parent:focus-visible {
		outline-color: #fff;
	}

	.primary-nav .menu-item .nav-link-parent:focus:not(:focus-visible) {
		outline: none !important;
	}

	.primary-nav .menu-item-has-children .nav-link-parent::after {
		content: '';
		display: block;
		position: absolute;
		width: 1rem;
		height: 1rem;
		top: 1.125rem;
		right: 0.75rem;
		border-style: solid;
		border-width: 0.5rem;
		border-color: transparent;
		border-top-color: #bfbfbf;
		transition: 150ms all ease;
		transform-origin: 50% 25%;
		transform: rotate(-90deg);
	}

	.primary-nav .menu-item-has-children.expanded .nav-link-parent::after {
		transform: rotate(0deg);
		border-top-color: var(--nav-colour-primary);
	}

	.primary-nav .menu-item-has-children .nav-link-parent {
		cursor: pointer;
	}

	/* Child menu */

	.primary-nav .sub-menu {
		position: static;
		top: auto;
		left: auto;
		border-top: none;
		box-shadow: none;
		text-align: left;
	}

	.primary-nav .sub-menu .menu-item {
		width: auto;
	}

	.primary-nav .sub-menu .menu-item:not(:first-child)::before {
		display: none;
	}

	.primary-nav .nav-link-child {
		padding: 0.625rem 1rem 0.625rem calc(1rem + var(--nav-page-margin) - var(--nav-m-left-border-thickness));
		background: inherit;
		font-size: 0.9375rem;
		color: #333;
		border-left: var(--nav-m-left-border-thickness) solid transparent;
		white-space: normal;
	}

	.primary-nav .nav-link-child:hover {
		background: transparent;
		color: var(--colour-primary);
	}

	.primary-nav .nav-link-child:focus,
	.primary-nav .nav-link-child:focus-visible {
		background: transparent;
		outline-color: var(--nav-colour-primary);
		outline-offset: -4px;
		color: var(--colour-primary);
	}

	.primary-nav .nav-link-child:focus:not(:focus-visible) {
		outline: none !important;
	}

	.primary-nav .current-menu-item > .nav-link-child {
		background: var(--nav-colour-primary);
		color: #fff;
	}

	.primary-nav .current-menu-item > .nav-link-child:focus,
	.primary-nav .current-menu-item > .nav-link-child:focus-visible {
		outline-color: #fff;
	}

	/* Nav menu toggle ------------------------------------------------------ */
	
	.nav-menu-toggle {
		display: flex;
	}
}

/* ## Footer ---------------------------------------------------------------- */

.site-footer .upper {
	padding: 3.5em 0 3em 0;
	background: var(--colour-footer-bg-upper);
	color: #fff;
}

.site-footer .upper h2 {
	margin: 0 0 1rem 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--colour-primary);
}

.site-footer .columns {
	display: grid;
	grid-gap: 3em;
	grid-template-columns: repeat(2, 1fr);
}

.site-footer .upper a:hover {
	text-decoration: none;
}

.site-footer .upper a:focus,
.site-footer .upper a:focus-visible {
	text-decoration: none;
	outline: 2px solid var(--colour-primary);
}

.site-footer .upper a:focus:not(:focus-visible) {
	outline: none !important;
}

.site-footer .column.left p {
	max-width: 22em;
	font-size: 1.0625rem;
}

.site-footer .upper .logo {
	display: block;
	width: 12.5em;
	margin-top: 2em;
	margin-left: 2em;
}

.site-footer .column.right h2 {
	font-family: "SignPainter-HouseScript Semibold", "Roboto Condensed", sans-serif;
	font-size: 2.5rem;
	text-align: center;
	line-height: 1;
}

.site-footer .column.right .image {
	display: block;
	width: 100%;
	margin: 0 auto;
	max-width: 22.5rem;
}

.site-footer .lower {
	padding: 1em 0;
	background: var(--colour-footer-bg-lower);
	font-weight: 300;
	color: #999;
}

.site-footer .lower .limiter {
	display: flex;
	align-items: center;
}

.site-footer .lower .copyright {
	flex: 1;
	font-size: 0.9375em;
}

.site-footer .lower .divider {
	padding: 0 0.5em;
	opacity: 0.5;
}

.site-footer .lower a {
	color: #ccc;
	text-decoration: none;
}

.site-footer .lower a:hover {
	text-decoration: underline;
}

.site-footer .lower a:focus,
.site-footer .lower a:focus-visible {
	text-decoration: none;
	outline: 2px solid #ccc;
}

.site-footer .lower a:focus:not(:focus-visible) {
	outline: none !important;
}

.site-footer .lower .top-button-wrapper {
	flex: initial;
}

.site-footer .lower .top-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.125em;
	height: 2.125em;
	padding: 0.45em 0.5em 0.55em 0.5em;
	color: rgba(255, 255, 255, 0.5);
	border: none;
	border-radius: 0.5px;
}

.site-footer .lower .top-button:hover {
	color: #fff;
	border: none;
}

.site-footer .lower .top-button:focus,
.site-footer .lower .top-button:focus-visible {
	color: #fff;
	outline: 2px solid #fff;
}

.site-footer .lower .top-button:focus:not(:focus-visible) {
	outline: none;
}

@media (max-width: 45em) {
	.site-footer .upper {
		padding: 2.5rem 0;
	}

	.site-footer .columns {
		display: block;
		text-align: center;
	}

	.site-footer .column.left p {
		max-width: 100%;
	}

	.site-footer .column.right {
		margin-top: 3rem;
	}

	.site-footer .upper .logo {
		margin-right: auto;
		margin-left: auto;
		width: 9em;
		max-width: 100%;
		margin-top: 2em;
		margin-bottom: 0;
	}

	.site-footer .lower .secondary {
		display: block;
	}

	.site-footer .lower .divider {
		display: none;
	}
}

/* ## Posts and pages ------------------------------------------------------- */

.sticky {
	display: block;
}

.post,
.page {
	margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* ## Comments -------------------------------------------------------------- */

.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* ## Widgets --------------------------------------------------------------- */

.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* ## Media ----------------------------------------------------------------- */

.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* ## Captions -------------------------------------------------------------- */

.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* ## Galleries ------------------------------------------------------------- */

.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}


/* -----------------------------------------------------------------------------
 # Home page ---------------------------------------------------------------- */

.text-logo {
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1.3em;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.05em;
	color: #000;
}

.text-logo .we {
	color: var(--colour-primary);
}

.page-home {
	background: #fff;
}

.page-home .section {
	padding: 3em 0;
	font-size: 1.0625rem;
}

.page-home .section h2 {
	margin: 0 0 1rem 0;
	color: var(--colour-primary);
	font-family: "Roboto Condensed", sans-serif;
	font-size: 1.875rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.page-home .section h3 {
	margin: 0 0 1rem 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: #000;
}

.page-home .section p {
	margin: 0 0 1rem 0;
}

.page-home .section p strong {
	color: #000;
}

.page-home .section ul li {
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
}

.page-home .columns {
	display: flex;
	align-items: stretch;
	gap: 3rem;
}

.page-home .columns .column {
	flex: 1;
}

@media (max-width: 45em) {
	.page-home .section {
		padding: 2.5em 0;
	}

	.page-home .columns {
		display: block;
	}

	.page-home .columns .column.left {
		padding-bottom: 2.5em;
	}
}

/* ## Banner section -------------------------------------------------------- */

.page-home .section.banner {
	padding: 1.5em 0;
	margin-bottom: 2.5em;
	position: relative;
	background-color: #000;
}

.page-home .section.banner .limiter {
	position: relative;
	width: 100%;
	max-width: 100%;
	height: 0;
	padding-bottom: 50%;
	background-color: #ccc;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-image: url('./img/bg-banner.jpg');
}

.page-home .section.banner .logo-container {
	position: absolute;
	top: 13%;
	left: 10%;
	width: 20%;
}

.page-home .section.banner .logo-container .logo {
	display: block;
	width: 100%;
}

.page-home .section.banner .slide-container {
	position: absolute;
	top: 14.5%;
	right: 6.25%;
	width: 43.75%;
}

@media (max-width: 45em) {
	.page-home .section.banner {
		padding: 1em 0;
	}

	.page-home .section.banner .limiter {
		padding-bottom: 80%;
	}

	.page-home .section.banner .logo-container {
		top: 10%;
		left: 5%;
		width: 22.5%;
	}

	.page-home .section.banner .slide-container {
		width: 49%;
	}
}

/* Banner swiper */

.banner-swiper {
	--swiper-navigation-color: rgba(0, 0, 0, 0.15);
	--swiper-navigation-sides-offset: 0px;
	--swiper-navigation-size: 2.25em;
	--swiper-navigation-top-offset: 45%;
	--swiper-navigation-top-offset: calc(50% - 1.375rem);
	--swiper-pagination-bottom: 1.625rem;
	--swiper-pagination-bullet-horizontal-gap: 8px;
	--swiper-pagination-bullet-inactive-color: #fff;
	--swiper-pagination-bullet-inactive-opacity: 1;
	--swiper-pagination-bullet-size: 12px;
	--swiper-pagination-color: #ccc;
	--swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.075);
	--swiper-scrollbar-bottom: 14px;
	--swiper-scrollbar-drag-bg-color: #999;
	--swiper-scrollbar-sides-offset: 16px;
	--swiper-scrollbar-size: 6px;
	width: 100%;
	padding: 2.5rem 2.5rem 4.25rem 2.5rem;
	background: #fff;
	border-radius: 1.25rem;
	outline: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 4.5px 4.5px 4.5px 0 rgba(0, 0, 0, 0.25);
}

.banner-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 12rem;
	-ms-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.banner-swiper .slider-image {
	width: 100%;
	height: 0;
	padding-bottom: 66.667%;
	padding-bottom: calc(100% * 2 / 3);
	background-color: #e5e5e5;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.banner-swiper .slider-image-1 {
	background-image: url('./img/slider-1.jpg');
}

.banner-swiper .slider-image-2 {
	background-image: url('./img/slider-2.jpg');
}

.banner-swiper .slider-image-3 {
	background-image: url('./img/slider-3.jpg');
}

.banner-swiper .slider-image-4 {
	background-image: url('./img/slider-4.jpg');
}

.banner-swiper .slider-image-5 {
	background-image: url('./img/slider-5.jpg');
}

.banner-swiper .slider-image-6 {
	background-image: url('./img/slider-6.jpg');
}

.page-home .section .banner-swiper .text-logo {
	padding-right: 0.125rem;
}

.page-home .section .banner-swiper p {
	margin: 1rem 0 0 0;
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.2;
}

.banner-swiper .swiper-button-next:focus,
.banner-swiper .swiper-button-next:focus-visible,
.banner-swiper .swiper-button-prev:focus,
.banner-swiper .swiper-button-prev:focus-visible {
	color: #000;
	outline: 2px solid #000;
	outline-offset: 2px;
	border-radius: 0.5px;
}

.banner-swiper .swiper-button-next:focus:not(:focus-visible),
.banner-swiper .swiper-button-prev:focus:not(:focus-visible) {
	color: var(--swiper-navigation-color);
	outline: none;
}

.banner-swiper .swiper-pagination-bullet {
	border: 1px solid #ccc;
}

.banner-swiper .swiper-scrollbar {
	display: none;
}

@media (max-width: 45em) {
	.banner-swiper {
		--swiper-navigation-sides-offset: 0em;
		--swiper-navigation-size: 1.5em;
		--swiper-navigation-top-offset: 45%;
		--swiper-navigation-top-offset: calc(50% - 1.375rem);
		--swiper-pagination-bottom: 0.75rem;
		--swiper-pagination-bullet-horizontal-gap: 6px;
		padding: 1rem 1rem 2rem 1rem;
		background: #fff;
		border-radius: 1.25rem;
		outline: 1px solid rgba(0, 0, 0, 0.1);
		box-shadow: 4.5px 4.5px 4.5px 0 rgba(0, 0, 0, 0.15);
	}

	.banner-swiper .swiper-slide {
		flex-direction: column;
		justify-content: space-between;
		min-height: auto;
	}

	.page-home .section .banner-swiper p {
		margin: 0.75rem 0 0 0;
		font-size: 1rem;
		font-weight: 400;
		line-height: 1.15;
	}

	.banner-swiper .swiper-button-next,
	.banner-swiper .swiper-button-prev {
		display: none;
	}

	.banner-swiper .swiper-pagination {
		display: none;
	}

	.banner-swiper .swiper-scrollbar {
		display: block;
	}
}

/* ## Statement section ----------------------------------------------------- */

.page-home .section.statement {
	padding: 2em 0;
	background: var(--colour-lt-grey);
	text-align: center;
}

.page-home .section.statement p {
	margin: 0 auto;
	max-width: 24em;
	font-size: 1.625rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.page-home .section.statement .text-logo {
	padding: 0 0.125rem;
}

@media (max-width: 45em) {
	.page-home .section.statement {
		padding: 1.5em 0;
	}

	.page-home .section.statement p {
		font-size: 1.375rem;
	}
}

/* ## About section --------------------------------------------------------- */

.page-home .section.about h2 {
	color: var(--colour-text);
}

.page-home .section.about .columns {
	align-items: center;
}

.page-home .section.about .column.left p:last-child {
	margin-bottom: 0.5em;
}

.page-home .section.about .column.right {
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-home .section.about .text-logo {
	line-height: 1.59375rem;
}

.page-home .section.about .pin {
	display: block;
	width: 100%;
	margin-top: 1.5rem;
	max-width: 20rem;
}

@media (max-width: 45em) {
	.page-home .section.about .pin {
		margin-top: 0;
		max-width: 17.5rem;
	}
}

/* ## Image section --------------------------------------------------------- */

.page-home .section.image {
	padding: 0;
	background-color: #e5e5e5;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 0%;
	background-image: url('./img/bg-future.jpg');
}

.page-home .section.image .aspect-ratio {
	width: 100%;
	height: 0;
	padding-bottom: 50%;
}

@media (max-width: 45em) {
	.page-home .section.image .aspect-ratio {
		padding-bottom: 60%;
	}
}

/* ## Our Future section ---------------------------------------------------- */

.page-home .section.future {
	background-color: var(--colour-lt-grey);
}

.page-home .section.future ul {
	margin-top: -0.25rem;
	margin-bottom: -0.25rem;
}

.page-home .section.future .column.right {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	text-align: center;
}

.page-home .section.future .column.right h3 {
	margin-bottom: 1.5rem;
}

.page-home .section.future p.large {
	margin: 2rem auto 1rem auto;
	max-width: 50em;
	font-size: 1.125rem;
	letter-spacing: -0.01em;
}

@media (max-width: 45em) {
	.page-home .section.future p.large {
		margin-bottom: 0;
		font-size: 1.0625rem;
	}
}

/* Schedule swiper */

.schedule-swiper {
	--swiper-pagination-bottom: 1.5rem;
	--swiper-pagination-bullet-horizontal-gap: 8px;
	--swiper-pagination-bullet-inactive-color: #fff;
	--swiper-pagination-bullet-inactive-opacity: 0.5;
	--swiper-pagination-bullet-size: 12px;
	--swiper-pagination-color: var(--colour-primary);
	width: 100%;
	max-width: 26rem;
	padding: 0.75rem 1.5rem 2.25rem 1.5rem;
	background: #fff;
	border-radius: 1.25rem;
	outline: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 3px 3px 4.5px 0 rgba(0, 0, 0, 0.25);
}

.schedule-swiper .swiper-slide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 12rem;
	text-align: center;
	-ms-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.schedule-swiper .swiper-slide h4 {
	margin: 0 0 1rem 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.25;
	color: var(--colour-primary);
}

.schedule-swiper .swiper-slide p {
	font-size: 1.125rem;
}

.schedule-swiper .swiper-pagination-bullet {
	border: 1px solid var(--colour-primary);
}

@media (max-width: 45em) {
	.schedule-swiper {
		--swiper-pagination-bottom: 1rem;
		padding: 0.5rem 1.375rem 1.5rem 1.375rem;
	}

	.schedule-swiper .swiper-slide h4 {
		font-size: 1.375rem;
		line-height: 1.2;
	}

	.schedule-swiper .swiper-slide p {
		font-size: 1.0625rem;
	}
}

/* ## Get Involved section -------------------------------------------------- */

.page-home .section.get-involved .column.left h3 {
	margin-top: 2rem;
}

.page-home .section.get-involved .column.left p {
	max-width: 27em;
}

@media (max-width: 45em) {
	.page-home .section.get-involved .column.left p {
		max-width: 100%;
	}
}

/* Pledge box */

.pledge-box {
	margin-bottom: 2.5rem;
	padding: 1.5rem 2rem;
	background: #730d39;
	background: linear-gradient(0deg, #e61972 0%, #330619 100%);
	border-radius: 1.25rem;
	color: #fff;
	outline: 1px solid rgba(0, 0, 0, 0.1);
	box-shadow: 3px 3px 4.5px 0 rgba(0, 0, 0, 0.25);
}

.page-home .section .pledge-box h3 {
	color: #fff;
}

@media (max-width: 45em) {
	.pledge-box {
		padding: 1.25rem;
	}
}

.pledge-box .wsf-form {
	--wsf-form-color-primary: var(--colour-primary);
	--wsf-field-label-color: #fff;
	--wsf-form-grid-gap: 0.5rem;
	--wsf-field-padding: 0.5rem 0.75rem;
	--wsf-field-border: none;
	--wsf-field-border-color-invalid: #000;
	--wsf-field-border-width: 0px;
	--wsf-field-button-border-radius: 1.25rem;
	--wsf-field-button-border-width: 0px;
	--wsf-field-button-text-transform: uppercase;
	--wsf-field-button-font-family: 'Roboto Condensed';
	--wsf-field-button-font-size: 1.125rem;
	--wsf-field-button-font-weight: 700;
	--wsf-field-button-padding: 0.5rem 2rem;
	--wsf-field-button-width: auto;
	--wsf-field-button-primary-color: #e61972;
	--wsf-field-button-primary-color-focus: hsl(334, 90%, 40%);
	--wsf-field-button-primary-color-hover: hsl(334, 90%, 40%);
	--wsf-field-button-primary-color-background: #fff;
	--wsf-field-button-primary-color-background-hover: #fff;
	--wsf-field-button-primary-color-background-focus: #fff;
	--wsf-field-button-primary-border-color: var(--colour-primary-darker);
	--wsf-field-button-primary-border-color-focus: var(--colour-primary-darker);
	--wsf-field-button-primary-border-color-focus: var(--colour-primary-darker);
	--wsf-field-radio-checked-color: var(--colour-secondary);
	--wsf-field-radio-gap-vertical: 1rem;
	--wsf-field-invalid-feedback-color: #fff;
}

.pledge-box .wsf-form input[type='text'].wsf-field::placeholder,
.pledge-box .wsf-form input[type='tel'].wsf-field::placeholder,
.pledge-box .wsf-form input[type='email'].wsf-field::placeholder {
	color: #767676;
}

.pledge-box .wsf-form button.wsf-button.wsf-button-primary:focus,
.pledge-box .wsf-form input[type='email'].wsf-field:focus,
.pledge-box .wsf-form input[type='radio'].wsf-field:focus,
.pledge-box .wsf-form input[type='tel'].wsf-field:focus,
.pledge-box .wsf-form input[type='text'].wsf-field:focus {
	box-shadow: none;
	outline: 2.5px solid #fff;
	outline-offset: 1.5px;
}

.pledge-box .wsf-form button.wsf-button.wsf-button-primary:focus:not(:focus-visible),
.pledge-box .wsf-form input[type='radio'].wsf-field:focus:not(:focus-visible) {
	outline: none;
}

.pledge-box .wsf-form #wsf-1-field-wrapper-5 {
	margin-top: 0.5rem;
	margin-bottom: 0.25rem;
}

.pledge-box .wsf-bottom {
	display: flex;
	justify-content: center;
	margin-bottom: 0 !important;
}

/* Core Team logos */

.core-team-logos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -1em;
}

.core-team-logos .logo {
	display: inline-block;
	width: 50%;
	flex: 0 0 50%;
	margin: 1em 0;
	padding: 0 1em;
	text-decoration: none;
}

.core-team-logos .logo img {
	display: block;
	width: 100%;
	max-width: 12em;
	margin: 0 auto;
}

.core-team-logos .logo.chaseo img,
.core-team-logos .logo.ghchf img {
	display: block;
	width: 50%;
	max-width: 6em;
	margin: 0 auto;
}


/* -----------------------------------------------------------------------------
 # Plugins ------------------------------------------------------------------ */

/* ## Jetpack infinite scroll ----------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}


/* -----------------------------------------------------------------------------
 # Utilities ---------------------------------------------------------------- */

/* ## Accessibility --------------------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #fff;
	border-radius: 4.5px;
	border: 2px solid var(--colour-primary);
	box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.25);
	clip: auto !important;
	clip-path: none;
	color: var(--colour-primary);
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 6px;
	line-height: normal;
	padding: 0.875rem 1.375rem;
	text-decoration: none;
	top: 6px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* ## Alignments ------------------------------------------------------------ */

.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
