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

/**
 * 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
--------------------------------------------- */
/* montserrat-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 500;
  src: url("/wp-content/themes/ace/assets/fonts/montserrat-v26-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: italic;
  font-weight: 500;
  src: url("/wp-content/themes/ace/assets/fonts/montserrat-v26-latin-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("/wp-content/themes/ace/assets/fonts/montserrat-v26-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 700;
  src: url("/wp-content/themes/ace/assets/fonts/montserrat-v26-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body,
button,
input,
select,
optgroup,
textarea {
  color: #1a1a1a;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #472961;
  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: 700;
}

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

h3 {
  font-size: 1.25rem;
  font-weight: 700;
}
h3.lc {
  text-transform: uppercase;
}

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

h5 {
  font-size: 1rem;
}

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

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: #fff;
  background: #FDE3A4;
}

::selection {
  color: #fff;
  background: #FDE3A4;
}

.bold {
  font-weight: 700;
}

.center {
  text-align: center;
}

a.arrow_link {
  position: relative;
  padding-right: 2rem;
  width: fit-content;
  display: block;
  font-size: 1.2rem;
  font-weight: bold;
}
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: absolute;
  background-repeat: no-repeat;
  transition: transform 400ms ease;
}
a.arrow_link:hover::after {
  transform: translateX(0.5rem);
}

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

.back_arrow {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Elements
--------------------------------------------- */
:root {
  --header-height: 8rem;
  --header-height-min: 4.5rem;
  --margin: 8vw;
  --nav-padding: var(--margin);
  --transition: 400ms;
  --move-transition: 400ms;
  --color-primary: #FFC845;
  --color-secondary: #472961;
  --color-secondary-to-white: #472961;
  --color-primary-lighter: #FDE3A4;
  --color-primary-lighter-to-secondary-lighter: rgba(255, 200, 69, 1);
  --color-secondary-lighter: #E4D3F4;
  --color-secondary-lighter-to-primary-lighter: #E4D3F4;
  --color-white-to-black: #F7F7F7;
  --color-grey-to-secondary-darker: #E8E8E8;
  --color-black-to-white: #1a1a1a;
  --color-secondary-to-secondary-lighter: #472961;
  --primary-gradient: linear-gradient(
  	150deg,
  	rgba(255, 183, 12, 1) 0%,
  	rgba(255, 183, 12, 1) 49%,
  	rgba(255, 200, 69, 1) 49%,
  	rgba(255, 200, 69, 1) 100%
  );
}

.muted {
  --color-primary: #472961;
  --color-secondary: #FFC845;
  --color-secondary-to-white: #F7F7F7;
  --color-primary-lighter: #E8E8E8;
  --color-secondary-lighter: #E8E8E8;
  --color-white-to-black: #1a1a1a;
  --color-grey-to-secondary-darker: #2D1A3E;
  --color-black-to-white: #fff;
  --color-secondary-to-secondary-lighter: #E4D3F4;
  --color-primary-lighter-to-secondary-lighter: rgba(84, 55, 110, 1);
  --color-secondary-lighter-to-primary-lighter: #FDE3A4;
  --primary-gradient: linear-gradient(
  	151deg,
  	rgba(71, 41, 97, 1) 0%,
  	rgba(71, 41, 97, 1) 49%,
  	rgba(84, 55, 110, 1) 49%,
  	rgba(84, 55, 110, 1) 100%
  );
}

@media (prefers-reduced-motion) {
  :root {
    --move-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: 11rem;
    --nav-padding: 6vw;
  }
}
@media screen and (min-width: 1600px) {
  :root {
    --margin: calc((100vw - 1240px) / 2);
  }
}
.grecaptcha-badge {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

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

body {
  background-color: #F7F7F7;
  color: #343434;
}

.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 3em;
}

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: #472961;
  text-decoration-thickness: 0.05em;
  transition: text-decoration-thickness var(--transition) ease, color var(--transition) ease;
  text-underline-offset: 0.25em;
}
a:visited {
  color: #472961;
}
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 #E8E8E8;
  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 #FFC845;
}
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: #343434;
}

.bg-primary-primary_sub input[type=text]:focus,
.bg-primary-primary_sub input[type=email]:focus,
.bg-primary-primary_sub input[type=url]:focus,
.bg-primary-primary_sub input[type=password]:focus,
.bg-primary-primary_sub input[type=search]:focus,
.bg-primary-primary_sub input[type=number]:focus,
.bg-primary-primary_sub input[type=tel]:focus,
.bg-primary-primary_sub input[type=range]:focus,
.bg-primary-primary_sub input[type=date]:focus,
.bg-primary-primary_sub input[type=month]:focus,
.bg-primary-primary_sub input[type=week]:focus,
.bg-primary-primary_sub input[type=time]:focus,
.bg-primary-primary_sub input[type=datetime]:focus,
.bg-primary-primary_sub input[type=datetime-local]:focus,
.bg-primary-primary_sub input[type=color]:focus,
.bg-primary-primary_sub textarea:focus {
  outline: 2px solid var(--color-black-to-white);
  outline-offset: 2px;
}

select {
  color: #1a1a1a;
  border: 1px solid #E8E8E8;
  border-radius: 0;
  padding: 0.5rem 1rem;
  transition: border var(--transition) ease;
  padding: 10px;
  padding-right: 2rem;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("./assets/down-arrow.svg");
  background-repeat: no-repeat, repeat;
  background-position: right 26px top 50%, 0 0;
  background-size: 11.64px auto, 100%;
}

/* For IE (thanks to @SaiManoj) */
select::-ms-expand {
  display: none;
}

textarea {
  width: 100%;
}

/*Buttons*/
button,
input[type=button],
input[type=reset],
input[type=submit],
.button,
.decorative {
  background: #FFC845;
  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: 600;
  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;
}

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

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

/*Details*/
details {
  padding: 1rem 0;
  border-top: 1px solid #472961;
  /*This is to stop margins overflowing and messing up the calculations on the animation */
}
details > summary {
  list-style: none;
  position: relative;
  color: #472961;
  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;
}

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

@media screen and (min-width: 1200px) {
  .mobile-only {
    display: none;
  }
}
/*Indent*/
.indent {
  position: relative;
}
.indent::after {
  content: "";
  position: absolute;
  bottom: -19px;
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 20px solid #472961;
  display: block;
  right: 50%;
  transform: translateX(50%);
  z-index: 10;
}
@media screen and (min-width: 1200px) {
  .indent::after {
    border-left: 55px solid transparent;
    border-right: 55px solid transparent;
  }
}
.indent:has(+ .text_image > .grid--two-column)::after, .indent:has(+ .bsl-video)::after {
  display: none;
}
.indent:last-child:not(.header, .content-header)::after {
  display: none;
}
.indent h1, .indent h2 {
  text-align: center;
}
@media screen and (min-width: 700px) {
  .indent h1, .indent h2 {
    text-align: initial;
  }
}
.indent.content-header h1, .indent.content-header h2 {
  text-align: center;
}

.social_media_wrapper .so-me {
  justify-content: center;
  gap: 1rem;
}
.social_media_wrapper .so-me svg {
  height: 32px;
  width: 32px;
}
.social_media_wrapper .so-me svg path {
  fill: #fff;
}

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

@media screen and (max-width: 1200px) {
  .desktop_only {
    display: none !important;
  }
}
/*Borders*/
.border_bottom {
  border-bottom: 2px solid var(--color-secondary);
}

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

figure {
  margin-bottom: 0;
}

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

.black {
  color: #343434;
}

.body {
  color: #1a1a1a;
}

.white {
  color: #F7F7F7;
}

.primary {
  color: #FFC845;
}

.primary_sub {
  color: var(--color-primary);
}

.secondary {
  color: #472961;
}

.secondary_sub {
  color: var(--color-secondary);
}

.bg-black,
.bg_black {
  background-color: #343434;
}
.bg-bg,
.bg_bg {
  background-color: #F7F7F7;
}
.bg-white,
.bg_white {
  background-color: #F7F7F7;
}
.bg-grey,
.bg_grey {
  background-color: #E8E8E8;
}
.bg-grey_sub,
.bg_grey_sub {
  background-color: var(--color-grey-to-secondary-darker);
}
.bg-primary,
.bg_primary {
  background-color: #FFC845;
}
.bg-primary--dark,
.bg_primary--dark {
  background-color: #2D1A3E;
}
.bg-primary_sub,
.bg_primary_sub {
  background-color: var(--color-primary-lighter);
}
.bg-primary-primary_sub,
.bg_primary-primary_sub {
  background-color: var(--color-primary);
}
.bg-secondary,
.bg_secondary {
  background-color: #472961;
}
.bg-secondary_sub,
.bg_secondary_sub {
  background-color: var(--color-secondary-lighter);
}
.bg-gradient, .bg-primary-gradient,
.bg_gradient,
.bg_primary-gradient {
  background: #472961;
  background: var(--primary-gradient);
}

.error {
  color: #a01313;
}

.indent.bg-black::after, .indent.bg_black::after {
  border-top-color: #343434;
}
.indent.bg-bg::after, .indent.bg_bg::after {
  border-top-color: #F7F7F7;
}
.indent.bg-white::after, .indent.bg_white::after {
  border-top-color: #F7F7F7;
}
.indent.bg-grey::after, .indent.bg_grey::after {
  border-top-color: #E8E8E8;
}
.indent.bg-grey_sub::after, .indent.bg_grey_sub::after {
  border-top-color: var(--color-grey-to-secondary-darker);
}
.indent.bg-primary::after, .indent.bg_primary::after {
  border-top-color: #FFC845;
}
.indent.bg-primary--dark::after, .indent.bg_primary--dark::after {
  border-top-color: #2D1A3E;
}
.indent.bg-primary_sub::after, .indent.bg_primary_sub::after {
  border-top-color: var(--color-primary-lighter);
}
.indent.bg-secondary::after, .indent.bg_secondary::after {
  border-top-color: #472961;
}
.indent.bg-secondary_sub::after, .indent.bg_secondary_sub::after {
  border-top-color: var(--color-secondary-lighter);
}
.indent.bg-gradient::after, .indent.bg-primary-gradient::after, .indent.bg_gradient::after, .indent.bg_primary-gradient::after {
  border-top-color: var(--color-primary-lighter-to-secondary-lighter);
}

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

.hide {
  display: none;
}

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

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

/* @include media1200 {
	header#masthead {
		/* padding: 2.1875rem calc(var(--margin) / 2) 0;
		height: var(--header-height);
		width: 100vw;
		align-items: center;
		justify-content: center; */
/* 	}
} */
.header.indent {
  width: 100vw;
  position: relative;
  display: block;
  padding-left: var(--margin);
  padding-right: var(--margin);
}

.header.bg_secondary {
  display: grid;
  grid-template-columns: 1fr 64px 1fr;
  grid-template-rows: 1.5rem 64px;
  max-height: calc(var(--header-height) + 8px);
  position: relative;
  padding-left: var(--nav-padding);
  padding-right: var(--nav-padding);
}
@media screen and (min-width: 1200px) {
  .header.bg_secondary {
    grid-template-columns: max-content auto max-content max-content;
    grid-template-rows: 1rem 110px;
    grid-row: 2/3;
    height: 100%;
  }
}
.header.bg_secondary .utilities {
  color: #fff;
  display: flex;
  flex-direction: column;
  text-align: center;
}

/* .header.bg_secondary.indent::after {
	top: calc(var(--header-height) + 7px);
	@include media1200 {
		top: unset;
	}
} */
.header:has(.toggled),
.muted .header {
  border-bottom: 1px solid #725A88;
}
.header:has(.toggled).indent::after,
.muted .header.indent::after {
  filter: drop-shadow(0 1px 0 #725A88);
}

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

.main-navigation {
  display: flex;
  justify-content: center;
  width: 100vw;
  position: absolute;
  top: 100%;
  left: calc(var(--nav-padding) * -1);
  background: #472961;
  grid-row: 3/4;
  grid-column: 1/4;
  padding-top: clamp(1rem, 3vw, 4rem);
  padding-bottom: clamp(1rem, 3vw, 3rem);
  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);
  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);
  }
}
.main-navigation.toggled {
  transform: translate(0, 0);
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
.main-navigation .switch {
  border: 1px solid white;
}

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

#primary-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 0.5rem;
}
#primary-menu li a {
  color: #fff;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 125%;
  transition: color var(--transition) ease-in;
  position: relative;
}
#primary-menu li a::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: #FFC845;
  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;
  }
}

#featured-menu {
  margin-top: 1rem;
}
@media screen and (min-width: 1000px) {
  #featured-menu {
    margin-top: unset;
  }
}
#featured-menu li a {
  margin-bottom: 1rem;
  color: white;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: clamp(0.5rem, 1vw, 2rem);
}
#featured-menu li a::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  max-width: 2rem;
  background-color: #FFC845;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  transform-origin: center;
  transition: max-width var(--transition) ease-in;
}
#featured-menu li a:hover::after {
  max-width: 100%;
}
@media screen and (min-width: 1200px) {
  #featured-menu li a {
    font-size: 2rem;
  }
}

#site-registration {
  grid-row: 1/2;
  grid-column: 1/4;
  display: none;
}
#site-registration a {
  color: #fff;
  text-decoration: none;
  height: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
}
#site-registration a:hover {
  text-decoration: underline;
}
@media screen and (min-width: 1200px) {
  #site-registration {
    display: flex;
    grid-row: 2/3;
    justify-content: flex-start;
    align-items: center;
    grid-column: auto;
    width: fit-content;
  }
}

a.home_link {
  color: #fff;
  text-decoration: none;
  grid-row: 2/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: 2rem;
    position: relative;
    column-gap: 0.5rem;
    width: fit-content;
    align-self: center;
    justify-self: end;
  }
}
@media screen and (min-width: 1200px) {
  a.home_link::after {
    content: "";
    right: -9px;
    display: block;
    position: absolute;
    font-size: 1rem;
    background-color: #fff;
    width: 1px;
    height: 2.5rem;
  }
}
a.home_link:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 2px;
}

/*Pre-header*/
.pre-header {
  padding: 0.4rem var(--margin);
  border-bottom: 1px solid #725A88;
  width: 100vw;
}
@media screen and (min-width: 1200px) {
  .pre-header {
    grid-row: 1/2;
    padding: 0 var(--nav-padding);
    justify-content: space-between;
    align-items: center;
    height: 100%;
  }
}
.pre-header .utilities {
  color: #fff;
  margin-left: -0.5rem;
}
@media screen and (min-width: 1200px) {
  .pre-header .utilities {
    align-items: center;
    column-gap: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .pre-header .utilities .flex_item {
    padding-right: 2rem;
    height: 100%;
    position: relative;
  }
  .pre-header .utilities .flex_item.translate {
    padding-top: 3px;
    padding-bottom: 3px;
  }
  .pre-header .utilities .flex_item::after {
    content: "";
    display: block;
    position: absolute;
    height: 1.75rem;
    width: 1px;
    background-color: #fff;
    right: 0;
    top: calc(50% - 0.875rem);
  }
}
@media screen and (min-width: 1200px) {
  .pre-header .utilities .flex_item:last-of-type {
    border-right: none;
  }
  .pre-header .utilities .flex_item:last-of-type::after {
    display: none;
  }
}

.pre-header .utilities .mode {
  display: none;
}
@media screen and (min-width: 1200px) {
  .pre-header .utilities .mode {
    display: flex;
  }
}

.header .bsl {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
}
.header .bsl a {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.8rem, 3vw, 1rem);
}
.header .bsl a svg {
  width: clamp(10px, 3vw, 25px);
}
.header .bsl a:focus {
  outline: 2px solid #fff;
}

.pre-header .utilities .text_sizer {
  display: none;
}
@media screen and (min-width: 1200px) {
  .pre-header .utilities .text_sizer {
    display: flex;
  }
}

@media screen and (max-width: 400px) {
  #primary-menu li a {
    font-size: 1.5rem;
    line-height: 2.25rem;
    text-align: center;
  }
}
@media screen and (min-width: 700px) {
  #primary-menu {
    margin-bottom: 1.2rem;
    width: 100%;
  }
  #primary-menu li a {
    text-transform: none;
    padding-bottom: 0.5rem;
    font-size: 2.2rem;
  }
}
.hamburger_container {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  height: fit-content;
  grid-row: 2/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: 1rem;
  }
}
.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;
  gap: 0.5rem;
  padding-top: 4px;
}
@media screen and (min-width: 1200px) {
  #hamburger {
    align-content: center;
  }
}
#hamburger.is-active {
  border: #fff 3px solid;
}

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

.hamburger:hover .hamburger-inner,
.hamburger:hover .hamburger-inner::before,
.hamburger:hover .hamburger-inner::after {
  background-color: #FFC845;
}
.hamburger:hover span {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 2px;
  color: #FFC845;
}

.hamburger.is-active:hover .hamburger-inner,
.hamburger.is-active:hover .hamburger-inner::before,
.hamburger.is-active:hover .hamburger-inner::after {
  background-color: #FFC845;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
}

.hamburger-box {
  width: 20px;
  height: 15px;
  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 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s 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 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s 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;
}
.site-branding a svg {
  width: 65px;
  height: 64px;
}
@media screen and (min-width: 1200px) {
  .site-branding a svg {
    width: 112px;
    height: 110px;
  }
}

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

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

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

.menu-item-has-children:hover .sub-menu,
.menu-item-has-children a:focus + .sub-menu {
  transform: translate(0, 0);
}

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

.mode,
.text_sizer {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  column-gap: 1rem;
}
.mode p,
.text_sizer p {
  margin: 0;
}

@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*/
@media screen and (min-width: 1200px) {
  .mobile_nav_home svg {
    display: none;
  }
  .main-navigation ul ul {
    z-index: -1;
  }
  .sub-menu {
    height: auto;
    width: max-content;
    justify-content: space-between;
    flex-direction: column;
    transform: translate(0, -vh(100));
    transition: border-top 600ms ease-in 1200ms;
    top: 0;
    left: -2rem !important;
  }
  .menu-menu-1-container #primary-menu .sub-menu li a::after {
    right: 1rem;
    left: 20rem;
    top: 0.4rem;
    height: 0.8rem;
    background-color: transparent;
    transition: none;
    transform: none;
  }
  .menu-menu-1-container #primary-menu .sub-menu li:hover::before {
    transform: scaleX(70%);
  }
  .menu-item-has-children:hover a::after {
    content: "";
    width: 100%;
    height: 3rem;
    background-color: transparent;
    display: block;
    position: absolute;
  }
  .menu-item-has-children:hover .sub-menu {
    transform: translate(0, 0);
  }
  .menu-item-has-children > *:hover .sub-menu, .menu-item-has-children::before:hover .sub-menu, .menu-item-has-children::after:hover .sub-menu {
    transform: translate(0, 0);
  }
  .menu-item-has-children .sub-menu:hover {
    transform: translate(0, 0);
  }
  .menu-item-has-children.open-sub .sub-menu {
    transform: translate(0, 4.7vh);
  }
  .sub-menu li {
    flex-basis: 33.3%;
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
  ul.sub-menu::after {
    content: "";
    flex-grow: 1;
  }
  ul.sub-menu {
    padding: var(--header-height) 2rem 3rem;
    padding-right: 4rem;
    z-index: -1;
  }
  .home ul.sub-menu {
    padding: calc(var(--header-height) + 1rem) 2rem 2rem;
  }
  ul.sub-menu li {
    opacity: 0;
    transition: opacity 600ms ease-in 600ms;
  }
  .menu-item-has-children:hover .sub-menu li,
  .menu-item-has-children .sub-menu:hover li {
    opacity: 1;
  }
  .menu-item-has-children:hover ul.sub-menu::before,
  .menu-item-has-children ul.sub-menu:hover::before {
    opacity: 1;
  }
}
/*Branding*/
.site-branding {
  height: calc(var(--header-height) - 1.2rem);
  position: absolute;
  top: 1rem;
  right: 50%;
  transform: translate(50%);
  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;
  }
}
/*Language Select*/
.header .wpml-ls-legacy-dropdown-click a {
  background-color: #2D1A3E;
  border: transparent;
  color: #fff;
  width: fit-content;
  padding-left: 0;
}
.header .wpml-ls-legacy-dropdown-click {
  width: 15.5em;
  max-width: 45vw;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-item a:not(.wpml-ls-item-toggle) {
  padding: 1rem;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  background-color: #2D1A3E;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a,
.header .wpml-ls-legacy-dropdown-click a:focus,
.header .wpml-ls-legacy-dropdown-click a:hover {
  background: #2D1A3E;
  color: #fff;
  width: fit-content;
  padding-left: 0;
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
  padding-right: calc(15px + 1.4em);
}
@media screen and (min-width: 1000px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    padding-right: calc(25px + 1.4em);
  }
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a img {
  margin-right: 5px;
}
.header .wpml-ls-link {
  width: 100%;
}
.header .wpml-ls-item-toggle:focus,
.header .wpml-ls-link:focus {
  outline: 2px solid #fff;
  outline-offset: 0.5rem;
}
.header .wpml-ls-item-toggle:hover,
.header .wpml-ls-link:hover {
  text-decoration: underline;
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click {
    width: fit-content;
    max-width: 100%;
    padding-right: 2rem;
  }
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  display: block;
  content: " ";
  background-image: url("../assets/down-arrow.svg");
  background-size: 1rem 1rem;
  height: 1rem;
  width: 1rem;
  background-repeat: no-repeat;
  border-top: none;
  border: none;
  top: calc(50% - 0.5rem);
  right: 0;
  transition: transform var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
    top: 0;
  }
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle[aria-expanded=true]::after {
  transform: rotate(180deg);
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click {
    width: fit-content;
    max-width: 100%;
    padding-right: 2rem;
  }
  .header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    background-color: #2D1A3E;
  }
  .header .wpml-ls-legacy-dropdown-click .wpml-ls-item {
    padding: 0.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}

/*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;
}
.breadcrumbs .crumb svg path {
  fill: #472961;
}

.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: #472961;
}
.breadcrumbs ol .crumb {
  font-weight: 700;
  font-size: 0.85rem;
}
.breadcrumbs ol .crumb--current {
  font-weight: 500;
  color: #1a1a1a;
  font-size: 0.85rem;
}

li.crumb::before {
  content: " > ";
  color: #9a9a9a;
  font-size: 1.5rem;
  position: relative;
  margin-right: 1rem;
  font-weight: 400;
  top: 0.25rem;
}

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

li.crumb--current::before {
  content: " > ";
  color: #9a9a9a;
  font-size: 1.5rem;
  position: relative;
  margin-right: 1rem;
  font-weight: 400;
  top: 0.25rem;
}

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

/* Posts and pages
--------------------------------------------- */
.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 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;
}

.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);
}
@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;
  }
  .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: #472961;
}
.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: #343434;
  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: #472961;
}

/*So the two anchors aren't hidden by the header*/
#bsl, #register_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 #472961;
}

.block_quote {
  position: relative;
  width: 1020px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto;
  padding: 6rem 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: #472961;
}

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

@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: #472961;
  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;
}
.support_organisation_item a p {
  text-decoration: none;
  color: #343434;
}
.support_organisation_item a:hover h3 {
  text-decoration-thickness: 0.1em;
}
.support_organisation_item a:hover svg {
  transform: translateX(0.2rem);
}

#response {
  position: relative;
}
#response::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 #472961;
  border-bottom-color: transparent;
  animation: spin 1s ease-in-out infinite;
  display: none;
}
#response .flex_item {
  opacity: 1;
  transition: opacity var(--transition) ease;
}
#response.loading::before {
  display: block;
}
#response.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: 1000px;
}

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

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

@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: #472961;
  background: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  border-left: 1px solid #725A88;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  font-weight: 700;
}
button#clear svg path {
  fill: #472961;
}
button#clear:hover {
  text-decoration-thickness: 0.2em;
}

#filter ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#filter li {
  margin-bottom: 1rem;
}
#filter input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
#filter 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 {
  content: "";
  left: 0;
  top: calc(50% - 0.5rem);
  position: absolute;
}
#filter input[type=checkbox] + label::before {
  width: 1rem;
  height: 1rem;
  border: 1px solid #343434;
  background: #fff;
  transition: background-color 400ms ease;
}
#filter 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 400ms ease;
}
#filter input[type=checkbox] + label:hover {
  text-decoration: underline;
}
#filter input[type=checkbox] + label:hover::before {
  background-color: #FDE3A4;
}
#filter input[type=checkbox]:hover + label::before {
  background-color: #FDE3A4;
}
#filter input[type=checkbox]:checked + label::before {
  background-color: #FFC845;
}
#filter input[type=checkbox]:checked + label::after {
  opacity: 1;
}
#filter input[type=checkbox]:focus + label {
  outline: 2px solid;
  outline-offset: 2px;
}

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

.page-numbers {
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-primary);
  color: var(--color-black-to-white);
  text-decoration: none;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
.page-numbers.current {
  background-color: var(--color-secondary);
  color: var(--color-white-to-black);
}
.page-numbers:hover {
  text-decoration: none;
  background-color: var(--color-secondary);
  color: var(--color-white-to-black);
}

#response nav {
  flex-basis: 100%;
}

.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;
}
@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;
}
.link-block p {
  text-decoration: none;
  color: #343434;
}
.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 {
  padding-top: 4rem;
}
.wp-block-ace-columns > h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.wp-block-ace-columns > h2:empty {
  display: none;
}
.wp-block-ace-columns .wp-block-columns {
  gap: 3rem;
}
.wp-block-ace-columns + .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 {
  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 {
  color: var(--color-black-to-white);
}
.wp-block-ace-columns .wp-block-ace-column-block img {
  width: auto;
  max-height: 80px;
}

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

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

@media screen and (min-width: 1200px) {
  .column--one {
    grid-column: 1/2;
  }
  .column--one.content {
    grid-row: 1/3;
  }
  .column--one .wysiwyg_container {
    padding-bottom: 0;
  }
  .column--two {
    grid-column: 2/3;
  }
  .column--two.side_bar, .column--two.quicklinks_container, .column--two.in_this_section {
    margin-left: 4rem;
  }
  .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;
  }
}
.column--one .wysiwyg_container.bg-white {
  margin-top: 2rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media screen and (min-width: 1200px) {
  .column--one .wysiwyg_container.bg-white {
    margin-top: -2rem;
  }
}

.page-template-user-account .column--one .bg-white {
  margin-top: unset;
}

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

.single-show .content h1 {
  font-size: 1.375rem;
  line-height: 2.25rem;
}
@media screen and (min-width: 1200px) {
  .single-show .content h1 {
    font-size: 2.625rem;
  }
}

header.content-header * {
  text-align: center;
}

/*Single Page Headers */
.content-header {
  padding-top: 3rem;
  padding-bottom: 2rem;
  text-align: center;
}
@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 .flex.cats {
  list-style: none;
  justify-content: flex-start;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0;
}

.switch {
  border: none;
  border-radius: 1rem;
  height: 2rem;
  width: 5.5rem;
  background-color: #725A88;
  position: relative;
  padding: 0;
  transition: background-color var(--transition) ease;
}
.switch .vivid_text {
  padding-left: calc(2rem + 3px);
  padding-right: 6px;
  text-align: right;
}
.switch .muted_text {
  padding-right: calc(2rem + 3px);
  padding-left: 6px;
}
.switch span {
  font-size: 0.9rem;
  display: inline-block;
  width: 5.5rem;
}
.switch span:nth-of-type(2) {
  display: none;
}
.switch[aria-pressed] {
  background-color: #472961;
}
.switch[aria-pressed] .toggle {
  transform: translateX(3.5rem);
  background-color: #472961;
}
.switch[aria-pressed] .toggle svg g {
  fill: #472961;
  stroke: #fff;
  stroke-width: 1px;
}
.switch[aria-pressed] span:nth-of-type(1) {
  display: none;
}
.switch[aria-pressed] span:nth-of-type(2) {
  display: inline;
}
.switch:hover .toggle {
  background-color: var(--color-secondary-lighter-to-primary-lighter);
}
.switch:hover .toggle svg g {
  fill: #343434;
  stroke: #343434;
}

.toggle {
  position: absolute;
  height: calc(2rem - 6px);
  width: calc(2rem - 6px);
  top: 3px;
  left: 3px;
  border-radius: 1rem;
  border: 1px solid #fff;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateX(0);
  transition: transform var(--move-transition) ease, background-color var(--transition) ease;
}
.toggle svg g {
  fill: #2D1A3E;
  stroke: #2D1A3E;
  stroke-width: 0;
  transition: all var(--transition) ease;
}

.text_sizer_button {
  padding: 0;
  background: transparent;
  transition: all var(--transition) ease;
  width: 25px;
  height: 25px;
  display: inline-block;
}
.text_sizer_button path {
  transition: fill var(--transition) ease;
}
.text_sizer_button:not([disabled]):hover {
  background-color: #E4D3F4;
}
.text_sizer_button:not([disabled]):hover path {
  fill: #343434;
}
.text_sizer_button:focus {
  outline: 2px solid;
  outline-offset: 2px;
}

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

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

.banner_image--muted {
  display: none !important;
}
.banner_image--muted.desktop_only {
  display: none !important;
}
@media screen and (min-width: 1000px) {
  .banner_image--muted.mobile_only {
    display: none !important;
  }
}

.banner_image--vivid {
  display: block !important;
}
.banner_image--vivid.desktop_only {
  display: none !important;
}
@media screen and (min-width: 1000px) {
  .banner_image--vivid.mobile_only {
    display: none !important;
  }
  .banner_image--vivid.desktop_only {
    display: block !important;
  }
}

.muted .banner_image--vivid {
  display: none !important;
}
.muted .banner_image--vivid.desktop_only {
  display: none !important;
}
@media screen and (min-width: 1000px) {
  .muted .banner_image--vivid.mobile_only {
    display: none !important;
  }
}
.muted .banner_image--muted {
  display: block !important;
}
.muted .banner_image--muted.desktop_only {
  display: none !important;
}
@media screen and (min-width: 1000px) {
  .muted .banner_image--muted.mobile_only {
    display: none !important;
  }
  .muted .banner_image--muted.desktop_only {
    display: block !important;
  }
}

.banner.full_width {
  height: calc(var(--vh) * 100 - var(--header-height));
  width: 100vw;
  position: relative;
}
.banner.full_width > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.banner.full_width h2 {
  position: absolute;
  top: 4rem;
  margin: 0 var(--margin);
  font-size: clamp(24px, 7vw, 84px);
  width: fit-content;
  text-align: center;
  width: calc(100% - 2 * var(--margin));
  text-align: center;
}
@media screen and (min-width: 1000px) {
  .banner.full_width h2 {
    text-align: left;
    top: 55%;
    width: fit-content;
    max-width: clamp(15ch, 40vw, 500px);
  }
}

.register-form {
  flex-basis: 100%;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.register-form h2 {
  color: var(--color-secondary);
}
.register-form p, .register-form label {
  color: var(--color-black-to-white);
}
.register-form .button {
  width: 100%;
  background-color: var(--color-secondary-to-white);
  color: var(--color-white-to-black);
  padding: 1.2rem;
  text-align: center;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
.register-form .button:hover {
  background-color: var(--color-secondary-lighter-to-primary-lighter);
  color: #343434;
}
.register-form > * {
  width: 720px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto;
}
.register-form input {
  border-radius: 0.25rem;
  width: 100%;
  margin-bottom: 1rem;
}
.register-form form {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.register-form label {
  margin-bottom: 0.2rem;
}

div#register_your_interest p {
  text-align: left;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

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

.card {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 8px;
  text-decoration: none;
  color: #343434;
}
.card img {
  transition: opacity 400ms ease;
  opacity: 1;
}
.card:hover, .card:focus, .card:active, .card:visited {
  color: #343434;
}
.card:hover img, .card:focus img, .card:active img, .card:visited img {
  opacity: 0.85;
}

.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 #FFC845;
}
#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: #FFC845;
}
#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: #343434;
}
#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: #343434;
  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 #343434;
  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 #FFC845;
}
#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: #FFC845;
}
#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: #343434;
}
#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: #343434;
  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: #343434 1px solid;
  }
}

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

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

.ready .play {
  opacity: 1;
}
.ready .play:hover svg path {
  fill: var(--color-primary);
}

.block-video img {
  transition: opacity var(--transition) ease;
  z-index: 10;
}
.block-video.playing img, .block-video.playing .play {
  opacity: 0;
  transform: translateX(-200vw);
}
.block-video.playing iframe {
  visibility: visible;
}
.block-video iframe {
  visibility: hidden;
}

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

.alt_block {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
}
.alt_block.open {
  width: 100%;
  max-width: 320px;
}

:has(> .alt_block) {
  position: relative;
  display: block;
}

.alt_trigger {
  background-color: white;
  color: black;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 0.1rem;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #E8E8E8;
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
}
.alt_trigger::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  background-image: url("../assets/close-black.svg");
  opacity: 0;
  transition: opacity var(--transition) ease;
  background-size: 50%;
  background-repeat: no-repeat;
  background-position: center center;
}

.alt_modal {
  position: absolute;
  background-color: white;
  top: 0;
  right: 0;
  max-width: 90vw;
  padding: 2rem 1rem;
  opacity: 0;
  transform: scale(0);
  transition: opacity 200ms ease, transform var(--move-transition) ease;
  transform-origin: 100% 0;
}

.open .alt_modal {
  opacity: 1;
  transform: scale(100%);
  border: 1px solid #E8E8E8;
}

.open .alt_trigger {
  border: none;
}
.open .alt_trigger:after {
  opacity: 1;
}

.banner .alt_block {
  top: unset;
  bottom: var(--margin);
  right: var(--margin);
}
@media screen and (min-width: 1200px) {
  .banner .alt_block {
    top: unset;
    bottom: 8rem;
    right: 8rem;
  }
}

/*If content is added to a page outside of the ACE 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%;
}

.sidebar {
  display: none;
}
@media screen and (min-width: 1200px) {
  .sidebar {
    display: flex;
    flex-direction: column;
    grid-column: 2/3;
    grid-row: 1/4;
    width: max-content;
  }
}
.sidebar h3 {
  padding-bottom: 1rem;
  border-bottom: #707070 1px solid;
  margin-bottom: 0;
}
.sidebar .sub-nav ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}
.sidebar .sub-nav ul li {
  border-bottom: #707070 1px solid;
  padding-bottom: 1rem;
  padding-top: 1rem;
}
.sidebar .sub-nav ul li a {
  text-decoration: none;
  font-weight: bold;
  width: 100%;
}
.sidebar .sub-nav ul li a:hover {
  color: #8141B9;
}
.sidebar .sub-nav ul li a:active {
  color: #707070;
}

.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 400ms ease;
}
.nav-item a:hover::after {
  transform: translateX(0.5rem);
}
.nav-item.active a {
  color: #707070;
}
.nav-item.active a:hover {
  color: #707070 !important;
}
.nav-item.active a::after {
  content: none;
}

.wp-block-ace-content {
  padding-top: 2rem;
}
.wp-block-ace-content p {
  font-size: 1rem;
}
@media screen and (min-width: 1200px) {
  .wp-block-ace-content p {
    margin-bottom: 2rem;
  }
}
.wp-block-ace-content p.has-medium-font-size {
  font-size: 1.25rem;
}
.wp-block-ace-content .content-intro p {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2rem;
  color: #1a1a1a;
}

@media screen and (min-width: 1000px) {
  .wp-block-ace-content.two-column {
    display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: clamp(2rem, 20vw, 18rem);
  }
}

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

.wp-block-ace-content-support-organisation .wp-block-ace-content-blocks {
  border-bottom: 1px solid #707070;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}
.wp-block-ace-content-support-organisation .wp-block-ace-content-blocks p.has-small-font-size {
  font-size: 0.875rem;
}

.wp-block-ace-content-support-organisation .wp-block-ace-organisation-sidebar {
  border-bottom: 1px solid #707070;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
}

.wp-block-ace-organisation-sidebar svg {
  margin-right: 1rem;
}
.wp-block-ace-organisation-sidebar dt {
  display: flex;
}
.wp-block-ace-organisation-sidebar dd {
  margin-left: 3rem;
  margin-bottom: 2rem;
}
.wp-block-ace-organisation-sidebar dt.wp-block-ace-courses + dd {
  margin-top: -1.5rem;
}
.wp-block-ace-organisation-sidebar dt.wp-block-ace-organisation + dd {
  margin-top: -1.5rem;
}
.wp-block-ace-organisation-sidebar dt.wp-block-ace-phone-number + dd a {
  text-decoration: none;
}
.wp-block-ace-organisation-sidebar dt.wp-block-ace-location + dd address {
  font-style: normal;
}

@media screen and (min-width: 1000px) {
  .type-support_organisation {
    display: grid;
    grid-template-columns: 2fr clamp(2rem, 20vw, 18rem) 1fr;
  }
  .type-support_organisation .content-header .breadcrumbs {
    margin-bottom: 3rem;
  }
  .type-support_organisation .content-header.margins {
    grid-row: 1/2;
    grid-column: 1/4;
  }
  .type-support_organisation .margins {
    grid-row: 2/3;
    grid-column: 1/3;
  }
  .type-support_organisation .wp-block-ace-content-support-organisation-wrapper {
    grid-column: 1/4;
    grid-row: 2/3;
  }
  .type-support_organisation .wp-block-ace-content-support-organisation-wrapper .wp-block-ace-content-support-organisation {
    display: grid;
    grid-template-columns: 2fr clamp(2rem, 20vw, 18rem) 1fr;
    grid-template-rows: 8rem auto;
  }
  .type-support_organisation .wp-block-ace-content-support-organisation-wrapper .wp-block-ace-content-support-organisation .wp-block-ace-content-blocks {
    grid-row: 1/3;
    border-bottom: none;
  }
  .type-support_organisation .wp-block-ace-content-support-organisation-wrapper .wp-block-ace-content-support-organisation .wp-block-ace-organisation-sidebar {
    grid-row: 1/-1;
    grid-column: 3/4;
    border-bottom: none;
  }
}
/*Blog Posts*/
.single-post .wp-ace-latest-blog-posts {
  display: block;
  background-color: #E8E8E8;
  padding-top: 2rem;
  padding-bottom: 2rem;
  margin-left: calc(var(--margin) * -1);
  margin-right: calc(var(--margin) * -1);
  padding-left: var(--margin);
  padding-right: var(--margin);
  width: 100vw;
}
@media screen and (min-width: 1000px) {
  .single-post .wp-ace-latest-blog-posts {
    width: 100%;
  }
}
.single-post .wp-ace-latest-blog-posts h3 {
  margin-bottom: 1rem;
  width: 100%;
  color: #343434;
  font-weight: 700;
}
.single-post .wp-ace-latest-blog-posts .sidebar_list {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}

.wp-block-ace-content-blog .wp-block-ace-content-blocks {
  width: 100%;
}

.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 {
  padding-top: 5rem;
  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;
}

.single-post .wp-ace-latest-blog-posts .sidebar_list li a {
  position: relative;
  padding-right: 2rem;
  width: 100%;
  display: block;
  font-size: 1rem;
  font-weight: bold;
  padding-bottom: 1rem;
  border-bottom: 1px solid #707070;
  margin-bottom: 1rem;
  text-decoration: none;
  color: #472961;
}
@media screen and (min-width: 1000px) {
  .single-post .wp-ace-latest-blog-posts .sidebar_list li a {
    width: 100%;
  }
}
.single-post .wp-ace-latest-blog-posts .sidebar_list li a:hover {
  color: #8141B9;
}
.single-post .wp-ace-latest-blog-posts .sidebar_list li a:active {
  color: #707070;
}
.single-post .wp-ace-latest-blog-posts .sidebar_list li a::after {
  content: "";
  height: 0.8rem;
  width: 1.2rem;
  display: block;
  top: 0;
  right: 0;
  background-image: url(../assets/arrow.svg);
  background-size: contain;
  position: absolute;
  background-repeat: no-repeat;
  transition: transform 400ms ease;
}
.single-post .wp-ace-latest-blog-posts .sidebar_list li a:hover::after {
  transform: translateX(0.5rem);
}

@media screen and (min-width: 1000px) {
  .single-post .content-header .breadcrumbs {
    margin-bottom: 3rem;
  }
  .single-post .content-header .content-title {
    font-size: 2.375rem;
  }
  .wp-block-ace-content-blog.two-column {
    display: grid;
    grid-template-columns: 2fr clamp(2rem, 20vw, 18rem) 1fr;
  }
  .wp-block-ace-content-blog.two-column .wp-block-ace-content-blocks {
    grid-column: 1/2;
  }
  .wp-block-ace-content-blog.two-column .wp-ace-latest-blog-posts {
    margin-left: 0;
    margin-right: 0;
    grid-column: 3/4;
    background-color: #F7F7F7;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    justify-content: flex-start;
  }
  .wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote {
    width: 100%;
  }
  .wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote p {
    margin-left: 7rem;
    padding-top: 0;
  }
  .wp-block-ace-content-blog .wp-block-ace-content-blocks .wp-block-ace-block-quote footer {
    margin-left: 7rem;
  }
}
/*One Column Single Page*/
@media screen and (min-width: 1000px) {
  .wp-block-ace-content.one-column {
    max-width: calc(100vw - 2 * var(--margin));
    width: 720px;
    padding-left: 0;
    padding-right: 0;
    margin: 0 auto;
  }
  .breadcrumb_container:has(+ .wp-block-ace-content.one-column) {
    max-width: calc(100vw - 2 * var(--margin));
    width: 720px;
    margin: 3rem auto 1rem;
  }
}
#footer {
  padding: 2rem var(--margin) 4rem;
}
@media screen and (min-width: 1200px) {
  #footer {
    padding: 2rem 12rem 4rem;
  }
}

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

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

.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: 2rem;
  padding-bottom: 2rem;
  color: #fff;
  border-bottom: 1px #fff solid;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item {
    padding-bottom: 2rem;
  }
}

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

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

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

.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;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.copyright_hdk {
    flex-direction: row;
    justify-content: space-between;
    grid-column: 1/3;
  }
}

.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 {
  border-bottom: 1px solid #fff;
  padding-bottom: 2rem;
  padding-top: 2rem;
}
.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: 2rem;
  }
}

footer#footer a {
  color: #fff;
}
footer#footer a:hover {
  color: #FFC845;
}
footer#footer a:hover img {
  filter: brightness(0) saturate(100%) invert(87%) sepia(99%) saturate(6250%) hue-rotate(316deg) brightness(96%) contrast(112%);
}
footer#footer a:hover svg * {
  fill: #FFC845;
}

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

.so-me a svg * {
  transition: all var(--transition) ease;
}
.so-me a:hover svg * {
  stroke: #FFC845;
  fill: #FFC845;
}

/*--------------------------------------------------------------
# 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 */
