@charset "UTF-8";
/*!
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*/
/*--------------------------------------------------------------
# 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;
}
main:not(.home-page) .page-content {
  padding: 6rem 25rem 4rem;
  max-width: 820px;
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
}
main:not(.home-page) .page-content h1 {
  text-align: center;
  text-transform: uppercase;
}
main:not(.home-page) .page-content p a {
  text-decoration: underline !important;
}
@media screen and (max-width: 1200px) {
  main:not(.home-page) .page-content {
    padding: 10rem 15rem 4rem;
  }
}
@media screen and (max-width: 1000px) {
  main:not(.home-page) .page-content {
    padding: 10rem 10rem 4rem;
  }
}
@media screen and (max-width: 700px) {
  main:not(.home-page) .page-content {
    padding: 10rem 2rem 4rem;
    box-sizing: border-box;
  }
}

/**
 * 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
--------------------------------------------- */
/* work-sans-regular - 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: "Centra No1";
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/themes/soul/assets/fonts/CentraNo1-Book.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-italic - 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: "Centra No1";
  font-style: italic;
  font-weight: 400;
  src: url("/wp-content/themes/soul/assets/fonts/CentraNo1-BookItalic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* work-sans-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: "Centra No1";
  font-style: normal;
  font-weight: 700;
  src: url("/wp-content/themes/soul/assets/fonts/CentraNo1-Bold.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body,
button,
input,
select,
optgroup,
textarea {
  color: #000;
  font-family: "Centra No1", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000;
  font-family: "Centra No1", sans-serif;
  font-weight: 700;
  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;
}

p + h4 {
  margin: 1.5rem 0 0.8rem 0;
}

.content h1 + h1,
.content h1 + h2,
.content h1 + h3,
.content h1 + h4,
.content h2 + h1,
.content h2 + h2,
.content h2 + h3,
.content h2 + h4,
.content h3 + h1,
.content h3 + h2,
.content h3 + h3,
.content h3 + h4,
.content h4 + h1,
.content h4 + h2,
.content h4 + h3,
.content h4 + h4,
.content h5 + h1,
.content h5 + h2,
.content h5 + h3,
.content h5 + h4,
.content h6 + h1,
.content h6 + h2,
.content h6 + h3,
.content h6 + h4,
.padding_2 h1 + h1,
.padding_2 h1 + h2,
.padding_2 h1 + h3,
.padding_2 h1 + h4,
.padding_2 h2 + h1,
.padding_2 h2 + h2,
.padding_2 h2 + h3,
.padding_2 h2 + h4,
.padding_2 h3 + h1,
.padding_2 h3 + h2,
.padding_2 h3 + h3,
.padding_2 h3 + h4,
.padding_2 h4 + h1,
.padding_2 h4 + h2,
.padding_2 h4 + h3,
.padding_2 h4 + h4,
.padding_2 h5 + h1,
.padding_2 h5 + h2,
.padding_2 h5 + h3,
.padding_2 h5 + h4,
.padding_2 h6 + h1,
.padding_2 h6 + h2,
.padding_2 h6 + h3,
.padding_2 h6 + h4 {
  margin-top: 0;
}

h1,
.h1 {
  font-size: 1.8rem;
}
@media screen and (min-width: 700px) {
  h1,
  .h1 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 1000px) {
  h1,
  .h1 {
    font-size: 2.2rem;
  }
}

h2,
.h2 {
  font-size: 1.4rem;
}
@media screen and (min-width: 1000px) {
  h2,
  .h2 {
    font-size: 2rem;
  }
}

h3,
.h3 {
  font-size: 1.2rem;
}
@media screen and (min-width: 1000px) {
  h3,
  .h3 {
    font-size: 1.4rem;
  }
}
h3.lc,
.h3.lc {
  text-transform: uppercase;
}

h4,
.h4 {
  font-size: 1.2rem;
  font-weight: 700;
  font-family: "Centra No1", sans-serif;
}

h5,
.h5 {
  font-size: 1rem;
  font-weight: 700;
  font-family: "Centra No1", sans-serif;
}

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

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

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

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

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

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

big {
  font-size: 125%;
}

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

.lc {
  text-transform: initial;
}

.uc {
  text-transform: uppercase;
}

.large {
  font-size: 1.1rem;
  line-height: 150%;
}
.large p {
  font-size: 1.1rem;
  line-height: 150%;
}
.large.x-large {
  font-size: 1.5rem;
}
.large.x-large p {
  font-size: 1.5rem;
  color: #000;
}
.large.xx-large {
  font-size: 2rem;
}
.large.xx-large p {
  font-size: 2rem;
  color: #000;
}

.white.large p, .white.large.x-large p, .white.large.xx-large p {
  color: #fff;
}

h2.xx-large {
  font-size: 3rem;
  letter-spacing: 10px;
}

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

::-moz-selection {
  color: #fff;
  background: #23595c;
}

::selection {
  color: #fff;
  background: #23595c;
}

.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 var(--transition) ease;
}
a.arrow_link:hover::after {
  transform: translateX(0.2rem);
}
@media (prefers-reduced-motion: reduce) {
  a.arrow_link:hover::after {
    transform: none;
  }
}

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

.underline {
  text-decoration: underline;
  text-decoration-thickness: 0.15em;
  text-underline-offset: 0.2em;
  transition: all var(--transition) ease-in;
}
.underline:hover {
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.24em;
}

.title {
  letter-spacing: 0.075em;
}

h2:has(> span),
h3:has(> span),
h4:has(> span) {
  display: flex;
  align-items: center;
  gap: 1rem;
}
h2:has(> span) span,
h2:has(> span) svg,
h3:has(> span) span,
h3:has(> span) svg,
h4:has(> span) span,
h4:has(> span) svg {
  width: auto;
}
h2:has(> span) span:empty,
h3:has(> span) span:empty,
h4:has(> span) span:empty {
  display: none;
}

h2 svg {
  height: 2rem;
}
@media screen and (min-width: 1000px) {
  h2 svg {
    height: 3.2rem;
  }
}

h3 svg {
  height: 2.5rem;
}

h4 svg {
  height: 1.5rem;
}

.book {
  font-weight: 400;
}

/* Elements
--------------------------------------------- */
:root {
  --header-height: 7.2rem;
  --header-height-min: 4.5rem;
  --margin: 8vw;
  --transition: 400ms;
  --map-height: 30rem;
  --video-padding: 0px;
}

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

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

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

body {
  background-color: #fff;
}

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

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

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

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

figure {
  margin: 1em 0;
}

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

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

address {
  font-style: normal;
}

/*Links*/
a {
  color: #000;
  text-decoration: none !important;
}
a:visited {
  color: #000;
  text-decoration: none !important;
}
a:hover, a:focus, a:active {
  text-decoration: none !important;
}
a:hover, a:active {
  outline: 0;
  text-decoration: none !important;
}
a:focus {
  outline: 0px solid;
}
a.black:hover, a.black:focus, a.black:active {
  text-decoration: none !important;
}

.bg_body a,
.bg-body a {
  color: #fff;
}
.bg_body a:hover, .bg_body a:focus, .bg_body a:active,
.bg-body a:hover,
.bg-body a:focus,
.bg-body a:active {
  color: #5497a9;
}
.bg_body a.body,
.bg-body a.body {
  color: #000;
}

.timetable_item a {
  color: #ffdd00;
}
.timetable_item a:hover, .timetable_item a:focus, .timetable_item a:active {
  color: #5497a9;
}

#admissions h4 a,
#timetable h4 a {
  color: #ffdd00;
  text-decoration: none;
}
#admissions h4 a:hover, #admissions h4 a:focus, #admissions h4 a:active,
#timetable h4 a:hover,
#timetable h4 a:focus,
#timetable h4 a:active {
  color: #5497a9;
}

.regular {
  font-weight: 400;
}

.medium {
  font-weight: 500;
}

.semibold {
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

.extrabold {
  font-weight: 800;
}

/*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: #000;
  border: 1px solid #6e6e6e;
  border-radius: 0;
  padding: 0.5rem 1rem;
  transition: border var(--transition) ease;
  width: 100%;
}
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 #23595c;
}
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: #000;
}

select {
  color: #000;
  border: 1px solid #6e6e6e;
  border-radius: 5px;
  padding: 10px;
  max-width: 100%;
}

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

/*Buttons*/
button {
  border: none;
  cursor: pointer;
}

input[type=button],
input[type=submit],
.button,
#primary .button,
.decorative {
  background: #000;
  color: #fff;
  display: block;
  text-align: left;
  padding: 1.2rem 1rem;
  line-height: 1;
  text-decoration: none;
  border: none;
  border-radius: 0;
  text-transform: none;
  font-weight: 600;
  font-size: 0.9rem;
  min-width: 5rem;
  transition: text-decoration 400ms ease;
  font-family: 2rem;
  cursor: pointer;
  display: block;
  width: fit-content;
  text-align: center;
  transition: background-color var(--transition) ease-in, color var(--transition) ease-in;
}
input[type=button]:hover, input[type=button]:active,
input[type=submit]:hover,
input[type=submit]:active,
.button:hover,
.button:active,
#primary .button:hover,
#primary .button:active,
.decorative:hover,
.decorative:active {
  background-color: #fff;
  color: #000;
}
input[type=button] .unset-button,
input[type=submit] .unset-button,
.button .unset-button,
#primary .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;
}

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

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

.not_pill {
  border-radius: 0;
  padding: 0.7rem 1.6rem;
  text-decoration: none;
  line-height: 100%;
}
.not_pill:hover, .not_pill:active {
  color: #000;
}

#cart-form .bg-black,
#cart-form .bg_black,
#primary .bg-black,
#primary .bg_black {
  background-color: #000;
  color: #fff !important;
}
#cart-form .bg-black p,
#cart-form .bg-black h1,
#cart-form .bg-black h2,
#cart-form .bg-black h3,
#cart-form .bg-black h4,
#cart-form .bg-black h5,
#cart-form .bg-black h6,
#cart-form .bg_black p,
#cart-form .bg_black h1,
#cart-form .bg_black h2,
#cart-form .bg_black h3,
#cart-form .bg_black h4,
#cart-form .bg_black h5,
#cart-form .bg_black h6,
#primary .bg-black p,
#primary .bg-black h1,
#primary .bg-black h2,
#primary .bg-black h3,
#primary .bg-black h4,
#primary .bg-black h5,
#primary .bg-black h6,
#primary .bg_black p,
#primary .bg_black h1,
#primary .bg_black h2,
#primary .bg_black h3,
#primary .bg_black h4,
#primary .bg_black h5,
#primary .bg_black h6 {
  color: #fff !important;
}
#cart-form .bg-black a,
#cart-form .bg_black a,
#primary .bg-black a,
#primary .bg_black a {
  color: #fff !important;
}
#cart-form .bg-black a.button,
#cart-form .bg_black a.button,
#primary .bg-black a.button,
#primary .bg_black a.button {
  background-color: #fff !important;
  color: #000 !important;
}
#cart-form .bg-black a.button:hover,
#cart-form .bg_black a.button:hover,
#primary .bg-black a.button:hover,
#primary .bg_black a.button:hover {
  background-color: #ffdd00 !important;
}
#cart-form .bg-black .sticker,
#cart-form .bg_black .sticker,
#primary .bg-black .sticker,
#primary .bg_black .sticker {
  color: #000 !important;
}
#cart-form .bg-pure_black,
#cart-form .bg_pure_black,
#primary .bg-pure_black,
#primary .bg_pure_black {
  background-color: #000 !important;
}
#cart-form .bg-pure_black:is(button, a, [type=submit]):hover,
#cart-form .bg_pure_black:is(button, a, [type=submit]):hover,
#primary .bg-pure_black:is(button, a, [type=submit]):hover,
#primary .bg_pure_black:is(button, a, [type=submit]):hover {
  background-color: #ffdd00 !important;
  color: #000;
}
#cart-form .bg-bg,
#cart-form .bg_bg,
#primary .bg-bg,
#primary .bg_bg {
  background-color: #fff;
}
#cart-form .bg-white,
#cart-form .bg_white,
#primary .bg-white,
#primary .bg_white {
  background-color: #fff;
}
#cart-form .bg-grey,
#cart-form .bg_grey,
#primary .bg-grey,
#primary .bg_grey {
  background-color: #a2a9bf;
}
#cart-form .bg-pink,
#cart-form .bg_pink,
#primary .bg-pink,
#primary .bg_pink {
  background-color: #edbddb;
}
#cart-form .bg-beige,
#cart-form .bg_beige,
#primary .bg-beige,
#primary .bg_beige {
  background-color: #fffbe0;
}
#cart-form .bg-teal,
#cart-form .bg_teal,
#primary .bg-teal,
#primary .bg_teal {
  background-color: #00c4b3;
}
#cart-form .bg-maroon,
#cart-form .bg_maroon,
#primary .bg-maroon,
#primary .bg_maroon {
  background-color: #8e1537;
  color: #fff !important;
}
#cart-form .bg-maroon p,
#cart-form .bg-maroon h1,
#cart-form .bg-maroon h2,
#cart-form .bg-maroon h3,
#cart-form .bg-maroon h4,
#cart-form .bg-maroon h5,
#cart-form .bg-maroon h6,
#cart-form .bg_maroon p,
#cart-form .bg_maroon h1,
#cart-form .bg_maroon h2,
#cart-form .bg_maroon h3,
#cart-form .bg_maroon h4,
#cart-form .bg_maroon h5,
#cart-form .bg_maroon h6,
#primary .bg-maroon p,
#primary .bg-maroon h1,
#primary .bg-maroon h2,
#primary .bg-maroon h3,
#primary .bg-maroon h4,
#primary .bg-maroon h5,
#primary .bg-maroon h6,
#primary .bg_maroon p,
#primary .bg_maroon h1,
#primary .bg_maroon h2,
#primary .bg_maroon h3,
#primary .bg_maroon h4,
#primary .bg_maroon h5,
#primary .bg_maroon h6 {
  color: #fff !important;
}
#cart-form .bg-maroon a,
#cart-form .bg_maroon a,
#primary .bg-maroon a,
#primary .bg_maroon a {
  color: #fff !important;
}
#cart-form .bg-maroon a.button,
#cart-form .bg_maroon a.button,
#primary .bg-maroon a.button,
#primary .bg_maroon a.button {
  background-color: #fff !important;
  color: #000 !important;
}
#cart-form .bg-maroon a.button:hover,
#cart-form .bg_maroon a.button:hover,
#primary .bg-maroon a.button:hover,
#primary .bg_maroon a.button:hover {
  background-color: #ffdd00 !important;
}
#cart-form .bg-maroon .sticker,
#cart-form .bg_maroon .sticker,
#primary .bg-maroon .sticker,
#primary .bg_maroon .sticker {
  color: #000 !important;
}
#cart-form .bg-body,
#cart-form .bg_body,
#primary .bg-body,
#primary .bg_body {
  background-color: #000;
}
#cart-form .white,
#primary .white {
  color: #fff;
}
#cart-form .black,
#primary .black {
  color: #000;
}

.bg-black,
.bg_black {
  background-color: #000;
}
.bg-pure_black,
.bg_pure_black {
  background-color: #000 !important;
}
.bg-pure_black:is(button, a, [type=submit]):hover,
.bg_pure_black:is(button, a, [type=submit]):hover {
  background-color: #ffdd00 !important;
  color: #000;
}
.bg-bg,
.bg_bg {
  background-color: #fff;
}
.bg-white,
.bg_white {
  background-color: #fff;
}
.bg-grey,
.bg_grey {
  background-color: #a2a9bf;
}
.bg-pink,
.bg_pink {
  background-color: #edbddb;
}
.bg-beige,
.bg_beige {
  background-color: #fffbe0;
}
.bg-teal,
.bg_teal {
  background-color: #00c4b3;
}
.bg-body,
.bg_body {
  background-color: #000;
}
.bg-blue,
.bg_blue {
  background-color: #97d1dc;
}

.white {
  color: #fff;
}

.black {
  color: #000;
}

.pill {
  border-radius: 2rem;
  padding: 0.7rem 1.6rem;
  text-decoration: none;
  line-height: 100%;
}
.pill:hover, .pill:active {
  color: #000;
}

.triangle {
  width: 0;
  height: 0;
  border-right: 7.5px solid transparent;
  border-left: 7.5px solid transparent;
  border-bottom: 13px solid #fff;
  margin-right: 1.5rem;
  transition: border-bottom var(--transition), ease-in;
}

.rounded {
  border-radius: 8px;
}

@media screen and (min-width: 1000px) {
  .rounded--left {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

@media screen and (min-width: 1000px) {
  .rounded--right {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
  }
}

.overflow_hidden {
  overflow: hidden;
}

.content-padding {
  padding: 1rem 1rem 3rem;
}
@media screen and (min-width: 700px) {
  .content-padding {
    padding: 1rem 2rem 3rem;
  }
}
@media screen and (min-width: 1000px) {
  .content-padding {
    padding: 1rem 3rem 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .content-padding {
    padding: 4rem 0;
  }
}

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

.accordion_style_2 {
  border-top: 1px dotted #23595c;
}

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

@media screen and (max-width: 999px) {
  .tablet_only {
    display: none !important;
  }
}
@media screen and (max-width: 1199px) {
  .desktop_only {
    display: none !important;
  }
}
.download-file {
  max-width: 75%;
}

.card:hover .find_out_more.underline {
  color: #00c4b3;
}
.card:hover .find_out_more.underline::after {
  width: 15%;
}

.underscore::after {
  content: "";
  background-color: currentColor;
  display: block;
  position: relative;
  height: 7.58px;
  width: 62.79px;
  top: 1rem;
}

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

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

figure {
  margin-bottom: 0;
}

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

.hide {
  display: none;
}

.tile {
  width: 1rem;
}

/*Titles*/
.content-title {
  text-align: center;
  display: block;
  color: #23595c;
  font-size: 24px;
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
  z-index: 998;
}
@media screen and (min-width: 700px) {
  .content-title {
    font-size: 28px;
  }
}
@media screen and (min-width: 1200px) {
  .content-title {
    font-size: 32px;
    line-height: 44px;
  }
}
.content-title::before {
  display: block;
  height: 5.26px;
  width: 86px;
  background-color: currentColor;
  position: relative;
  content: "";
  margin: 0 auto;
  top: -0.5rem;
}
@media screen and (min-width: 700px) {
  .content-title::before {
    height: 7.58px;
    width: 124px;
    top: -2rem;
  }
}
.content-title.brother {
  font-family: brother-1816, sans-serif;
  font-weight: 800;
}
.content-title.tertiary {
  color: #00c4b3;
}
.content-title.tertiary::before {
  background-color: #00c4b3;
}
.content-title.no-decoration::before {
  display: none;
}

a.content-title {
  text-decoration: none;
  color: #23595c;
}

.item-title {
  font-family: brother-1816, sans-serif;
  font-weight: 800;
  font-size: 18px;
}
@media screen and (min-width: 700px) {
  .item-title {
    font-size: 22px;
  }
}
@media screen and (min-width: 1200px) {
  .item-title {
    font-size: 24px;
  }
}
.item-title.default {
  color: #5497a9;
}

.desktop {
  display: none;
}
@media screen and (min-width: 1200px) {
  .desktop {
    display: block;
  }
}

.title {
  letter-spacing: 0.05em;
}

.bottom_border {
  border-bottom: 2px solid currentColor;
  transition: border var(--transition) ease-in;
}

.arrow {
  font-weight: 800;
  font-family: "brother-1816";
  padding: 0.75rem 1rem;
  position: relative;
}
.arrow::after {
  content: ">";
  position: absolute;
  right: 1rem;
  font-weight: 400;
}

.no_underline {
  text-decoration: none;
}

.no_margin {
  margin: 0;
}

.border_body {
  border: 1px solid black;
}

.radius {
  border-radius: 8px;
  overflow: clip;
}

/* Images */
@media screen and (min-width: 700px) {
  .image-block-vertical .container {
    max-height: 61vh;
  }
  .image-block-vertical .container img {
    object-fit: contain;
  }
}
@media screen and (min-width: 700px) {
  .image-block-vertical .image-caption {
    margin: 0 auto;
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .image-block-vertical .image-caption {
    max-width: 50%;
  }
}

button svg {
  width: 100%;
  height: 100%;
}

.flex {
  display: flex;
}

.space-between {
  justify-content: space-between;
}

.link_with_icon {
  width: fit-content;
  display: flex;
  gap: 0.5rem;
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  margin-top: 1rem;
}
.link_with_icon span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.link_with_icon svg {
  width: 1rem;
  height: 1rem;
}

.bg_gradient {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
}

span.keep {
  white-space: nowrap;
}

q::before {
  content: "‘";
}

q::after {
  content: "’";
}

@media screen and (max-width: 1000px) {
  .block .flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
}
.content.grid.grid_content p,
.content.grid.grid_content h1,
.content.grid.grid_content h2,
.content.grid.grid_content h3,
.content.grid.grid_content h4,
.content.grid.grid_content h5,
.content.grid.grid_content h6,
.event_content.grid.grid_content p,
.event_content.grid.grid_content h1,
.event_content.grid.grid_content h2,
.event_content.grid.grid_content h3,
.event_content.grid.grid_content h4,
.event_content.grid.grid_content h5,
.event_content.grid.grid_content h6 {
  max-width: 720px;
  margin-right: auto;
  margin-left: auto;
}
.content.grid.grid_content *,
.event_content.grid.grid_content * {
  margin-right: auto;
  margin-left: auto;
}

.pagination .pagination_button {
  margin-left: 0.5rem;
  margin-left: 0.5rem;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 1rem;
  border: 1px solid #000;
  text-align: center;
}
.pagination .pagination_button p {
  margin-bottom: 0;
  font-size: 0.8rem;
}
.pagination .pagination_button.current {
  background-color: #000;
  color: #fff;
}
.pagination .pagination_button:hover {
  cursor: pointer;
}

@media screen and (min-width: 1200px) {
  .max-text {
    max-width: 780px;
  }
}

#primary .bg_black a.button {
  background-color: #fff !important;
  color: #000 !important;
}
#primary .bg_black a.button:hover {
  background-color: #ffdd00 !important;
}

#primary .bg_maroon a.button {
  background-color: #fff !important;
  color: #000 !important;
}
#primary .bg_maroon a.button:hover {
  background-color: #ffdd00 !important;
}

/*Colors & bgs*/
.black {
  color: #000;
}
.black:visited {
  color: #000;
}

.body {
  color: #000;
}
.body:visited {
  color: #000;
}

.white {
  color: #fff;
}
.white:visited {
  color: #fff;
}
.white > h1, .white > h2, .white > h3, .white > h4, .white > h5, .white > h6 {
  color: #fff;
}

.primary {
  color: #23595c;
}
.primary:visited {
  color: #23595c;
}

.secondary {
  color: #ffdd00;
}
.secondary:visited {
  color: #ffdd00;
}

.tertiary {
  color: #b1d1db;
}
.tertiary:visited {
  color: #b1d1db;
}

.highlight {
  color: #ffdd00;
}
.highlight:visited {
  color: #ffdd00;
}

.emphasis {
  color: #5497a9;
}
.emphasis:visited {
  color: #5497a9;
}

.yellow {
  color: #ffdd00;
}
.yellow:visited {
  color: #ffdd00;
}

.fill-black,
.fill_black {
  fill: #000;
}
.fill-black svg path,
.fill_black svg path {
  fill: #000;
}
.fill-bg,
.fill_bg {
  fill: #f7f7f7;
}
.fill-bg svg path,
.fill_bg svg path {
  fill: #f7f7f7;
}
.fill-white,
.fill_white {
  fill: #f7f7f7;
}
.fill-white svg path,
.fill_white svg path {
  fill: #f7f7f7;
}
.fill-grey,
.fill_grey {
  fill: #6e6e6e;
}
.fill-grey svg path,
.fill_grey svg path {
  fill: #6e6e6e;
}
.fill-primary,
.fill_primary {
  fill: #23595c;
}
.fill-primary svg path,
.fill_primary svg path {
  fill: #23595c;
}
.fill-secondary,
.fill_secondary {
  fill: #ffdd00;
}
.fill-secondary svg path,
.fill_secondary svg path {
  fill: #ffdd00;
}
.fill-tertiary,
.fill_tertiary {
  fill: #b1d1db;
}
.fill-tertiary svg path,
.fill_tertiary svg path {
  fill: #b1d1db;
}
.fill-highlight,
.fill_highlight {
  fill: #ffdd00;
}
.fill-highlight svg path,
.fill_highlight svg path {
  fill: #ffdd00;
}
.fill-emphasis,
.fill_emphasis {
  fill: #5497a9;
}
.fill-emphasis svg path,
.fill_emphasis svg path {
  fill: #5497a9;
}
.fill-body,
.fill_body {
  fill: #000;
}
.fill-body svg path,
.fill_body svg path {
  fill: #000;
}

.border_grey {
  border: 1px solid #6e6e6e;
}

.border_white {
  border: 1px solid #fff;
}

.error {
  color: #a01313;
}

.bg_body a {
  color: #fff;
}
.bg_body a:visited {
  color: #fff;
}
.bg_body a.title {
  color: #23595c;
}
.bg_body .body {
  color: #000;
}
.bg_body .body:visited {
  color: #000;
}

/*Proportional Images*/
.container.container--square {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--square {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--square {
    padding-top: 100%;
    height: 0;
  }
}
.container.container--round {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 50%;
}
@supports (aspect-ratio: 16/9) {
  .container.container--round {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--round {
    padding-top: 100%;
    height: 0;
  }
}
.container.container--sixteennine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    padding-top: 56.25%;
    height: 0;
  }
}
.container.container--fourthree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourthree {
    aspect-ratio: 1.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourthree {
    padding-top: 75%;
    height: 0;
  }
}
.container.container--twentyonenine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    aspect-ratio: 2.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    padding-top: 42.85%;
    height: 0;
  }
}
.container.container--fivefour {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fivefour {
    aspect-ratio: 1.25;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fivefour {
    padding-top: 80%;
    height: 0;
  }
}
.container.container--fourfive {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourfive {
    aspect-ratio: 0.8;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourfive {
    padding-top: 125%;
    height: 0;
  }
}
.container.container--twothree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twothree {
    aspect-ratio: 0.6666666667;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twothree {
    padding-top: 150%;
    height: 0;
  }
}
.container.container--threetwo {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--threetwo {
    aspect-ratio: 1.5;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--threetwo {
    padding-top: 66%;
    height: 0;
  }
}
.container.container--video {
  overflow: visible;
}
.container.container--header {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--header {
    aspect-ratio: 0.6666666667;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--header {
    padding-top: 150%;
    height: 0;
  }
}
@media screen and (min-width: 700px) {
  .container.container--header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .container.container--header {
      aspect-ratio: 1.25;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .container.container--header {
      padding-top: 80%;
      height: 0;
    }
  }
}
@media screen and (min-width: 1200px) {
  .container.container--header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .container.container--header {
      aspect-ratio: 2.3333333333;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .container.container--header {
      padding-top: 42.85%;
      height: 0;
    }
  }
}
.container.container--banner {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--banner {
    aspect-ratio: 0.6666666667;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--banner {
    padding-top: 150%;
    height: 0;
  }
}
@media screen and (min-width: 700px) {
  .container.container--banner {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .container.container--banner {
      aspect-ratio: 1.25;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .container.container--banner {
      padding-top: 80%;
      height: 0;
    }
  }
}
@media screen and (min-width: 1200px) {
  .container.container--banner {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .container.container--banner {
      aspect-ratio: 3;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .container.container--banner {
      padding-top: 33%;
      height: 0;
    }
  }
}
.container.container--cover {
  width: 100%;
  height: 100%;
  position: relative;
}
.container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}
.container img.contain {
  object-fit: contain;
}
.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;
}

@media screen and (min-width: 700px) {
  .single-news .container--header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .single-news .container--header {
      aspect-ratio: 1.5;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-news .container--header {
      padding-top: 66%;
      height: 0;
    }
  }
}
@media screen and (min-width: 1200px) {
  .single-news .container--header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .single-news .container--header {
      aspect-ratio: 2.3333333333;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-news .container--header {
      padding-top: 42.85%;
      height: 0;
    }
  }
}

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

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

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

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

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

@media screen and (max-width: 699px) {
  .no_margin_mobile.padding {
    padding: 0;
    gap: 0 !important;
  }
  .no_margin_mobile.margins {
    margin: 0;
    gap: 0 !important;
  }
}
.double_padding {
  padding-left: var(--margin);
  padding-right: var(--margin);
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 1000px) {
  .double_padding {
    padding-left: calc(var(--margin) * 2);
    padding-right: calc(var(--margin) * 2);
  }
}
@media screen and (min-width: 1200px) {
  .double_padding {
    padding-top: 2rem;
    padding-bottom: 2rem;
    padding-left: calc(var(--margin) + 8rem);
    padding-right: calc(var(--margin) + 8rem);
  }
}

@media screen and (min-width: 1200px) {
  #masthead #primary-menu .sub-menu {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: calc(var(--margin) + 8rem);
    padding-right: calc(var(--margin) + 8rem);
  }
}

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

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

.padding .padding-left {
  padding-left: 0;
}
@media screen and (min-width: 1000px) {
  .padding .padding-left {
    padding-left: var(--margin);
  }
}
@media screen and (min-width: 1200px) {
  .padding .padding-left {
    padding-left: calc(var(--margin) * 0.75);
  }
}

/*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_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_33 {
    flex-wrap: wrap;
  }
  .flex.flex_33 > .flex_item {
    flex-basis: calc(33% - 1.66rem);
  }
  .flex.flex_33.gap_3 > .flex_item {
    flex-basis: calc(33% - 2rem);
  }
  .flex.flex_33::after {
    content: "";
    flex-basis: calc(33% - 1.66rem);
  }
  .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);
  }
  .flex-center {
    justify-content: center;
  }
  .flex-center.flex_33::after {
    display: none;
  }
}
@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%;
  }
}
/*  {
	padding: 1rem var(--margin) 1rem;
	@include media1200 {
		padding: 2rem var(--margin) 2rem;
	}
} */
.inner-padding, .inner_padding {
  padding: 2rem;
}

.padding_2 {
  padding: 2rem;
}

.padding-top {
  padding-top: 1rem;
}

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

article {
  padding-bottom: 0.5px;
}

.block.bg_blue {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* .page-header.padding.event_header {
	padding-top: 0;
} */
@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;
  }
  .grid--two-column {
    grid-template-columns: 1fr 2fr;
    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;
    column-gap: 4rem;
  }
  .grid--two-column.grid--45_55 {
    grid-template-columns: 9fr 11fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--2_3 {
    grid-template-columns: 2fr 3fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--1_3 {
    grid-template-columns: 1fr 3fr;
    column-gap: clamp(4rem, 10vw, 12rem);
  }
  .grid--two-column .column--span {
    grid-column: 1/3;
  }
  .grid--two-column .column--span * {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
  }
}
.grid--three-column {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 2rem;
}
.grid--three-column .column--one {
  grid-column: 1/3;
}
.grid--three-column .column--two {
  grid-column: 1/2;
}
.grid--three-column .column--three {
  grid-column: 2/3;
}
@media screen and (min-width: 1000px) {
  .grid--three-column {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr;
  }
  .grid--three-column .column--one {
    grid-column: 1/2;
  }
  .grid--three-column .column--two {
    grid-column: 2/3;
  }
  .grid--three-column .column--three {
    grid-column: 3/4;
  }
}

.grid--one-column {
  max-width: 880px;
  margin: 0 auto;
}

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

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

.single-show .content h1 {
  font-size: 22px;
  line-height: 36px;
}
@media screen and (min-width: 1200px) {
  .single-show .content h1 {
    font-size: 42px;
  }
}

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

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

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

@media screen and (min-width: 1000px) {
  .grid_50 {
    grid-template-columns: 1fr 1fr;
  }
  .grid_50.grid_invert {
    grid-template-columns: 1fr 1fr;
  }
  .grid_50.grid_invert > *:first-child {
    order: 2;
  }
}

@media screen and (min-width: 1000px) {
  .grid_45_55 {
    grid-template-columns: 9fr 11fr;
  }
  .grid_45_55.grid_invert {
    grid-template-columns: 11fr 9fr;
  }
  .grid_45_55.grid_invert > *:first-child {
    order: 2;
  }
}

@media screen and (min-width: 1000px) {
  .grid_40_60 {
    grid-template-columns: 2fr 3fr;
  }
}

@media screen and (min-width: 1000px) {
  .grid_35_65 {
    grid-template-columns: 9fr 11fr;
  }
}
@media screen and (min-width: 1200px) {
  .grid_35_65 {
    grid-template-columns: 7fr 13fr;
  }
}

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

@media screen and (min-width: 1000px) {
  .grid_2_3 {
    grid-template-columns: 2fr 3fr;
  }
}

@media screen and (min-width: 1000px) {
  .grid_7_1 {
    grid-template-columns: 7fr 1fr;
  }
}

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

.gap {
  gap: 0.5rem;
}

.gap_1 {
  gap: 1rem;
}

.gap_2 {
  gap: 2rem;
}

.gap_3 {
  gap: 2rem;
}
@media screen and (min-width: 1000px) {
  .gap_3 {
    gap: 3rem;
  }
}

.gap_4 {
  gap: 2rem;
}
@media screen and (min-width: 1000px) {
  .gap_4 {
    gap: 4rem;
  }
}

.gap_5 {
  gap: 3rem;
}
@media screen and (min-width: 1000px) {
  .gap_5 {
    gap: 5rem;
  }
}

ul.grid {
  list-style: none;
  padding: 0;
  margin: 0;
}

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

@media screen and (min-width: 1000px) {
  .grid_content {
    grid-template-columns: minmax(calc(50vw - var(--margin)), 950px) 1fr;
  }
  .grid_content.center_grid {
    grid-template-columns: minmax(calc(50vw - var(--margin)), 950px);
    justify-content: center;
  }
  .grid_content.grid_cross_sell {
    grid-template-columns: minmax(calc(50vw - var(--margin)), 700px) 2fr;
    gap: 2rem;
  }
  .grid_calendar {
    grid-template-columns: 2fr 3fr;
  }
}
/*--------------------------------------------------------------

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/*Header*/
header#masthead {
  height: var(--header-height);
  position: absolute;
  width: 100%;
  max-width: 100vw;
  top: 0;
  z-index: 9999;
  background-color: transparent;
  transition: padding var(--transition) ease, margin var(--transition) ease;
  display: grid;
  grid-template-rows: auto 1fr;
  max-height: var(--header-height);
  grid-template-columns: 100%;
}
header#masthead.bg_light_gray.mobile_only:not(:has(~ .home-page)) #site-navigation {
  display: block;
}
header#masthead.bg_light_gray.mobile_only:not(:has(~ .home-page)) .preheader_nav,
header#masthead.bg_light_gray.mobile_only:not(:has(~ .home-page)) .utilities {
  display: none;
}
header#masthead .site-branding svg path {
  fill: #fff;
}
header#masthead:not(:has(~ .home-page)) .site-branding svg path {
  fill: #000;
}
header#masthead:not(:has(~ .home-page)) #site-navigation {
  display: none;
}
header#masthead:not(:has(~ .home-page)) #site-navigation.show {
  display: block;
}
header#masthead:not(:has(~ .home-page)) #site-navigation .main-navigation-inner {
  background-color: #000;
  padding: 3rem;
}
header#masthead:not(:has(~ .home-page)) .header .hamburger_container {
  display: block;
}
header#masthead #site-navigation a {
  color: #000;
  position: relative;
  text-decoration: none;
}
header#masthead #site-navigation a::after {
  content: "";
  position: absolute;
  left: 0%;
  bottom: -5px;
  width: 100%;
  height: 2px;
  background-color: white;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}
@media screen and (min-width: 1700px) {
  header#masthead #site-navigation a::after {
    height: 0.3rem;
  }
}
header#masthead #site-navigation a:hover::after {
  transform: scaleX(1);
}
header#masthead #site-navigation a:visited {
  color: #000;
}
header#masthead .header {
  padding: 4rem;
  background-color: transparent;
  display: block;
  position: relative;
}
header#masthead .header .hamburger_container {
  display: none;
  margin: 0;
  position: absolute;
  top: 4rem;
  right: 4rem;
  transform: translateY(1px);
}
header#masthead .header .hamburger_container button#hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
header#masthead .header .hamburger_container button#hamburger .hamburger-box {
  width: 50px;
}
@media screen and (max-width: 700px) {
  header#masthead .header .hamburger_container {
    top: 1rem;
    right: 2rem;
    transform: translateY(2px);
  }
}
header#masthead .open_times {
  display: flex;
  justify-content: center;
  color: #000;
  position: relative;
  z-index: 15;
}
@media screen and (min-width: 1000px) {
  header#masthead .header-ctas {
    align-self: center;
    justify-self: flex-end;
  }
  header#masthead .site-branding {
    align-items: center;
    width: fit-content;
    justify-content: center;
  }
  header#masthead .book-branding-search {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  header#masthead .book-branding-search .utilities {
    justify-content: flex-end;
  }
  header#masthead .desktop-header-nav {
    grid-row: 2/3;
    grid-column: 1/4;
    justify-content: center;
    align-self: flex-end;
    height: min-content;
  }
  header#masthead .site-navigation {
    height: fit-content;
  }
  header#masthead .pre_header {
    display: none;
    width: 100%;
    align-items: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    background-color: transparent;
  }
  header#masthead .pre_header nav {
    display: flex;
  }
  header#masthead .pre_header ul:not(.cart_list) {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin: 0;
    list-style: none;
  }
  header#masthead .pre_header svg {
    height: 1rem;
  }
  header#masthead .pre_header a {
    text-decoration: none;
    font-weight: 700;
    color: #000;
  }
  header#masthead .pre_header .menu-secondary-menu-container li + li {
    position: relative;
  }
  header#masthead .pre_header .menu-secondary-menu-container li + li:after {
    content: "";
    position: absolute;
    height: 1.5rem;
    width: 1px;
    background-color: #000;
    left: -1rem;
  }
  header#masthead .pre_header .menu-secondary-menu-container li + li:before {
    content: "";
    position: absolute;
    height: 1.5rem;
    width: 1px;
    background-color: #000;
    right: -1rem;
  }
  header#masthead .pre_header .open_times {
    color: #000;
  }
  header#masthead .pre_header > p {
    margin-bottom: 0;
  }
  header#masthead .pre_header a.overwrite_link {
    text-transform: none;
    line-height: unset;
    margin-left: 0.5rem;
    text-decoration: underline;
    font-weight: 600;
  }
  header#masthead #mobile-menu {
    margin: 0;
    list-style: none;
    height: fit-content;
    align-items: center;
    padding: 0;
  }
  header#masthead #mobile-menu a {
    font-family: "Work Sans", sans-serif;
    font-size: 18px;
  }
  header#masthead #site-navigation {
    display: block;
  }
  header#masthead #site-navigation .menu-primary-container {
    display: flex;
    align-items: center;
  }
  header#masthead #site-navigation .main-navigation-inner {
    display: flex;
    align-items: center;
  }
  header#masthead #secondary-menu a,
  header#masthead .utilities a,
  header#masthead #site-navigation a,
  header#masthead .open_times {
    color: #000;
  }
  header#masthead #secondary-menu a:visited,
  header#masthead .utilities a:visited,
  header#masthead #site-navigation a:visited,
  header#masthead .open_times:visited {
    color: #000;
  }
  header#masthead .utilities ul {
    padding-left: 0;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    position: relative;
  }
  header#masthead .utilities ul:before {
    content: "";
    position: absolute;
    height: 1.5rem;
    width: 1px;
    background-color: #000;
    right: 1rem;
  }
  header#masthead .utilities a {
    display: grid;
    place-items: center;
  }
  header#masthead .so-me {
    gap: 2rem;
  }
  header#masthead .utilities svg path,
  header#masthead .so-me svg path {
    fill: #000;
  }
  header#masthead #hamburger svg path {
    fill: #000;
  }
  header#masthead .hamburger-inner,
  header#masthead .hamburger-inner::before,
  header#masthead .hamburger-inner::after {
    background-color: #000;
  }
  header#masthead:not(:has(~ .home-page)) .header {
    display: flex;
  }
  header#masthead:not(:has(~ .home-page)) .header #site-navigation {
    position: fixed;
    right: 4rem;
    top: 8rem;
    min-width: unset;
  }
}
@media screen and (min-width: 1200px) {
  header#masthead #site-navigation {
    align-self: center;
  }
  header#masthead .open_times {
    margin-right: auto;
    color: #fff;
  }
}
header#masthead.addFixed {
  position: fixed;
  transform: translate3d(0, -100%, 0);
  transition: padding 0ms ease;
}
header#masthead.slideOut {
  transition: transform 600ms ease-in;
  transform: translate3d(0, -100%, 0);
  position: fixed;
  background-color: #a2a9bf;
}
header#masthead.slideOut * {
  color: #000;
}
header#masthead.slideOut #secondary-menu a,
header#masthead.slideOut .utilities a,
header#masthead.slideOut #site-navigation a,
header#masthead.slideOut .open_times {
  color: #000;
}
header#masthead.slideOut #secondary-menu a:visited,
header#masthead.slideOut .utilities a:visited,
header#masthead.slideOut #site-navigation a:visited,
header#masthead.slideOut .open_times:visited {
  color: #000;
}
header#masthead.slideOut .utilities svg path,
header#masthead.slideOut .site-branding svg path {
  fill: #000;
}
header#masthead.slideOut #hamburger svg path {
  fill: #000;
}
header#masthead.slideOut .hamburger-inner,
header#masthead.slideOut .hamburger-inner::before,
header#masthead.slideOut .hamburger-inner::after {
  background-color: #000;
}
header#masthead.slideOut.slideInDown {
  transform: translate3d(0, 0, 0);
  position: fixed;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
}
header#masthead.slideOut .header {
  border-bottom: none;
}
header#masthead.slideOut .menu-secondary-menu-container li + li:after {
  background-color: #a2a9bf;
}
header#masthead.slideOut .pre_header {
  position: relative;
}
header#masthead.slideOut .pre_header:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 1px;
  background-color: #a2a9bf;
  bottom: -1rem;
  left: calc(var(--margin) * -1);
}
@media screen and (width > 1px) {
  header#masthead:has(~ .home-page) #site-navigation {
    display: block !important;
    padding: 0 2rem;
  }
  header#masthead:has(~ .home-page) #site-navigation .menu-primary-menu-container {
    z-index: 9999;
  }
  header#masthead:has(~ .home-page) .site-branding {
    padding-bottom: 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; */
/* 	}
} */
/*This sets padding on everypage to account for the absolute positioned header*/
#primary.no-featured-image {
  transition: padding var(--transition) ease;
  padding-top: var(--header-height);
}

#hamburger svg path {
  fill: #000;
}
#hamburger svg .menu-secondary-menu-container li + li {
  position: relative;
}
#hamburger svg .menu-secondary-menu-container li + li:after {
  background-color: #000;
}
#hamburger svg .pre_header {
  position: relative;
}
#hamburger svg .pre_header:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 1px;
  background-color: #000;
  bottom: -1rem;
  left: calc(var(--margin) * -1);
}

body:has(.no-featured-image) header#masthead {
  background-color: #a2a9bf;
}
body:has(.no-featured-image) header#masthead * {
  color: #000;
}
body:has(.no-featured-image) header#masthead *:visited {
  color: #000;
}
body:has(.no-featured-image) header#masthead svg path {
  fill: #000;
}
body:has(.no-featured-image) header#masthead .header {
  border-bottom: none;
}
body:has(.no-featured-image) header#masthead #secondary-menu a,
body:has(.no-featured-image) header#masthead .utilities a,
body:has(.no-featured-image) header#masthead #site-navigation a,
body:has(.no-featured-image) header#masthead .open_times {
  color: #000;
}
body:has(.no-featured-image) header#masthead #secondary-menu a:visited,
body:has(.no-featured-image) header#masthead .utilities a:visited,
body:has(.no-featured-image) header#masthead #site-navigation a:visited,
body:has(.no-featured-image) header#masthead .open_times:visited {
  color: #000;
}
body:has(.no-featured-image) header#masthead .menu-secondary-menu-container li + li:after {
  background-color: #000;
}
body:has(.no-featured-image) header#masthead .pre_header {
  position: relative;
}
body:has(.no-featured-image) header#masthead .pre_header:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 1px;
  background-color: #000;
  bottom: -0.4rem;
  left: calc(var(--margin) * -1);
}
@media screen and (min-width: 1000px) {
  body:has(.no-featured-image) header#masthead .pre_header:after {
    bottom: -1rem;
    width: 100vw;
  }
}

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

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

#primary-menu {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  max-width: 95vw;
  margin: 0 auto;
  width: 100%;
  margin-bottom: 1.2rem;
  justify-content: space-between;
  max-width: 100%;
  list-style: none;
  gap: 2.5rem;
  padding-left: 0;
  margin-bottom: 0;
}
#primary-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#primary-menu ul li {
  padding: 0 4rem 3rem;
}
#primary-menu li a {
  text-decoration: none;
  color: #FFFCFC !important;
  font-family: "Josefin Sans", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-transform: uppercase;
}
@media (forced-colors: active) {
  #primary-menu li a {
    text-decoration: underline;
  }
  #primary-menu li a:hover {
    text-decoration-thickness: 0.3em;
  }
}

/* #featured-menu {
	margin-top: 1rem;
	@include media1000 {
		margin-top: unset;
	}
	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);
		&::after {
			content: "";
			position: absolute;
			height: 2px;
			width: 100%;
			max-width: 2rem;
			background-color: $color_primary;
			bottom: 0;
			left: 50%;
			transform: translate(-50%);
			transform-origin: center;
			transition: max-width var(--transition) ease-in;
		}
		&:hover {
			color: $color_primary;
			&::after {
				max-width: 100%;
			}
		}
		@include media1200 {
			font-size: 2rem;
		}
		@media (forced-colors: active){
			text-decoration: underline;
			&:hover{
				text-decoration-thickness: .3em;
			}
		}
	}
} */
@media screen and (max-width: 400px) {
  #primary-menu li a {
    font-size: 1.5rem;
    line-height: 2rem;
    text-align: center;
  }
}
.hamburger_container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: fit-content;
  margin: auto 0;
  grid-row: 1/3;
  grid-column: 3/4;
  z-index: 15;
}
@media screen and (min-width: 1200px) {
  .hamburger_container {
    /* 		grid-column: auto;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    width: fit-content;
    margin-left: 2rem; */
    display: none;
  }
}
.hamburger_container label {
  color: #fff;
}

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

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

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

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

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

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

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
  width: 100%;
  height: 0.2rem;
  background-color: #000;
  border-radius: 23%;
  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: -1.25rem;
}

.hamburger-inner::after {
  top: -0.66rem;
}
@media screen and (min-width: 700px) {
  .hamburger-inner::after {
    top: -0.6rem;
  }
}

.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 {
  transition: top calc(var(--transition) / 2) calc(var(--transition) / 2) cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity calc(var(--transition) / 4) linear;
}

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

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

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

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

.site-branding .desktop_logo {
  display: none;
}
@media screen and (min-width: 1200px) {
  .site-branding .desktop_logo {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .site-branding .mobile_logo {
    display: none;
  }
}
.site-branding a {
  display: block;
  width: 20vw;
  color: #fff;
  height: 16vw;
  transform: translate(0, -2vw);
}
.site-branding a svg {
  min-width: 160px;
}
.site-branding a:hover svg path {
  fill: #ffdd00;
}

header#masthead:not(:has(~ .home-page)) .site-branding a {
  width: 10vw;
}
@media screen and (max-width: 1200px) {
  header#masthead:not(:has(~ .home-page)) .site-branding a {
    transform: translate(-10px, -32px);
  }
}
header#masthead:not(:has(~ .home-page)) .site-branding a.logo {
  color: #000;
  height: auto;
  min-width: 160px;
}
header#masthead:not(:has(~ .home-page)) .site-branding a svg {
  min-width: 160px;
}

#primary-menu .sub-menu {
  position: relative;
  top: 0;
  transform: translate(100vw, 0);
  left: 0;
  z-index: 10;
  height: 100%;
  padding-left: 1rem;
  padding-top: 0.5rem;
  transition: transform var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  #primary-menu .sub-menu {
    transform: translate(-10%, 0) scale(1, 0);
    transform-origin: top;
  }
}
#primary-menu .sub-menu a {
  font-size: 1.1rem;
  font-weight: 400;
}
#primary-menu .sub-menu.open {
  transform: translate(0, 0);
}
@media screen and (min-width: 1200px) {
  #primary-menu .sub-menu.open {
    transform: scale(1);
  }
}
@media screen and (min-width: 1200px) {
  #primary-menu .menu-item-has-children {
    height: 1.5rem;
    /* &.open::before {
    	content: "";
    	position: absolute;
    	top: 0;
    	left: -2rem;
    	right: -2rem;
    	height: 5rem;
    } */
  }
  #primary-menu .menu-item-has-children .sub-menu {
    position: absolute;
    border: none;
    padding-top: 3rem !important;
    top: 4.2rem;
    height: fit-content;
    width: 100vw;
    margin: 0;
    left: 0;
    background-color: #fff;
    list-style: none;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 1200px) and (min-width: 1600px) {
  #primary-menu .menu-item-has-children .sub-menu {
    top: 4.5rem;
  }
}
@media screen and (min-width: 1200px) {
  #primary-menu .menu-item-has-children .sub-menu.open {
    display: grid !important;
  }
  #primary-menu .menu-item-has-children .sub-menu::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #6e6e6e;
    position: fixed;
    top: 1.5rem;
    left: 0;
  }
  #primary-menu .menu-item-has-children li {
    opacity: 0;
    transition: opacity var(--transition) ease calc(var(--transition) / 2);
    margin-bottom: 1rem;
  }
  #primary-menu .menu-item-has-children li a {
    color: #000;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    margin: 0 auto;
    display: block;
    width: fit-content;
    margin-left: 0;
  }
  #primary-menu .menu-item-has-children.open li {
    opacity: 1;
  }
  #primary-menu .menu-item-has-children a:focus {
    outline: none;
  }
  #primary-menu .menu-item-has-children a:focus-visible {
    outline: 2px solid #ffdd00;
    outline-offset: 0.5rem;
  }
}

header#masthead:has(+ .no-featured-image) .header .menu-item-has-children .sub-menu {
  background-color: #fff;
}
header#masthead:has(+ .no-featured-image) .header .menu-item-has-children .sub-menu::after {
  border-bottom-color: #fff;
}

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

.no-flexbox-gap .mode,
.no-flexbox-gap .text_sizer {
  gap: 0;
}
.no-flexbox-gap .mode > *,
.no-flexbox-gap .text_sizer > * {
  margin-right: 1rem;
}
.no-flexbox-gap .mode > *:last-child,
.no-flexbox-gap .text_sizer > *:last-child {
  margin-right: 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;
  }
}

ul#mobile-menu a {
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  padding-bottom: 0.25rem;
  font-size: 1.1rem;
  line-height: 125%;
  transition: color var(--transition) ease-in;
  position: relative;
  margin-bottom: 0.5rem;
  letter-spacing: 0.75px;
  font-family: brother-1816, sans-serif;
  font-weight: 700;
}

/*Desktop Menu*/
@media screen and (min-width: 1200px) {
  .mobile_nav_home svg {
    display: none;
  }
}
/*Branding*/
.site-branding {
  z-index: 1112;
  justify-self: left;
  padding-bottom: 3rem;
}
.search_toggle {
  background-color: transparent;
  display: inline;
}
.search_toggle svg {
  width: 1.2rem;
  height: 1.2rem;
}

#search-modal .search_group {
  align-items: center;
  justify-content: center;
}

@media screen and (min-width: 1200px) {
  #masthead {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
/*Language Select*/
.header {
  position: relative;
  width: 100%;
  margin-top: 1rem;
  align-items: start;
  column-gap: 1rem;
}
.header .wpml-ls-legacy-dropdown-click a {
  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: #ffdd00;
}
.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: #ffdd00;
  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: #ffdd00;
  }
  .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;
  }
}
@media screen and (min-width: 1200px) {
  .header {
    align-items: center;
    height: fit-content;
    margin-top: 0rem;
  }
}

/*Breadcrumbs*/
/* .breadcrumbs {
	display: none;
	@include media1200 {
		display: block;
	}
} */
.breadcrumbs .crumb svg {
  height: 0.85rem;
  width: auto;
  margin-right: 0.25rem;
  margin-bottom: 0.15rem;
}
.breadcrumbs .crumb svg path {
  fill: #ffdd00;
}

.breadcrumb_container {
  margin-bottom: 1rem;
}

.breadcrumbs ol {
  list-style: none;
  display: flex;
  flex-direction: row;
  column-gap: 0.5rem;
  margin-left: 0;
  padding-left: 0;
  margin-bottom: 0;
}
.breadcrumbs ol a {
  display: flex;
  align-items: center;
}
.breadcrumbs ol .crumb {
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}
.breadcrumbs ol .crumb--current {
  font-size: 0.85rem;
  display: flex;
  align-items: center;
}

.body .breadcrumbs ol a,
.bg_white .breadcrumbs ol a {
  color: #000;
  text-decoration: none;
  font-weight: 700;
}
.body .breadcrumbs ol .crumb--current,
.bg_white .breadcrumbs ol .crumb--current {
  color: #000;
}
.body .breadcrumbs ol li.crumb::before,
.body .breadcrumbs ol li.crumb--current::before,
.bg_white .breadcrumbs ol li.crumb::before,
.bg_white .breadcrumbs ol li.crumb--current::before {
  color: #000;
  filter: none;
}

.white .breadcrumbs ol a {
  color: #fff;
}
.white .breadcrumbs ol .crumb--current {
  color: #fff;
}
.white .breadcrumbs ol li.crumb::before,
.white .breadcrumbs ol li.crumb--current::before {
  color: #fff;
  filter: none;
}

li.crumb::before,
li.crumb--current::before {
  content: "»";
  color: #000;
  position: relative;
  margin-right: 0.5rem;
}

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

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

.wpml-ls-flag {
  outline: 1px solid white;
}

/*Mobile Menu*/
#site-navigation .main-navigation-inner > a {
  margin-top: 2rem;
}

#mobile-menu {
  margin-top: 4rem;
}
#mobile-menu li a {
  transition: opacity var(--transition) ease;
}

#mobile-menu .sub-menu {
  border-left: 2px solid white;
  position: fixed;
  padding-left: 1rem;
  text-align: left;
  top: calc(var(--header-height) + 5rem);
  left: 50%;
  opacity: 0;
  transform: translate(-200%, -200%);
  transition: opacity var(--transition) ease 100ms;
  background-color: #ffdd00;
}

#mobile-menu.sub_open li a {
  opacity: 0;
}
#mobile-menu.sub_open .sub-menu {
  opacity: 1;
  transform: translate(-50%, 0);
}
#mobile-menu.sub_open .sub-menu li a {
  opacity: 1;
}
#mobile-menu.sub_open .sub-menu h4 a {
  opacity: 1;
}

/*Megamenu*/
#primary-menu .add_mega_menu .sub-menu {
  position: absolute;
  top: calc(100% + 1.5rem);
  width: calc(100vw - 2 * var(--margin));
  padding: 0;
}
#primary-menu .add_mega_menu .sub-menu > li {
  display: none;
}
#primary-menu .add_mega_menu .sub-menu::after {
  display: none;
}
#primary-menu .add_mega_menu ul {
  padding: 0;
  margin: 0;
}
#primary-menu .megamenu-attractions-grid {
  display: grid;
  grid-template-columns: 100%;
}
#primary-menu .megamenu-attractions-grid:has(.sister-attractions) {
  grid-template-columns: calc(80% - 2rem) 20%;
  width: calc(100% + 2rem);
}
#primary-menu .megamenu-attractions-grid .main-attractions,
#primary-menu .megamenu-attractions-grid .sister-attractions {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1rem;
  padding: 1rem 1rem 3rem 1rem;
}
#primary-menu .megamenu-attractions-grid .main-attractions h4,
#primary-menu .megamenu-attractions-grid .sister-attractions h4 {
  grid-column: 1/-1;
  color: #011d21;
  font-size: 1rem;
  margin-bottom: 0;
  margin-top: 0.5rem;
}
#primary-menu .megamenu-attractions-grid .main-attractions h4 a,
#primary-menu .megamenu-attractions-grid .sister-attractions h4 a {
  color: #011d21;
}
#primary-menu .megamenu-attractions-grid .main-attractions a::after,
#primary-menu .megamenu-attractions-grid .sister-attractions a::after {
  display: none;
}
#primary-menu .megamenu-attractions-grid .main-attractions {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

#mobile-menu .add_mega_menu .sub-menu {
  width: calc(100vw - 2 * var(--margin));
  border-left: none;
  top: var(--header-height);
  height: calc(100dvh - var(--header-height));
  overflow: auto;
}
#mobile-menu .add_mega_menu .sub-menu > li {
  display: none;
}
#mobile-menu .add_mega_menu ul {
  padding: 0;
  margin: 0;
}
#mobile-menu .megamenu-attractions-grid {
  display: grid;
  grid-template-columns: 100%;
}
#mobile-menu .megamenu-attractions-grid .main-attractions,
#mobile-menu .megamenu-attractions-grid .sister-attractions {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 0.5rem;
  background-color: transparent;
}
#mobile-menu .megamenu-attractions-grid .main-attractions h4,
#mobile-menu .megamenu-attractions-grid .sister-attractions h4 {
  grid-column: 1/-1;
  color: #fff;
  font-size: 0.7rem;
  margin-bottom: 0;
  margin-top: 0.25rem;
}
#mobile-menu .megamenu-attractions-grid .main-attractions h4 a,
#mobile-menu .megamenu-attractions-grid .sister-attractions h4 a {
  color: #fff;
}
#mobile-menu .megamenu-attractions-grid .main-attractions a::after,
#mobile-menu .megamenu-attractions-grid .sister-attractions a::after {
  display: none;
}
#mobile-menu .attraction-item-container {
  position: relative;
}
#mobile-menu .attraction-item-container svg {
  height: 24px;
  bottom: 1rem;
  left: 0.5rem;
  position: absolute;
  max-width: calc(100% - 1rem);
}

@media screen and (min-width: 1000px) {
  .megamenu-attractions-grid .attraction-item:hover .attraction-stripe {
    height: 95px;
  }
}
.attractions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 20px;
  opacity: 0;
  transition: opacity 800ms ease-in;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  height: 100%;
  align-content: flex-start;
}
@media screen and (min-width: 1200px) {
  .attractions-grid {
    padding-left: 12rem;
    padding-right: 12rem;
  }
}
.attractions-grid .attraction-item {
  border: 1px solid #ddd;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  flex-basis: 28%;
  padding: 0;
  border: none;
}
@media screen and (min-width: 700px) {
  .attractions-grid .attraction-item {
    flex-basis: 30%;
  }
}
@media screen and (min-width: 1000px) {
  .attractions-grid .attraction-item {
    flex-basis: 23%;
  }
}
@media screen and (min-width: 1200px) {
  .attractions-grid .attraction-item {
    flex-basis: 17.5%;
  }
}
.attractions-grid .attraction-item .attraction-item-container {
  position: relative;
}
.attractions-grid .attraction-item .attraction-item-container svg {
  height: 24px;
  bottom: 1rem;
  left: 0.5rem;
  position: absolute;
  max-width: calc(100% - 1rem);
}
@media screen and (min-width: 1200px) {
  .attractions-grid .attraction-item .attraction-item-container svg {
    height: 39px;
    bottom: 2rem;
    left: 1rem;
    max-width: calc(100% - 2rem);
  }
}
.attractions-grid .attraction-item h3 {
  font-size: 0.8rem;
  margin-top: 0.5rem;
  text-align: left;
  text-decoration: none;
}
@media screen and (min-width: 700px) {
  .attractions-grid .attraction-item h3 {
    font-size: 1rem;
  }
}

.attraction-item-container.container .container:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}

.search-toggle {
  background: transparent;
}
.search-toggle svg {
  width: 1.6rem;
  height: 1.6rem;
}
.search-toggle svg path {
  transition: fill var(--transition) ease-in;
}
.search-toggle:hover svg path {
  fill: #ffdd00;
}

#search-modal {
  height: 100vh;
}

a.menu-item-link.menu-item-back-link svg path {
  fill: #fff;
}

#mobile_nav {
  visibility: hidden;
  height: fit-content;
  padding: 0;
  position: absolute;
  right: 4rem;
  top: 7rem;
}
#mobile_nav.show {
  visibility: visible;
}
@media screen and (max-width: 700px) {
  #mobile_nav {
    right: 2rem;
    top: 5rem;
    width: unset;
  }
}
#mobile_nav #primary-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}
#mobile_nav #primary-menu a {
  font-size: 1.2rem;
}
#mobile_nav #primary-menu .sub-menu {
  left: 0;
}
#mobile_nav #primary-menu .sub-menu li {
  margin-bottom: 0.5rem;
  margin-top: 0.5rem;
}
#mobile_nav #primary-menu .sub-menu a {
  font-size: 1rem;
}
#mobile_nav .preheader_nav ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
#mobile_nav .preheader_nav ul a {
  font-size: 1rem;
  text-transform: uppercase;
  text-decoration: none;
  color: currentColor;
}
#mobile_nav .utilities ul {
  display: flex;
  gap: 1.5rem;
}
#mobile_nav .utilities ul a svg {
  height: 1rem;
  width: 1rem;
}
#mobile_nav .utilities ul a svg .path {
  fill: #000;
}
#mobile_nav ul {
  list-style: none;
  padding: 0;
}

header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav {
  visibility: visible;
  right: unset;
  left: 4rem;
  top: 16rem;
  background-color: transparent;
}
header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav .preheader_nav,
header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav .utilities {
  display: none;
}
@media screen and (max-width: 700px) {
  header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav {
    top: 12rem;
    left: 1rem;
  }
  header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav #primary-menu ul li {
    padding: 0 2rem 3rem;
  }
}

.toggled#mobile_nav {
  top: 0;
  left: 0;
  transition: 0.6s;
}

.slideOut #mobile_nav {
  background-color: #fff;
}

@media screen and (min-width: 1200px) {
  header#masthead #site-navigation .sub-menu li a,
  header#masthead #site-navigation .sub-menu li a:visited {
    color: #011d21;
  }
}
#primary-menu .menu-item.menu-item-has-children > a {
  position: relative;
  padding-right: 1rem;
  width: max-content;
  display: inline-block;
}
@media screen and (min-width: 1200px) and (max-width: 1400px) {
  #primary-menu {
    gap: 1.5rem;
  }
  #primary-menu li a {
    font-size: 1rem;
  }
  #primary-menu .menu-item.menu-item-has-children > a::before {
    top: 0.2rem;
    right: 0.2rem;
    width: 5px;
    height: 5px;
    border-left: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
  }
  #primary-menu .menu-item.menu-item-has-children .sub-menu li a {
    font-size: 0.9rem;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1700px) {
  #primary-menu {
    gap: 2rem;
  }
  #primary-menu li a {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1000px) and (max-width: 1199px) {
  #primary-menu {
    gap: 2rem;
  }
  #primary-menu li a {
    font-size: 1rem;
  }
}

header#masthead #mobile_nav {
  background-color: #000;
  z-index: 9999;
}
header#masthead #mobile_nav .sub-menu li a::after {
  display: none;
}
header#masthead #mobile_nav #secondary-menu {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1rem;
}
header#masthead #mobile_nav #secondary-menu li {
  width: fit-content;
}
header#masthead #mobile_nav #secondary-menu a {
  background: #000;
  color: #fff;
  display: block;
  text-align: left;
  padding: 1.2rem 1rem;
  line-height: 1;
  text-decoration: none;
  border: none;
  border-radius: 0;
  text-transform: none;
  font-weight: 600;
  font-size: 1rem;
  min-width: 5rem;
  transition: text-decoration 400ms ease;
  font-family: 2rem;
  cursor: pointer;
  display: block;
  width: fit-content;
  text-align: center;
  transition: background-color var(--transition) ease-in, color var(--transition) ease-in;
}
header#masthead #mobile_nav #secondary-menu a:hover, header#masthead #mobile_nav #secondary-menu a:active {
  background-color: #fff;
  color: #000;
}
header#masthead #mobile_nav #secondary-menu a .unset-button {
  background: none;
  color: currentColor;
  display: inline;
  padding: 0;
}

.mobile_only.mobile_sub_nav_container.padding {
  grid-column: 1/-1;
}

header#masthead.slideOut.mobile_only .pre_header:after {
  bottom: -0.3rem;
  left: calc(var(--margin) * -1 / 2);
}

header#masthead.site-header.bg_light_gray.mobile_only .pre_header {
  position: relative;
  z-index: 9999;
  display: none;
}
header#masthead.site-header.bg_light_gray.mobile_only .open_times {
  justify-content: flex-start;
}
header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black {
  z-index: 1111;
  margin-top: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 700px) {
  header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black {
    padding: 2rem;
  }
}
header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black .site-branding {
  /* svg {
  	max-width: 30vw;
  	min-width: 100px !important;
  } */
  margin-right: auto;
}
header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black .hamburger_container {
  padding-top: 0.9rem;
}
@media screen and (min-width: 700px) {
  header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black .hamburger_container {
    padding-top: 0;
  }
}
header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black > a {
  text-decoration: none;
  padding-right: 1rem;
  position: relative;
}
header#masthead.site-header.bg_light_gray.mobile_only .header.bg-white.padding-x.black > a::after {
  content: "";
  height: 2rem;
  width: 1px;
  background-color: #000;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}

/* Posts and pages
--------------------------------------------- */
header .fb-share-button.fb_iframe_widget {
  margin: 2rem auto;
  display: block;
  width: fit-content;
}

.news h1 {
  font-size: 2rem;
}

.page-header {
  height: fit-content;
  align-items: center;
}
.page-header.header-simple, .page-header.new_header {
  min-height: 20rem;
}
.page-header.header-simple .description, .page-header.new_header .description {
  max-width: 720px;
}
.page-header.grid_content a {
  margin-left: auto;
}
.page-header.grid_content article {
  margin-left: 2rem;
}
.page-header.grid_content aside {
  margin-right: 2rem;
}
@media screen and (min-width: 1000px) {
  .page-header.header-featured {
    gap: 0;
    min-height: 37.5vw;
    max-height: 37.5vw;
  }
}
.page-header > .header_text {
  display: grid;
  place-items: center;
  height: fit-content;
  padding-right: 2rem;
}
.page-header > .header_text h1 {
  margin-bottom: 1.8rem;
}
@media screen and (min-width: 1000px) {
  .page-header > .header_text {
    height: 100%;
  }
  .page-header > .header_text h1 {
    width: 80%;
  }
}
.page-header > .header_text .header_text_content > svg {
  width: 100%;
  height: 100%;
  max-width: 5rem;
  max-height: 5rem;
  object-fit: contain;
  margin-bottom: 1rem;
}
.page-header > .header_text .header_text_content p:has(+ a) {
  margin-bottom: 1.8rem;
}
@media screen and (min-width: 1000px) {
  .page-header > .header_text .header_text_content p {
    font-size: clamp(0.75rem, 1vw, 1rem);
    line-height: 1.5;
  }
}
.page-header .container:has(.video_bg__video, img) {
  height: 100%;
  width: auto;
}
.page-header .subheader {
  font-weight: 400;
  margin-top: 1rem;
}

.featured_image {
  height: fit-content;
  overflow: hidden;
  position: relative;
}
.featured_image > img {
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.featured_image .video_bg__video {
  min-width: 100%;
  min-height: 100%;
  position: relative;
  overflow: hidden;
}
.featured_image::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: o;
  z-index: 3;
  background-color: transparent;
}

.notice {
  margin-top: var(--header-height);
  align-items: center;
}
.notice p {
  font-size: 1rem;
  line-height: 1.3rem;
  margin-bottom: 0;
  padding: 1rem 0;
}
.notice button {
  margin-left: auto;
  font-size: 1rem;
  padding: 0;
  background-color: transparent;
  border: none;
  text-decoration: underline;
}
.notice.hide {
  display: none;
}

#notice:not(.hide) + #primary {
  padding-top: 0;
}

@media screen and (max-width: 999px) {
  .page-header.header-featured > *:first-child {
    order: 2 !important;
  }
}
.search_header {
  display: flex;
  align-items: center;
}
.search_header form {
  width: 100%;
  max-width: 1200px;
}

.header_text_content {
  width: 100%;
}

main#primary.home-page header.page-header {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 100vh;
  display: none;
}
main#primary.home-page header.page-header.desktop_header {
  display: block;
}
main#primary.home-page header.page-header.mobile_header {
  display: none;
}
@media screen and (max-width: 700px) {
  main#primary.home-page header.page-header {
    display: block;
  }
  main#primary.home-page header.page-header.desktop_header {
    display: block;
  }
  main#primary.home-page header.page-header.mobile_header {
    display: block;
  }
}

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

.if_content:empty {
  display: none;
}

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

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

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

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

.timeline-horizontal .timeline-slide-image-text-container {
  min-width: 100%;
}

@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide.highlight .timeline-slide-title::before {
    left: -1rem;
    top: 50%;
    transform: rotate(270deg) translateX(50%);
  }
}
.timeline-vertical .timeline-slide.highlight .timeline-slide-year {
  justify-self: end;
}
@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide.highlight .timeline-slide-year {
    text-align: right;
  }
}
@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide.tertiary .timeline-slide-title::before {
    right: -1rem;
    top: 50%;
    transform: rotate(90deg) translateX(-50%);
    left: unset;
  }
}
.timeline-vertical .timeline-slide.tertiary .timeline-slide-year {
  justify-self: start;
}
.timeline-vertical .timeline-slide.tertiary .timeline-slide-image-text-container {
  justify-self: end;
}
.timeline-vertical .timeline-slide .timeline-slide-title {
  margin-top: 0;
}
.timeline-vertical .timeline-slide .timeline-slide-image-text-container {
  max-width: 472px;
  margin-top: 1rem;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide .timeline-slide-image-text-container {
    margin-top: 0;
  }
}
.timeline-vertical .timeline-slide .timeline-slide-year {
  max-width: 472px;
  align-self: start;
  margin-top: 6px;
}
@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide {
    grid-template-columns: 1fr 5rem 1fr;
    display: grid;
  }
  .timeline-vertical .timeline-slide.highlight .timeline-slide-year {
    grid-column: 1/2;
  }
  .timeline-vertical .timeline-slide.highlight .timeline-slide-image-text-container {
    grid-column: 3/4;
  }
  .timeline-vertical .timeline-slide.tertiary .timeline-slide-year {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .timeline-vertical .timeline-slide.tertiary .timeline-slide-image-text-container {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .timeline-vertical .timeline-slide .timeline-slide-icon {
    grid-column: 2/3;
    margin: 0 auto;
    align-self: start;
  }
}

.timeline-vertical {
  position: relative;
  margin-top: 3rem;
}
.timeline-vertical::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #ffdd00;
  width: 3px;
  height: 100%;
  left: 50%;
}
.timeline-vertical .timeline-slide {
  margin-bottom: 2rem;
}
.timeline-vertical .timeline-slide:first-of-type {
  padding-top: 4rem;
}
.timeline-vertical .timeline-slide:first-of-type::before {
  content: "";
  display: block;
  background-color: #cd962d;
  position: absolute;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  top: 0;
  left: 50%;
  transform: translateX(-40%);
}
.timeline-vertical .timeline-slide:last-of-type {
  padding-bottom: 16rem;
}
.timeline-vertical .timeline-slide:last-of-type::after {
  content: "";
  display: block;
  background-color: #cd962d;
  position: absolute;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  bottom: 0;
  left: 50%;
  transform: translateX(-40%);
}
.timeline-vertical .timeline-slide .timeline-slide-info {
  position: relative;
  z-index: 99;
}
.timeline-vertical .timeline-slide .timeline-slide-year {
  text-align: center;
  width: fit-content;
  background-color: #000;
  z-index: 9;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .timeline-vertical .timeline-slide .timeline-slide-year {
    text-align: unset;
    margin: 0;
    width: 100%;
  }
}
.timeline-vertical .timeline-slide .timeline-slide-title::before {
  transform: translateX(-45%);
}

.timeline-slide.placeholder .timeline-slide-image.container.container--fourthree {
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: radial-gradient(circle, #cccccc, #2c2929);
}
.timeline-slide.placeholder .timeline-slide-image.container.container--fourthree svg {
  width: 50%;
}

.timeline-slide a.timeline-repeater-link {
  color: #000;
}
.timeline-slide a.timeline-repeater-link:visited {
  color: #000;
}
.timeline-slide.highlight a.timeline-repeater-link.find_out_more.underline::after {
  background-color: #ffdd00;
}
.timeline-slide.tertiary a.timeline-repeater-link.find_out_more.underline::after {
  background-color: #b1d1db;
}

article h3 {
  font-family: "Centra No1", sans-serif;
  font-weight: 600;
}

.content_layout aside,
#primary .grid_content aside {
  width: 100%;
}
@media screen and (min-width: 1000px) {
  .content_layout aside,
  #primary .grid_content aside {
    justify-self: end;
    width: 400px;
    max-width: 90vw;
  }
}

.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;
  color: #fff;
  display: flex;
  column-gap: 2rem;
}
@media screen and (min-width: 700px) {
  .footer_grid--item.nav_menus {
    justify-content: space-between;
    column-gap: unset;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.nav_menus {
    column-gap: 4rem;
    padding-bottom: 2rem;
  }
}
.footer_grid--item.nav_menus a {
  color: #fff;
  text-decoration: none;
  display: block;
  margin-bottom: 0.5rem;
}
.footer_grid--item.nav_menus ul {
  list-style: none;
}

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

.copyright_text {
  font-weight: 500;
}

.footer_grid--item.nav_menus {
  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: #9e9e9e;
}
footer#footer a:hover img {
  filter: brightness(80%);
}
footer#footer a:hover svg * {
  fill: #9e9e9e;
}
footer#footer a.bg_yellow {
  color: black;
}
footer#footer a.bg_yellow:hover, footer#footer a.bg_yellow:focus, footer#footer a.bg_yellow:active {
  color: #000;
  background-color: #ffdd00;
  text-decoration-thickness: 0.1em;
}
footer#footer a.bg_yellow .svg * {
  fill: #000;
}

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

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

.btt {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.btt a {
  border: 1px solid #000;
  font-size: 1.2rem;
  font-weight: 600;
  text-transform: uppercase;
}
.btt a:hover {
  background-color: #000;
  color: #fff;
}

#footer .separator {
  margin: 0;
}
#footer .separator:after {
  background-color: #6e6e6e;
}

.footer_logo_socials.bg_black {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer_logo_socials.bg_black .flex {
  display: none;
}
@media screen and (min-width: 1000px) {
  .footer_logo_socials.bg_black .flex {
    display: flex;
    gap: 2rem;
  }
}
.footer_logo_socials.bg_black .footer_grid--item.logo_copy {
  margin-right: auto;
}

.footer_logo_socials.bg_black {
  display: flex;
  width: 100%;
  align-items: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.footer_logo_socials.bg_black nav {
  display: flex;
}
.footer_logo_socials.bg_black ul:not(.cart_list) {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin: 0;
  list-style: none;
}
.footer_logo_socials.bg_black .menu-secondary-menu-container svg,
.footer_logo_socials.bg_black .utilities svg,
.footer_logo_socials.bg_black .so-me svg {
  height: 1rem;
}
.footer_logo_socials.bg_black a {
  text-decoration: none;
  font-weight: 700;
  color: #fff;
}
.footer_logo_socials.bg_black .menu-secondary-menu-container li + li {
  position: relative;
}
.footer_logo_socials.bg_black .menu-secondary-menu-container li + li:after {
  content: "";
  position: absolute;
  height: 1.5rem;
  width: 1px;
  background-color: #fff;
  left: -1.5rem;
}
.footer_logo_socials.bg_black .menu-secondary-menu-container li + li:before {
  content: "";
  position: absolute;
  height: 1.5rem;
  width: 1px;
  background-color: #fff;
  right: -1.5rem;
}
.footer_logo_socials.bg_black .open_times {
  color: #000;
}
.footer_logo_socials.bg_black > p {
  margin-bottom: 0;
}
.footer_logo_socials.bg_black a.overwrite_link {
  text-transform: none;
  line-height: unset;
  margin-left: 0.5rem;
  text-decoration: underline;
  font-weight: 600;
}
.footer_logo_socials.bg_black .utilities ul {
  padding-left: 0;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
  position: relative;
}
.footer_logo_socials.bg_black .utilities ul:before {
  content: "";
  position: absolute;
  height: 1.5rem;
  width: 1px;
  background-color: #fff;
  right: 1.5rem;
}
.footer_logo_socials.bg_black .utilities a {
  display: grid;
  place-items: center;
}

.footer_grid--item.find_us.bg_black {
  grid-template-columns: 1fr;
}
.footer_grid--item.find_us.bg_black > div {
  margin-right: 2rem;
  position: relative;
}
@media screen and (min-width: 1000px) {
  .footer_grid--item.find_us.bg_black {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.footer_grid--item.bg_black .supporters_flex a img {
  width: fit-content;
  display: block;
  height: 3rem;
  object-fit: contain;
}
.footer_grid--item.bg_black .flex {
  justify-content: flex-start;
  gap: 3rem;
  align-items: center;
}

@media screen and (max-width: 700px) {
  #footer .grid.footer_grid.grid.gap .separator {
    display: none;
  }
  .footer_grid--item {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .footer_grid--item.find_us.bg_black.grid.grid_25 .footer_grid--item {
    padding: 0;
    padding-top: 0.5rem;
  }
  .footer_grid--item.logo_copy svg {
    width: 12rem;
  }
}
@media screen and (min-width: 700px) {
  .footer_grid--item.find_us.bg_black.grid.grid_25 .footer_grid--item {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

footer#footer a svg * {
  fill: #fff;
}

footer#footer .bg_yellow svg * {
  fill: #000;
}

.footer_grid--item.contact_us .footer_heading {
  visibility: hidden;
}

.footer_grid--item .address .first_address {
  font-weight: 700;
}
.footer_grid--item .contact_details {
  margin-top: 1rem;
}

.footer_grid--item.nav_menus #footer-menu a {
  margin-bottom: 0.8rem;
}
.footer_grid--item.nav_menus #footer-menu .list-space {
  display: block;
  height: 10px;
}

#footer {
  padding-bottom: 0;
}
#footer *,
#footer a {
  font-size: 0.9rem !important;
  line-height: 1.2rem;
}
#footer .footer_grid--item.bg_black.flex {
  align-items: center;
}
#footer .footer_grid--item.bg_black.flex p {
  padding-bottom: 0;
}

#footer .footer_grid--item.find_us .footer_grid--item {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
#footer .footer_grid--item.find_us .footer_grid--item div p,
#footer .footer_grid--item.find_us .footer_grid--item div a {
  margin-bottom: 0;
}
#footer .footer_grid--item.find_us .footer_grid--item div .bold {
  margin-bottom: 0.3rem;
}
#footer .footer_grid--item.find_us .footer_grid--item .opening_times a {
  position: relative;
}
#footer .footer_grid--item.find_us .footer_grid--item .opening_times a::after {
  content: ">";
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
#footer .footer_grid--item.find_us .footer_grid--item .nav_menus {
  padding-top: 0;
  padding-bottom: 0;
}
#footer .footer_grid--item.find_us .footer_logo_socials.bg_black.tablet-only {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#footer .footer_grid--item.find_us .footer_logo_socials.bg_black.tablet-only ul#secondary-menu {
  padding-left: 0;
}
#footer .footer_grid--item.find_us .footer_logo_socials.bg_black.tablet-only ul#secondary-menu a {
  font-size: 1.1rem !important;
}
#footer .footer_grid--item.find_us > .footer_grid--item > .so-me {
  gap: 0.5rem;
}
#footer .footer_grid--item.find_us > .footer_grid--item > .so-me a svg {
  width: 1.1rem;
  height: 1.1rem;
}

.newsletter_form .flex {
  margin-bottom: 1rem;
  gap: 1rem;
}
.newsletter_form .flex p {
  flex-basis: 75%;
}
.newsletter_form .flex [type=submit] {
  height: fit-content;
}
.newsletter_form .flex input:not([type=submit]) {
  flex-grow: 1;
}
.newsletter_form .flex input:not([type=submit])[type=email] {
  flex-grow: 5;
}

/*--------------------------------------------------------------
# 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
--------------------------------------------- */
/*# sourceMappingURL=style.css.map */
