/*!
Theme Name: ace
Theme URI: http://underscores.me/
Author: Chad Rossouw for HdK
Author URI: https://wearehdk.com/
Description: Description
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: ace
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ace 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:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*Font Weights*/
.has-medium-font-size {
  font-size: 1.25rem;
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 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%;
}

/* Sections
	 ========================================================================== */
/**
 * 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;
}

/* Grouping content
	 ========================================================================== */
/**
 * 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;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * 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: 500;
}

/**
 * 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;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 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;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */
/* 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
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
@font-face {
  font-display: swap;
  font-family: "Bolton";
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Book.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Book.woff") format("woff");
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Bolton";
  font-style: italic;
  font-weight: 400;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-BookItalic.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-BookItalic.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Bolton";
  font-style: normal;
  font-weight: 300;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Light.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Light.woff") format("woff");
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Bolton";
  font-style: italic;
  font-weight: 300;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-LightItalic.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-LightItalic.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: "Bolton";
  font-style: normal;
  font-weight: 500;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Medium.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-Medium.woff") format("woff");
}
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Bolton";
  font-style: italic;
  font-weight: 500;
  src: url("/wp-content/themes/pebble/assets/fonts/F37Bolton-MediumItalic.woff2") format("woff2"), url("/wp-content/themes/pebble/assets/fonts/F37Bolton-MediumItalic.woff") format("woff");
}
body,
button,
input,
select,
optgroup,
textarea {
  color: #1a1a1a;
  font-family: "Bolton", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #5c0b18;
  font-weight: 400;
  line-height: 110%;
  margin: 0 0 1rem;
}
h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4 {
  margin-top: -1rem;
}

h1 {
  font-size: 2.4rem;
  font-weight: 400;
}

h2 {
  font-size: 1.8rem;
  font-weight: 400;
}

h3 {
  font-size: 1.5rem;
  font-weight: 500;
}
h3.lc {
  text-transform: uppercase;
}

h4 {
  font-size: 1.1rem;
  font-weight: 400;
}

h5 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: mono, sans-serif;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: mono, sans-serif;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/*Typography Utilities*/
.weight-bold {
  font-weight: 700;
}

.lc {
  text-transform: initial;
}

.uc {
  text-transform: uppercase;
}

.large {
  font-size: 1.2rem;
  line-height: 125%;
}

@media screen and (min-width: 1000px) {
  .large {
    line-height: 125%;
  }
}
.small {
  font-size: 80%;
}

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

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

.bold {
  font-weight: 700;
}

.medium {
  font-weight: 500;
}

.book {
  font-weight: 400;
}

.center {
  text-align: center;
}

a.arrow_link {
  position: relative;
  padding-right: 2rem;
  width: fit-content;
  display: flex;
  gap: 1rem;
}
a.arrow_link::after {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  display: block;
  top: calc(50% - 0.4rem);
  right: 0;
  background-image: url(../assets/arrow.svg);
  background-size: contain;
  position: relative;
  background-repeat: no-repeat;
  transition: transform var(--transition) ease;
}
a.arrow_link:hover::after {
  transform: translateX(0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  a.arrow_link:hover::after {
    transform: none;
  }
}
a.arrow_link.primary::after {
  background-image: url(../assets/arrow_primary.svg);
}

a:focus {
  outline: 2px solid;
  outline-offset: 0.2rem;
}

.heading {
  font-size: 1.5rem;
  line-height: 27px;
  font-weight: 400;
}
@media screen and (min-width: 1200px) {
  .heading {
    font-size: 3rem;
    line-height: 54px;
  }
}

/*Captions*/
.image-caption.small {
  font-size: 1rem !important;
  line-height: 1.875rem !important;
}

/* Elements
--------------------------------------------- */
:root {
  --header-height: 4rem;
  --header-height-min: 4rem;
  --margin: 8vw;
  --transition: 400ms;
}

@media (prefers-reduced-motion) {
  :root {
    --transition: 0ms;
  }
}
@media screen and (min-width: 700px) {
  :root {
    --margin: 10vw;
  }
}
@media screen and (min-width: 1000px) {
  :root {
    --margin: 10vw;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --margin: 6vw;
    --header-height: 9rem;
    --nav-padding: 6vw;
  }
}
@media screen and (min-width: 1600px) {
  :root {
    --margin: calc((100vw - 1640px) / 2);
  }
}
.grecaptcha-badge {
  display: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--header-height);
}

html,
body {
  width: 100vw;
  overflow-x: hidden;
}

body {
  background-color: #f7f7f7;
  color: #27050A;
}

.scroll_lock,
.scrolly_lock,
.scroll-lock {
  overflow: hidden;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

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

figure {
  margin: 1em 0;
}

/*Lists*/
ul,
ol {
  margin: 0 0 1.5em 0;
}

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;
}

/*Links*/
a {
  color: #5c0b18;
  text-decoration-thickness: 0.05em;
  transition: text-decoration-thickness var(--transition) ease, color var(--transition) ease;
  text-underline-offset: 0.25em;
}
a:visited {
  color: #5c0b18;
}
a.white:visited {
  color: #fff;
}
a:hover, a:focus, a:active {
  color: #2d1a3e;
  text-decoration-thickness: 0.1em;
}
a:hover, a:active {
  outline: 0;
}
a:focus {
  outline: 2px solid;
}

/*Input Fields*/
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: #1a1a1a;
  border: 1px solid #f8f8f8;
  border-radius: 0;
  padding: 0.5rem 1rem;
  transition: border var(--transition) ease;
}
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 {
  outline: 1px solid #ff3000;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
input[type=range]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=week]::placeholder,
input[type=time]::placeholder,
input[type=datetime]::placeholder,
input[type=datetime-local]::placeholder,
input[type=color]::placeholder,
textarea::placeholder {
  color: #27050A;
}

select {
  color: #1a1a1a;
  border: 1px solid #27050A;
  border-radius: 10px;
  padding: 0.75rem 3rem 0.75rem 1rem;
  max-width: 100%;
  font-weight: 400;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url(../assets/down_arrow.svg);
  background-size: 1rem;
  background-repeat: no-repeat;
  background-position: right 1rem center;
}

/* For IE (thanks to @SaiManoj) */
textarea {
  width: 100%;
}

/*Buttons*/
button,
input[type=button],
input[type=reset],
input[type=submit],
.button,
.decorative {
  background: #ff3000;
  color: #fff;
  display: block;
  text-align: left;
  padding: 0.6rem 1rem;
  line-height: 1;
  text-decoration: none;
  border: none;
  border-radius: 0;
  text-transform: none;
  font-weight: 500;
  letter-spacing: 0.05em;
  transition: text-decoration 400ms ease;
  cursor: pointer;
}
button .unset-button,
input[type=button] .unset-button,
input[type=reset] .unset-button,
input[type=submit] .unset-button,
.button .unset-button,
.decorative .unset-button {
  background: none;
  color: currentColor;
  display: inline;
  padding: 0;
}
button.bg_white,
input[type=button].bg_white,
input[type=reset].bg_white,
input[type=submit].bg_white,
.button.bg_white,
.decorative.bg_white {
  background: #fff;
  transition: background var(--transition) ease-in, color var(--transition) ease-in, border var(--transition) ease-in;
}
button.bg_white:hover,
input[type=button].bg_white:hover,
input[type=reset].bg_white:hover,
input[type=submit].bg_white:hover,
.button.bg_white:hover,
.decorative.bg_white:hover {
  background: #ff3000;
  border: #ff3000 1px solid;
  color: #fff;
}
button.bg_transparent,
button .bg-transparent,
button .bg_none,
button .bg-none,
input[type=button].bg_transparent,
input[type=button] .bg-transparent,
input[type=button] .bg_none,
input[type=button] .bg-none,
input[type=reset].bg_transparent,
input[type=reset] .bg-transparent,
input[type=reset] .bg_none,
input[type=reset] .bg-none,
input[type=submit].bg_transparent,
input[type=submit] .bg-transparent,
input[type=submit] .bg_none,
input[type=submit] .bg-none,
.button.bg_transparent,
.button .bg-transparent,
.button .bg_none,
.button .bg-none,
.decorative.bg_transparent,
.decorative .bg-transparent,
.decorative .bg_none,
.decorative .bg-none {
  background: transparent;
  transition: background var(--transition) ease-in, color var(--transition) ease-in;
}
button.bg_transparent:hover,
button .bg-transparent:hover,
button .bg_none:hover,
button .bg-none:hover,
input[type=button].bg_transparent:hover,
input[type=button] .bg-transparent:hover,
input[type=button] .bg_none:hover,
input[type=button] .bg-none:hover,
input[type=reset].bg_transparent:hover,
input[type=reset] .bg-transparent:hover,
input[type=reset] .bg_none:hover,
input[type=reset] .bg-none:hover,
input[type=submit].bg_transparent:hover,
input[type=submit] .bg-transparent:hover,
input[type=submit] .bg_none:hover,
input[type=submit] .bg-none:hover,
.button.bg_transparent:hover,
.button .bg-transparent:hover,
.button .bg_none:hover,
.button .bg-none:hover,
.decorative.bg_transparent:hover,
.decorative .bg-transparent:hover,
.decorative .bg_none:hover,
.decorative .bg-none:hover {
  background: #fff;
  color: #5c0b18;
}

.bg_primary .button.bg_white,
.bg_primary .decorative.bg_white {
  background: #fff;
  transition: background var(--transition) ease-in, color var(--transition) ease-in, border var(--transition) ease-in;
}
.bg_primary .button.bg_white:hover,
.bg_primary .decorative.bg_white:hover {
  background: #5c0b18;
  border: #5c0b18 1px solid;
  color: #fff;
}

.decorative {
  position: relative;
  text-align: center;
  text-decoration: none;
  transition: background-color 400ms ease, color 400ms ease;
  color: var(--color-white-to-black);
  background-color: var(--color-secondary-to-white);
}
.decorative:hover, .decorative:focus {
  text-decoration: none;
}

p .decorative {
  display: inline-block;
}

.buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.no-flexbox-gap .buttons {
  gap: 0;
}
.no-flexbox-gap .buttons > * {
  margin-right: 1rem;
}
.no-flexbox-gap .buttons > *:last-child {
  margin-right: 0;
}

button[disabled] {
  opacity: 0.3;
  cursor: default;
}

.rounded {
  border-radius: 20px;
}

.pill {
  width: fit-content;
  padding: 12px 42px;
  border-radius: 44px;
}

/*Details*/
details {
  padding: 1rem 0;
  border-top: 1px solid #5c0b18;
  -webkit-user-select: none;
  user-select: none;
  /*This is to stop margins overflowing and messing up the calculations on the animation */
}
details > summary {
  list-style: none;
  position: relative;
  color: #5c0b18;
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
details > summary:hover {
  cursor: pointer;
}
details > summary::after {
  content: "";
  position: absolute;
  top: 0.2rem;
  right: 0;
  width: 22px;
  height: 22px;
  transition: transform var(--transition) ease-in;
  transform-origin: center center;
  line-height: 0;
  background-image: url(../assets/down_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
details > summary h4 {
  margin-bottom: 0;
  margin-right: 2rem;
}
details .panel {
  padding: 1px 0;
}

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

details.open {
  /*  .content {
     filter:opacity(1) blur(0);
   } */
}
details.open > summary::after {
  transform: rotate(180deg);
}

h3 ~ details {
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 1200px) {
  .mobile-only {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .mobile_only {
    display: none !important;
  }
}
@media screen and (min-width: 1000px) {
  .mobile_only.tablet {
    display: none !important;
  }
}

@media screen and (max-width: 1200px) {
  .desktop_only {
    display: none !important;
  }
}
@media screen and (max-width: 1000px) {
  .desktop_only.tablet {
    display: none !important;
  }
}

/*Borders*/
.border_bottom {
  border-bottom: 2px solid var(--color-secondary);
}

.border_dark {
  border: 1px solid #5c0b18;
}

p.caption {
  font-size: 0.875rem;
}

figure {
  margin-bottom: 0;
}

/*HoneyPot*/
input#hp {
  display: none;
}

.hide {
  display: none;
}

.icon_padding {
  padding: 0.75rem 0.5rem 0.25rem;
}

/*Colors & bgs*/
#page {
  background: #fff;
}

.black {
  color: #27050A;
}

.body {
  color: #1a1a1a;
}

.white {
  color: #f7f7f7;
}

.primary {
  color: #ff3000;
}

.secondary {
  color: #5c0b18;
}

.peach {
  color: #ffdcd4;
}

.dark {
  color: #5c0b18;
}

.dark_grey {
  color: #606060;
}

.bg-black,
.bg_black {
  background-color: #27050A;
}
.bg-bg,
.bg_bg {
  background-color: #f7f7f7;
}
.bg-white,
.bg_white {
  background-color: #fff;
}
.bg-grey,
.bg_grey {
  background-color: #f8f8f8;
}
.bg-primary,
.bg_primary {
  background-color: #ff3000;
}
.bg-secondary,
.bg_secondary {
  background-color: #5c0b18;
}
.bg-secondary_sub,
.bg_secondary_sub {
  background-color: var(--color-secondary-lighter);
}
.bg-peach,
.bg_peach {
  background-color: #ffdcd4;
}
.bg-dark_grey,
.bg_dark_grey {
  background-color: #606060;
}

.error {
  color: #a01313;
}

.border_primary,
.border-primary {
  border: #ff3000 1px solid;
}
.border_secondary,
.border-secondary {
  border: #5c0b18 1px solid;
}
.border_white,
.border-white {
  border: #fff 1px solid;
}

/*Proportional Images*/
.container.container--square {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--square {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--square {
    padding-top: 100%;
    height: 0;
  }
}
.container.container--round {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 50%;
}
@supports (aspect-ratio: 16/9) {
  .container.container--round {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--round {
    padding-top: 100%;
    height: 0;
  }
}
.container.container--sixteennine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    padding-top: 56.25%;
    height: 0;
  }
}
.container.container--fourthree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourthree {
    aspect-ratio: 1.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourthree {
    padding-top: 75%;
    height: 0;
  }
}
.container.container--twentyonenine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    aspect-ratio: 2.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    padding-top: 42.85%;
    height: 0;
  }
}
.container.container--fivefour {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fivefour {
    aspect-ratio: 1.25;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fivefour {
    padding-top: 80%;
    height: 0;
  }
}
.container.container--fourfive {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourfive {
    aspect-ratio: 0.8;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourfive {
    padding-top: 125%;
    height: 0;
  }
}
.container.container--twothree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twothree {
    aspect-ratio: 0.6666666667;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twothree {
    padding-top: 150%;
    height: 0;
  }
}
.container.container--threetwo {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--threetwo {
    aspect-ratio: 1.5;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--threetwo {
    padding-top: 66%;
    height: 0;
  }
}
.container.container--video {
  overflow: visible;
}
.container.container--pebble {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--pebble {
    aspect-ratio: 1.1489361702;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--pebble {
    padding-top: 87%;
    height: 0;
  }
}
.container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}
.container.container--max-height {
  height: 375px;
  width: fit-content;
  position: static;
}
.container.container--max-height img {
  height: 100%;
  width: auto;
  position: static;
  max-width: calc(100vw - 2 * var(--margin));
  object-fit: contain;
}

.cover img {
  width: 100%;
  height: auto;
}

/*responsive padding and margins*/
.margins {
  margin: 1rem var(--margin);
}
@media screen and (min-width: 1200px) {
  .margins {
    margin: 2rem var(--margin) 3rem;
  }
}

.padding {
  padding: 2rem var(--margin) 2rem;
}
@media screen and (min-width: 1200px) {
  .padding {
    padding: 2rem var(--margin) 3rem;
  }
}

.double_padding {
  padding-left: var(--margin);
  padding-right: var(--margin);
}
@media screen and (min-width: 1000px) {
  .double_padding {
    padding-left: calc(var(--margin) * 2);
    padding-right: calc(var(--margin) * 2);
  }
}

.padding.padding--half {
  padding: 4rem var(--margin);
}
@media screen and (min-width: 1200px) {
  .padding.padding--half {
    padding: 4rem calc(var(--margin) / 2);
  }
}

.margin-left {
  margin-left: var(--margin);
}

.margin-right {
  margin-right: var(--margin);
}

.padding-left {
  padding-left: var(--margin);
}

.padding-right {
  padding-right: var(--margin);
}

/*Grid and Flex*/
.grid {
  display: grid;
}

.grid--two-column.margins .padding {
  padding-left: 0;
  padding-right: 0;
}
.grid--two-column.margins .margins {
  margin-left: 0;
  margin-right: 0;
}

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex.flex_50 > .flex_item, .flex.flex_50 > .flex--item {
  flex-basis: 100%;
}
.flex.flex_66-33 > .flex_item, .flex.flex_33 > .flex_item {
  flex-basis: 100%;
}
.flex.flex_25 > .flex_item {
  flex-basis: 100%;
}
.flex.flex_20 {
  justify-content: start;
  gap: 2%;
}
.flex.flex_20 > .flex_item {
  flex-basis: 48%;
}
.flex.flex_25-75 > .flex_item {
  flex-basis: 100%;
}

@media screen and (min-width: 700px) {
  .flex.flex_50 > .flex_item, .flex.flex_50 > .flex--item {
    flex-basis: calc(50% - 2rem);
  }
  .flex.flex_33 {
    flex-wrap: wrap;
  }
  .flex.flex_33 > .flex_item {
    flex-basis: calc(33% - 1.66rem);
  }
  .flex.flex_33::after {
    content: "";
    flex-basis: calc(33% - 1.66rem);
  }
  .flex.flex_25 > .flex_item {
    flex-basis: 48%;
  }
  .flex.flex_20 > .flex_item {
    flex-basis: 18%;
  }
}
@media screen and (min-width: 1000px) {
  .flex.flex_66-33 > .flex_item {
    flex-basis: 67%;
  }
  .flex.flex_66-33 > .flex_item:nth-child(2n) {
    flex-basis: 33%;
  }
  .flex.flex_25 {
    gap: 2.5%;
  }
  .flex.flex_25::after {
    content: "";
    flex-grow: 1;
  }
  .flex.flex_25 > .flex_item {
    flex-basis: 23%;
  }
  .flex.flex_25-75 .flex_item:nth-child(1) {
    flex-basis: 25%;
    margin-right: 2rem;
  }
  .flex.flex_25-75 .flex_item:nth-child(2) {
    flex-basis: calc(75% - 2rem);
  }
}
@media screen and (min-width: 1200px) {
  .flex.flex_66-33 > .flex_item {
    flex-basis: 55%;
  }
  .flex.flex_66-33 > .flex_item:nth-child(2n) {
    flex-basis: 33%;
  }
}
.inner-padding {
  padding: 2rem;
}

.fixed {
  position: fixed;
  top: 0;
}

.pebble {
  mask: url(../assets/pebble.svg) no-repeat center center;
}

/*--------------------------------------------------------------

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/*Header*/
header#masthead {
  height: var(--header-height);
  position: fixed;
  width: 100%;
  max-width: 100vw;
  top: 0;
  padding: 0;
  z-index: 999;
  transition: padding var(--transition) ease, margin var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  header#masthead {
    display: grid;
    grid-template-rows: minmax(3rem auto) calc(var(--header-height) - 3rem);
    padding-top: 0;
    position: absolute;
  }
}
header#masthead.addFixed {
  position: fixed;
  transform: translate3d(0, -100%, 0);
  transition: padding 0ms ease;
}
header#masthead.slideOut {
  transition: transform 600ms ease-in;
  transform: translate3d(0, -100%, 0);
  position: fixed;
  background-color: #ff3000;
}
header#masthead.slideOut.slideInDown {
  transform: translate3d(0, 0, 0);
  position: fixed;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}

/*This sets padding on everypage to account for the absolute positioned header*/
#primary {
  transition: padding var(--transition) ease;
  padding-top: var(--header-height);
  background: #fff;
}

@media screen and (min-width: 1000px) {
  .home #primary {
    padding-top: 0;
  }
}

/*and this to stop the white space forming when admin bar is on*/
#wpadminbar + #page {
  margin-top: -32px;
}

.main-navigation {
  display: flex;
  justify-content: center;
  width: 100vw;
  position: absolute;
  top: 100%;
  left: 0;
  background: #ff3000;
  padding-top: clamp(2rem, 3vw, 4rem);
  padding-bottom: 7.2rem;
  height: auto;
  color: #fff;
  text-align: center;
  transform: translateY(-150%);
  transition: transform var(--move-transition) ease-in;
  z-index: -1;
  max-height: calc(var(--vh) * 100 - (var(--header-height)) + 1px);
  min-height: calc(var(--vh) * 100 - (var(--header-height)) + 1px);
}
@supports (height: 100dvh) {
  .main-navigation {
    max-height: calc(100dvh - (var(--header-height)) + 1px);
    min-height: calc(100dvh - (var(--header-height)) + 1px);
    overflow: auto;
  }
}
@media screen and (min-width: 1200px) {
  .main-navigation {
    height: calc(var(--vh) * 100 - var(--header-height) + 1px);
    max-height: calc(var(--vh) * 100 - var(--header-height) + 1px);
    min-height: calc(var(--vh) * 100 - var(--header-height) + 1px);
  }
  @supports (height: 100dvh) {
    .main-navigation {
      max-height: calc(100dvh - (var(--header-height)) + 1px);
      min-height: calc(100dvh - (var(--header-height)) + 1px);
      height: calc(100dvh - (var(--header-height)) + 1px);
    }
  }
}
.main-navigation.toggled {
  transform: translate(0, 0);
  justify-content: flex-start;
  padding-left: var(--margin);
  padding-right: var(--margin);
}
.main-navigation.toggled #primary-menu {
  align-items: start;
}
.main-navigation.toggled .utilities_wrapper {
  margin-top: 4rem;
  display: flex;
  align-items: center;
  column-gap: 2rem;
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}

.main-navigation-inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: fit-content;
}
.main-navigation-inner > .text_sizer {
  margin-bottom: 1rem;
}
.main-navigation-inner > .social_media_wrapper {
  margin: 4rem 0;
}

#primary-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
  max-width: 95vw;
  margin: 0 auto;
}
#primary-menu li a {
  color: #fff;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 125%;
  transition: color var(--transition) ease-in;
  position: relative;
  margin-bottom: 0.5rem;
}
#primary-menu li a::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: #ff3000;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--transition) ease-in;
}
#primary-menu li a:hover::after {
  transform: scaleX(1);
}
@media screen and (min-width: 1200px) {
  #primary-menu li a {
    font-size: 2rem;
  }
}
@media (forced-colors: active) {
  #primary-menu li a {
    text-decoration: underline;
  }
  #primary-menu li a:hover {
    text-decoration-thickness: 0.3em;
  }
}

a.home_link {
  color: #fff;
  text-decoration: none;
  grid-row: 1/3;
  grid-column: 1/2;
}
@media screen and (min-width: 1200px) {
  a.home_link {
    grid-column: 3/4;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 0.2rem;
    position: relative;
    column-gap: 0.5rem;
    width: fit-content;
    align-self: center;
    justify-self: end;
  }
}
a.home_link:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 2px;
}

a.home_link.mobile_only {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
  height: fit-content;
  margin: auto 0;
}

@media screen and (max-width: 400px) {
  #primary-menu li a {
    font-size: 1.5rem;
    line-height: 2.25rem;
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  #primary-menu {
    width: 100%;
  }
  #primary-menu li a {
    text-transform: none;
    padding-bottom: 0.5rem;
    font-size: 1.375rem;
    margin-bottom: 1rem;
    text-decoration: none;
    font-weight: 500;
  }
}
.hamburger_container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: fit-content;
  margin: auto 0;
  grid-row: 1/3;
  grid-column: 3/4;
}
@media screen and (min-width: 1200px) {
  .hamburger_container {
    grid-column: auto;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    width: fit-content;
    margin-left: 2rem;
    display: none;
  }
}
.hamburger_container label {
  color: #fff;
}

#hamburger {
  position: relative;
  background: transparent;
  transition: top var(--transition) ease;
  z-index: 10;
  width: fit-content;
  height: 40px;
  display: grid;
  justify-content: center;
  align-items: center;
  grid-template-columns: 20px auto;
  padding-top: 4px;
}
@media screen and (min-width: 1200px) {
  #hamburger {
    align-content: center;
  }
}
#hamburger .menu_open {
  display: none;
}
#hamburger.is-active {
  outline: #fff 3px solid;
}
#hamburger.is-active .menu_open {
  display: inline;
}
#hamburger.is-active .menu_closed {
  display: none;
}

@media screen and (min-width: 1200px) {
  #primary-menu li a {
    color: #fff;
  }
}

.hamburger.close-modal {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: var(--header-height);
  background: transparent;
}

.hamburger {
  padding: 5px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: calc(var(--transition) / 2);
  transition-timing-function: linear;
  font: inherit;
  color: #fff;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  /*   &.is-active::before {
     color: $color_white;
     content: "Close";
   } */
}

@media screen and (min-width: 1200px) {
  .hamburger:hover .hamburger-inner,
  .hamburger:hover .hamburger-inner::before,
  .hamburger:hover .hamburger-inner::after {
    background-color: #ff3000;
  }
  .hamburger:hover span {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
    color: #ff3000;
  }
  .hamburger.is-active:hover .hamburger-inner,
  .hamburger.is-active:hover .hamburger-inner::before,
  .hamburger.is-active:hover .hamburger-inner::after {
    background-color: #ff3000;
  }
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.hamburger-box {
  width: 22.4px;
  height: 18px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  transition-property: transform;
  transition-duration: calc(var(--transition) / 2);
  transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -6px;
}

.hamburger-inner::after {
  bottom: -10px;
}

/*

* Hamburger Collapse

*/
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: calc(var(--transition) / 2.2);
  transition-duration: calc(var(--transition) / 2.2);
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
  top: -12px;
  transition: top calc(var(--transition) / 2) calc(var(--transition) / 2) cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity calc(var(--transition) / 4) linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top calc(var(--transition) / 3) calc(var(--transition) / 2) cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform calc(var(--transition) / 3) cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -7px, 0) rotate(-45deg);
  transition-duration: calc(var(--transition) / 1.8);
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top calc(var(--transition) / 2) cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity calc(var(--transition) / 4) calc(var(--transition) / 2) linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top calc(var(--transition) / 4) calc(var(--transition) / 3) cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform calc(var(--transition) / 3) calc(var(--transition) / 2) cubic-bezier(0.215, 0.61, 0.355, 1);
}

.site-branding .desktop_logo {
  display: none;
}
@media screen and (min-width: 1200px) {
  .site-branding .desktop_logo {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .site-branding .mobile_logo {
    display: none;
  }
}
.site-branding a {
  margin: 0 auto;
  display: block;
  width: fit-content;
  color: #fff;
  height: 100%;
}
.site-branding a svg {
  width: 65px;
  height: 64px;
}
@media screen and (min-width: 1200px) {
  .site-branding a svg {
    width: auto;
    height: 100%;
  }
}

.header {
  display: flex;
  flex-direction: row;
  width: 100vw;
  justify-content: space-between;
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: 1rem;
}

/*Mobile Menu*/
.menu-menu-1-container {
  /* 	//background-color: $color_white;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: vh(98);
  box-shadow: 4px 0 4px rgba(0, 0, 0, 0.15);
  transform: translate(0, -110%);
  transition: transform var(--transition) ease-in;
  padding: 1rem 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  flex-direction: column;
  */
  /* 	&::after {
  	content: "";
  	//position: absolute;
  	height: 100%;
  	width: 100vw;
  	//background: $color_black;
  	top: 0;
  	left: 0;
  	z-index: -1;
  	/* 	-webkit-backdrop-filter: blur(15px);
  	backdrop-filter: blur(15px); */
  /* @include media1200 {
  		display: none;
  	} */
  /*} */
}
.menu-menu-1-container .flex.so-me {
  justify-content: center;
  gap: 1rem;
}
@media screen and (min-width: 1200px) {
  .menu-menu-1-container .flex.so-me {
    display: none;
    grid-column: 4/5;
    grid-row: 1/2;
  }
}
.menu-menu-1-container .flex.so-me svg {
  width: 40px;
  height: 40px;
}
.menu-menu-1-container .flex.so-me svg path {
  transition: fill var(--transition) ease-in;
  fill: #fff;
}
.menu-menu-1-container .flex.so-me svg path:hover {
  fill: #ff3000;
}

.no-flexbox-gap .menu-menu-1-container .flex.so-me {
  gap: 0;
}
.no-flexbox-gap .menu-menu-1-container .flex.so-me > * {
  margin-right: 1rem;
}
.no-flexbox-gap .menu-menu-1-container .flex.so-me > *:last-child {
  margin-right: 0;
}

.toggled #primary-menu {
  background-color: #ff3000;
}

.toggled .menu-menu-1-container {
  transform: translate(0, 0);
  z-index: 5;
}

.mobile_nav_home svg {
  height: 40px;
  width: auto;
  display: block;
}

.mobile_nav_home {
  padding-bottom: 1rem;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .mobile_nav_home {
    display: none;
  }
}

.small_menu_heading {
  margin-bottom: 0.5rem;
}

@media screen and (min-width: 1200px) {
  .main-navigation-inner .text_sizer {
    display: none;
  }
}
@media screen and (min-width: 1200px) {
  .main-navigation-inner .mode {
    display: none;
  }
}

/*Desktop Menu*/
.nav--menu--desktop #primary-menu {
  flex-direction: row;
  list-style: none;
  column-gap: 4rem;
}

.nav-utilites--desktop {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 2rem;
  position: relative;
}
.nav-utilites--desktop .nav_search.search {
  height: 24px;
  padding: 0;
}
.nav-utilites--desktop .button--donate {
  transition: color var(--transition) ease-in, background var(--transition) ease-in, border var(--transition) ease-in;
}
.nav-utilites--desktop .button--donate:hover {
  background: #fff;
  color: #5c0b18;
  border: 1px #fff solid;
}

.desktop_nav_utilities_wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: 4rem;
}

/*Branding*/
.site-branding {
  height: calc(var(--header-height) - 5.5rem);
  position: relative;
  z-index: 11;
}

.search_toggle {
  background-color: transparent;
  display: inline;
}
.search_toggle svg {
  width: 1.2rem;
  height: 1.2rem;
}

@media screen and (min-width: 1200px) {
  #masthead {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
#primary-menu .sub-menu,
.nav-utilites--desktop .sub-menu {
  position: absolute;
  top: 0;
  transform: translate(100vw, 0);
  left: 0;
  background-color: #ff3000;
  z-index: 10;
  height: 100%;
  border-left: 2px solid #fff;
  padding-left: 1rem;
  transition: transform var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  #primary-menu .sub-menu,
  .nav-utilites--desktop .sub-menu {
    transform: translate(-50%, 0) scale(1, 0);
    transform-origin: top;
  }
}
#primary-menu .sub-menu.open,
.nav-utilites--desktop .sub-menu.open {
  transform: translate(0, 0);
}
@media screen and (min-width: 1200px) {
  #primary-menu .sub-menu.open,
  .nav-utilites--desktop .sub-menu.open {
    transform: translate(-50%, 0) scale(1, 1);
  }
}
@media screen and (min-width: 1200px) {
  #primary-menu .menu-item-has-children,
  .nav-utilites--desktop .menu-item-has-children {
    position: relative;
  }
  #primary-menu .menu-item-has-children .sub-menu,
  .nav-utilites--desktop .menu-item-has-children .sub-menu {
    border: none;
    padding: 1.5rem 1.25rem 1.25rem;
    border-radius: 1.25rem;
    top: calc(100% + 1rem);
    height: fit-content;
    width: fit-content;
    min-width: 240px;
    margin: 0;
    left: 50%;
    background-color: white;
    list-style: none;
  }
  #primary-menu .menu-item-has-children .sub-menu::before,
  .nav-utilites--desktop .menu-item-has-children .sub-menu::before {
    content: "";
    position: absolute;
    top: -0.75rem;
    left: 50%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 0.625rem solid transparent;
    border-right: 0.625rem solid transparent;
    border-bottom: 0.75rem solid white;
  }
  #primary-menu .menu-item-has-children li,
  .nav-utilites--desktop .menu-item-has-children li {
    opacity: 0;
    transition: opacity var(--transition) ease calc(var(--transition) / 2);
    margin-bottom: 1rem;
  }
  #primary-menu .menu-item-has-children li a,
  .nav-utilites--desktop .menu-item-has-children li a {
    color: #5c0b18;
    font-size: 1.25rem;
  }
  #primary-menu .menu-item-has-children.open li,
  .nav-utilites--desktop .menu-item-has-children.open li {
    opacity: 1;
  }
}

.search_group {
  display: flex;
}

@media screen and (min-width: 1200px) {
  .nav-utilites--desktop .menu-item-has-children .nav_search_popover.sub-menu {
    transform: translate(-85%, 0) scale(1, 0);
  }
  .nav-utilites--desktop .menu-item-has-children .nav_search_popover.sub-menu.open {
    transform: translate(-85%, 0) scale(1, 1);
  }
  .nav-utilites--desktop .menu-item-has-children .nav_search_popover.sub-menu::before {
    left: 85%;
  }
}

/*Search*/
/*Breadcrumbs*/
.breadcrumbs {
  display: none;
}
@media screen and (min-width: 1200px) {
  .breadcrumbs {
    display: block;
  }
}

.breadcrumbs .crumb svg {
  height: 0.85rem;
  width: auto;
  margin-right: 0.25rem;
  margin-bottom: 0.15rem;
}
.breadcrumbs .crumb svg path {
  fill: #5c0b18;
}

.breadcrumb_container {
  margin-bottom: 1rem;
}

.breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-direction: row;
  column-gap: 1rem;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0;
}
.breadcrumbs ol a {
  text-decoration: none;
  color: #5c0b18;
  display: flex;
  align-items: center;
}
.breadcrumbs ol .crumb {
  font-weight: 700;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}
.breadcrumbs ol .crumb--current {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}

li.crumb::before {
  content: " / ";
  color: #5c0b18;
  font-size: 1rem;
  position: relative;
  margin-right: 1rem;
  font-weight: 400;
}

li.crumb:first-of-type::before {
  content: "";
  margin-right: 0;
}

li.crumb--current::before {
  content: " / ";
  color: #5c0b18;
  font-size: 1rem;
  position: relative;
  margin-right: 1rem;
  font-weight: 400;
}

@media screen and (min-width: 1200px) {
  a.home_link.desktop_only {
    grid-column: auto;
  }
}

/* Posts and pages
--------------------------------------------- */
.content_block {
  margin-bottom: 2rem;
}
.content_block.content_block--content {
  margin-bottom: 0;
}

@media screen and (min-width: 1200px) {
  .column--one .heading {
    max-width: 85%;
  }
}

.big_text {
  padding: 4rem 0;
  width: 1080px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto;
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  line-height: 175%;
  text-align: left;
}
.big_text strong {
  display: block;
  margin-bottom: 1rem;
}
.big_text p,
.big_text a {
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  line-height: 175%;
}
.big_text a {
  font-weight: 700;
  text-align: center;
  display: block;
}
.big_text a:empty {
  display: none;
}

.text_image .block,
.bsl-video .block {
  padding: 4rem 0;
}
.text_image .block.grid--two-column,
.bsl-video .block.grid--two-column {
  padding: 0;
  grid-template-rows: 1fr 1fr;
}
.text_image .block.grid--two-column .block-text,
.bsl-video .block.grid--two-column .block-text {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.text_image .block.grid--two-column .padding-right,
.bsl-video .block.grid--two-column .padding-right {
  padding-left: var(--margin);
}
.text_image .block.grid--two-column .padding-left,
.bsl-video .block.grid--two-column .padding-left {
  padding-right: var(--margin);
  grid-row: 2/3;
}
@media screen and (min-width: 700px) {
  .text_image .block.grid--two-column,
  .bsl-video .block.grid--two-column {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    grid-template-rows: minmax(420px, min-content);
  }
  .text_image .block.grid--two-column .padding-right,
  .bsl-video .block.grid--two-column .padding-right {
    padding-left: 4rem;
  }
  .text_image .block.grid--two-column .padding-left,
  .bsl-video .block.grid--two-column .padding-left {
    padding-right: 4rem;
    grid-row: 1/2;
  }
  .text_image .block.grid--two-column .padding-left + .alt-block .alt_block,
  .bsl-video .block.grid--two-column .padding-left + .alt-block .alt_block {
    right: 15px;
  }
}
.text_image .bg-primary .single,
.bsl-video .bg-primary .single {
  width: 680px;
  max-width: calc(100vw - 2 * var(--margin));
}
.text_image .bg-primary .single h3,
.bsl-video .bg-primary .single h3 {
  font-size: 2.2rem;
  color: #5c0b18;
}
.text_image .single,
.bsl-video .single {
  width: 1020px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto;
}
.text_image h3,
.bsl-video h3 {
  color: #27050A;
  font-size: 1.6rem;
  line-height: 145%;
}
.text_image .cover.block-image.alt-block img,
.bsl-video .cover.block-image.alt-block img {
  height: 100%;
  object-fit: cover;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.text_image .block-text,
.bsl-video .block-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bsl-video .block.grid--two-column {
  grid-template-rows: auto auto;
}
@media screen and (min-width: 700px) {
  .bsl-video .block.grid--two-column {
    grid-template-rows: auto;
    grid-template-columns: auto;
  }
  .bsl-video .block.grid--two-column .padding-right {
    padding-left: var(--margin);
  }
  .bsl-video .block.grid--two-column .padding-left {
    padding-right: var(--margin);
  }
}
@media screen and (min-width: 1000px) {
  .bsl-video .block.grid--two-column {
    grid-template-rows: 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  .bsl-video .block.grid--two-column .padding-right {
    padding-left: 4rem;
  }
  .bsl-video .block.grid--two-column .padding-left {
    padding-right: 4rem;
  }
  .bsl-video .block.grid--two-column .padding-left + .alt-block .alt_block {
    right: 15px;
  }
  .bsl-video .block.grid--two-column .block-text {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.bsl-video h3 {
  font-size: 2.4rem;
  color: #5c0b18;
}

/*So the two anchors aren't hidden by the header*/
#bsl,
#express_your_interest,
#response {
  scroll-margin-top: calc(var(--header-height) + 50px);
}

.muted .text_image:has(.bg-primary_sub, .bg-secondary_sub) ~ .text_image:has(.bg-primary_sub, .bg-secondary_sub) {
  border-top: 1px solid #5c0b18;
}

.block_quote {
  position: relative;
  width: 1020px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto;
  padding: 4rem 0 4rem;
}
@media screen and (min-width: 1000px) {
  .block_quote {
    padding: 4rem 0;
  }
}
.block_quote::before {
  content: "";
  position: absolute;
  top: 3rem;
  left: 0;
  width: 3rem;
  height: 3.4rem;
  background-image: url(../assets/quotes.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1000px) {
  .block_quote::before {
    left: -5rem;
    top: 4rem;
    width: 4rem;
  }
}
.block_quote p,
.block_quote footer {
  font-size: 1.4rem;
  line-height: 150%;
  font-weight: 700;
}
.block_quote p {
  color: #5c0b18;
}

.content_wrapper .block_quote,
.wp-block-ace-content-blocks .block_quote {
  width: 100%;
}
.content_wrapper .block_quote::before,
.wp-block-ace-content-blocks .block_quote::before {
  top: 0rem;
  left: 0;
}

.blog_list {
  padding-top: 4rem;
  padding-bottom: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.blog_list > a {
  margin-bottom: 2rem;
}
.blog_list > a.mobile_only {
  margin-top: 2rem;
}

.blog_list h2 {
  margin-bottom: 3rem;
}

.blog_list > .flex {
  flex-basis: 100%;
}

.cat-list.flex {
  list-style-type: none;
  padding: 0;
  margin: 0 0 1rem;
  justify-content: flex-start;
  column-gap: 1rem;
}

.no-flexbox-gap .cat-list.flex {
  gap: 0;
}
.no-flexbox-gap .cat-list.flex > * {
  margin-right: 1rem;
}
.no-flexbox-gap .cat-list.flex > *:last-child {
  margin-right: 0;
}

@media screen and (min-width: 1000px) {
  .org_list .two_column {
    flex-direction: row-reverse;
  }
  .org_list .two_column > :last-child {
    flex-basis: 73%;
  }
  .org_list .two_column > :first-child {
    flex-basis: 22%;
  }
}
.org_list h2 {
  margin-bottom: 3rem;
}

/* #filter_list {
	max-height: 0;
	overflow: hidden;
	visibility: hidden;
	transition: max-height var(--move-transition) ease;
	&.open {
		visibility: visible;
		max-height: 1000px;
	}
} */
#open_filters {
  background-color: #5c0b18;
  margin: 0 auto 2rem;
  padding: 1rem;
  border-radius: 5px;
}

@media screen and (min-width: 1000px) {
  #filter_list {
    max-height: unset;
    visibility: visible;
  }
  #open_filters {
    display: none;
  }
}
.support_organisation_item {
  margin-bottom: 1rem;
  display: grid;
  grid-template-rows: min-content auto;
}
.support_organisation_item svg {
  display: none;
}
@media screen and (min-width: 1000px) {
  .support_organisation_item svg {
    display: block;
    justify-self: end;
    margin-right: 1rem;
    transition: transform calc(1.5 * var(--transition)) ease;
  }
}
.support_organisation_item a {
  padding: 1rem;
  display: grid;
  grid-template-rows: min-content 1fr;
  gap: 1rem;
  text-decoration: none;
}
@media screen and (min-width: 1000px) {
  .support_organisation_item a {
    grid-template-rows: min-content 1fr min-content;
  }
}
.support_organisation_item a h3 {
  text-decoration: underline;
  text-decoration-thickness: 0.05em;
  line-height: 130%;
}
.support_organisation_item a p {
  text-decoration: none;
  color: #27050A;
}
.support_organisation_item a:hover h3 {
  text-decoration-thickness: 0.1em;
}
.support_organisation_item a:hover svg {
  transform: translateX(0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  .support_organisation_item a:hover svg {
    transform: none;
  }
}

.bg-primary-primary_sub .block-text p {
  color: var(--color-black-to-white);
}
.bg-primary-primary_sub .block-text h3 {
  color: var(--color-secondary-to-white);
}

.support_organisation_item picture.featured-img.alt-block {
  margin: 1rem 1rem 0;
  position: relative;
  height: 0;
  padding-top: 51%;
}
.support_organisation_item picture.featured-img.alt-block img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#response,
#signupform {
  position: relative;
}
#response::before,
#signupform::before {
  z-index: 10;
  content: "";
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  border-radius: 25px;
  width: 50px;
  height: 50px;
  border: 5px solid #5c0b18;
  border-bottom-color: transparent;
  animation: spin 1s ease-in-out infinite;
  display: none;
}
#response .flex_item,
#signupform .flex_item {
  opacity: 1;
  transition: opacity var(--transition) ease;
}
#response.loading::before,
#signupform.loading::before {
  display: block;
}
#response.loading .flex_item,
#signupform.loading .flex_item {
  opacity: 0.1;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.sidebar.filter_list {
  display: block;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--move-transition) ease;
}
@media screen and (min-width: 1000px) {
  .sidebar.filter_list {
    max-height: unset;
    overflow: initial;
  }
}

.open.sidebar.filter_list {
  max-height: 2000px;
}

#current_filters,
#blog_filters {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  column-gap: 2rem;
  font-weight: 700;
  flex-wrap: wrap;
}

.no-flexbox-gap #current_filters,
.no-flexbox-gap #blog_filters {
  gap: 0;
}
.no-flexbox-gap #current_filters > *,
.no-flexbox-gap #blog_filters > * {
  margin-right: 2rem;
}
.no-flexbox-gap #current_filters > *:last-child,
.no-flexbox-gap #blog_filters > *:last-child {
  margin-right: 0;
}

.current_filters {
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 2rem;
  flex-direction: column;
}
@media screen and (min-width: 1000px) {
  .current_filters {
    gap: 2rem;
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: max-content auto max-content;
    align-items: center;
  }
}
.current_filters p {
  margin: 0;
}
.current_filters.hide {
  display: none;
}

.filter input[type=reset].hide {
  display: none;
}

.filter input[type=reset].hide {
  display: none;
}

@media screen and (min-width: 700px) {
  .content-directory .flex.flex_33 > .flex_item {
    flex-basis: calc(33% - 0.5rem);
  }
}
button#clear {
  width: fit-content;
  justify-self: end;
  color: #5c0b18;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  border-left: 1px solid #725a88;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  font-weight: 700;
}
button#clear svg {
  margin-right: 0.5rem;
}
button#clear svg path {
  fill: #5c0b18;
}
button#clear:hover {
  text-decoration-thickness: 0.2em;
}

input.button.decorative.reset {
  border-radius: 0.25rem;
  width: 100%;
  background-color: #5c0b18;
  color: #fff;
  padding: 1.2rem;
  text-align: center;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
input.button.decorative.reset:hover {
  background-color: #27050A;
}

#filter ul,
#express_your_interest ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#filter li,
#express_your_interest li {
  margin-bottom: 1rem;
}
#filter input[type=checkbox],
#express_your_interest input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
#filter input[type=checkbox] + label,
#express_your_interest input[type=checkbox] + label {
  padding-left: 1.2rem;
  position: relative;
  display: block;
  line-height: 105%;
  cursor: pointer;
}
#filter input[type=checkbox] + label::before, #filter input[type=checkbox] + label::after,
#express_your_interest input[type=checkbox] + label::before,
#express_your_interest input[type=checkbox] + label::after {
  content: "";
  left: 0;
  top: calc(50% - 0.5rem);
  position: absolute;
}
#filter input[type=checkbox] + label::before,
#express_your_interest input[type=checkbox] + label::before {
  width: 1rem;
  height: 1rem;
  border: 1px solid #343434;
  background: #fff;
  transition: background-color var(--transition) ease;
}
#filter input[type=checkbox] + label::after,
#express_your_interest input[type=checkbox] + label::after {
  width: 0.7rem;
  height: 0.3rem;
  border: 1px solid #343434;
  border-top-color: transparent;
  border-right-color: transparent;
  transform: rotate(-52deg) translate(-2px, 4px);
  opacity: 0;
  transition: opacity var(--transition) ease;
}
#filter input[type=checkbox] + label:hover,
#express_your_interest input[type=checkbox] + label:hover {
  text-decoration: underline;
}
#filter input[type=checkbox] + label:hover::before,
#express_your_interest input[type=checkbox] + label:hover::before {
  background-color: #ffefcd;
}
#filter input[type=checkbox]:hover + label::before,
#express_your_interest input[type=checkbox]:hover + label::before {
  background-color: #ffefcd;
}
#filter input[type=checkbox]:checked + label::before,
#express_your_interest input[type=checkbox]:checked + label::before {
  background-color: #ff3000;
}
#filter input[type=checkbox]:checked + label::after,
#express_your_interest input[type=checkbox]:checked + label::after {
  opacity: 1;
}
#filter input[type=checkbox]:focus + label,
#express_your_interest input[type=checkbox]:focus + label {
  outline: 2px solid;
  outline-offset: 2px;
}

#express_your_interest input[type=checkbox] + label::after {
  border: 1px solid #fff;
  border-top-color: transparent;
  border-right-color: transparent;
}
#express_your_interest input[type=checkbox]:checked + label::before {
  background-color: #5c0b18;
}

.muted #express_your_interest input[type=checkbox] + label::after {
  border: 1px solid #27050A;
  border-top-color: transparent;
  border-right-color: transparent;
}
.muted #express_your_interest input[type=checkbox]:checked + label::before {
  background-color: #ff3000;
}

.pagination {
  list-style: none;
  display: flex;
  gap: 1rem;
  margin-left: 0;
  padding: 0;
  justify-content: center;
}

.no-flexbox-gap .pagination {
  gap: 0;
}
.no-flexbox-gap .pagination > * {
  margin-right: 0.1rem;
}
.no-flexbox-gap .pagination > *:last-child {
  margin-right: 0;
}

.page-numbers {
  width: 2rem;
  height: 2rem;
  display: flex;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  background-color: #f8f8f8;
  color: #27050A;
  text-decoration: none;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
.page-numbers.current {
  background-color: #ff3000;
  color: #fff;
}
.page-numbers.current:visited {
  color: #fff;
}
.page-numbers:hover {
  text-decoration: none;
  background-color: #5c0b18;
  color: #fff;
}
.page-numbers:hover:visited {
  color: #fff;
}
.page-numbers:visited {
  color: #27050A;
}

#response nav {
  flex-basis: 100%;
  grid-column: 1/-1;
}

.title_with_logo {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.link_blocks {
  justify-content: center;
  gap: 2rem;
}

.link-block {
  width: 650px;
  max-width: 100%;
  padding: 2rem;
  display: grid;
  grid-template-rows: min-content 1fr;
  gap: 1rem;
  text-decoration: none;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .link-block {
    grid-template-rows: min-content 1fr min-content;
  }
}
.link-block h3 {
  text-decoration: underline;
  text-decoration-thickness: 0.05em;
  padding-right: 2rem;
}
.link-block p {
  text-decoration: none;
  color: #27050A;
}
.link-block:hover h3 {
  text-decoration-thickness: 0.1em;
}
.link-block:hover svg {
  transform: translateX(1rem);
}
.link-block svg {
  position: absolute;
  top: 2rem;
  right: 2rem;
}
@media screen and (min-width: 1000px) {
  .link-block svg {
    position: static;
    display: block;
    justify-self: end;
    margin-right: 1rem;
    transition: transform var(--move-transition) ease;
  }
}

.wp-block-ace-columns,
.wp-block-ace-partners-block {
  padding-top: 4rem;
}
.wp-block-ace-columns > h2,
.wp-block-ace-partners-block > h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.wp-block-ace-columns > h2:empty,
.wp-block-ace-partners-block > h2:empty {
  display: none;
}
.wp-block-ace-columns .wp-block-columns,
.wp-block-ace-partners-block .wp-block-columns {
  gap: 3rem;
}
.wp-block-ace-columns + .wp-block-ace-columns,
.wp-block-ace-partners-block + .wp-block-ace-columns {
  padding-top: 0;
}
.wp-block-ace-columns h2,
.wp-block-ace-columns h3,
.wp-block-ace-columns h4,
.wp-block-ace-columns h5,
.wp-block-ace-partners-block h2,
.wp-block-ace-partners-block h3,
.wp-block-ace-partners-block h4,
.wp-block-ace-partners-block h5 {
  color: var(--color-secondary-to-secondary-lighter);
}
.wp-block-ace-columns p,
.wp-block-ace-columns ul,
.wp-block-ace-columns li,
.wp-block-ace-columns ol,
.wp-block-ace-partners-block p,
.wp-block-ace-partners-block ul,
.wp-block-ace-partners-block li,
.wp-block-ace-partners-block ol {
  color: var(--color-black-to-white);
}
.wp-block-ace-columns .wp-block-ace-column-block img,
.wp-block-ace-partners-block .wp-block-ace-column-block img {
  width: auto;
  max-height: 80px;
}

.muted .wp-block-ace-columns .wp-block-ace-column-block img,
.muted .wp-block-ace-partners-block img {
  filter: invert(1);
}

.wp-block-ace-partners-block .grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 3rem 0;
  justify-content: center;
}
.wp-block-ace-partners-block .grid img {
  height: 7rem;
  width: auto;
  max-width: 300px;
  object-fit: contain;
}

.border-top h3 {
  border-top: 2px solid var(--color-secondary-to-secondary-lighter);
  margin-top: 2rem;
  padding-top: 1rem;
}

/* .breadcrumb_container+.blog_list {
    padding-top: 0;
}
 */
.content.content-blog .flex_item {
  margin-bottom: 1rem;
}

#blog_filters {
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 2rem;
  gap: 0;
}
#blog_filters p {
  margin: 0;
}
#blog_filters button {
  color: black;
  background-color: transparent;
  text-underline-offset: 0.2em;
}
#blog_filters button.active, #blog_filters button:hover {
  text-decoration: underline;
}

.content-blog .flex_33 {
  gap: 2rem;
}

.back_to a {
  width: fit-content;
}

/* Testimonials Block */
.layout_block--testimonials {
  overflow: hidden;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .layout_block--testimonials {
    margin-bottom: 2rem;
  }
}
.layout_block--testimonials .button--prev {
  position: relative;
  top: 0;
  right: 0;
  display: flex;
  max-width: calc(73px + 4rem + 1334px);
}
@media screen and (min-width: 1200px) {
  .layout_block--testimonials .button--prev {
    justify-content: flex-end;
    padding-right: 4rem;
  }
}
.layout_block--testimonials .button--next {
  position: relative;
  display: flex;
  top: -1.3rem;
  right: 0;
  justify-content: flex-end;
  max-width: calc(73px + 4rem + 1334px);
}

.swiper-slide.grid--testimonial {
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto 1fr;
  column-gap: 1rem;
}
@media screen and (min-width: 1200px) {
  .swiper-slide.grid--testimonial {
    grid-template-columns: 73px 1fr;
    column-gap: 4rem;
    row-gap: 2rem;
  }
}
.swiper-slide.grid--testimonial .testimonial_svg {
  grid-columns: 1/2;
  grid-row: 1/2;
}
.swiper-slide.grid--testimonial .testimonial_svg svg {
  width: 44px;
  height: auto;
}
@media screen and (min-width: 1200px) {
  .swiper-slide.grid--testimonial .testimonial_svg svg {
    width: 73px;
  }
}
.swiper-slide.grid--testimonial .testimonial_testimonial {
  line-height: 2rem;
  max-width: 1334px;
}
.swiper-slide.grid--testimonial .testimonial_source {
  grid-column: 2/3;
  grid-row: 2/3;
  text-decoration: none;
}

/*Quote Block */
a.content_block--quote {
  text-decoration: none;
  margin-bottom: 2rem;
  height: fit-content;
  display: block;
  border-bottom: 1px #5c0b18 solid;
}
a.content_block--quote .heading--content {
  max-width: 100%;
}
@media screen and (min-width: 1200px) {
  a.content_block--quote p {
    font-size: 1.125rem;
    line-height: 2.125rem;
  }
}

/*Button Block*/
.content_block--button {
  justify-content: flex-start;
  column-gap: 2rem;
  row-gap: 1rem;
  flex-wrap: wrap;
}

/*Two Column Image/Text */
@media screen and (min-width: 1200px) {
  .content_block--two_column.grid--two-column.grid--two-column-equal .column--two {
    padding-right: 0;
    padding-left: 2rem;
  }
}

.image-caption {
  margin-top: 1rem;
}

/*Quote Block */
.content_block--quote {
  margin-bottom: 2rem;
  height: fit-content;
  display: block;
  border-bottom: 1px #5c0b18 solid;
}
.content_block--quote .heading--content {
  max-width: 100%;
}
@media screen and (min-width: 1200px) {
  .content_block--quote p {
    font-size: 1.125rem;
    line-height: 2.125rem;
  }
}

a.content_block--quote {
  text-decoration: none;
}

/*Two Column Image/Text */
@media screen and (min-width: 1200px) {
  .content_block--two_column.grid--two-column.grid--two-column-equal .column--two {
    padding-right: 0;
    padding-left: 2rem;
  }
}

.image-caption {
  margin-top: 1rem;
}

@media only screen and (max-width: 1000px) {
  .related_resources {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #5c0b18;
  }
}

.related_resources h2 {
  margin-bottom: 3rem;
  font-size: 2.5rem;
}

@media screen and (min-width: 1200px) {
  .column--one {
    grid-column: 1/2;
  }
  .column--two {
    grid-column: 2/3;
  }
  .column--two.side_bar {
    margin-left: 4rem;
  }
  .column--span {
    grid-column: 1/3;
  }
  .grid--two-column {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: auto 1fr;
    grid-auto-flow: dense;
    column-gap: 2rem;
  }
  .grid--two-column > * {
    min-width: 0px;
  }
  .grid--two-column .padding {
    padding-left: 0;
    padding-right: 0;
  }
  .grid--two-column.has_crumb {
    grid-template-rows: 4rem auto;
  }
  .grid--two-column.grid--two-column-equal {
    grid-template-columns: 1fr 1fr;
  }
  .grid--two-column.grid--45_55 {
    grid-template-columns: 9fr 11fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--45_55 .column--two {
    padding-right: 4rem;
  }
  .grid--two-column.grid--55_45 {
    grid-template-columns: 11fr 9fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--55_45 .column--two {
    padding-left: 4rem;
  }
  .grid--two-column.grid--9_5 {
    grid-template-columns: 9fr 5fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--9_5 .column--two {
    padding-left: 4rem;
  }
}
.grid--three-column {
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 2rem;
}
.grid--three-column .column--one {
  grid-column: 1/3;
}
.grid--three-column .column--two {
  grid-column: 1/2;
}
.grid--three-column .column--three {
  grid-column: 2/3;
}
@media screen and (min-width: 1000px) {
  .grid--three-column {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr;
  }
  .grid--three-column .column--one {
    grid-column: 1/2;
  }
  .grid--three-column .column--two {
    grid-column: 2/3;
  }
  .grid--three-column .column--three {
    grid-column: 3/4;
  }
}
.grid--three-column.grid--three-column-equal {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 1000px) {
  .grid--three-column.grid--three-column-equal {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.grid--two_five {
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
@media screen and (min-width: 1000px) {
  .grid--two_five {
    grid-template-columns: 3fr 10fr;
    grid-template-rows: 1fr;
  }
}

.grid_33 {
  gap: 2rem;
}
@media screen and (min-width: 1000px) {
  .grid_33 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* header.content-header * {
    text-align: center;
}  What's this doing?? Deleted for now*/
/*Single Page Headers */
.content-header {
  padding-top: 3rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .content-header {
    padding-top: 3rem;
    padding-bottom: 4rem;
  }
}
@media screen and (min-width: 1200px) {
  .content-header h1.content-title {
    font-size: 4rem;
  }
}
.content-header .secondary_sub {
  font-weight: bold;
  width: fit-content;
  margin: 0 auto 2rem;
  text-transform: none;
}
@media screen and (min-width: 1200px) {
  .content-header .secondary_sub {
    font-size: 1.25rem;
  }
}
.content-header .secondary_sub a {
  color: var(--color-secondary-to-white);
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.3em;
}
.content-header .secondary_sub a:hover {
  text-decoration-thickness: 0.15em;
}
.content-header .flex.cats {
  list-style: none;
  justify-content: flex-start;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0;
}

.single .pebble_drop_header h1,
.page-child .pebble_drop_header h1 {
  font-size: 2rem;
}
@media screen and (min-width: 1000px) {
  .single .pebble_drop_header h1,
  .page-child .pebble_drop_header h1 {
    font-size: 3rem;
    margin-top: 2rem;
  }
}
.single .pebble_drop_header + .breadcrumb_container,
.page-child .pebble_drop_header + .breadcrumb_container {
  margin-top: calc(-25vh + var(--header-height) + 2rem);
}
.single .content-meta,
.page-child .content-meta {
  display: flex;
  gap: 1rem;
}
.single .content-meta a,
.page-child .content-meta a {
  font-weight: 400;
  color: #fff;
}
.single .content-meta span + span:not(.link),
.page-child .content-meta span + span:not(.link) {
  padding-left: 1rem;
  border-left: 1px solid #fff;
}
.single .content-meta .meta_item:not(.link),
.page-child .content-meta .meta_item:not(.link) {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 400;
}
.single .content-meta .meta_item:not(.link) a:has(~ a),
.page-child .content-meta .meta_item:not(.link) a:has(~ a) {
  margin-right: -0.5rem;
}
.single .content-meta .meta_item:not(.link) svg,
.page-child .content-meta .meta_item:not(.link) svg {
  height: 1.25rem;
  display: inline;
  width: 1.25rem;
}
.single .content-meta .meta_item:not(.link) svg path,
.page-child .content-meta .meta_item:not(.link) svg path {
  fill: #fff;
}
.single .content-meta .link a,
.page-child .content-meta .link a {
  text-decoration: none;
  font-size: 1.25rem;
  align-items: center;
}

.content-meta.primary span + span:not(.link) {
  padding-left: 1rem;
  border-left: 1px solid #ff3000;
}
.content-meta.secondary span + span:not(.link) {
  padding-left: 1rem;
  border-left: 1px solid #5c0b18;
}

/**
 * Swiper 11.0.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: November 22, 2023
 */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none; /* For Firefox */
  -ms-overflow-style: none; /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.button--prev,
.button--next {
  cursor: pointer;
}

/* Review Carousel*/
.carousel--reviews {
  padding-bottom: 4rem;
  position: relative;
  margin-right: 0;
  overflow: hidden;
}
@media screen and (min-width: 1000px) {
  .carousel--reviews {
    padding-bottom: 1rem;
    overflow: visible;
    margin-left: 0;
  }
}
.carousel--reviews .swiper-slide {
  width: auto;
  height: auto;
}
@media screen and (min-width: 1200px) {
  .carousel--reviews .swiper-slide {
    flex-basis: 20%;
  }
}
.carousel--reviews .button--prev,
.carousel--reviews .button--next {
  top: unset;
  bottom: 0;
}
.carousel--reviews .button--prev svg,
.carousel--reviews .button--next svg {
  width: 32px;
  height: 32px;
}
.carousel--reviews .button--prev svg path,
.carousel--reviews .button--next svg path {
  transition: fill var(--transition) ease-in;
}
.carousel--reviews .button--prev:hover svg path,
.carousel--reviews .button--prev :active svg path,
.carousel--reviews .button--next:hover svg path,
.carousel--reviews .button--next :active svg path {
  fill: #ff3000;
}
.carousel--reviews .button--prev {
  right: calc(var(--margin) + 3rem);
}
@media screen and (min-width: 1000px) {
  .carousel--reviews .button--prev {
    left: calc(var(--margin) - 4rem);
    z-index: 9;
    top: 50%;
    bottom: unset;
    right: unset;
  }
}
@media screen and (min-width: 1000px) {
  .carousel--reviews .button--next {
    right: calc(var(--margin) - 4rem);
    z-index: 9;
    top: 50%;
    bottom: unset;
  }
}
@media screen and (min-width: 1000px) {
  .carousel--reviews::before {
    content: "";
    background: #f7f7f7;
    width: var(--margin);
    height: calc(100% + 1rem);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    margin-top: -1rem;
    margin-bottom: -1rem;
  }
}
.carousel--reviews::after {
  content: "";
  background: #f7f7f7;
  width: var(--margin);
  height: calc(100% + 1rem);
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  margin-top: -1rem;
  margin-bottom: -1rem;
}

/*Gallery Carousel*/
.block--carousel {
  position: relative;
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 1200px) {
  .block--carousel {
    margin-top: 0;
  }
}
.block--carousel h3 {
  color: #27050A;
  font-size: 1.375rem;
  line-height: 1.75rem;
  max-width: calc(100% - var(--margin) - 85px);
}
@media screen and (min-width: 1200px) {
  .block--carousel h3 {
    font-size: 1.75rem;
    line-height: 3rem;
  }
}
.block--carousel .button--prev,
.block--carousel .button--next {
  top: 0;
  z-index: 9;
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev,
  .block--carousel .button--next {
    top: 231.5px;
  }
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev::before,
  .block--carousel .button--next::before {
    content: "";
    background: none;
    width: 44px;
    height: 44px;
    position: absolute;
    display: block;
    bottom: 0;
    right: 0;
    z-index: -1;
    border-radius: 50%;
    box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.25);
  }
}
.block--carousel .button--prev svg,
.block--carousel .button--next svg {
  height: 33px;
  width: 33px;
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev svg,
  .block--carousel .button--next svg {
    height: 44px;
    width: 44px;
  }
}
.block--carousel .button--prev svg path,
.block--carousel .button--next svg path {
  transition: fill var(--transition) ease-in;
  fill: #9f9f9f;
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev svg path,
  .block--carousel .button--next svg path {
    fill: #fff;
  }
}
.block--carousel .button--prev svg #Path_2130,
.block--carousel .button--next svg #Path_2130 {
  fill: transparent;
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev svg #Path_2130,
  .block--carousel .button--next svg #Path_2130 {
    fill: #27050A;
  }
}
.block--carousel .button--prev svg:hover path,
.block--carousel .button--next svg:hover path {
  fill: #ff3000;
}
.block--carousel .button--prev {
  right: calc(var(--margin) + 1rem + 33px);
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--prev {
    right: unset;
    left: 2rem;
  }
}
.block--carousel .button--next {
  right: var(--margin);
}
@media screen and (min-width: 1200px) {
  .block--carousel .button--next {
    right: calc(var(--margin) + 2rem);
  }
}

.carousel--gallery .swiper-slide {
  width: min-content;
}
.carousel--gallery::before {
  content: "";
  background: #f7f7f7;
  display: block;
  height: 104%;
  width: var(--margin);
  position: absolute;
  z-index: 9;
  left: calc(var(--margin) * -1);
  top: -2px;
}
.carousel--gallery::after {
  content: "";
  background: #f7f7f7;
  display: block;
  height: 104%;
  width: var(--margin);
  position: absolute;
  z-index: 9;
  right: 0;
  top: -2px;
}

.carousel--zoomer .swiper-slide {
  max-width: calc(100vw - 2 * var(--margin));
  width: calc(100vw - 2 * var(--margin));
  margin-left: var(--margin);
  margin-right: var(--margin);
  display: flex;
  justify-content: center;
  align-items: center;
}
.carousel--zoomer .button--prev {
  top: 50vh;
  left: calc(var(--margin) - 16.5px);
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .button--prev {
    top: 50vh;
  }
}
.carousel--zoomer .button--next {
  top: 50vh;
  right: calc(var(--margin) - 16.5px);
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .button--next {
    top: 50vh;
    left: unset;
    right: var(--margin);
  }
}
.carousel--zoomer .slide_index {
  top: calc(var(--vh) * 5);
  left: var(--margin);
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .slide_index {
    top: calc(var(--vh) * 4);
    right: unset;
    left: var(--margin);
  }
}
.carousel--zoomer .close_zoomer {
  padding-right: 0;
}

/* Associate Carousels*/
.associate_carousel_block {
  position: relative;
}

.carousel--associates {
  position: relative;
}
.carousel--associates::before {
  content: "";
  position: absolute;
  background: #fff;
  display: block;
  height: 100%;
  top: 0;
  right: 100%;
  width: calc(var(--margin) * 2);
  z-index: 9;
}
.carousel--associates::after {
  content: "";
  position: absolute;
  background: #fff;
  display: block;
  height: 100%;
  top: 0;
  left: 100%;
  width: calc(var(--margin) * 2);
  z-index: 9;
}
.carousel--associates .swiper-wrapper {
  align-items: center;
}

.carousel--associates .button--prev,
.button--next {
  top: 0;
  z-index: 99;
}

.carousel--associates .button--prev {
  left: -1rem;
  top: 50%;
  width: fit-content;
}
@media screen and (min-width: 700px) {
  .carousel--associates .button--prev {
    left: -2rem;
  }
}
@media screen and (min-width: 1000px) {
  .carousel--associates .button--prev {
    left: -3rem;
  }
}
@media screen and (min-width: 1200px) {
  .carousel--associates .button--prev {
    left: -3rem;
  }
}
@media screen and (min-width: 1600px) {
  .carousel--associates .button--prev {
    left: -6rem;
  }
}

.carousel--associates .button--next {
  right: -1rem;
  top: 50%;
  width: fit-content;
}
@media screen and (min-width: 700px) {
  .carousel--associates .button--next {
    right: -2rem;
  }
}
@media screen and (min-width: 1000px) {
  .carousel--associates .button--next {
    right: -3rem;
  }
}
@media screen and (min-width: 1200px) {
  .carousel--associates .button--next {
    right: -3rem;
  }
}
@media screen and (min-width: 1600px) {
  .carousel--associates .button--next {
    right: -6rem;
  }
}

.associate_carousel_title {
  margin-bottom: 0;
}

.current_filters p:has(~ div:empty) {
  display: none;
}

.current_filters div:empty ~ #clear {
  display: none;
}

.form_expander {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition) ease;
}
.form_expander iframe {
  width: 420px;
  max-width: calc(100vw - 2 * var(--margin));
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  display: block;
}
@media screen and (min-width: 1000px) {
  .form_expander iframe {
    margin: 0;
    margin-top: 3rem;
  }
}

.form_expander.open {
  max-height: 1000px;
}

.form_expander_wrapper .pill {
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  .form_expander_wrapper .pill {
    margin: 0;
  }
}

input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
input[type=checkbox] + label {
  position: relative;
  padding-left: 2rem;
  cursor: pointer;
  font-weight: 400;
}
input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  top: -0.25;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid #27050A;
  border-radius: 0.25rem;
  background: white;
}
input[type=checkbox] + label::after {
  content: "";
  position: absolute;
  top: 0.25rem;
  left: 0.25rem;
  width: 0.75rem;
  height: 0.25rem;
  border: 2px solid #27050A;
  border-right: none;
  border-top: none;
  transform: rotate(-45deg);
  transition: opacity var(--transition) ease;
  opacity: 0;
}
input[type=checkbox]:checked + label::after {
  opacity: 1;
}

.form_wrapper {
  margin: 3rem 0;
  display: grid;
  grid-template-rows: 50px auto;
  align-items: start;
  gap: 2rem;
}
@media screen and (min-width: 1000px) {
  .form_wrapper {
    grid-template-columns: 50px auto;
    grid-template-rows: auto;
  }
}
.form_wrapper.no_icon {
  display: block;
  margin: 0;
}
.form_wrapper.no_icon h2 {
  color: #ff3000;
  font-weight: 400;
}
.form_wrapper .pebble {
  width: fit-content;
}
.form_wrapper h2 {
  font-weight: 500;
  margin-top: 0.5rem;
}
.form_wrapper .gform_wrapper label, .form_wrapper .gform_wrapper label.gfield_label {
  font-size: 1rem;
  font-weight: 400;
}
.form_wrapper .gform_wrapper input[type=text],
.form_wrapper .gform_wrapper input[type=email],
.form_wrapper .gform_wrapper input[type=password],
.form_wrapper .gform_wrapper input[type=search],
.form_wrapper .gform_wrapper input[type=tel],
.form_wrapper .gform_wrapper input[type=text],
.form_wrapper .gform_wrapper input[type=url],
.form_wrapper .gform_wrapper textarea {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #27050A;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 400;
}
.form_wrapper .gform_wrapper.gravity-theme .field_description_below .gfield_consent_description, .form_wrapper .gform_wrapper.gravity-theme .gfield_consent_description {
  overflow-y: auto;
  padding: 0;
  border: none;
  font-size: 0.75rem;
  font-weight: 400;
}
.form_wrapper .gform_confirmation_wrapper {
  grid-column: 1/-1;
}
@media screen and (min-width: 1000px) {
  .form_wrapper button {
    grid-column: 2/3;
    grid-row: 1/2;
  }
}
.form_wrapper input[type=submit] {
  color: #5c0b18;
  background-color: #fff;
  border: 1px solid #5c0b18;
  border-radius: 20px;
  padding: 0.75rem 2rem;
  font-weight: 500;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
.form_wrapper input[type=submit]:hover {
  background-color: #5c0b18;
  color: #fff;
}

.form_block {
  column-gap: 10rem;
}
.form_block .content_block {
  margin-top: 5rem;
}

.impact_slider {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.impact_slider input[type=range] {
  width: 100%;
  flex-basis: 100%;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  height: 1rem;
  cursor: pointer;
  border-radius: 0.5rem;
  background: linear-gradient(#bebebe 0%, #d3d3d3 100%);
}
.impact_slider input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; /* Override default look */
  appearance: none;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  background: #ff3000;
}
.impact_slider input[type=range]::-moz-range-thumb {
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  background: #ff3000;
}
.impact_slider .impact_slider_output {
  flex-basis: 100%;
  font-size: 2.5rem;
  text-align: center;
  font-weight: 400;
}
.impact_slider .impact_slider_items {
  flex-basis: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
}
@media screen and (min-width: 700px) {
  .impact_slider .impact_slider_items {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: 1fr;
  }
}
.impact_slider .impact_slider_items .impact_slider_item {
  display: grid;
  justify-items: center;
  align-items: center;
  justify-self: center;
  transition: filter var(--transition) ease;
}
.impact_slider .impact_slider_items .impact_slider_item[aria-hidden=true] {
  filter: saturate(0.8) opacity(0.5);
}
.impact_slider .form_expander_wrapper {
  flex-basis: 100%;
}

.impact .impact_items {
  display: grid;
  font-size: 2.5rem;
  font-weight: 400;
  margin-bottom: 4rem;
}
@media screen and (min-width: 1000px) {
  .impact .impact_items {
    grid-template-columns: minmax(calc(5ch + 4rem), auto) 1fr 100px 1fr 100px 1fr minmax(calc(5ch + 4rem), auto);
  }
}
.impact .impact_items .impact_item {
  display: grid;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1000px) {
  .impact .impact_items .impact_item {
    gap: 3rem;
  }
}
.impact .impact_items .impact_item label, .impact .impact_items .impact_item .impact_label {
  font-size: 1rem;
  text-align: center;
}
.impact .impact_items .impact_number {
  padding: 1rem 3rem;
  height: 5rem;
  border-radius: 2.5rem;
  display: flex;
  align-items: center;
}
.impact .impact_items .impact_number.circle {
  width: 5rem;
  justify-content: center;
  padding: 1rem;
  justify-self: center;
}
.impact .impact_items .impact_multiplier {
  justify-self: center;
  padding-top: 0.5rem;
}
.impact .impact_items .impact_input input {
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #fff;
  width: 4ch;
  margin-left: 0.5rem;
  font-size: 2.5rem;
  color: #fff;
  padding: 0;
  line-height: 1;
  -moz-appearance: textfield;
  font-weight: 400;
}
.impact .impact_items .impact_input input:focus {
  outline: 1px solid #fff;
  outline-offset: 2px;
}
.impact .impact_items .impact_input input::-webkit-outer-spin-button, .impact .impact_items .impact_input input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.listing_filter {
  position: relative;
  z-index: 10;
}
.listing_filter form {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
@media screen and (min-width: 1000px) {
  .listing_filter form {
    gap: 2rem;
  }
}
.listing_filter input[type=reset] {
  height: fit-content;
  padding: 0.75rem 2rem;
  border: 1px solid #5c0b18;
  color: #5c0b18;
  font-weight: 400;
  border-radius: 10px;
  background-color: #fff;
  align-self: flex-end;
}
.listing_filter input[type=reset]:hover {
  background-color: #5c0b18;
  color: #fff;
}

.sort {
  flex-basis: 100%;
  justify-content: flex-start;
  gap: 2rem;
  align-items: center;
}

.filter_wrapper {
  position: relative;
  min-width: 15rem;
  min-height: 5.5rem;
}
.filter_wrapper:first-of-type {
  z-index: 11;
}

details.filter {
  min-width: 15rem;
  border-top: none;
  position: absolute;
}
details.filter h3 {
  color: #27050A;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}
details.filter .selected {
  font-size: 1rem;
  font-weight: 400;
  color: #27050A;
  padding: 0.5rem 3rem 0.5rem 1rem;
  border: 1px solid #27050A;
  border-radius: 10px;
  transition: border-radius var(--transition) ease;
}
details.filter .selected ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 0.5rem;
}
details.filter .selected ul li {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  color: white;
  background-color: #5c0b18;
  width: max-content;
}
details.filter.open .selected {
  border-radius: 10px 10px 0 0;
}
details.filter > summary {
  margin-bottom: 0;
}
details.filter > summary::after {
  width: 1rem;
  right: 0.9rem;
  top: 2.5rem;
}

.filter__content.panel {
  background-color: white;
  padding: 1rem;
  border: 1px solid black;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/*General rules for cards*/
.cards {
  margin: 4rem 0;
}
.cards .flex_item {
  margin-bottom: 2rem;
}
.cards a {
  text-decoration: none;
  color: #27050A;
}
.cards .container {
  margin-bottom: 2rem;
}
.cards .decorative {
  padding-left: 0;
}

.card {
  border-radius: 20px;
  text-decoration: none;
  overflow: clip;
}
.card img {
  transition: transform var(--transition) ease;
  transform: scale(1);
  transform-origin: 0 0;
}
.card:not(:has(.explore_card_links)):hover img, .card:not(:has(.explore_card_links)):focus img {
  transform: scale(1.05);
}
.card:has(.explore_card_links):has(a:focus, a:hover) img {
  transform: scale(1.05);
}

.card--explore {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr minmax(auto, 180px);
}
.card--explore .card--explore_text {
  padding-bottom: 0;
}
@media screen and (min-width: 700px) {
  .card--explore {
    grid-template-rows: 1fr 320px;
  }
}
@media screen and (min-width: 1000px) {
  .card--explore {
    grid-template-rows: 5fr 2fr;
    gap: 2rem;
  }
  .card--explore .card--explore_text {
    padding-bottom: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .card--explore {
    grid-template-rows: 5fr 6fr;
  }
}
.card--explore a {
  text-decoration: none;
  color: #ff3000;
}

.card--explore_image {
  position: relative;
}
.card--explore_image img {
  position: absolute;
  right: 0;
  bottom: 0;
}

.card_empty {
  background-color: #fff;
}

.event_item.card, .news_item.card, .resource_item.card {
  border-radius: 0;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
}
.event_item.card h3, .news_item.card h3, .resource_item.card h3 {
  margin: 1.5rem 0px 1rem;
}
.event_item.card h3 a, .news_item.card h3 a, .resource_item.card h3 a {
  text-decoration: none;
}
.event_item.card .grid, .news_item.card .grid, .resource_item.card .grid {
  align-self: end;
}
.event_item.card .types, .news_item.card .types, .resource_item.card .types {
  list-style: none;
  padding: 0;
  margin: 0;
  align-self: center;
}
.event_item.card .types li, .news_item.card .types li, .resource_item.card .types li {
  color: #5c0b18;
  display: grid;
  align-items: center;
  gap: 0.5rem;
  grid-template-columns: 1.2rem 1fr;
}
.event_item.card .types li + li, .news_item.card .types li + li, .resource_item.card .types li + li {
  margin-top: 0.5rem;
}
.event_item.card .pill, .news_item.card .pill, .resource_item.card .pill {
  height: fit-content;
  line-height: 1;
  align-self: end;
  justify-self: flex-end;
  margin-bottom: 0.5rem;
  transition: background-color var(--transition) ease-in, color var(--transition) ease-in;
}
.event_item.card:hover .pill, .news_item.card:hover .pill, .resource_item.card:hover .pill {
  background-color: #5c0b18;
  color: #fff;
}

.layout_block h2:not(.heading--banner) {
  margin-bottom: 2rem;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (min-width: 1000px) {
  .layout_block h2:not(.heading--banner) {
    font-size: 3rem;
  }
}
.layout_block .grid {
  margin-bottom: 3rem;
}

.explore_card_links, .orange_banner_links {
  justify-content: flex-start;
  column-gap: 2rem;
}
.explore_card_links a, .orange_banner_links a {
  display: flex;
  gap: 0.5rem;
  text-decoration: none;
  font-size: 1.25rem;
  margin-bottom: 1rem;
}
.explore_card_links a:hover, .orange_banner_links a:hover {
  color: #fff;
}

.explore_card_links a:hover {
  color: #ff3000;
}

.layout_block--orange_banner {
  grid-template-rows: 1fr 180px;
  position: relative;
  padding-top: 3rem;
}
.layout_block--orange_banner p {
  font-size: 1.5rem;
  margin: 1rem 0 3rem;
}
.layout_block--orange_banner img {
  position: absolute;
  bottom: 0;
  width: 100%;
  object-fit: contain;
  right: 0;
}
@media screen and (min-width: 700px) {
  .layout_block--orange_banner {
    grid-template-rows: 1fr 1fr;
  }
  .layout_block--orange_banner img {
    max-height: 50%;
  }
}
@media screen and (min-width: 1000px) {
  .layout_block--orange_banner {
    grid-template-rows: 3fr 2fr;
  }
  .layout_block--orange_banner img {
    max-height: 50%;
    max-width: 66%;
  }
}
@media screen and (min-width: 1200px) {
  .layout_block--orange_banner {
    grid-template-rows: 1fr;
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
  .layout_block--orange_banner img {
    height: 100%;
    max-height: unset;
    width: auto;
  }
}

.home .layout_block--content {
  padding-bottom: 3rem;
  padding-top: 3rem;
}
@media screen and (min-width: 1200px) {
  .home .layout_block--content {
    padding-bottom: 6rem;
  }
}
.home .layout_block--content p {
  font-size: 1.125rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .home .layout_block--content p {
    font-size: 1.5rem;
  }
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateX(-110%);
  transition: opacity 400ms eae-in;
  z-index: 100;
  background-color: rgba(0, 0, 0, 0.7);
}
.modal.open {
  opacity: 1;
  transform: translateX(0);
}
.modal .close {
  position: absolute;
  top: 1rem;
  right: var(--margin);
}
@media screen and (min-width: 1000px) {
  .modal .close {
    top: var(--header-height);
  }
}
.modal .modal_inner {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: var(--margin);
  width: calc(100vw - 2 * var(--margin));
  height: 80vh;
  display: block;
  overflow: auto;
}
.modal .modal_inner .column--two.inner-padding {
  padding: 0;
}
@media screen and (min-width: 1000px) {
  .modal .modal_inner {
    width: 50vw;
    display: grid;
    min-width: 320px;
    left: 25vw;
    height: fit-content;
    overflow: visible;
  }
  .modal .modal_inner .column--two.inner-padding {
    padding: 2rem;
  }
}

@media screen and (min-width: 1000px) {
  #people_modal .container--round {
    left: -6rem;
    top: 4rem;
    width: 260px;
    height: 260px;
    position: absolute;
  }
  #people_modal .container--round img {
    width: 260px;
    height: 260px;
  }
  #people_modal .card:hover img {
    filter: none;
  }
}

#membership_modal .modal-content {
  top: var(--header-height);
  position: absolute;
  left: calc(50vw - 160px);
  width: 320px;
  padding: 2rem;
  background-color: #ffffff;
  border-radius: 1rem;
  max-height: calc(100vh - 2 * var(--header-height));
}
#membership_modal .modal-content .modal-inner {
  height: 100%;
  max-height: calc(100vh - 2 * var(--header-height) - 4rem);
  padding-right: 15px;
  overflow: hidden auto;
  scrollbar-color: #fff #ff3000;
}
#membership_modal .modal-content .modal-inner::-webkit-scrollbar {
  width: 10px; /* Mostly for vertical scrollbars */
}
#membership_modal .modal-content .modal-inner::-webkit-scrollbar-thumb {
  /* Foreground */
  background: #ff3000;
}
#membership_modal .modal-content .modal-inner::-webkit-scrollbar-track {
  /* Background */
  background: #fff;
}
#membership_modal .modal-content h6 {
  margin-top: 0.5rem;
}
#membership_modal .register-message p {
  color: #27050A;
}
#membership_modal form.register-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

button#membership_close {
  right: calc(50vw - 190px);
  top: calc(var(--header-height) - 2rem);
  background-color: #27050A;
  border-radius: 50%;
  width: 50px;
  height: 50px;
}

form.loading + #spinner {
  display: block;
}

form + #spinner {
  display: none;
  position: absolute;
  top: calc(50% - 25px);
  left: calc(50% - 25px);
  width: 50px;
  height: 50px;
  border: 10px solid #27050A;
  border-bottom: 10px solid transparent;
  border-radius: 50%;
  animation: spin 800ms ease-in-out 0ms infinite;
}

#associate_modal #modal_content {
  top: var(--header-height);
  position: absolute;
  left: calc(50vw - 160px);
  width: 320px;
  padding: 2rem;
  background-color: #ffffff;
  border-radius: 1rem;
  max-height: calc(100vh - 2 * var(--header-height));
}
@media screen and (min-width: 700px) {
  #associate_modal #modal_content {
    left: calc(50vw - 240px);
    width: 480px;
  }
}
@media screen and (min-width: 1000px) {
  #associate_modal #modal_content {
    left: calc(50vw - 320px);
    width: 640px;
  }
}
@media screen and (min-width: 1200px) {
  #associate_modal #modal_content {
    left: calc(50vw - 480px);
    width: 960px;
  }
}
#associate_modal #modal_content .modal-inner {
  height: 100%;
  max-height: calc(100vh - 2 * var(--header-height) - 4rem);
  padding-right: 15px;
  overflow: hidden auto;
  scrollbar-color: #fff #ff3000;
}
#associate_modal #modal_content .modal-inner::-webkit-scrollbar {
  width: 10px; /* Mostly for vertical scrollbars */
}
#associate_modal #modal_content .modal-inner::-webkit-scrollbar-thumb {
  /* Foreground */
  background: #ff3000;
}
#associate_modal #modal_content .modal-inner::-webkit-scrollbar-track {
  /* Background */
  background: #fff;
}
#associate_modal #modal_content h6 {
  margin-top: 0.5rem;
}
#associate_modal .register-message p {
  color: #27050A;
}
#associate_modal form.register-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

button#associates_close {
  right: calc(50vw - 190px);
  top: calc(var(--header-height) - 2rem);
  background-color: #27050A;
  border-radius: 50%;
  width: 50px;
  height: 50px;
}
@media screen and (min-width: 700px) {
  button#associates_close {
    right: calc(50vw - 260px);
  }
}
@media screen and (min-width: 1000px) {
  button#associates_close {
    right: calc(50vw - 350px);
  }
}
@media screen and (min-width: 1200px) {
  button#associates_close {
    right: calc(50vw - 510px);
  }
}

@media screen and (min-width: 700px) {
  .associate_modal_content_container.modal-inner.grid {
    grid-template-columns: 1fr 1fr;
  }
}

.associate_modal_column_left a {
  margin-bottom: 1rem;
}
.associate_modal_column_left .associate_modal_detail {
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .associate_modal_column_left {
    padding-right: 4rem;
    border-right: #27050A 1px solid;
  }
}

@media screen and (min-width: 700px) {
  .associate_modal_column_right {
    padding-left: 4rem;
  }
}

.news_events_container .h2, .news_events_container h2 {
  font-size: clamp(1rem, 4vw, 2.5rem);
  color: #5c0b18;
  padding: 0 0 1.5rem 0;
}

.news_events_container {
  overflow: hidden;
  position: relative;
}

[role=tablist] {
  position: relative;
  z-index: 10;
}

[role=tab],
[role=tab]:focus,
[role=tab]:hover {
  display: inline-block;
  position: relative;
  z-index: 10;
  margin: 0;
  margin-top: 4px;
  background: #fff;
  outline: none;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
  transition: color var(--transition) ease-out;
}
[role=tab]::after,
[role=tab]:focus::after,
[role=tab]:hover::after {
  content: "";
  width: 100%;
  height: 0.25rem;
  background: #ff3000;
  position: absolute;
  bottom: -0.125rem;
  z-index: 10;
  left: 0;
  transition: transform var(--transition) ease-out;
  transform: scaleX(0);
}
[role=tab] + [role=tab],
[role=tab]:focus + [role=tab],
[role=tab]:hover + [role=tab] {
  margin-left: 3rem;
}

[role=tab][aria-selected=true] {
  color: #ff3000;
  font-weight: 500;
}
[role=tab][aria-selected=true]::after {
  transform: scaleX(1);
}

[role=tabpanel] {
  padding: 2rem 0 0;
  border-top: 1px solid #5c0b18;
  min-height: 10em;
  width: 100%;
  overflow: auto;
  transition: transform var(--transition) ease-out;
  position: relative;
  z-index: 1;
}

#tab_content_event.is-hidden {
  position: absolute;
  top: 0;
  z-index: 10;
  transform: translateX(-100%);
}

#tab_content_news.is-hidden {
  position: absolute;
  top: 0;
  z-index: 10;
  transform: translateX(100%);
}

#tab_event::after {
  transform-origin: left;
}

#tab_news::after {
  transform-origin: right;
}

.tab_panel_container {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  position: relative;
}
.tab_panel_container.tab_panel {
  grid-column: 1/2;
  grid-row: 1/2;
}

.play {
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: auto;
  padding: 0;
  opacity: 0;
  z-index: 10;
}
.play svg path {
  transition: fill var(--transition) ease;
}

.ready .play {
  opacity: 1;
}

.block-video img {
  transition: opacity var(--transition) ease;
  z-index: 10;
}
.block-video.playing img,
.block-video.playing .play {
  opacity: 0;
  transform: translateX(-200vw);
  visibility: hidden;
}
.block-video.playing iframe {
  visibility: visible;
}
.block-video iframe {
  visibility: hidden;
}
.block-video.autoplay.ready iframe {
  visibility: visible;
}
.block-video.autoplay.playing img {
  opacity: 1;
  z-index: -1;
  visibility: hidden;
}
.block-video.autoplay.playing button.play, .block-video.autoplay.playing .play {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.block-video.autoplay.playing button.play svg:nth-child(1), .block-video.autoplay.playing .play svg:nth-child(1) {
  opacity: 0;
}
.block-video.autoplay.playing button.play svg:nth-child(2), .block-video.autoplay.playing .play svg:nth-child(2) {
  opacity: 1;
}
.block-video.autoplay button.play {
  top: unset;
  left: unset;
  right: var(--margin);
  bottom: 6rem;
  transform: none;
  z-index: 10;
  background-color: #fff;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
}
.block-video.autoplay button.play svg, .block-video.autoplay button.play svg.play {
  position: absolute;
  top: 0.95rem;
  left: 0.95rem;
  width: 1.1rem;
  height: 1.1rem;
  transform: none;
  transition: opacity var(--transition) ease;
}
.block-video.autoplay button.play svg path, .block-video.autoplay button.play svg.play path {
  fill: #27050A;
}
.block-video.autoplay button.play svg:nth-child(1) {
  padding-left: 0.25rem;
}
.block-video.autoplay button.play svg:nth-child(2) {
  opacity: 0;
}

.container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.play svg path {
  fill: #fff;
  opacity: 1;
  transition: fill var(--transition) ease, opacity var(--transition) ease-in;
}
.play svg:hover path {
  fill: #fff;
  opacity: 0.6;
}
.play svg:hover circle {
  fill: #1a1a1a;
}
.play svg circle {
  fill: #fff;
  opacity: 1;
}

/* .muted {
	.play {
		svg {
			path {
				fill: $color_white;
				transition: fill var(--transition) ease;
			}
			&:hover {
				path {
					fill: $color_secondary;
				}
				circle {
					fill: $color_white;
				}
			}
			circle {
				fill: $color_secondary;
				opacity: 1;
				transition: fill var(--transition) ease;
			}
		}
	}
} */
.block-image p.caption, .block-image + figcaption p.caption {
  position: absolute;
  bottom: 0;
  margin: 0;
  display: block;
  padding: 0.2rem 0.75rem;
  background: #1a1a1a;
  color: #fff;
}

figure {
  line-height: 0;
}

/*If content is added to a page outside of the PEBBLE blocks*/
.type-page > ul, .type-page > ol, .type-page > p, .type-page > h2, .type-page > h3, .type-page > h4, .type-page > h5 {
  width: 680px;
  max-width: 90vw;
  margin-left: auto;
  margin-right: auto;
}

/*Sidebar*/
.content_wrapper {
  max-width: 800px;
  width: 100%;
  order: 2;
}
@media screen and (min-width: 1000px) {
  .content_wrapper {
    order: unset;
  }
}

#nav_select {
  margin-bottom: 2rem;
  width: calc(100vw - 2 * var(--margin));
  padding: 1rem;
}

.sidebar {
  display: none;
}
@media screen and (min-width: 1200px) {
  .sidebar {
    order: unset;
    display: flex;
    flex-direction: column;
    grid-column: 2/3;
    grid-row: 1/4;
    width: max-content;
  }
  .sidebar nav.sub-nav {
    display: initial;
  }
  .sidebar .mobile_only {
    display: none !important;
  }
}
.sidebar h3 {
  padding-bottom: 1rem;
  margin-bottom: 0;
  font-size: 1rem;
}
.sidebar .sub-nav ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.sidebar .sub-nav ul li {
  padding-bottom: 1rem;
  padding-top: 1rem;
  font-weight: bold;
}
.sidebar .sub-nav ul li a {
  text-decoration: none;
  font-weight: bold;
  width: 100%;
}

.nav-item a {
  position: relative;
  padding-right: 2rem;
  width: fit-content;
  display: block;
  font-size: 1rem;
  font-weight: bold;
}
.nav-item a::after {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  display: block;
  top: calc(50% - 0.4rem);
  right: 0;
  background-image: url(../assets/arrow.svg);
  background-size: contain;
  position: absolute;
  background-repeat: no-repeat;
  transition: transform var(--transition) ease;
}
.nav-item a:hover::after {
  transform: translateX(0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  .nav-item a:hover::after {
    transform: none;
  }
}
.nav-item.active a::after {
  content: none;
}

/*Home*/
@media screen and (min-width: 1200px) {
  .home:has(.content-header--home--video) #masthead {
    background: rgb(0, 0, 0);
    background: linear-gradient(180deg, rgb(0, 0, 0) -20%, rgba(255, 255, 255, 0) 89%);
  }
  .home:has(.content-header--home--video) #masthead.addFixed {
    background: #ff3000;
  }
  .home:has(.content-header--home--video) .nav-utilites--desktop .button--donate {
    border: #fff 1px solid;
    background: transparent;
  }
  .home:has(.content-header--home--video) .content-header--home {
    padding: 0;
    display: block;
    height: 56.25vw;
  }
  .home:has(.content-header--home--video) .content-header--home h1 {
    z-index: 99;
    font-size: 5.5rem;
    line-height: 6.3125rem;
    text-shadow: 0 3px 21px rgba(0, 0, 0, 0.3607843137);
    position: absolute;
    left: 50%;
    top: 50%;
    max-width: calc(100vw - 2 * var(--margin));
    transform: translate(-50%, -50%);
    width: max-content;
  }
  .home:has(.content-header--home--video) .content-header--home .home_header_links {
    position: absolute;
    left: var(--margin);
    bottom: 6rem;
    z-index: 10;
    filter: drop-shadow(0 3px 21px rgba(0, 0, 0, 0.3607843137));
  }
  .home:has(.content-header--home--video) .content-header--home .block-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .home:has(.content-header--home--video) .content-header--home .block-video img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-width: unset;
  }
}

.title_header--home {
  font-size: 2.125rem;
}
@media screen and (min-width: 1200px) {
  .title_header--home {
    font-size: 4rem;
  }
}

.content-header--home {
  display: grid;
  height: calc(66vh - 5rem);
  grid-template-rows: auto 1fr;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .content-header--home {
    grid-template-columns: 9fr 11fr;
    grid-template-rows: 0.5fr auto auto;
    column-gap: 4rem;
    padding-top: var(--header-height);
    height: 100vh;
  }
}
.content-header--home h1 {
  text-align: left;
  font-size: 2.125rem;
  line-height: 2.5rem;
  grid-row: 1/2;
}
@media screen and (min-width: 1000px) {
  .content-header--home h1 {
    font-size: 4.25rem;
    line-height: 4.875rem;
    grid-row: 2/3;
  }
}
.content-header--home img {
  height: 90%;
  width: auto;
  object-fit: cover;
  overflow: visible;
  position: relative;
  align-self: end;
  margin-bottom: -2rem;
  grid-row: 2/3;
}
@media screen and (min-width: 1000px) {
  .content-header--home img {
    position: absolute;
    /* grid-row: 1/4;
    grid-column: 2/3;
    margin-bottom: -4rem; */
    /* justify-self: end; */
    height: calc(100% - var(--header-height));
    max-width: 66%;
    bottom: 0;
    right: var(--margin);
    margin: 0;
    grid-row: unset;
  }
}
@media screen and (min-width: 1200px) {
  .content-header--home img {
    max-width: 75%;
  }
}
.content-header--home .home_header_links {
  grid-row: 3/4;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 4rem;
}
.content-header--home .home_header_links .button.button--home_header--regular {
  transition: border var(--transition) ease-in;
}
.content-header--home .home_header_links .button.button--home_header--regular:hover {
  border: #ff3000 1px solid;
  color: #fff;
  background: #ff3000;
}
.content-header--home .home_header_links .button.button--home_header--video {
  transition: border var(--transition) ease-in, background var(--transition) ease-in;
}
.content-header--home .home_header_links .button.button--home_header--video:hover {
  border: #ff3000 1px solid;
  color: #fff;
  background: #ff3000;
}

/* Parent Page */
.content-header--page {
  height: calc(50vh - var(--header-height));
  grid-template-columns: 50% 50% 50%;
  padding-top: 0;
}
@media screen and (min-width: 1200px) {
  .content-header--page {
    height: calc(75vh - var(--header-height));
    grid-template-columns: 9fr 11fr;
    gap: 4rem;
  }
}
@media screen and (min-width: 1200px) {
  .content-header--page h1 {
    align-self: center;
    justify-self: start;
    text-align: left;
    margin: 0 !important;
    font-weight: 400;
    font-size: 68px;
    line-height: 78px;
  }
}
.content-header--page img {
  align-self: end;
  margin-bottom: -2rem;
  height: calc(100% + 2rem);
  width: auto;
  object-fit: cover;
  overflow: visible;
  grid-row: 1/2;
  grid-column: 2/3;
}
@media screen and (min-width: 1200px) {
  .content-header--page img {
    margin-bottom: -4rem;
    height: calc(100% + 4rem);
  }
}

.content-header--page.no_image {
  height: 0;
  padding-bottom: 0;
}
@media screen and (min-width: 1200px) {
  .content-header--page.no_image {
    height: calc(38vh - var(--header-height));
  }
}
@media screen and (min-width: 1200px) {
  .content-header--page.no_image h1 {
    align-self: start;
  }
}

/* Child Page and Pebble Drop Page*/
.content-header.pebble_drop_header {
  padding-top: 0;
  height: calc(22vh - var(--header-height));
  margin-bottom: calc(25vh - var(--header-height));
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (min-width: 1200px) {
  .content-header.pebble_drop_header {
    height: calc(45vh - var(--header-height));
    grid-template-columns: 11fr 3fr 6fr;
    column-gap: 2rem;
  }
}
.content-header.pebble_drop_header svg {
  display: none;
}
@media screen and (min-width: 1200px) {
  .content-header.pebble_drop_header svg {
    display: block;
    width: 140px;
    height: auto;
    justify-self: end;
  }
}
@media screen and (min-width: 1200px) {
  .content-header.pebble_drop_header .title_wrapper {
    grid-row: 1/2;
    grid-column: 1/2;
  }
  .content-header.pebble_drop_header .title_wrapper h1 {
    text-align: left;
    font-size: 3rem;
    line-height: 3.375rem;
    margin-bottom: 2rem;
  }
  .content-header.pebble_drop_header .title_wrapper h4 {
    text-align: left;
    font-size: 1.5rem;
    line-height: 1.625rem;
  }
}
.content-header.pebble_drop_header .pebble_drop {
  grid-column: 2/3;
}
@media screen and (min-width: 1200px) {
  .content-header.pebble_drop_header .pebble_drop {
    grid-column: 2/4;
    grid-row: 1/4;
    display: grid;
    grid-template-columns: 3fr 2rem 6fr;
  }
  .content-header.pebble_drop_header .pebble_drop .container--pebble {
    grid-column: 3/4;
  }
}

@media screen and (min-width: 1200px) {
  .page-child .content-title {
    text-align: left;
  }
}
@media screen and (min-width: 1200px) {
  .page-child .layout_block--content.grid--45_55 {
    grid-template-columns: 2fr 1fr;
  }
  .page-child .layout_block--content.grid--45_55 .column--two {
    grid-row: 2/3;
    grid-column: 1/2;
  }
}

.mobile_page_title {
  margin-bottom: 2rem;
}
.mobile_page_title .meta_item a {
  color: #ff3000;
}
.mobile_page_title .content_subtitle {
  margin-top: 1rem;
}

/*Support Organisation*/
.single-support_organisation .content-header {
  padding-top: 4rem;
  padding-bottom: 0;
}
.single-support_organisation .content-header .content-title {
  text-align: left;
  text-transform: none;
  font-size: 1.5rem;
}
@media screen and (min-width: 1200px) {
  .single-support_organisation .content-header .content-title {
    font-size: 2.5rem;
  }
}
.single-support_organisation .margins .logo--org img {
  height: 6.25rem;
  width: auto;
}

.type-post .content-header {
  padding-bottom: 1rem;
}
.type-post .content-header .content-title {
  font-size: 1.5rem;
  text-align: left;
  line-height: 2rem;
  text-transform: none;
}
.type-post .content-header .flex.cats {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  justify-content: flex-start;
}
.type-post .content-header .flex.cats .post-header-date {
  color: #585858;
  font-weight: 600;
  margin-bottom: 0;
}
.type-post .content-header .flex.cats .post-header-date::after {
  content: "|";
  font-size: 1.5rem;
  font-weight: 100;
  margin-left: 1rem;
  margin-right: 1rem;
  position: relative;
  color: #a3a3a3;
}
.type-post .content-header .flex.cats li a {
  font-weight: 600;
  font-size: 0.875rem;
  margin-right: 1rem;
}

.wp-block-ace-content-blog .wp-block-ace-content-blocks h3.wp-block-heading {
  font-size: 1.5rem;
}
.wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote {
  padding-left: 0;
  padding-right: 0;
}
.wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote p {
  font-size: 1.25rem;
  font-weight: 600;
}
.wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote footer {
  font-size: 1.25rem;
  line-height: 2rem;
  font-weight: 600;
}

.wp-block-ace-image {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.wp-block-ace-video {
  margin-bottom: 2rem;
}
.wp-block-ace-video .block-video {
  margin-bottom: 1rem;
}
.wp-block-ace-video .video a {
  font-weight: bold;
  display: flex;
}
.wp-block-ace-video .video a svg {
  margin-right: 1rem;
}

/* People Page */
.accordion--people_categories h3 {
  font-size: 1.25rem;
  line-height: 3.625rem;
  font-weight: 400;
  color: #5c0b18;
}
@media screen and (min-width: 1200px) {
  .accordion--people_categories h3 {
    font-size: 2.5rem;
    line-height: 3.625rem;
    margin-bottom: 2rem;
  }
}

.people_wrapper {
  gap: 2rem;
  justify-content: flex-start;
}
@media screen and (min-width: 1200px) {
  .people_wrapper {
    gap: 2rem;
  }
}
.people_wrapper .card--person {
  flex-basis: 45%;
}
@media screen and (min-width: 1000px) {
  .people_wrapper .card--person {
    flex-basis: 30%;
  }
}
@media screen and (min-width: 1200px) {
  .people_wrapper .card--person {
    flex-basis: 18%;
  }
}

.card--person_info {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.375rem;
}

.sound_fx_.content--sound_fx {
  margin-bottom: 1rem;
}

a.back_to_people {
  color: #ff3000;
  text-decoration: none;
}
a.back_to_people:visited {
  color: #ff3000;
}

.arrow_link--back_to_people {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 3rem;
}
.arrow_link--back_to_people svg {
  transition: transform var(--transition) ease;
}
.arrow_link--back_to_people svg path {
  fill: #ff3000;
}

.arrow_link--back_to_people:hover svg {
  transform: translateX(-0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  .arrow_link--back_to_people:hover svg {
    transform: none;
  }
}

/* Single News */
.news_item.card:hover .more_button.bg_white {
  background-color: #ff3000;
  color: #fff;
  border: #ff3000 1px solid;
}

.content-header--news h1.content-title {
  font-size: 48px;
  text-align: left;
  line-height: 55px;
  font-weight: 400;
}
.content-header--news .content-meta svg {
  height: 20px;
  width: auto;
}
.content-header--news .content-meta svg path {
  fill: #fff;
}
.content-header--news .content-meta {
  display: flex;
  align-items: center;
  position: relative;
}
.content-header--news .content-meta .meta_item {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
}
.content-header--news .content-meta .meta_item:last-of-type::after {
  content: "";
}

.mobile_page_title--news .content-meta {
  display: flex;
  align-items: center;
  position: relative;
}
.mobile_page_title--news .content-meta .meta_item {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #5c0b18;
}
.mobile_page_title--news .content-meta .meta_item svg path {
  fill: #ff3000 !important;
}
.mobile_page_title--news .content-meta .meta_item a {
  color: #5c0b18;
}
.mobile_page_title--news .content-meta .meta_item:last-of-type::after {
  content: "";
}

.related_resources--news h2 {
  color: #ff3000;
  font-size: 40px;
  line-height: 54px;
  font-weight: 400;
}

.related_resources .grid_100 {
  row-gap: 4rem;
}

/*Supporters*/
.logo_supporters_wrapper {
  justify-content: space-around;
  column-gap: 2rem;
  row-gap: 3rem;
  align-items: center;
  margin-bottom: 4rem;
}
@media screen and (min-width: 1000px) {
  .logo_supporters_wrapper {
    justify-content: flex-start;
  }
}
.logo_supporters_wrapper .supporter_logo_entry img {
  max-height: 120px;
  max-width: 140px;
  width: auto;
}
@media screen and (min-width: 1200px) {
  .logo_supporters_wrapper .supporter_logo_entry img {
    max-width: 200px;
  }
}

@media screen and (min-width: 1200px) {
  .supporters_block--text h3 {
    font-size: 40px;
    line-height: 58px;
    margin-bottom: 2rem;
  }
}
.supporters_block--text a {
  margin-bottom: 1rem;
  display: block;
}
.supporters_block--text p {
  font-weight: 500;
}

@media screen and (min-width: 1200px) {
  .supporters_block--logo h3 {
    font-size: 40px;
    line-height: 58px;
    margin-bottom: 2rem;
  }
}

.text_supporters_wrapper a {
  margin-bottom: 1rem;
  display: block;
}

/*Partnerships*/
.partnership_image_wrapper {
  position: relative;
}
.partnership_image_wrapper .partnership-slide-prev {
  position: absolute;
  top: calc(50% - 2rem);
  left: 1rem;
  z-index: 99;
  width: fit-content;
  width: auto;
  cursor: pointer;
}
.partnership_image_wrapper .partnership-slide-prev svg {
  height: 40px;
  width: auto;
}
.partnership_image_wrapper .partnership-slide-prev svg path {
  fill: #fff;
}
.partnership_image_wrapper .partnership-slide-next {
  position: absolute;
  top: calc(50% - 2rem);
  right: 1rem;
  z-index: 99;
  width: fit-content;
  width: auto;
  cursor: pointer;
}
.partnership_image_wrapper .partnership-slide-next svg {
  height: 40px;
  width: auto;
}
.partnership_image_wrapper .partnership-slide-next svg path {
  fill: #fff;
}

@media screen and (min-width: 1200px) {
  .column--two.column--two--partnership {
    padding-left: 4rem;
    padding-right: 0 !important;
  }
}
.column--two.column--two--partnership img {
  height: 100px;
  width: auto;
}
@media screen and (min-width: 1200px) {
  .column--two.column--two--partnership h3 {
    font-size: 2.5rem;
    line-height: 3.625rem;
  }
}

.layout_block--partnerships {
  row-gap: 2rem;
}
@media screen and (min-width: 1200px) {
  .layout_block--partnerships {
    row-gap: 3rem;
  }
}

.partnership_image_wrapper .caption {
  margin-top: 1rem;
}

.column--one--partnership--video .caption {
  margin-top: 1rem;
}

.layout_block--partnerships .column--one {
  max-width: calc(100vw - var(--margin) * 2);
}

.layout_block--partnerships .column--two {
  max-width: calc(100vw - var(--margin) * 2);
}

@media screen and (min-width: 1200px) {
  .single-event .grid--9_5 .column--two {
    padding-top: clamp(10rem, 25vh, 12rem);
  }
}

/* Pre-footer */
.pre_footer {
  justify-content: center;
  gap: 2rem;
  padding-top: 3rem;
  padding-bottom: 6rem;
}
@media screen and (min-width: 1200px) {
  .pre_footer {
    justify-content: space-evenly;
  }
}
.pre_footer .flex_item--cta {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
  align-items: center;
}
.pre_footer .flex_item--cta svg {
  height: 39.81px;
  width: auto;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .pre_footer .flex_item--cta svg {
    height: 60px;
  }
}

#footer {
  padding: 2rem var(--margin) 4rem;
}
@media screen and (min-width: 1200px) {
  #footer {
    padding: 3rem var(--margin) 4rem;
  }
}

@media screen and (min-width: 1200px) {
  .footer_grid {
    grid-template-rows: auto auto auto;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.footer_grid--item.logo_so-me {
  border-bottom: 1px #fff solid;
  display: flex;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.logo_so-me {
    padding-bottom: 2rem;
    grid-column: 1/3;
  }
}

.footer_grid--item.logo_so-me .social_media_wrapper {
  color: #fff;
}
.footer_grid--item.logo_so-me .social_media_wrapper p {
  text-align: center;
}

.footer_grid--item.nav_menus {
  padding-top: 2rem;
  padding-bottom: 4rem;
  border-bottom: 1px #fff solid;
  color: #fff;
  display: flex;
  column-gap: 2rem;
}
@media screen and (min-width: 700px) {
  .footer_grid--item.nav_menus {
    justify-content: space-between;
    column-gap: unset;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.nav_menus {
    column-gap: 4rem;
    padding-bottom: 2rem;
  }
}
.footer_grid--item.nav_menus a {
  color: #fff;
  text-decoration: none;
  display: block;
  margin-bottom: 0.5rem;
}
.footer_grid--item.nav_menus ul {
  list-style: none;
}
.footer_grid--item.social_media .so-me svg {
  height: 22px;
  width: auto;
}
.footer_grid--item.social_media .so-me svg path {
  fill: #fff;
  transition: fill var(--transition) ease-in;
}
.footer_grid--item.social_media .so-me svg:hover path {
  fill: #ff3000 !important;
}

.primary_links_footer {
  flex-basis: 50%;
}
@media screen and (min-width: 700px) {
  .primary_links_footer {
    flex-basis: unset;
  }
}
.primary_links_footer a {
  font-weight: 700;
}

.secondary_links_footer {
  flex-basis: 50%;
}
@media screen and (min-width: 700px) {
  .secondary_links_footer {
    flex-basis: unset;
  }
}
.secondary_links_footer a {
  font-weight: 500;
}

#footer-menu {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 0;
}

#footer-secondary-menu {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 0;
}

.footer_grid--item {
  padding-top: 0;
  padding-bottom: 3rem;
  color: #fff;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item {
    padding-bottom: 2rem;
  }
}

.footer_grid--item:last-of-type {
  padding-top: 0;
  padding-bottom: 0;
  color: #fff;
  border-bottom: none;
}

@media screen and (min-width: 1200px) {
  .footer_grid--item.supporters {
    padding-left: 2rem;
  }
}
.footer_grid--item.supporters strong {
  margin-bottom: 2rem;
  display: block;
}

.supporters_block {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 1rem;
}

.no-flexbox-gap .supporters_block {
  gap: 0;
}
.no-flexbox-gap .supporters_block > * {
  margin-right: 1rem;
}
.no-flexbox-gap .supporters_block > *:last-child {
  margin-right: 0;
}

.supporters_block .supporter_icon img {
  max-height: 3rem;
  width: auto;
}

.supporters_block a:nth-child(3) img {
  object-fit: cover;
  width: 54px;
  height: 54px;
  object-position: left;
}

@media screen and (min-width: 700px) {
  .supporters_block a:nth-child(3) img {
    object-fit: unset;
    width: auto;
  }
}
.footer_grid--item.copyright_hdk {
  display: flex;
  flex-direction: column;
  row-gap: 3rem;
  align-items: center;
  font-size: 1rem;
}
.footer_grid--item.copyright_hdk a svg {
  height: 2rem;
  width: fit-content;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.copyright_hdk {
    flex-direction: row;
    justify-content: flex-end;
    grid-column: 1/5;
  }
}

.site-branding--footer svg {
  width: 5rem;
  height: fit-content;
}
@media screen and (min-width: 1200px) {
  .site-branding--footer svg {
    width: 10rem;
  }
}

.footer_grid--item.logo_so-me {
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 2rem;
}

.copyright_text {
  font-weight: 500;
}

.footer_grid--item.nav_menus {
  padding-bottom: 3rem;
  padding-top: 0;
}
.footer_grid--item.nav_menus ul {
  padding-left: 0;
  margin-left: 0;
  margin-bottom: 0;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.nav_menus {
    padding-bottom: 2rem;
    padding-top: 0;
  }
}

footer#footer a {
  color: #fff;
}
footer#footer a:hover {
  color: #ff3000;
}
footer#footer a:hover img {
  filter: brightness(0) saturate(100%) invert(71%) sepia(291%) saturate(5983%) hue-rotate(342deg) brightness(96%) contrast(148%);
}
footer#footer a:hover svg * {
  fill: #ff3000;
}

nav#site-navigation a {
  color: #fff;
}

.so-me a svg *,
#footer .so-me a svg * {
  transition: all var(--transition) ease;
}
.so-me a:hover svg *,
#footer .so-me a:hover svg * {
  stroke: #ff3000;
  fill: none;
}
.so-me a:hover svg path,
#footer .so-me a:hover svg path {
  fill: #ff3000;
}

.supporters_flex {
  flex-direction: row;
  flex-wrap: nowrap;
}
.supporters_flex .supporter_entry img {
  height: 42px;
  width: auto;
}

a.back-to-top {
  color: var(--color-white-to-black);
}
a.back-to-top:visited {
  color: var(--color-white-to-black);
}
a.back-to-top:hover {
  text-decoration: underline;
}

.site-branding--footer {
  margin-bottom: 1rem;
}

.footer_logo svg {
  height: 70px;
  width: auto;
}

.small_text {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-weight: 400;
}

.primary_links_footer {
  grid-template-columns: 1fr 1fr;
  column-gap: 3rem;
  width: 100%;
  flex-grow: 1;
}
.primary_links_footer li a {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 2.125rem;
}
.primary_links_footer .column--one {
  grid-column: 1/2;
}
.primary_links_footer .column--two {
  grid-column: 2/3;
}

.footer_grid--item.social_media {
  padding-bottom: 3rem;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.social_media {
    margin-left: 4rem;
  }
}
.footer_grid--item.social_media .social_media_wrapper .flex {
  justify-content: flex-start;
  gap: 1rem;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# 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: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  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;
}

@media screen and (max-width: 700px) {
  .alignright, .alignleft {
    margin: 0 auto 1.5rem;
    float: none;
    display: block;
  }
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}
/*# sourceMappingURL=style.css.map */
