@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.
 */
/**
 * 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
--------------------------------------------- */
/* lora-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: "Lora";
  font-style: normal;
  font-weight: 400;
  src: url("../assets/fonts/lora-v37-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lora-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: "Lora";
  font-style: italic;
  font-weight: 400;
  src: url("../assets/fonts/lora-v37-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* lora-600italic - 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: "Lora";
  font-style: italic;
  font-weight: 600;
  src: url("../assets/fonts/lora-v37-latin-600italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body,
button,
input,
select,
optgroup,
textarea {
  color: #000;
  font-family: "Lora", serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #000;
  font-family: "Lora", serif;
  font-weight: 300;
  line-height: 110%;
  margin: 0 0 1rem;
}
h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4 {
  margin-top: -1rem;
}

h1 {
  color: #F9DC01;
  font-style: italic;
  font-weight: 600;
}

h2 {
  font-weight: 400;
  font-style: italic;
}

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: clamp(2.09375rem, 4.75vw, 4.1875rem);
}
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: "Lora", serif;
}

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

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  font-family: "Lora", serif;
  max-width: 680px;
}
p.yellow {
  font-size: 38px;
  line-height: 1.5;
  font-style: italic;
}
@media screen and (min-width: 700px) {
  p.yellow {
    font-size: 48px;
  }
}

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: 10rem;
    --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;
}
body main#primary {
  margin: 0 auto;
}
@media screen and (max-width: 700px) {
  body::before {
    width: 0;
  }
}
@media screen and (max-width: 560px) {
  body::before {
    display: none;
  }
}

.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%;
  min-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-off_white,
#cart-form .bg_off_white,
#primary .bg-off_white,
#primary .bg_off_white {
  background-color: #FFFBF5;
}
#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;
}

.yellow,
.yellow h1 {
  color: #F9DC01;
}

.text-padding-left {
  padding-left: 0;
}
.text-padding-left.home-small-text {
  padding-top: 2rem;
}
.text-padding-left.home-small-text p {
  max-width: 720px;
  font-family: "Lora", serif;
  font-size: 18px;
  line-height: 2;
  font-weight: 400;
}
@media screen and (min-width: 700px) {
  .text-padding-left.home-small-text p {
    font-size: 24px;
  }
}
@media screen and (min-width: 1000px) {
  .text-padding-left {
    padding-left: 25%;
  }
  .text-padding-left.home-small-text {
    padding-top: 0;
  }
}
@media screen and (min-width: 1200px) {
  .text-padding-left {
    padding-left: 50%;
  }
}

h2.section-heading {
  padding-top: 2.5rem;
  font-size: 80px;
  line-height: 1.5;
  font-weight: 600;
  font-style: italic;
}
@media screen and (min-width: 700px) {
  h2.section-heading {
    font-size: 98px;
    padding-top: 5rem;
  }
}

/*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, .white > a, .white > * {
  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: #F9DC01;
}
.yellow:visited {
  color: #F9DC01;
}

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

.home-content-section {
  background-color: #210E0E;
}

.bg-brown {
  background-color: #210E0E;
}

/*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;
}
.container.container--undercard-text-wrapper {
  width: 100%;
  display: block;
  padding: 1rem;
}
.container.container--undercard-text-wrapper a.card-title {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05rem;
}
.container.container--undercard-text-wrapper p.card-subtitle {
  font-size: 16px;
  line-height: 1.5;
  font-style: italic;
  font-weight: 400;
}
.container.container--undercard-text-wrapper p.card-subtitle:empty {
  height: 2rem;
}
.container.container--undercard-text-wrapper p.card-author {
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (min-width: 700px) {
  .container.container--undercard-text-wrapper a.card-title {
    font-size: 24px;
  }
  .container.container--undercard-text-wrapper p.card-subtitle {
    font-size: 18px;
  }
  .container.container--undercard-text-wrapper p.card-author {
    font-size: 16px;
  }
}
@media screen and (min-width: 1000px) {
  .container.container--undercard-text-wrapper a.card-title {
    line-height: 2;
  }
  .container.container--undercard-text-wrapper p.card-subtitle {
    line-height: 2;
  }
  .container.container--undercard-text-wrapper p.card-author {
    line-height: 2;
  }
}

.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);
}
.margins.block--highlights-carousel {
  margin: 0;
}
@media screen and (min-width: 1200px) {
  .margins {
    margin: 2rem var(--margin) 3rem;
  }
  .margins.block--highlights-carousel {
    margin: 0;
  }
}

.padding {
  padding: 2rem var(--margin) 2rem;
}
@media screen and (min-width: 1200px) {
  .padding {
    padding: 3rem var(--margin) 3rem;
  }
}
@media screen and (max-width: 700px) {
  .padding#after-banner-section {
    padding-top: 4.5rem;
  }
}

.padding-half-labels {
  padding: 1rem calc(var(--margin) / 3) 1rem;
}
@media screen and (min-width: 1200px) {
  .padding-half-labels {
    padding: 1.5rem calc(var(--margin) / 3) 1.5rem;
  }
}

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

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

.card-meta-padding {
  padding: 0.8rem var(--margin) 2rem;
}
.card-meta-padding.essay-artwork-meta {
  padding: 1rem calc(var(--margin) / 2) 1rem;
}
.card-meta-padding.essay-artwork-meta.inside-grid {
  padding: 1rem calc(var(--margin) / 2) 0rem;
}
.card-meta-padding a {
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (min-width: 700px) {
  .card-meta-padding a {
    font-size: 24px;
  }
  .card-meta-padding.essay-artwork-meta.inside-grid {
    padding: 1rem calc(var(--margin) / 2) 0rem;
  }
}
@media screen and (min-width: 1200px) {
  .card-meta-padding {
    padding: 1rem var(--margin) 3rem;
  }
  .card-meta-padding.essay-artwork-meta {
    padding: 2rem calc(var(--margin) / 2) 2rem;
  }
  .card-meta-padding.essay-artwork-meta.inside-grid {
    padding: 2rem calc(var(--margin) / 2) 0rem;
  }
}

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

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

.padding-top-big {
  padding-top: 10rem;
}
@media screen and (min-width: 700px) {
  .padding-top-big {
    padding-top: 15rem;
  }
}

@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;
} */
section.page-content#after-banner-section.exhibitions .single-half-image-text {
  width: 100%;
  box-sizing: border-box;
}
@media screen and (min-width: 700px) {
  section.page-content#after-banner-section.exhibitions .single-half-image-text {
    width: 75%;
  }
  section.page-content#after-banner-section.exhibitions .single-half-image-text.image-left {
    margin-right: 25%;
  }
  section.page-content#after-banner-section.exhibitions .single-half-image-text.image-right {
    margin-left: 25%;
  }
}
section.page-content#after-banner-section.exhibitions .artwork-meta {
  padding: 0.5rem 1rem 2.5rem;
}
@media screen and (min-width: 700px) {
  section.page-content#after-banner-section.exhibitions .artwork-meta {
    padding-bottom: 5rem;
  }
}
section.page-content .big-text {
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 700px) {
  section.page-content .big-text {
    padding-bottom: 5rem;
  }
  section.page-content .big-text.text-right {
    padding-left: 25%;
  }
  section.page-content .big-text.text-left {
    padding-right: 25%;
  }
}
@media screen and (min-width: 1200px) {
  section.page-content .big-text.text-right {
    padding-left: 50%;
  }
  section.page-content .big-text.text-left {
    padding-right: 50%;
  }
}
section.page-content p.p-big-text {
  font-size: 38px;
  line-height: 1.6;
  font-weight: 400;
}
@media screen and (min-width: 700px) {
  section.page-content p.p-big-text {
    font-size: 48px;
  }
}
section.page-content .small-text {
  padding-bottom: 2rem;
}
@media screen and (min-width: 700px) {
  section.page-content .small-text {
    padding-bottom: 3.5rem;
  }
  section.page-content .small-text.text-right {
    padding-left: 25%;
  }
  section.page-content .small-text.text-left {
    padding-right: 25%;
  }
}
@media screen and (min-width: 1200px) {
  section.page-content .small-text.text-right {
    padding-left: 50%;
  }
  section.page-content .small-text.text-left {
    padding-right: 50%;
  }
}
section.page-content .small-text p {
  font-size: 18px;
  line-height: 2;
  font-weight: 400;
}
@media screen and (min-width: 700px) {
  section.page-content .small-text p {
    font-size: 24px;
  }
}

.italic {
  font-style: italic;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}
.absolute.scroll-over-block__overlay-text {
  top: 50%;
  left: 50%;
  padding: 3rem 2rem 2rem;
}
.absolute.scroll-over-block__overlay-text p {
  font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem);
  line-height: 1.5;
  font-style: italic;
  font-weight: 400;
}
@media screen and (min-width: 700px) {
  .absolute.scroll-over-block__overlay-text p {
    font-size: clamp(1.75rem, 1.5rem + 0.75vw, 2rem);
  }
}

.multiple-half-image-text.grid--two-to-one.gap_4 {
  gap: 0;
}
@media screen and (min-width: 700px) {
  .multiple-half-image-text.grid--two-to-one.gap_4 {
    gap: 2rem;
  }
}

@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;
  grid-template-rows: 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: 700px) {
  .grid--three-column {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
  }
}
@media screen and (min-width: 1000px) {
  .grid--three-column {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    gap: 3rem;
  }
  .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;
  }
}

.grid--two-to-one {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 700px) {
  .grid--two-to-one {
    grid-template-columns: 1fr 1fr;
  }
}

.grid--two-to-one-right {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 700px) {
  .grid--two-to-one-right {
    grid-template-columns: 1.5fr 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 {
  position: absolute;
  width: 100%;
  max-width: 100vw;
  top: 0;
  z-index: 10000;
  background-color: transparent;
  transition: padding var(--transition) ease, margin var(--transition) ease;
  display: grid;
  grid-template-rows: auto 1fr;
  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: #F9DC01;
}
header#masthead:not(:has(~ .home-page)) .site-branding svg path {
  fill: #F9DC01;
}
header#masthead:not(:has(~ .home-page)) #site-navigation {
  display: block;
}
header#masthead:not(:has(~ .home-page)) #site-navigation.show {
  display: block;
}
header#masthead:not(:has(~ .home-page)) #site-navigation .main-navigation-inner {
  background-color: transparent;
  padding: 0;
}
header#masthead:not(:has(~ .home-page)) #site-navigation .main-navigation-inner #primary-menu li a {
  color: #000 !important;
}
header#masthead:not(:has(~ .home-page)) .header .hamburger_container {
  display: block;
  color: #F9DC01;
}
@media screen and (min-width: 1200px) {
  header#masthead:not(:has(~ .home-page)) .header .hamburger_container {
    display: none;
  }
}
header#masthead:not(:has(~ .home-page)) .header .hamburger_container button.hamburger {
  color: #F9DC01;
}
header#masthead:not(:has(~ .home-page)) .header .hamburger_container button.hamburger .hamburger-box .hamburger-inner {
  background-color: #F9DC01;
}
header#masthead:not(:has(~ .home-page)) .header .hamburger_container button.hamburger .hamburger-box .hamburger-inner::before, header#masthead:not(:has(~ .home-page)) .header .hamburger_container button.hamburger .hamburger-box .hamburger-inner::after {
  background-color: #F9DC01;
}
header#masthead:has(~ .home-page) .site-branding {
  display: none;
}
header#masthead:has(~ .about-page) .site-branding svg path {
  fill: #fff;
}
header#masthead #site-navigation a {
  color: #F9DC01;
  position: relative;
  text-decoration: none;
  text-transform: capitalize;
  font-weight: 400;
  font-size: 24px;
  line-height: 1;
  font-family: "Lora", serif;
}
header#masthead #site-navigation a::after {
  content: "";
  position: absolute;
  left: 0%;
  bottom: -5px;
  width: 100%;
  height: 2px;
  background-color: #F9DC01;
  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.2rem;
  }
}
header#masthead #site-navigation a:hover::after {
  transform: scaleX(1);
}
header#masthead .header {
  padding: 3.2vw 5vw 0;
  background-color: transparent;
  display: block;
  position: relative;
}
header#masthead .header .hamburger_container {
  display: flex;
  margin: 0;
  color: #F9DC01;
  position: absolute;
  top: 2rem;
  right: 2rem;
  transform: translateY(1px);
}
@media screen and (min-width: 1200px) {
  header#masthead .header .hamburger_container {
    display: none;
  }
}
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: start;
    display: none;
  }
  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 {
    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 .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: #F9DC01;
  }
  header#masthead .hamburger-inner,
  header#masthead .hamburger-inner::before,
  header#masthead .hamburger-inner::after {
    background-color: #F9DC01;
  }
  header#masthead:not(:has(~ .home-page)) .header {
    display: block;
  }
  header#masthead:not(:has(~ .home-page)) .header #site-navigation {
    min-width: unset;
  }
  header#masthead:not(:has(~ .home-page)) .header #site-navigation .main-navigation-inner #primary_menu li {
    border-color: #000;
  }
  header#masthead:not(:has(~ .home-page)) .header #site-navigation .main-navigation-inner #primary_menu li a {
    color: #F9DC01;
  }
  header#masthead:not(:has(~ .home-page)) .header .site-branding {
    display: inline-flex !important;
  }
}
@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);
}
header#masthead #site-navigation .menu-primary-menu-container {
  z-index: 9989;
}
header#masthead .site-branding {
  padding-bottom: 0;
  width: clamp(8rem, 12vw, 10.8125rem);
}
header#masthead #site-navigation {
  display: block;
  width: fit-content;
  float: right;
  padding: 0 5vw 8rem 5vw;
}
@media screen and (min-width: 1200px) {
  header#masthead #site-navigation {
    top: 70%;
    padding: 0 2.5vw;
  }
}
header#masthead #site-navigation ul#primary_menu {
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 1fr;
  align-items: baseline;
}
header#masthead #site-navigation ul#primary_menu li {
  text-align: center;
  padding-bottom: 0.5rem;
}
header#masthead #site-navigation ul#primary_menu .menu-item-blank {
  max-height: 0;
  padding: 0;
}
header#masthead #site-navigation ul#primary_menu .menu-item-blank a {
  opacity: 0;
}
@media screen and (min-width: 1200px) {
  header#masthead #site-navigation ul#primary_menu {
    grid-template-columns: auto auto auto;
    grid-template-rows: 1fr;
    gap: 5rem;
  }
  header#masthead #site-navigation ul#primary_menu li {
    text-align: center;
  }
  header#masthead #site-navigation ul#primary_menu .menu-item-bottom {
    grid-row: 2/3;
  }
  header#masthead #site-navigation ul#primary_menu .menu-item-blank {
    max-height: unset;
  }
  header#masthead #site-navigation ul#primary_menu .menu-item-blank a {
    opacity: 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: 100%;
  width: 100%;
}
.main-navigation-inner .menu-header-top-container {
  width: 100%;
}
.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;
  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 li.menu-item-blank {
  opacity: 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 {
  justify-content: flex-end;
  align-items: center;
  height: fit-content;
  margin: auto 0;
  grid-row: 1/3;
  grid-column: 3/4;
  z-index: 15;
}
.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: #F9DC01;
  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: #F9DC01;
  }
  .hamburger:hover span {
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 2px;
    color: #F9DC01;
  }
  .hamburger.is-active:hover .hamburger-inner,
  .hamburger.is-active:hover .hamburger-inner::before,
  .hamburger.is-active:hover .hamburger-inner::after {
    background-color: #F9DC01;
  }
}
.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
  background-color: #F9DC01;
}

.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: #F9DC01;
  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;
  height: auto;
  color: #F9DC01;
}
.site-branding a svg {
  width: inherit;
}
.site-branding a svg path {
  width: inherit;
}
.site-branding a:hover svg path {
  fill: #ffdd00;
}

header#masthead:not(:has(~ .home-page)) .site-branding a {
  width: 10vw;
}
header#masthead:not(:has(~ .home-page)) .site-branding a.logo {
  min-width: 92px;
  height: auto;
}
header#masthead:not(:has(~ .home-page)) .site-branding a svg {
  min-width: 92px;
  height: auto;
}
@media screen and (min-width: 700px) {
  header#masthead:not(:has(~ .home-page)) .site-branding a.logo {
    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;
}

.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;
  }
}
.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;
  opacity: 0;
  pointer-events: none;
  width: 100%;
  height: 100vh;
  padding: 0;
  position: absolute;
  top: 0;
}
#mobile_nav.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
#mobile_nav #close-menu-btn {
  color: #F9DC01;
  position: absolute;
  top: 0;
  right: 2rem;
  font-size: 4rem;
  width: fit-content;
  height: fit-content;
  display: inline-block;
  z-index: 10000;
}
@media screen and (max-width: 700px) {
  #mobile_nav #close-menu-btn {
    right: 2rem;
  }
}
#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: hidden;
  opacity: 0;
  pointer-events: none;
  right: unset;
  background-color: transparent;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  background-color: #000;
}
header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav.show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
header#masthead.bg_light_gray.mobile_only:has(~ main.home-page) #mobile_nav #close-menu-btn {
  color: #F9DC01;
  position: absolute;
  top: -0.2rem;
  right: 2rem;
  font-size: 4rem;
  width: fit-content;
  height: fit-content;
  display: inline-block;
  z-index: 1000;
}
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 #primary-menu ul li {
    padding: 0 2rem 3rem;
  }
}

header#masthead.mobile_only #mobile_nav #site-navigation {
  width: 100%;
  float: none;
  padding-top: 50vh;
  position: relative;
  z-index: 999;
}
header#masthead.mobile_only #mobile_nav #site-navigation .site-branding {
  position: absolute;
  top: 2rem;
  left: 2rem;
  display: inline-flex;
}
header#masthead.mobile_only #mobile_nav #site-navigation #primary_menu {
  gap: 4rem;
  padding: 0 2rem;
}
header#masthead.mobile_only #mobile_nav #site-navigation #primary_menu li {
  text-align: left;
}
@media screen and (max-width: 700px) {
  header#masthead.mobile_only #mobile_nav #close-menu-btn {
    top: -0.2rem;
    right: 2rem;
  }
}

.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;
  height: 100dvh;
  position: fixed;
}
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 {
  width: 100dvw;
  height: 100dvh !important;
  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%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-3d {
  perspective: 1200px;
}

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

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

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

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

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

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

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
     --swiper-navigation-top-offset: 50%;
     --swiper-navigation-sides-offset: 10px;
     --swiper-navigation-color: var(--swiper-theme-color);
     */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

/*  .swiper-button-lock {
    display: none;
  } */
/* Navigation font start */
/* .swiper-button-prev:after,
  .swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
  }
  .swiper-button-prev:after,
  .swiper-rtl .swiper-button-next:after {
    content: 'prev';
  }
  .swiper-button-next,
  .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-next:after,
  .swiper-rtl .swiper-button-prev:after {
    content: 'next';
  } */
/* Navigation font end */
:root {
  /*
     --swiper-pagination-color: var(--swiper-theme-color);
     --swiper-pagination-left: auto;
     --swiper-pagination-right: 8px;
     --swiper-pagination-bottom: 8px;
     --swiper-pagination-top: auto;
     --swiper-pagination-fraction-color: inherit;
     --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
     --swiper-pagination-progressbar-size: 4px;
     --swiper-pagination-bullet-size: 8px;
     --swiper-pagination-bullet-width: 8px;
     --swiper-pagination-bullet-height: 8px;
     --swiper-pagination-bullet-border-radius: 50%;
     --swiper-pagination-bullet-inactive-color: #000;
     --swiper-pagination-bullet-inactive-opacity: 0.2;
     --swiper-pagination-bullet-opacity: 1;
     --swiper-pagination-bullet-horizontal-gap: 4px;
     --swiper-pagination-bullet-vertical-gap: 6px;
     */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
     --swiper-scrollbar-border-radius: 10px;
     --swiper-scrollbar-top: auto;
     --swiper-scrollbar-bottom: 4px;
     --swiper-scrollbar-left: auto;
     --swiper-scrollbar-right: 4px;
     --swiper-scrollbar-sides-offset: 1%;
     --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
     --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
     --swiper-scrollbar-size: 4px;
     */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

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

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

a.swiper-slide {
  text-decoration: none;
}

html.modal_open {
  overflow: hidden;
}

.swiper-button-prev,
.swiper-button-next {
  width: fit-content;
}

.swiper-button-next.button--next {
  transform: rotate(180deg);
}

/* Home Attractions Carousel */
.swiper-pagination {
  position: absolute;
  left: 50%;
  bottom: 2rem;
}

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

.gallery:has(> h3:empty) {
  padding-top: 3rem;
}

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

.carousel--zoomer {
  display: none;
  width: 100vw;
  height: calc(var(--vh) * 100);
  position: fixed;
  top: 0;
  left: 0;
  transform: translate(-100%, 0);
  opacity: 0;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition: opacity 400ms ease, backdrop-filter 800ms ease, -webkit-backdrop-filter 800ms ease;
  z-index: 10000;
  --pop_up_padding: 2rem;
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer {
    --pop_up_padding: 4rem;
  }
}
.carousel--zoomer .swiper-slide {
  max-width: 100vw;
  width: 100vw;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100dvh;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.45) rgba(255, 255, 255, 0.08);
  background-color: rgba(33, 14, 14, 0.9);
}
.carousel--zoomer .swiper-slide::-webkit-scrollbar {
  width: 10px;
}
.carousel--zoomer .swiper-slide::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.08);
}
.carousel--zoomer .swiper-slide::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.45);
  border-radius: 999px;
}
.carousel--zoomer .slide-inner {
  overflow: visible;
  height: auto;
  min-height: 100dvh;
}
.carousel--zoomer .button--prev {
  top: 50vh;
  left: calc(var(--margin) - 16.5px);
  z-index: 10;
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .button--prev {
    top: 50vh;
  }
}
.carousel--zoomer .button--next {
  top: 50vh;
  right: calc(var(--margin) - 16.5px);
  z-index: 10;
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .button--next {
    top: 50vh;
    left: unset;
    right: var(--margin);
  }
}
.carousel--zoomer .slide_index {
  top: calc(var(--vh) * 5);
  left: var(--margin);
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .slide_index {
    top: calc(var(--vh) * 4);
    right: unset;
    left: var(--margin);
  }
}
.carousel--zoomer .close_zoomer {
  padding-right: 0;
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 10;
  background-color: #2E1715;
  color: #fff;
  font-family: sans-serif;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1rem;
  letter-spacing: 1px;
}
.carousel--zoomer .close_zoomer span {
  font-size: 1.8rem;
}
.carousel--zoomer.open {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  margin: 0;
  opacity: 1;
}
.carousel--zoomer.hide {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  opacity: 0;
}
.carousel--zoomer .swiper-wrapper {
  position: absolute;
  width: 100vw;
  height: 100dvh;
  top: 0;
}
.carousel--zoomer .swiper-slide .slide-inner {
  display: flex;
  flex-direction: column;
  width: 100vw;
  min-width: 100vw;
  margin: 0 auto;
  padding-top: 8rem;
  align-items: center;
  height: 100dvh;
  filter: blur(12px) opacity(0);
  transition: filter 600ms ease-in;
}
.carousel--zoomer .swiper-slide .slide-inner img {
  width: 100%;
  object-fit: contain;
  object-position: center center;
}
.carousel--zoomer .swiper-slide.swiper-slide-active .slide-inner {
  filter: blur(0px) opacity(1);
}
.carousel--zoomer .swiper-slide .slide-image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  max-height: none;
  margin: 0 auto;
  width: calc(100vw - 10rem);
  height: auto;
  padding-top: 8rem;
  margin: 0 5rem;
}
.carousel--zoomer .swiper-slide .slide-image-container img {
  max-height: calc(var(--vh) * 60);
}
@media screen and (min-width: 700px) {
  .carousel--zoomer .swiper-slide .slide-image-container {
    width: calc(100vw - 30rem);
    margin: 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  .carousel--zoomer .swiper-slide .slide-image-container {
    width: calc(100vw - 50rem);
  }
  .carousel--zoomer .swiper-slide .slide-image-container img {
    max-height: calc(var(--vh) * 70);
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
}
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption {
  grid-row: 2/3;
  text-align: center;
  color: white;
}
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h3,
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4 {
  font-weight: 600;
}
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4:empty {
  display: none;
}
.carousel--zoomer .swiper-slide .slide-image-container .slide_caption .slide_caption p {
  max-width: 800px;
}
.carousel--zoomer .swiper-slide .slide_caption {
  grid-row: 2/3;
}
.carousel--zoomer .swiper-slide .slide_caption h3,
.carousel--zoomer .swiper-slide .slide_caption h4 {
  font-size: 18px;
  margin-bottom: 10rem;
  font-weight: 400;
}
.carousel--zoomer .swiper-slide .slide_caption h4 {
  font-weight: 600;
}
.carousel--zoomer .swiper-slide .slide_caption h4:empty {
  display: none;
}
.carousel--zoomer .swiper-slide .slide_caption .slide_caption p {
  max-width: 800px;
}
@media screen and (min-width: 700px) {
  .carousel--zoomer .swiper-slide .slide_caption h3,
  .carousel--zoomer .swiper-slide .slide_caption h4 {
    font-size: 24px;
  }
}

.artist-slider-nav {
  position: relative;
}

.carousel--highlights {
  position: relative;
}
.carousel--highlights .swiper-slide {
  height: auto;
  width: fit-content;
}
.carousel--highlights .swiper-slide .card img {
  height: clamp(6.6rem, 50vw, 20rem);
  width: auto;
  object-fit: contain;
}
.carousel--highlights .swiper-slide .card .grid {
  max-width: clamp(10rem, 75vw, 30rem);
}
.carousel--highlights .swiper-slide .slide_caption {
  padding-top: 1.125rem;
}
@media screen and (min-width: 700px) {
  .carousel--highlights .swiper-slide .slide_caption {
    padding-top: 1.5rem;
  }
}
.carousel--highlights .image_zoomer {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}
.carousel--highlights .image_zoomer img {
  width: auto;
  max-width: 90vw;
  height: 45dvw;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.carousel--highlights .image_zoomer::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
  width: 100%;
  height: 100%;
}
.carousel--highlights .image_zoomer .zoom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  opacity: 0;
  background: none;
  border: 0;
  padding: 0;
  z-index: 2;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.carousel--highlights .image_zoomer .zoom svg {
  width: 32px;
  height: 32px;
  display: block;
}
.carousel--highlights .image_zoomer:hover::after, .carousel--highlights .image_zoomer:focus-within::after {
  opacity: 1;
}
.carousel--highlights .image_zoomer:hover .zoom, .carousel--highlights .image_zoomer:focus-within .zoom {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
@media screen and (min-width: 700px) {
  .carousel--highlights .image_zoomer img {
    height: 50dvh;
  }
}
@media screen and (min-width: 1000px) {
  .carousel--highlights .image_zoomer img {
    height: 60dvh;
  }
}
.carousel--highlights .container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  position: relative;
  cursor: zoom-in;
}
.carousel--highlights .container img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.carousel--highlights .container::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  opacity: 0;
  transition: opacity 0.6s ease;
  pointer-events: none;
  width: 100%;
  height: 100%;
}
.carousel--highlights .container .zoom {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  opacity: 0;
  background: none;
  border: 0;
  padding: 0;
  z-index: 2;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.carousel--highlights .container .zoom svg {
  width: 32px;
  height: 32px;
  display: block;
}
.carousel--highlights .container:hover::after, .carousel--highlights .container:focus-within::after {
  opacity: 1;
}
.carousel--highlights .container:hover .zoom, .carousel--highlights .container:focus-within .zoom {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
.carousel--highlights .swiper-button-disabled {
  display: none;
}

.block.block--secondary-slider {
  position: relative;
}
.block.block--secondary-slider .swiper-wrapper .swiper-slide {
  height: 40dvh;
  width: auto;
  cursor: pointer;
}
.block.block--secondary-slider .swiper-wrapper .swiper-slide img {
  height: 40dvh;
  width: auto;
}
@media screen and (min-width: 700px) {
  .block.block--secondary-slider .swiper-wrapper .swiper-slide {
    height: 50dvh;
  }
  .block.block--secondary-slider .swiper-wrapper .swiper-slide img {
    height: 50dvh;
  }
}
@media screen and (min-width: 1000px) {
  .block.block--secondary-slider .swiper-wrapper .swiper-slide {
    height: 60dvh;
  }
  .block.block--secondary-slider .swiper-wrapper .swiper-slide img {
    height: 60dvh;
  }
}
@media screen and (min-width: 1200px) {
  .block.block--secondary-slider .swiper-wrapper .swiper-slide {
    height: 70dvh;
  }
  .block.block--secondary-slider .swiper-wrapper .swiper-slide img {
    height: 70dvh;
  }
}

.carousel--shop {
  position: relative;
  overflow: hidden;
}

.shop {
  position: relative;
}
.shop .button--prev,
.shop .button--next {
  top: 50%;
  transform: translateY(-50%);
}
.shop .button--prev {
  left: -1.4rem;
  right: unset;
}
.shop .button--next {
  right: -1.4rem;
}
@media screen and (min-width: 1000px) {
  .shop .button--prev {
    left: -3rem;
    right: unset;
  }
  .shop .button--next {
    right: -3rem;
  }
}

/* Timeline Carousel */
.button--prev,
.button--next {
  background-color: transparent;
  color: #FFFBF5;
  font-size: 36px;
  line-height: 1.5;
  font-weight: 400;
  font-style: italic;
  top: -75px;
  position: absolute;
  cursor: pointer;
  transition: opacity var(--transition) ease-in;
  width: fit-content;
}
.button--prev:hover,
.button--next:hover {
  opacity: 0.8;
}
@media screen and (min-width: 700px) {
  .button--prev,
  .button--next {
    font-size: 48px;
  }
}

.button--next {
  right: var(--margin);
}
.button--next svg {
  transform: rotate(180deg);
}

.button--prev {
  right: calc(var(--margin) + 3rem);
}

.swiper-button-disabled {
  opacity: 0.2;
}

.collection_categories:has(> .button--next) {
  position: relative;
}
.collection_categories .button--next,
.collection_categories .button--prev {
  top: 50%;
}
.collection_categories .button--prev {
  right: unset;
  left: calc(var(--margin) - 2rem);
}
.collection_categories .button--next {
  right: calc(var(--margin) - 2rem);
}

.card.swiper-slide {
  box-sizing: border-box;
  height: auto;
}

.swiper-slide.card.card-event-slide {
  display: grid;
  gap: 0;
  grid-template-rows: 2fr auto 1fr;
}

ul.swiper-wrapper {
  padding: 0;
  list-style: none;
}

.timeline {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.carousel--timeline {
  overflow: visible;
  position: relative;
}
.carousel--timeline::selection {
  background-color: transparent;
}
.carousel--timeline::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #a2a9bf;
  top: 0;
  left: -100%;
  z-index: 10;
}
.carousel--timeline::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  background-color: #a2a9bf;
  top: 0;
  right: -100%;
  z-index: 10;
}

.timeline--controls {
  position: absolute;
  top: 4rem;
  width: calc(100% + 6rem);
  z-index: 20;
  left: -3rem;
}
.timeline--controls::after {
  content: "";
  position: absolute;
  height: 0.2rem;
  width: 100%;
  background-color: #aeccd1;
  top: 0;
  left: 0;
  z-index: 1;
}
.timeline--controls .button--next,
.timeline--controls .button--prev {
  top: 0;
  transform: translateY(-50%);
  background-color: #aeccd1;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  outline: 0.5rem solid #a2a9bf;
  z-index: 10;
}
.timeline--controls .button--next svg,
.timeline--controls .button--prev svg {
  width: 1rem;
  height: 1rem;
}
.timeline--controls .button--next:hover,
.timeline--controls .button--prev:hover {
  background-color: #a2a9bf;
  opacity: 1;
}
.timeline--controls .button--next {
  right: 0;
}
.timeline--controls .button--prev {
  left: 0;
}

.timeline__year {
  font-size: 2rem;
  margin: 0;
}

.timeline__content {
  position: relative;
  z-index: 11;
}
.timeline__content::before {
  content: "";
  width: 0;
  height: 0;
  border: 0.5rem solid transparent;
  left: calc(50% - 0.5rem);
  position: absolute;
  bottom: 100%;
  border-bottom: 0.75rem solid #6e6e6e;
}
.timeline__content::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: #6e6e6e;
  position: absolute;
  left: calc(50% - 0.5rem);
  border-radius: 50%;
  bottom: calc(100% + 1.6rem);
  z-index: 10;
}

.carousel--timeline .swiper-slide {
  gap: 3rem;
}

.timeline__content .padding_2 {
  padding: 1rem;
}

.timeline__content h4 {
  margin: 0;
}

.carousel--timeline .swiper-slide-active .timeline__content::before {
  border-bottom: 0.75rem solid #a2a9bf;
}
.carousel--timeline .swiper-slide-active .timeline__content::after {
  background: #a2a9bf;
}

.timeline--inner {
  gap: 4rem;
}

.timeline-horizontal {
  padding-bottom: 5rem;
}
.timeline-horizontal .button--prev:hover svg ellipse,
.timeline-horizontal .button--next:hover svg ellipse {
  opacity: 0.7;
}
.timeline-horizontal .button--prev:hover svg path,
.timeline-horizontal .button--next:hover svg path {
  opacity: 0.7;
}
.timeline-horizontal .button--prev svg ellipse,
.timeline-horizontal .button--next svg ellipse {
  fill: #ffdd00;
  opacity: 1;
  transition: opacity var(--transition) ease-in;
}
.timeline-horizontal .button--prev svg path,
.timeline-horizontal .button--next svg path {
  fill: #000;
  opacity: 1;
  transition: opacity var(--transition) ease-in;
}

.timeline-slide-prev.button--prev {
  left: 0;
  top: 5rem;
}
@media screen and (min-width: 700px) {
  .timeline-slide-prev.button--prev {
    left: -4rem;
  }
}

.timeline-slide-next.button--next {
  top: 5rem;
  right: 0;
}
@media screen and (min-width: 700px) {
  .timeline-slide-next.button--next {
    right: -4rem;
  }
}

.timeline-slide-video-player .video.ready {
  height: 100%;
}

@media screen and (max-width: 700px) {
  .timeline.bg_mid_gray.double_padding {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
.timeline.bg_mid_gray.double_padding .carousel.carousel--timeline.swiper-initialized.swiper-horizontal.swiper-backface-hidden .swiper-wrapper {
  z-index: 50;
}

.quote_banner.single_quote {
  display: grid;
  place-items: center;
}

.button--next {
  right: 13.5vw;
}

.button--prev {
  right: calc(13.5vw + 3rem);
}

@property --gradient1 {
  syntax: "<color>";
  initial-value: rgb(0, 0, 0);
  inherits: false;
}
@property --gradient2 {
  syntax: "<color>";
  initial-value: rgb(0, 0, 0);
  inherits: false;
}
@property --gradient3 {
  syntax: "<color>";
  initial-value: rgb(0, 0, 0);
  inherits: false;
}
main#primary.home-page header.page-header {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: none;
  overflow: hidden;
  position: relative;
  width: 100dvw;
  height: 100dvh;
}
main#primary.home-page header.page-header::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: radial-gradient(circle at 15% 75%, var(--gradient1) 0%, var(--gradient1) 5%, var(--gradient2) 15%, var(--gradient3) 100%);
  animation: gradientFadeIn 5s ease-in-out forwards;
}
main#primary.home-page header.page-header.desktop_header {
  display: block;
}
main#primary.home-page header.page-header.mobile_header {
  display: none;
}
main#primary.home-page header.page-header .hero-content {
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 9999;
}
main#primary.home-page header.page-header .hero-content .hero-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  will-change: transform;
  transform: translate(0px, 15rem) !important;
  gap: 1vw;
}
main#primary.home-page header.page-header .hero-content .hero-stack svg {
  height: 50dvh;
  width: auto;
  max-width: 80vw;
}
main#primary.home-page header.page-header .hero-content .hero-stack svg g {
  animation: blurAnimation 5s ease-in-out forwards;
}
main#primary.home-page header.page-header .hero-content .hero-stack.mobile-stack h1 {
  font-size: 12vw;
}
main#primary.home-page header.page-header .hero-content .hero-stack.mobile-stack h2 {
  font-size: 11vw;
}
main#primary.home-page header.page-header .hero-content .hero-stack.mobile-stack h3 {
  font-size: 10vw;
}
@media screen and (max-width: 1400px) {
  main#primary.home-page header.page-header .hero-content .hero-stack {
    position: relative;
  }
}
@media screen and (max-width: 1200px) {
  main#primary.home-page header.page-header .hero-content .hero-stack {
    transform: translate(0px, 8rem) !important;
  }
}
@media screen and (max-width: 700px) {
  main#primary.home-page header.page-header .hero-content .hero-stack {
    transform: translate(0px, 16rem) !important;
  }
}
main#primary.home-page header.page-header .hero-content a.hero-scroll-arrow img {
  top: unset;
  object-fit: contain;
  object-position: center;
  position: absolute;
  height: 6dvw;
  width: 6dvw;
  bottom: 5dvw;
}
@media screen and (min-width: 700px) {
  main#primary.home-page header.page-header .hero-content a.hero-scroll-arrow img {
    height: 3dvw;
    width: 5dvw;
    bottom: 5dvw;
  }
}
main#primary.home-page header.page-header .hero-content h1, main#primary.home-page header.page-header .hero-content h2, main#primary.home-page header.page-header .hero-content h3 {
  font-weight: 400;
  line-height: 100%;
  text-align: center;
  max-width: 95%;
}
main#primary.home-page header.page-header .hero-content h1 {
  font-size: 5.5vw;
  max-width: 550px;
  line-height: 1.2;
  text-transform: capitalize;
  text-align: center;
  font-weight: 600;
  font-style: italic;
}
main#primary.home-page header.page-header .hero-content h2 {
  color: #FFFBF5;
  font-size: 4.5vw;
}
main#primary.home-page header.page-header .hero-content h2:last-of-type {
  color: #FFBA43;
}
main#primary.home-page header.page-header .hero-content h3 {
  color: #FFFBF5;
  font-size: 3.5vw;
  font-style: italic;
}
@media screen and (min-width: 700px) {
  main#primary.home-page header.page-header .hero-content {
    gap: 1rem;
    gap: 2rem;
    justify-content: center;
  }
  main#primary.home-page header.page-header .hero-content h1 {
    font-size: 9vw;
  }
  main#primary.home-page header.page-header .hero-content h2 {
    font-size: 6vw;
  }
  main#primary.home-page header.page-header .hero-content h3 {
    font-size: 5vw;
  }
}
@media screen and (min-width: 1400px) {
  main#primary.home-page header.page-header .hero-content {
    gap: 2rem;
  }
  main#primary.home-page header.page-header .hero-content h1 {
    font-size: clamp(5.9rem, 13dvh, 9.25rem);
  }
  main#primary.home-page header.page-header .hero-content h2 {
    font-size: clamp(3rem, 6vw, 4.5rem);
  }
  main#primary.home-page header.page-header .hero-content h3 {
    font-size: clamp(2.7rem, 5vw, 3rem);
  }
}
@media screen and (max-width: 700px) {
  main#primary.home-page header.page-header .hero-content {
    top: 0;
    overflow: unset;
  }
}
@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: none;
  }
  main#primary.home-page header.page-header.mobile_header {
    display: block;
    aspect-ratio: 0.7;
    overflow: unset;
  }
}
main#primary.home-page header.page-header.has-seen-animation::after {
  background-image: radial-gradient(circle at 15% 75%, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 5%, rgba(0, 0, 0, 0.3) 15%, rgba(0, 0, 0, 0.3) 100%);
  animation: none;
}
main#primary.home-page header.page-header.has-seen-animation .hero-content .hero-stack svg g {
  animation: none;
}

@keyframes gradientFadeIn {
  0% {
    --gradient1: rgba(0, 0, 0, 1);
    --gradient2: rgba(0, 0, 0, 1);
    --gradient3: rgba(0, 0, 0, 1);
  }
  50% {
    --gradient1: rgba(0, 0, 0, 0.3);
    --gradient2: rgba(0, 0, 0, 0.9);
    --gradient3: rgba(0, 0, 0, 1);
  }
  100% {
    --gradient1: rgba(0, 0, 0, 0.3);
    --gradient2: rgba(0, 0, 0, 0.3);
    --gradient3: rgba(0, 0, 0, 0.3);
  }
}
@keyframes blurAnimation {
  0% {
    filter: blur(8px);
  }
  25% {
    filter: blur(10px);
  }
  100% {
    filter: blur(0px);
  }
}
.mc4wp-form-fields label {
  margin-bottom: 1rem;
  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;
}

div.page-content-wrapper h3 {
  font-family: "Lora", serif;
  font-weight: 500;
  font-style: italic;
  font-size: 24px;
  line-height: 1.6;
}
div.page-content-wrapper h4,
div.page-content-wrapper p {
  font-family: "Lora", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  margin-top: 0;
  margin-bottom: 0.5rem;
}
div.page-content-wrapper section.artists .artists-grid {
  row-gap: 5rem;
}
div.page-content-wrapper section.artists .artists-grid img {
  margin-bottom: 0.8rem;
}
div.page-content-wrapper section.artists .artists-grid a {
  font-weight: 500;
  font-style: italic;
  font-size: 24px;
  line-height: 1.6;
}
@media screen and (min-width: 700px) {
  div.page-content-wrapper h3 {
    font-size: 32px;
  }
  div.page-content-wrapper h4,
  div.page-content-wrapper p {
    font-size: 16px;
    line-height: 28px;
  }
  div.page-content-wrapper section.artists .artists-grid img {
    margin-bottom: 1rem;
  }
  div.page-content-wrapper section.artists .artists-grid a {
    font-size: 32px;
  }
}
@media screen and (min-width: 1000px) {
  div.page-content-wrapper section.artists .artists-grid {
    row-gap: 7rem;
  }
}

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

main {
  display: block;
}
main:not(.home-page) .page-content {
  padding: 0;
  box-sizing: content-box;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1200px) {
  main:not(.home-page) .page-content {
    padding: 5rem 0vw 4rem;
  }
}
main:not(.home-page) .page-content form p span {
  z-index: 9999;
}
main:not(.home-page) .page-content form input[type=submit] {
  transition: border 0.4s ease-in;
}
main:not(.home-page) .page-content form input[type=submit]:hover {
  border: 1px solid #000;
}
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;
}
main:not(.home-page) .page-content .related-artworks {
  margin-top: 4rem;
  position: relative;
}
@media screen and (max-width: 900px) {
  main:not(.home-page) .page-content .related-artworks {
    margin-top: 2rem;
  }
}
main:not(.home-page) .page-content:not(:has(.related-artworks)) .long {
  margin-top: 4rem;
}
main:not(.home-page) header.page-header .hero-content a.hero-scroll-arrow img {
  width: 10dvw;
  height: 6dvw;
  object-fit: contain;
  object-position: center;
  position: absolute;
  bottom: 5dvw;
}
@media screen and (min-width: 700px) {
  main:not(.home-page) header.page-header .hero-content a.hero-scroll-arrow img {
    width: 5dvw;
    height: 3dvw;
  }
}
main:not(.home-page) header.page-header.desktop_header {
  display: none;
  position: relative;
}
main:not(.home-page) header.page-header.desktop_header .hero-content .hero-stack {
  position: absolute;
  bottom: 30dvh;
  text-align: center;
  width: 100vw;
}
main:not(.home-page) header.page-header.desktop_header .hero-content .hero-stack h1 {
  font-size: 5.5vw;
  font-weight: 600;
  font-style: italic;
}
@media screen and (min-width: 700px) {
  main:not(.home-page) header.page-header.desktop_header .hero-content .hero-stack h1 {
    font-size: 6.5vw;
  }
}
@media screen and (min-width: 1200px) {
  main:not(.home-page) header.page-header.desktop_header .hero-content .hero-stack h1 {
    font-size: clamp(5.9rem, 13dvh, 9.25rem);
  }
}
main:not(.home-page) header.page-header.desktop_header .hero-content a.hero-scroll-arrow img {
  top: unset;
}
main:not(.home-page) header.page-header.mobile_header {
  display: block;
  aspect-ratio: 0.7;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}
main:not(.home-page) header.page-header.mobile_header .hero-content.mobile .hero-stack {
  text-align: center;
  position: absolute;
  width: 100dvw;
  bottom: 30dvh;
}
main:not(.home-page) header.page-header.mobile_header .hero-content.mobile .hero-stack h1 {
  font-style: italic;
  font-weight: 600;
  font-size: 12vw;
}
@media screen and (min-width: 700px) {
  main:not(.home-page) header.page-header.desktop_header {
    display: block;
  }
  main:not(.home-page) header.page-header.mobile_header {
    display: none;
  }
}
main.contact-page {
  height: 100vh;
}
@media screen and (max-width: 700px) {
  main.contact-page .page-content .three-col-grid .two-column-span {
    width: calc(100% - 2rem);
  }
}
main.contact-page form {
  max-width: 680px;
  margin: 0 auto;
}
main.contact-page form input[type=submit] {
  font-size: clamp(0.8125rem, 1.77vw, 1.625rem);
  font-weight: 200;
  color: #000;
  font-family: "Josefin Sans", sans-serif;
  border: 1px solid #9b9b9b;
  background-color: #fff;
  width: 100%;
  display: inline-block;
  padding: 1rem 0;
  text-align: center;
  text-transform: uppercase;
  transition: border 0.4s ease-in;
}
main.contact-page form input[type=submit]:visited {
  background-color: #9b9b9b;
  color: #000;
}
main.contact-page form input[type=submit]:hover {
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 700px) {
  main::before {
    width: 0;
  }
}

@media screen and (max-width: 700px) {
  body:has(.enquiry-form-page)::before {
    width: 0;
  }
}
body:has(.about-page) {
  display: block;
  height: 100vh;
  padding-bottom: 5rem;
  background-color: #222222;
  color: #fffcfc;
}
body:has(.about-page) header#masthead #site-navigation .main-navigation-inner ul#primary_menu li {
  border-color: #fffcfc !important;
}
body:has(.about-page) header#masthead #site-navigation .main-navigation-inner ul#primary_menu li a {
  color: #fffcfc !important;
}
body:has(.about-page) header#masthead #site-navigation .main-navigation-inner ul#primary_menu li a::after {
  background-color: #fffcfc !important;
}
body:has(.about-page) header#masthead .hamburger_container button span.hamburger-box span.hamburger-inner {
  background-color: #fff !important;
}
body:has(.about-page) header#masthead .hamburger_container button span.hamburger-box span.hamburger-inner::before, body:has(.about-page) header#masthead .hamburger_container button span.hamburger-box span.hamburger-inner::after {
  background-color: #fff !important;
}
body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column {
  display: inline-block;
  vertical-align: top;
}
body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column h1 {
  color: #FFCB71;
  max-width: 720px;
}
body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column h2, body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column h3, body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column p, body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column a {
  color: #fffcfc;
}
body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column p:last-child {
  padding-bottom: 5rem;
}
body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column p {
  font-size: clamp(0.875rem, 1.4vw, 1.3125rem);
  max-width: 720px;
}
@media screen and (max-width: 700px) {
  body:has(.about-page) main section.about-page-content section.about-layout div.about-content-column {
    padding-top: 3rem;
  }
}
body:has(.cart-page) .three-col-card {
  display: inline-block;
}
body:has(.cart-page) .two-column-span {
  display: inline-block;
  width: calc(66.6% - 4rem);
  margin-left: 33%;
  padding: 0 2rem;
}
body:has(.cart-page) .two-column-span #coupon_code {
  width: fit-content;
}
@media screen and (max-width: 900px) {
  body:has(.cart-page)::before {
    width: 0;
  }
  body:has(.cart-page) .two-column-span {
    margin-left: 0;
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 700px) {
  body:has(.cart-page) .two-column-span {
    width: calc(100% - 0px);
  }
}
body:has(.checkout-page) .three-col-card {
  display: inline-block;
}
body:has(.checkout-page) .two-column-span {
  display: inline-block;
  width: calc(66.6% - 4rem);
  margin-left: 33%;
  padding: 0 2rem;
}
@media screen and (max-width: 900px) {
  body:has(.checkout-page)::before {
    width: 0;
  }
  body:has(.checkout-page) .two-column-span {
    margin-left: 0;
    width: calc(100% - 4rem);
  }
}
@media screen and (max-width: 700px) {
  body:has(.checkout-page) .two-column-span {
    width: calc(100% - 0px);
  }
}
body div#page:has(header#masthead) {
  position: relative;
}

.gallery-item {
  justify-self: center;
  align-self: center;
}

.featured-image {
  margin-bottom: 2rem;
}

.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text {
  max-width: 100%;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p.but-book-price, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p.but-book-price {
  font-size: clamp(0.9375rem, 2.04vw, 1.875rem);
  margin-top: 1rem;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p.but-book-price span bdi span.woocommerce-Price-currencySymbol, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p.but-book-price span bdi span.woocommerce-Price-currencySymbol {
  padding-right: 0.7vw;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text h2,
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text h2,
.single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text p {
  margin-bottom: 1.2rem;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form {
  margin-bottom: 1.5rem;
  max-width: 320px;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button {
  font-size: clamp(0.8125rem, 1.77vw, 1.625rem);
  font-weight: 200;
  color: #000;
  border: 1px solid #9b9b9b;
  width: 100%;
  display: inline-block;
  padding: 1rem 0;
  text-align: center;
  text-transform: uppercase;
  transition: all 0.4s ease-in;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button:visited, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button:visited {
  background-color: #9b9b9b;
  color: #000;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button:hover, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart form button:hover {
  background-color: #000;
  color: #fff;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart .but-book-enquire, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-top .three-col-card .card-text .but-book-add-to-cart .but-book-enquire {
  margin-bottom: clamp(1rem, 2.17vw, 2rem);
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description {
  padding-top: clamp(2rem, 4vw, 3.5rem);
  padding-bottom: clamp(1.8rem, 3.6vw, 3rem);
  margin-bottom: 2rem;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text {
  padding: 0;
  margin: 0;
  min-width: 100%;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text h2, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text h2 {
  font-size: clamp(0.9375rem, 2.04vw, 1.875rem);
  text-transform: uppercase;
  margin-bottom: clamp(1rem, 2.17vw, 2rem);
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text p, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text p {
  font-size: clamp(0.9rem, 1.63vw, 1.5rem);
  margin-bottom: 0;
  line-height: 130%;
}
@media screen and (max-width: 700px) {
  .single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text {
    padding: 0 1rem 2rem;
  }
}
@media screen and (max-width: 560px) {
  .single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .three-col-card .card-text {
    padding: 0 0 0.5rem;
  }
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description {
  vertical-align: top;
  margin-top: -0.15vw;
  padding-left: clamp(2rem, 4vw, 3.5rem);
  padding-right: clamp(2rem, 4vw, 3.5rem);
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description h2, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description h2 {
  font-size: clamp(0.9375rem, 2.04vw, 1.875rem);
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: clamp(1rem, 2.17vw, 2rem);
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description p, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description p {
  font-size: clamp(0.9rem, 1.63vw, 1.5rem);
  line-height: 130%;
  margin-bottom: clamp(1rem, 2.17vw, 2rem);
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a {
  font-size: clamp(0.8125rem, 1.77vw, 1.625rem);
  font-weight: 200;
  color: #000;
  border: 1px solid #9b9b9b;
  width: 100%;
  max-width: 320px;
  display: inline-block;
  padding: 1rem 0;
  margin-top: clamp(1.5rem, 2vw, 2rem);
  text-align: center;
  text-transform: uppercase;
  transition: all 0.4s ease-in;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a:visited, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a:visited {
  background-color: #9b9b9b;
  color: #000;
}
.single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a:hover, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description div.book-read-more a:hover {
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 700px) {
  .single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
@media screen and (max-width: 560px) {
  .single-product .product.instock section.page-content.but-book-product-content section.but-single-book-description .author-book-description, .single-product .product.outofstock section.page-content.but-book-product-content section.but-single-book-description .author-book-description {
    margin-top: 2rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.woocommerce-notices-wrapper {
  margin-top: 5rem;
}
.woocommerce-notices-wrapper:empty {
  margin-top: 0;
}

.single-post-page .very-top-text {
  text-align: center;
  padding: 1rem 2rem 2rem;
}
.single-post-page .very-top-text p {
  max-width: none;
}
.single-post-page .very-top-text.very-top-text-small {
  padding: 1rem 2rem 1rem;
}
.single-post-page .very-top-text.very-top-text-padding {
  padding: 1rem var(--margin) 2rem;
}
.single-post-page .very-top-text.very-top-text-padding-small {
  padding: 1rem var(--margin) 1rem;
}
.single-post-page h1 {
  font-size: clamp(4vw, 7dvh, 6.1rem);
}
.single-post-page h3 {
  font-size: 18px;
  line-height: normal;
  font-weight: 400;
  margin: 0 0 0.5rem;
}
.single-post-page .single-artist-meta {
  padding: 1rem 0;
}
.single-post-page nav.breadcrumbs {
  margin-bottom: 1rem;
}
.single-post-page nav.breadcrumbs a,
.single-post-page nav.breadcrumbs span {
  color: #565656;
}
.single-post-page .crumbs-slate {
  color: #C7C7C7;
}
.single-post-page .crumbs-slate * {
  color: #C7C7C7 !important;
}
.single-post-page .artist-artwork {
  margin-top: 2rem;
}
.single-post-page .about-artist-text h2 {
  font-size: 36px;
  line-height: 1.5;
  margin-bottom: 2rem;
}
@media screen and (min-width: 700px) {
  .single-post-page .about-artist-text h2 {
    font-size: 48px;
  }
}
.single-post-page .artist-sv {
  padding-top: 2rem;
}
.single-post-page .artist-sv * {
  color: #140909;
}
.single-post-page .artist-sv h3 {
  text-transform: uppercase;
  padding-bottom: 2rem;
}
.single-post-page .artist-sv p {
  margin-bottom: 0.5rem;
  font: 16px;
  line-height: 28px;
}
.single-post-page .artist-sv:first-child {
  padding-top: 0;
}
.single-post-page .essay-layout.single-half-image-text {
  width: 100%;
  box-sizing: border-box;
}
.single-post-page .essay-layout.single-half-image-text:has(.essay-artwork-meta) {
  padding-bottom: 0;
}
@media screen and (min-width: 700px) {
  .single-post-page .very-top-text {
    text-align: right;
    padding: 1rem 4rem 4rem;
  }
  .single-post-page .very-top-text.very-top-text-small {
    padding: 1rem 2rem 2rem;
  }
  .single-post-page .very-top-text.very-top-text-padding {
    padding: 1rem var(--margin) 4rem;
  }
  .single-post-page .very-top-text.very-top-text-padding-small {
    padding: 1rem var(--margin) 2rem;
  }
  .single-post-page h3 {
    font-size: 24px;
  }
  .single-post-page .essay-layout.single-half-image-text {
    width: 100%;
  }
  .single-post-page .essay-layout.single-half-image-text.image-right {
    padding-left: 50%;
  }
  .single-post-page .essay-layout.single-half-image-text.image-left {
    padding-right: 50%;
  }
}
@media screen and (min-width: 1000px) {
  .single-post-page .artist-artwork {
    margin-top: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .single-post-page nav.breadcrumbs {
    margin-bottom: 2rem;
  }
}

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

.site-footer .footer-ribbon {
  align-items: center;
}
.site-footer .footer-ribbon * {
  margin: 0;
  padding: 0;
}
.site-footer .footer-ribbon img {
  height: 5rem;
  width: auto;
}

.parallax .essay-artwork-image {
  height: 100dvh;
  background-attachment: fixed;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.scroll-over-block {
  position: relative;
  min-height: 100dvh;
  padding: 1px 0;
  background-attachment: scroll;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 100dvw auto;
  transition: all 1.2s ease-in-out;
}
.scroll-over-block.active {
  background-size: 110dvw auto;
  background-attachment: fixed;
}
.scroll-over-block .scroll-over-block__overlay-text {
  width: 600px;
  max-width: 80vw;
  margin-left: auto;
  margin-right: var(--margin);
  margin-top: 100dvh;
  margin-bottom: 100dvh;
  position: relative;
  z-index: 99;
  padding: 2rem;
}

.zoom-block {
  position: relative;
  min-height: 100dvh;
  padding: 1px 0;
  background-attachment: scroll;
  background-position: center 4rem;
  background-repeat: no-repeat;
  background-size: 90dvw auto;
  transition: all 1.2s ease-in-out;
}
@media screen and (min-width: 700px) {
  .zoom-block {
    background-size: 30dvw auto;
    background-position: var(--margin) 4rem;
  }
}
.zoom-block.active {
  background-attachment: fixed;
}
.zoom-block.active.zoom {
  background-size: 200dvw auto;
}
.zoom-block.active.zoom.top-left {
  background-position: left top;
}
.zoom-block.active.zoom.top-right {
  background-position: right top;
}
.zoom-block.active.zoom.bottom-left {
  background-position: left bottom;
}
.zoom-block.active.zoom.bottom-right {
  background-position: right bottom;
}
.zoom-block .zoom-block__overlay-text {
  padding: 4rem var(--margin) 4rem var(--margin);
  margin-top: 66dvh;
  background-color: #210E0E;
}
@media screen and (min-width: 700px) {
  .zoom-block .zoom-block__overlay-text {
    padding: 4rem var(--margin) 2rem 50dvw;
    width: 100dvw;
    margin-top: 0;
    background-color: transparent;
  }
}
.zoom-block .zoom-block__zooming-text {
  width: 600px;
  max-width: 80vw;
  margin-left: auto;
  margin-right: var(--margin);
  margin-top: 100dvh;
  margin-bottom: 100dvh;
  position: relative;
  z-index: 99;
  padding: 2rem;
  opacity: 0;
  transition: opacity 0.8s ease-in;
}
.zoom-block.zoom .zoom-block__zooming-text {
  opacity: 1;
}
.zoom-block.top-right .zoom-block__zooming-text, .zoom-block.bottom-right .zoom-block__zooming-text {
  margin-left: var(--margin);
  margin-right: auto;
}

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