@charset "UTF-8";
/*!
Theme Name: WilliamMorris
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: williammorris
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.

WilliamMorris is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/*Font Weights*/
/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * 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
--------------------------------------------- */
/* open-sans-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Unica";
  font-style: normal;
  font-weight: 300;
  src: url("./assets/fonts/Unica77LLWeb-Regular.woff2") format("woff2"), url("./assets/fonts/Unica77LLWeb-Regular.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* open-sans-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Unica";
  font-style: italic;
  font-weight: 300;
  src: url("./assets/fonts/Unica77LLWeb-Italic.woff2") format("woff2"), url("./assets/fonts/Unica77LLWeb-Italic.woff") format("woff"); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
@font-face {
  font-family: "Doves";
  src: url("./assets/fonts/DovesType-Headline.woff2") format("woff2"), url("./assets/fonts/DovesType-Headline.woff") format("woff");
  font-feature-settings: "smcp";
}
body,
button,
input,
select,
optgroup,
textarea {
  color: #231f20;
  font-family: "Unica", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

.doves {
  font-family: "Doves", Arial, sans-serif;
  text-transform: lowercase;
  font-weight: 300 !important;
  line-height: 80%;
}

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

h1 {
  font-size: 2.2rem;
  font-weight: 800;
}
h1.dash {
  display: block;
  padding-top: 1.8rem;
  position: relative;
}
h1.dash::after {
  content: "";
  width: 3rem;
  height: 0.8rem;
  background-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
}

h2 {
  font-size: 2.8rem;
}

h3 {
  font-size: 1.8rem;
}
h3.lc {
  text-transform: uppercase;
}

h4 {
  font-size: 1.4rem;
}

h5 {
  font-size: 1rem;
}

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

@media screen and (min-width: 1200px) {
  h1,
  h2 {
    font-size: 3.4rem;
  }
  h3 {
    font-size: 2rem;
  }
}
dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

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

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

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

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

big {
  font-size: 125%;
}

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

.lc {
  text-transform: initial;
}

.uc {
  text-transform: uppercase;
}

.header--no-margin {
  margin-bottom: 0;
}

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

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

::-moz-selection {
  color: #193153;
  background: #d1e7e2;
}

::selection {
  color: #193153;
  background: #d1e7e2;
}

.bold {
  font-weight: 700;
}

/* Elements
--------------------------------------------- */
:root {
  --header-height: 80px;
  --margin: 8vw;
  --transition: 400ms;
  --fat-border: 1.2rem;
}

@media screen and (min-width: 700px) {
  :root {
    --margin: 10vw;
    --fat-border: 2rem;
  }
}
@media screen and (min-width: 1000px) {
  :root {
    --margin: 10vw;
  }
}
@media screen and (min-width: 1200px) {
  :root {
    --margin: 6vw;
    --header-height: 110px;
  }
}
@media screen and (min-width: 1600px) {
  :root {
    --margin: calc((100vw - 1544px) / 2);
  }
}
.grecaptcha-badge {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

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

#page {
  padding: 0 1rem;
  background-color: #f0f0e6 !important;
}
@media screen and (min-width: 1200px) {
  #page {
    padding: 0 2rem;
  }
}

#page:has(.hero_carousel) {
  padding-top: var(--header-height);
}

body {
  background-color: #ffffff;
  color: #231f20;
}

.scroll_lock,
.scrolly_lock {
  overflow: hidden;
}

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

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

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

figure {
  margin: 1em 0;
}

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

ul {
  list-style: none;
}

ol {
  list-style: decimal;
}

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

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/*Links*/
a {
  color: #231f20;
}
a:visited {
  color: #231f20;
}
a:hover, a:focus, a:active {
  color: #231f20;
}
a:hover, a:active {
  outline: 0;
}

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

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

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

textarea {
  width: 100%;
}

/*Buttons*/
button,
input[type=button],
input[type=reset],
input[type=submit],
.button,
.decorative {
  background: #e6e6e6;
  color: #193153;
  display: block;
  text-align: left;
  padding: 0.6rem 1rem;
  line-height: 1;
  text-decoration: none;
  border: none;
  border-radius: 0;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.05em;
  transition: text-decoration 400ms ease;
  cursor: pointer;
}
button .unset-button,
input[type=button] .unset-button,
input[type=reset] .unset-button,
input[type=submit] .unset-button,
.button .unset-button,
.decorative .unset-button {
  background: none;
  color: currentColor;
  display: inline;
  padding: 0;
}

.mc4wp-form .decorative {
  height: 3.2rem;
}
.mc4wp-form .decorative::after {
  top: 1.2rem;
}
.mc4wp-form .decorative .unset-button {
  padding: 0.6rem 1rem;
}

.decorative {
  width: 15rem;
  padding-right: 2rem;
  position: relative;
  color: #193153;
  transition: background-color 400ms ease, color 400ms ease;
}
.decorative:visited {
  color: #193153;
}
.decorative:hover, .decorative:focus {
  background-color: #193153;
  color: #ffffff;
  text-decoration: none;
}
.decorative:hover::after, .decorative:focus::after {
  animation: arrow_bounce var(--transition) linear 0ms 1;
}
.decorative::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  right: 35%;
  top: 0.9rem;
  background-image: url(./assets/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.decorative.download {
  background-color: transparent;
}
.decorative.download.bg-white {
  background-color: transparent;
}
.decorative.download::after {
  background-image: url(./assets/download.svg);
}
.decorative.uppercase {
  background-color: transparent;
}
.decorative.color-white::after {
  background-image: url(./assets/forward_white.svg);
}
.decorative.color-white.download::after {
  background-image: url(./assets/download_white.svg);
}
.decorative.color-white:hover, .decorative.color-white:focus {
  color: #82d4d6;
}
.decorative.bg-white, .decorative.bg-transparent, .decorative.uppercase, .decorative.download, .decorative.download.bg-white {
  /*&::before {
    content: "";
    position: absolute;
    width: 50%;
    height: 0.25rem;
    bottom: 0;
    left: 0;
    max-width: 0;
    background-color: $color-neon;
    transition: max-width var(--transition) ease-in;
  }*/
}
.decorative.bg-white:hover, .decorative.bg-transparent:hover, .decorative.uppercase:hover, .decorative.download:hover, .decorative.download.bg-white:hover {
  background-color: inherit;
  color: inherit;
}
.decorative.bg-white:hover::before, .decorative.bg-transparent:hover::before, .decorative.uppercase:hover::before, .decorative.download:hover::before, .decorative.download.bg-white:hover::before {
  max-width: 100%;
}

@keyframes arrow_bounce {
  0% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-20%);
  }
  70% {
    transform: translateX(40%);
  }
  80% {
    transform: translateX(-5%);
  }
  90% {
    transform: translateX(20%);
  }
  100% {
    transform: translateX(0);
  }
}
.back-to-top.decorative:hover::after, .back-to-top.decorative:focus::after {
  animation: arrow_bounce_up var(--transition) linear 0ms 1;
}

@keyframes arrow_bounce_up {
  0% {
    transform: translateY(0) rotate(-90deg);
  }
  10% {
    transform: translateY(20%) rotate(-90deg);
  }
  70% {
    transform: translateY(-40%) rotate(-90deg);
  }
  80% {
    transform: translateY(5%) rotate(-90deg);
  }
  90% {
    transform: translateY(-20%) rotate(-90deg);
  }
  100% {
    transform: translateY(0) rotate(-90deg);
  }
}
.buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

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

.buttons.vertical.fixed {
  display: none;
}

.vertical .bg-white {
  box-shadow: 1px -2px 4px rgba(0, 0, 0, 0.2);
}
.vertical .bg-white:hover {
  background-color: #d1e7e2;
}
.vertical .bg-white:hover::before {
  display: none;
}

@media screen and (min-width: 1000px) {
  .buttons.vertical.fixed {
    display: block;
    position: fixed;
    transform: rotate(90deg);
    transform-origin: bottom left;
    z-index: 20;
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    left: 0;
    top: calc(var(--vh) * 15);
    transition: transform var(--transition) ease-out;
  }
  .buttons.vertical.fixed.slideOut {
    transform: translateX(-3rem) rotate(90deg);
  }
}
.link_button {
  text-decoration: none;
  font-weight: 400;
  text-align: center;
  border: 1px solid;
  padding: 15px 64px;
  border-radius: 5px;
  color: #231f20;
  background: transparent;
  text-transform: none;
  -webkit-transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
  -ms-transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
  transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
  display: block;
  width: fit-content;
}
.link_button.smaller {
  font-size: 0.875rem;
  line-height: 1.125rem;
  padding: 9px 15px;
}
@media screen and (min-width: 1000px) {
  .link_button.smaller {
    font-size: 1.125rem;
    line-height: 1.1875rem;
    padding: 15px 31px;
  }
}
.link_button:visited {
  color: #231f20;
}
.link_button:hover {
  text-decoration: none;
}
.link_button.pink {
  color: #d02b16;
}
.link_button.pink:visited {
  color: #d02b16;
}
.link_button.pink:hover {
  background: #d02b16;
  border: #d02b16 1px solid;
  color: #231f20;
}
.link_button.green {
  color: #83d281;
}
.link_button.green:visited {
  color: #83d281;
}
.link_button.green:hover {
  background: #83d281;
  color: #231f20;
  border: #83d281 1px solid;
}
.link_button.blue {
  color: #a9aafa;
}
.link_button.blue:visited {
  color: #a9aafa;
}
.link_button.blue:hover {
  background: #a9aafa;
  color: #231f20;
  border: #a9aafa 1px solid;
}
.link_button.dark_blue {
  border: 1px solid #231f20;
}
.link_button.dark_blue:visited {
  color: #231f20;
}
.link_button.dark_blue:hover {
  background: #231f20;
  color: #ffffff;
}
@media screen and (min-width: 1200px) {
  .link_button {
    font-size: 1.125rem;
    line-height: 1.3125rem;
    font-weight: 400;
  }
}

.link_button a {
  text-decoration: none;
}
.link_button.dark_blue:hover a {
  color: #ffffff;
}
.link_button a:hover {
  color: #ffffff;
}

.layout--button {
  display: flex;
  justify-content: center;
}
.layout--button .link_button {
  text-decoration: none;
}

button {
  background: none;
}
button:hover {
  text-decoration: none;
}

/*responsive padding and margins*/
.margins {
  margin: 2rem calc(var(--margin));
}

.padding {
  padding: 2rem calc(var(--margin));
}

.double_padding {
  padding-left: calc(var(--margin));
  padding-right: calc(var(--margin));
}
@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: 1600px) {
  .double_padding {
    padding-left: calc(var(--margin) + 8rem);
    padding-right: calc(var(--margin) + 8rem);
  }
}

@media screen and (min-width: 1200px) {
  .wysiwyg_padding {
    padding-left: 24vw;
    padding-right: 24vw;
  }
}

@media screen and (min-width: 1200px) {
  .wysiwyg_margins {
    margin-left: 24vw;
    margin-right: 24vw;
  }
}

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

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

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

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

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

.flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex.flex_50 > .flex_item {
  flex-basis: 50%;
}
.flex.flex_66-33 > .flex_item, .flex.flex_33 > .flex_item {
  flex-basis: 100%;
}
.flex.flex_25 > .flex_item {
  flex-basis: 100%;
}
.flex.flex_25-75 > .flex_item {
  flex-basis: 100%;
}

.title_gap {
  padding-top: 2rem;
}

@media screen and (min-width: 1200px) {
  .title {
    font-weight: 900;
    line-height: 80%;
  }
}

@media screen and (min-width: 700px) {
  .flex.flex_33 {
    align-items: center;
  }
  .flex.flex_33 > .flex_item {
    flex-basis: 33.333%;
  }
  .flex.flex_25 > .flex_item {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1000px) {
  .flex.flex_66-33 > .flex_item {
    flex-basis: 67%;
  }
  .flex.flex_66-33 > .flex_item:nth-child(2n) {
    flex-basis: 33%;
  }
  .flex.flex_25 {
    gap: 2.5%;
  }
  .flex.flex_25::after {
    content: "";
    flex-grow: 1;
  }
  .flex.flex_25 > .flex_item {
    flex-basis: 23%;
  }
  .flex.flex_25-75 .flex_item:nth-child(1) {
    flex-basis: 25%;
    margin-right: 2rem;
  }
  .flex.flex_25-75 .flex_item:nth-child(2) {
    flex-basis: calc(75% - 2rem);
  }
}
@media screen and (min-width: 1200px) {
  .flex.flex_66-33 > .flex_item {
    flex-basis: 55%;
  }
  .flex.flex_66-33 > .flex_item:nth-child(2n) {
    flex-basis: 33%;
  }
}
/*Colors & bgs*/
.pink {
  color: #d02b16;
}
.pink.pink-dark {
  color: #d02b16;
}

.blue {
  color: #a9aafa;
}

.red {
  color: #d02b16;
}
.red svg {
  width: auto;
}
.red svg path {
  fill: #d02b16;
}

.dark_blue {
  color: #231f20;
}

.blue_grey,
.blue_gray {
  color: #231f20;
}

#primary .black,
#page .black {
  color: #231f20;
}
#primary .green,
#page .green {
  color: #83d281;
}
#primary .green_dark,
#page .green_dark {
  color: #00531e;
}
#primary .white,
#page .white {
  color: #ffffff;
}
#primary .yellow,
#page .yellow {
  color: #fff569;
}
#primary .yellow svg,
#page .yellow svg {
  width: auto;
}
#primary .yellow svg path,
#page .yellow svg path {
  fill: #fff569;
}

.title_and_icon {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.title_and_icon h2,
.title_and_icon h3 {
  margin-bottom: 0;
}
.title_and_icon:has(h2) svg {
  height: 1.6rem;
}
.title_and_icon:has(h3) svg {
  margin-top: 0.4rem;
  height: 1rem;
}
.title_and_icon.centered {
  justify-content: center;
}
.title_and_icon span {
  height: fit-content;
}
.title_and_icon .last_word_icon {
  white-space: nowrap;
}

.hero_info_container .title_and_icon h2,
.hero_info_container .title_and_icon h3,
.hero_info_container .title_and_icon h4 {
  width: 100%;
}
.hero_info_container .title_and_icon:has(h2) svg {
  height: 1.6rem;
}
.hero_info_container .title_and_icon:has(h3) svg {
  margin-top: 0.4rem;
  height: 1rem;
}

.color-white {
  color: #ffffff;
}
.color-henley {
  color: #193153;
}
.color-neon {
  color: #33ffcc;
}
.color-sky {
  color: #82d4d6;
}
.color-aqua {
  color: #33b7b9;
}

.bg_black {
  background-color: #231f20;
}
.bg_green {
  background-color: #00531e;
}

.bg-ivory {
  background: #f0f0e6;
}
.bg-dark-blue {
  background: #231f20;
}
.bg-green {
  background: #83d281;
}
.bg-pink {
  background: #d02b16;
}
.bg-blue {
  background: #a9aafa;
}
.bg-henley {
  background-color: #193153;
}
.bg-aqua {
  background-color: #33b7b9;
}
.bg-orange {
  background-color: #d87b4a;
}
.bg-mint {
  background-color: #83d281;
}
.bg-yellow {
  background-color: #fff569;
}
.bg-sky {
  background-color: #82d4d6;
}
.bg-white {
  background-color: #ffffff;
}
.bg-neon {
  background-color: #33ffcc;
}
.bg-storm {
  background-color: #7d9990;
}
.bg-mustard {
  background-color: #e2b95a;
}
.bg-mist {
  background-color: #d1e7e2;
}
.bg-grass {
  background-color: #41b17c;
}
.bg-berry {
  background-color: #970052;
}
.bg-regatta {
  background-color: #ab0519;
}
.bg-neon-transparent {
  background-color: rgba(51, 255, 204, 0.4);
}
.bg-black-transparent {
  background-color: rgba(0, 0, 0, 0.4);
}
.bg-lavender {
  background-color: #bec3d0;
}
.bg-pale_lavender {
  background-color: #ededed;
}
.bg-transparent {
  background-color: transparent;
}
.bg-footer {
  background-color: #f0f0e6;
}
.bg-float {
  position: relative;
  padding-bottom: 4rem;
}
@media screen and (min-width: 1000px) {
  .bg-float {
    padding-bottom: 8rem;
  }
}
.bg-float::before {
  content: "";
  width: 100%;
  height: 20%;
  position: absolute;
  top: -1px;
  left: 0;
  background-color: #ffffff;
}
@media screen and (min-width: 1000px) {
  .bg-float::before {
    height: 30%;
  }
}
.bg-float.extra-long-title::before {
  height: 15%;
}
.bg-float.long-title::before {
  height: 20%;
}

#page {
  background: #ffffff;
}

/*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--sixteennine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--sixteennine {
    padding-top: 56.25%;
    height: 0;
  }
}
.container.container--fourthree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourthree {
    aspect-ratio: 1.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourthree {
    padding-top: 75%;
    height: 0;
  }
}
.container.container--twentyonenine {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    aspect-ratio: 2.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twentyonenine {
    padding-top: 42.85%;
    height: 0;
  }
}
.container.container--fivefour {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fivefour {
    aspect-ratio: 1.25;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fivefour {
    padding-top: 80%;
    height: 0;
  }
}
.container.container--fourfive {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--fourfive {
    aspect-ratio: 0.8;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--fourfive {
    padding-top: 125%;
    height: 0;
  }
}
.container.container--twothree {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--twothree {
    aspect-ratio: 0.6666666667;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--twothree {
    padding-top: 150%;
    height: 0;
  }
}
.container.container--threetwo {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .container.container--threetwo {
    aspect-ratio: 1.5;
  }
}
@supports not (aspect-ratio: 16/9) {
  .container.container--threetwo {
    padding-top: 66%;
    height: 0;
  }
}
.container.container--video {
  overflow: visible;
}
.container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 700px) {
  .container.williammorris img {
    clip-path: polygon(39% 0, 61% 0, 61% 5.4%, 100% 50%, 100% 100%, 0 100%, 0 50%, 39% 5.4%);
  }
  .container.williammorris.williammorris_echo--neon {
    overflow: visible;
  }
  .container.williammorris.williammorris_echo--neon::after {
    content: "";
    width: 70%;
    height: 70%;
    position: absolute;
    top: 16%;
    left: -10%;
    background-color: #33ffcc;
    mix-blend-mode: multiply;
    clip-path: polygon(39% 0, 61% 0, 61% 5.4%, 100% 44.5%, 100% 100%, 0 100%, 0 44.5%, 39% 5.4%);
  }
}
.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;
}

/*linked images*/
a .container.williammorris::after,
a.container.williammorris::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #82d4d6;
  mix-blend-mode: color;
  opacity: 0;
  transition: opacity 400ms ease-in;
  left: 0;
  top: 0;
  clip-path: polygon(39% 0, 61% 0, 61% 5.4%, 100% 50%, 100% 100%, 0 100%, 0 50%, 39% 5.4%);
}
a .container:hover::after,
a.container:hover::after {
  opacity: 1;
}

a:hover .container::after {
  opacity: 1;
}

/*Fat Borders*/
.border--white {
  border: var(--fat-border) solid #ffffff;
}
.border--white.container {
  box-sizing: content-box;
  width: calc(100% - 2 * var(--fat-border));
}
.border--half {
  border-width: calc(var(--fat-border) / 2);
}
.border--half.container {
  box-sizing: content-box;
  width: calc(100% - var(--fat-border));
}

/*Videos*/
.video_modal {
  position: relative;
  width: 100%;
  overflow: hidden;
  position: fixed;
  overflow: visible;
  width: calc(100vw - 2 * var(--margin));
  top: 50%;
  left: var(--margin);
  z-index: -1;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity;
}
@supports (aspect-ratio: 16/9) {
  .video_modal {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .video_modal {
    padding-top: 56.25%;
    height: 0;
  }
}
.video_modal::before {
  content: "";
  width: 100vw;
  height: calc(var(--vh) * 100);
  position: absolute;
  top: 50%;
  left: calc(var(--margin) * -1);
  background-color: transparent;
  transform: translateY(-50%);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition: all 600ms ease-in 100ms;
}
.video_modal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
.video_modal .close_video {
  position: absolute;
  top: -3.5rem;
  right: 0;
  background-color: #231f20;
  width: fit-content;
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: #ffffff;
  font-family: "Unica", sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5rem;
  text-transform: none;
}
.video_modal .close_video svg {
  height: 18px;
  width: 18px;
}
.video_modal .close_video svg path {
  stroke: #ffffff;
}

.open .video_modal {
  animation: opacity_and_z 600ms ease-in 0ms 1 normal forwards;
}
.open .video_modal::before {
  background-color: rgba(26, 38, 69, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.close .video_modal {
  z-index: 100;
  opacity: 1;
  animation: opacity_and_z_reverse 600ms ease-in 0ms 1 normal forwards;
}
.close .video_modal::before {
  background-color: rgba(26, 38, 69, 0.9);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

button.video_toggle {
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: auto;
  padding: 0;
}
button.video_toggle svg {
  display: block;
  width: 14.2857142857vw;
  height: auto;
}
@media screen and (min-width: 1200px) {
  button.video_toggle svg {
    width: 5.5555555556vw;
  }
}
button.video_toggle svg path {
  fill: #7d9990;
  opacity: 0.5;
  transition: all 400ms ease;
}

.ready button.video_toggle svg path {
  fill: #ffffff;
  opacity: 0.9;
}
.ready button.video_toggle:hover svg path {
  fill: #cbcbcb;
}

@keyframes opacity_and_z {
  0% {
    z-index: -1;
    opacity: 0;
  }
  1% {
    z-index: 100;
    opacity: 0;
  }
  100% {
    z-index: 100;
    opacity: 1;
  }
}
@keyframes opacity_and_z_reverse {
  0% {
    z-index: 100;
    opacity: 1;
  }
  99% {
    z-index: 100;
    opacity: 0;
  }
  100% {
    z-index: -1;
    opacity: 0;
  }
}
/*Booking Modal*/
.booking_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(var(--vh) * 100);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -1;
  opacity: 0;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  transition: all 600ms ease-in 100ms;
}
.booking_modal .modal_inner {
  margin: 0 var(--margin);
  max-height: calc(var(--vh) * 98);
  display: grid;
  grid-template-columns: 30% 70%;
  grid-template-rows: 5rem auto;
  box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.4);
  overflow-y: scroll;
  overflow-x: hidden;
}
.booking_modal .modal_inner img {
  grid-row: 1/3;
  grid-column: 1/2;
  height: 100%;
  object-fit: cover;
}
.booking_modal .modal_inner button {
  grid-row: 1/2;
  grid-column: 2/3;
  justify-self: flex-end;
  padding: 0.5rem;
  width: 4rem;
  height: 4rem;
  border: 0.5rem solid #33ffcc;
  background-color: #ffffff;
  margin: 1rem 1rem 0 0;
  transform: scale(0.7);
}
.booking_modal .modal_inner .modal_text {
  padding: 1rem;
  grid-row: 2/3;
  grid-column: 2/3;
}

.open.booking_modal {
  animation: opacity_and_z 600ms ease-in 0ms 1 normal forwards;
}

.close.booking_modal {
  z-index: 100;
  opacity: 1;
  animation: opacity_and_z_reverse 600ms ease-in 0ms 1 normal forwards;
}

.pop-up_grid .modal_text h2 {
  font-size: 1.7rem;
}

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

/*Details*/
details {
  border-top: 1px solid #231f20;
  padding: 1rem 0;
}
details > summary {
  list-style: none;
  position: relative;
}
details > summary:hover {
  cursor: pointer;
}
details > summary::after {
  content: url(./assets/arrow-up.svg);
  position: absolute;
  top: 0.2rem;
  right: 4vw;
  width: 18px;
  height: 10px;
  transition: transform var(--transition) ease;
  transform-origin: center center;
  line-height: 0;
}
details > summary h4 {
  margin-bottom: 0;
  margin-right: 2rem;
}
summary::-webkit-details-marker {
  display: none;
}

.details_content p {
  opacity: 0;
  transition: opacity 400ms ease;
}

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

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

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

@media screen and (min-width: 1200px) {
  .mobile-only {
    display: none;
  }
}
section.bg-ivory {
  padding-top: 2rem;
}

#page .link_button.yellow:hover, #page .link_button.yellow:focus, #page .link_button.yellow:active {
  background: #fff569 !important;
  color: #231f20 !important;
}
#page .link_button.black:hover, #page .link_button.black:focus, #page .link_button.black:active {
  background: #231f20 !important;
  color: #ffffff !important;
}
#page .link_button.red:hover, #page .link_button.red:focus, #page .link_button.red:active {
  background: #d02b16 !important;
  color: #ffffff !important;
}

/*.single-event {
  #primary {
    background: $color_white;
  }
  .bg-white {
    background: $color_white;
  }
}*/
/*--------------------------------------------------------------

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/*Header*/
header#masthead {
  height: var(--header-height);
  position: fixed;
  width: 100%;
  max-width: calc(100vw - 2rem);
  top: 0;
  left: 1rem;
  padding: 1rem 1rem 0;
  z-index: 20;
  transition: padding var(--transition) ease, margin var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  header#masthead {
    max-width: calc(100vw - 4rem);
  }
}
@media screen and (min-width: 1200px) {
  header#masthead {
    left: 2rem;
  }
}
header#masthead::after {
  content: "";
  position: absolute;
  background: #f0f0e6;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.home header#masthead {
  background-color: transparent;
  /*&::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: calc(100vw / 3);
    background: linear-gradient(180deg, $color_gradient_black, transparent);
    z-index: 2;
  }*/
}
.home header#masthead::after {
  background: #f0f0e6;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.home header#masthead #primary-menu .sub-menu {
  background: #f0f0e6;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.home header#masthead #primary-menu .sub-menu a {
  margin-bottom: 1rem;
}
.home header#masthead.slideOut {
  box-shadow: none;
}
@media screen and (min-width: 1200px) {
  .home header#masthead.slideOut #primary-menu li a {
    color: #231f20;
  }
}
.home header#masthead.slideOut #primary-menu .sub-menu {
  background: #f0f0e6;
}
@media screen and (min-width: 1200px) {
  .home header#masthead.slideOut .site-branding svg path {
    fill: #231f20;
  }
}
@media screen and (min-width: 1200px) {
  .home header#masthead.slideOut::after {
    background: #f0f0e6;
  }
}
@media screen and (min-width: 1200px) {
  .home header#masthead #primary-menu li a {
    text-transform: none;
    color: #231f20;
    font-weight: 400;
  }
}
.home header#masthead .nav-search-form svg circle,
.home header#masthead .nav-search-form svg path {
  stroke: #ffffff;
}
.home header#masthead.addFixed .nav-search-form svg circle,
.home header#masthead.addFixed .nav-search-form svg path, .home header#masthead.slideOut .nav-search-form svg circle,
.home header#masthead.slideOut .nav-search-form svg path {
  stroke: #231f20;
}

@media screen and (min-width: 1200px) {
  header#masthead {
    padding: 0.5rem calc(var(--margin)) 0.5rem calc(var(--margin));
  }
}
/*Header animation*/
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;
}
header#masthead.slideOut.slideInDown {
  transform: translate3d(0, 0, 0);
  position: fixed;
}

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

.main-navigation {
  display: block;
  width: 100%;
}
.main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -1.2rem;
  z-index: 9;
  display: none;
}
@media screen and (min-width: 1200px) {
  .main-navigation ul ul {
    display: block;
  }
}
.main-navigation ul ul ul {
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
#primary-menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 1rem;
  width: 100%;
}
#primary-menu li a {
  color: #231f20;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 3.375rem;
}
@media screen and (min-width: 1200px) {
  #primary-menu li a {
    font-size: 2rem;
  }
}

@media screen and (min-width: 700px) {
  #primary-menu {
    margin-bottom: 1.2rem;
    width: 100%;
  }
  #primary-menu li a {
    text-transform: none;
    color: #231f20;
    padding-bottom: 0.5rem;
    font-size: 2.2rem;
  }
}
#hamburger {
  position: absolute;
  right: 1rem;
  top: 1rem;
  background: transparent;
  transition: top var(--transition) ease;
  z-index: 10;
  border: #231f20 3px solid;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-content: center;
  flex-wrap: wrap;
}
#hamburger.is-active {
  border: #231f20 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: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}
.hamburger::before {
  content: "Menu";
  color: #231f20;
  position: absolute;
  left: -3.5rem;
  font-family: "Unica", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 19px;
}
.hamburger.is-active::before {
  color: #231f20;
  content: "Close";
}

.home #primary {
  padding-top: 0;
}
.home #hamburger {
  border: #231f20 3px solid;
}
.home #hamburger.is-active {
  border: #231f20 3px solid;
}
.home .hamburger::before {
  color: #231f20;
}
.home .hamburger.is-active::before {
  color: #231f20;
  content: "Close";
}
.home .hamburger .hamburger-inner::before,
.home .hamburger .hamburger-inner ::after {
  background-color: #231f20;
}

.hamburger:hover {
  opacity: 0.8;
}

.hamburger.is-active:hover {
  opacity: 0.8;
}

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

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

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

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

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

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

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

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

/*

* Hamburger Collapse

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

.hamburger--collapse .hamburger-inner::after {
  top: -12px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

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

.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*Mobile Menu*/
.menu-menu-1-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(var(--vh) * 90);
  box-shadow: 4px 0 4px rgba(0, 0, 0, 0.15);
  transform: translate(0, -110%);
  transition: transform var(--transition) ease-in;
  padding: 1rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: start;
  flex-direction: column;
}
.menu-menu-1-container::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100vw;
  background: rgba(250, 250, 247, 0.8);
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}
@media screen and (min-width: 1200px) {
  .menu-menu-1-container::after {
    display: none;
  }
}

.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 svg path {
  fill: #231f20;
}

.mobile_nav_home {
  padding-bottom: 1rem;
}

.sub-menu {
  background-color: #f0f0e6;
  position: relative;
  top: 0;
  left: 0;
  width: 100vw;
  height: calc(var(--vh) * 100);
  box-shadow: 4px 0 4px rgba(0, 0, 0, 0.15);
  transform: translate(-200vw, 0);
  transition: transform calc(2 * var(--transition)) ease-in;
  padding: 2rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-content: center;
  flex-direction: column;
}

.sub-menu li a::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  position: absolute;
  right: -2rem;
  top: 0.3rem;
}

/*Desktop Menu*/
@media screen and (min-width: 1200px) {
  .mobile_nav_home,
  .mobile_nav_home svg {
    display: none;
  }
  .main-navigation ul ul {
    z-index: -1;
  }
  .sub-menu {
    height: auto;
    width: max-content;
    justify-content: space-between;
    flex-direction: column;
    transform: translate(0, -200vh);
    transition: border-top 600ms ease-in 1200ms;
    top: 0;
    left: -2rem !important;
  }
  .menu-menu-1-container #primary-menu .sub-menu li a::after {
    right: 1rem;
    left: 20rem;
    top: 0.4rem;
    height: 0.8rem;
    background-color: transparent;
    transition: none;
    transform: none;
  }
  .menu-menu-1-container #primary-menu .sub-menu li:hover::before {
    transform: scaleX(70%);
  }
  .menu-item-has-children:hover a::after,
  .menu-item-has-children:focus-within a::after {
    content: "";
    width: 100%;
    height: 3rem;
    background-color: transparent;
    display: block;
    position: absolute;
  }
  .menu-item-has-children:hover .sub-menu,
  .menu-item-has-children:focus-within .sub-menu {
    transform: translate(0, 0);
  }
  .menu-item-has-children > *:hover .sub-menu, .menu-item-has-children::before:hover .sub-menu, .menu-item-has-children::after:hover .sub-menu {
    transform: translate(0, 0);
  }
  .menu-item-has-children .sub-menu:hover {
    transform: translate(0, 0);
  }
  .menu-item-has-children.open-sub .sub-menu {
    transform: translate(0, 4.7vh);
  }
  .sub-menu li {
    flex-basis: 33.3%;
    opacity: 1;
    transition: opacity 0.3s ease-in;
  }
  ul.sub-menu::after {
    content: "";
    flex-grow: 1;
  }
  ul.sub-menu {
    padding: var(--header-height) 2rem 3rem;
    padding-right: 4rem;
    z-index: -1;
  }
  .home ul.sub-menu {
    padding: calc(var(--header-height) + 1rem) 2rem 2rem;
  }
  ul.sub-menu li {
    opacity: 0;
    transition: opacity 600ms ease-in 600ms;
  }
  .menu-item-has-children:hover .sub-menu li,
  .menu-item-has-children .sub-menu:hover li,
  .menu-item-has-children:focus-within .sub-menu li,
  .menu-item-has-children .sub-menu:focus-within li,
  .menu-item-has-children .sub-menu:has(li a:focus) li {
    opacity: 1;
  }
  .menu-item-has-children:hover ul.sub-menu::before,
  .menu-item-has-children ul.sub-menu:hover::before {
    opacity: 1;
  }
  #primary-menu .sub-menu {
    opacity: 0;
    height: 0;
    width: 0;
    transition: opacity 400ms ease-in 400ms, width 400ms ease-in 400ms, height 400ms ease-in 400ms;
  }
  #primary-menu .sub-menu .menu-item::before {
    background-color: transparent;
  }
  #primary-menu .sub-menu .menu-item a {
    font-size: 1.125rem;
    line-height: 2.75rem;
    font-weight: 700;
    padding-left: 0;
    width: fit-content;
  }
  #primary-menu .sub-menu .menu-item a::before {
    content: "";
    position: absolute;
    bottom: 0.4rem;
    width: 100%;
    height: 3px;
    background-color: #1a2645;
    transform: scaleX(0);
    transform-origin: 50% 0;
    transition: transform var(--transition) ease-in;
  }
  #primary-menu .sub-menu .menu-item a:hover::before, #primary-menu .sub-menu .menu-item a:focus::before {
    transform: scaleX(100%);
  }
  #primary-menu .menu-item-has-children:hover .sub-menu,
  #primary-menu .menu-item-has-children .sub-menu:hover,
  #primary-menu .menu-item-has-children:focus .sub-menu,
  #primary-menu .menu-item-has-children .sub-menu:focus,
  #primary-menu .menu-item-has-children:focus-within .sub-menu,
  #primary-menu .menu-item-has-children .sub-menu:focus-within,
  #primary-menu .menu-item-has-children .sub-menu:has(li a:focus) {
    opacity: 1;
    width: max-content;
    height: auto;
  }
}
.home #primary-menu .sub-menu .menu-item a::before {
  bottom: -0.3rem;
}

/*Branding*/
.site-branding {
  height: calc(var(--header-height) - 1.2rem);
  z-index: 3;
  position: relative;
}
.site-branding svg {
  height: 40px;
  width: auto;
}
@media screen and (min-width: 1200px) {
  .site-branding svg {
    display: block;
    width: 14.9925037481vw;
    height: auto;
    max-height: calc(var(--header-height) - 2rem);
  }
}
.site-branding svg path {
  fill: #231f20;
}

.site-branding {
  display: flex;
  align-items: center;
  height: calc(var(--header-height) - 1.2rem);
  z-index: 3;
  position: relative;
}
.site-branding svg {
  height: 32px;
  width: auto;
}
@media screen and (min-width: 1200px) {
  .site-branding svg {
    display: block;
    height: 3.2rem;
    width: auto;
    max-height: calc(var(--header-height) - 2rem);
  }
}
.site-branding svg path {
  fill: #231f20;
}

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

@media screen and (min-width: 1200px) {
  #hamburger {
    display: none;
  }
  #masthead {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #site-navigation {
    width: auto;
  }
  .menu-menu-1-container {
    position: static;
    width: auto;
    height: auto;
    box-shadow: none;
    transform: none;
    flex-direction: row;
    padding: 0;
    flex-wrap: nowrap;
  }
  .menu-menu-1-container #primary-menu {
    flex-direction: row;
    align-items: center;
    margin-bottom: 0;
  }
  .menu-menu-1-container #primary-menu li::before {
    content: "";
    position: absolute;
    bottom: -0.3rem;
    left: 1rem;
    width: calc(100% - 2rem);
    height: 3px;
    background-color: #231f20;
    transform: scaleX(0);
    transform-origin: 50% 0;
    transition: transform var(--transition) ease-in;
    z-index: 9;
  }
  .menu-menu-1-container #primary-menu li:hover::before {
    transform: scaleX(100%);
  }
  .menu-menu-1-container #primary-menu li a {
    font-size: 1.375rem;
    line-height: 26px;
    font-weight: 400;
    padding: 0 1rem;
    letter-spacing: 0.05em;
    position: relative;
    z-index: 10;
  }
}
#site-navigation .search_toggle,
#site-navigation .home_link {
  z-index: 100;
  display: flex;
  justify-content: center;
  align-items: center;
}
#site-navigation .home_link {
  margin-bottom: 10px;
}
@media screen and (min-width: 1200px) {
  #site-navigation .home_link {
    margin-right: 2rem;
    margin-left: 1rem;
    margin-bottom: 0;
  }
}
#site-navigation .home_link svg * {
  fill: none;
  stroke: #231f20;
  stroke-width: 2;
}

/* .home #site-navigation {
  .search_toggle, .home_link {
    svg *{
      stroke:#fff;
    }
  }
} */
.home .addFixed #site-navigation .search_toggle svg *,
.home .addFixed #site-navigation .home_link svg *,
.home .slideOut #site-navigation .search_toggle svg *,
.home .slideOut #site-navigation .home_link svg * {
  stroke: #231f20;
}

#primary-menu li a:focus-visible {
  outline: 2px solid #d02b16;
}

/*Preheader*/
.preheader {
  position: absolute;
  top: 0;
  left: 0;
  height: var(--header-height);
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition) ease;
  align-items: center;
  width: 100vw;
  font-size: 1.2rem;
}
.preheader .padding {
  padding-right: calc(var(--margin) + 1rem);
}
.preheader p {
  margin: 0;
  flex-basis: 95%;
  margin: 0;
}
.preheader a {
  flex-basis: fit-content;
  padding-right: 1rem;
  font-size: 0.8rem;
}

@media screen and (min-width: 700px) {
  .preheader p {
    flex-basis: 70%;
  }
  .preheader a {
    display: block;
  }
}
#close_cta {
  position: absolute;
  top: calc(50% - 0.5rem);
  right: var(--margin);
  width: 1rem;
  height: 1rem;
  background-color: transparent;
  padding: 0;
  display: none;
}
#close_cta svg {
  width: 1rem;
  height: 1rem;
  stroke: #33ffcc;
}

.cta_active .preheader {
  max-height: var(--header-height);
  z-index: 25;
}
.cta_active #close_cta {
  display: block;
}
.cta_active #masthead {
  margin-top: calc(var(--header-height));
}
.cta_active #masthead.addFixed, .cta_active #masthead.slideOut {
  margin-top: 0;
}
.cta_active #primary {
  padding-top: calc(var(--header-height) * 2 + 1rem);
}
.cta_active .menu-item-has-children:hover .sub-menu,
.cta_active .menu-item-has-children a:focus + .sub-menu {
  margin-top: calc(var(--header-height) - 1rem);
}

/*
* Page Nav
*/
#page-nav {
  background-color: white;
  z-index: 10;
  width: 100%;
}
#page-nav.fixed {
  box-shadow: 0px 3px 4px rgba(0, 0, 0, 0.15);
  transform: translateY(0);
  transition: transform 400ms ease 100ms;
}
#page-nav ul {
  margin: 0;
  padding: 0;
  column-gap: 1.4rem;
  row-gap: 0.3rem;
  justify-content: flex-start;
}
#page-nav ul li a {
  color: #193153;
  text-transform: uppercase;
  text-decoration: none;
  position: relative;
}
#page-nav ul li a::before {
  content: "";
  position: absolute;
  bottom: -0.3rem;
  left: 0;
  width: 100%;
  height: 0.15rem;
  border-bottom: 0.15rem solid #33ffcc;
}

.menu-visible #page-nav.fixed {
  transform: translateY(var(--header-height));
}

@media screen and (min-width: 1200px) {
  #page-nav {
    margin-bottom: 2rem;
  }
  #page-nav ul li a {
    position: relative;
  }
  #page-nav ul li a::after {
    content: "";
    position: absolute;
    bottom: -0.3rem;
    left: 0;
    width: 100%;
    height: 0.25rem;
    background-color: #33ffcc;
    transform: scaleX(0);
    transform-origin: 0 0;
    transition: transform var(--transition) ease-in;
  }
  #page-nav ul li a:hover::after {
    transform: scaleX(100%);
  }
}
.entry-header {
  height: var(--header-height);
}
.entry-header h1 {
  display: none;
}

.page .entry-header,
.single-event .entry-header,
.single-venue .entry-header {
  height: auto;
}

/*Mobile Sub Nav*/
.mobile_sub_nav_container {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  padding-bottom: 0;
}

/*Page Sub Nav*/
.page_sub_nav {
  display: flex;
  justify-content: center;
  padding: 0;
  max-width: 95vw;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .page_sub_nav {
    gap: 1.5rem;
  }
}
@media screen and (min-width: 1600px) {
  .page_sub_nav {
    gap: 2rem;
  }
}

.sub_nav_container {
  display: none;
  margin-top: 2rem;
  padding-bottom: 2rem;
  padding-left: 2rem;
  padding-right: 2rem;
  border-bottom: 1px solid #231f20;
}
@media screen and (min-width: 1200px) {
  .sub_nav_container {
    display: block;
  }
}

.sub_menu_item.current a {
  font-weight: 900;
}
.sub_menu_item a {
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 1.375rem;
  color: #231f20;
  font-weight: 400;
}

@media screen and (max-width: 359px) {
  #primary-menu {
    width: 100%;
  }
  .menu-menu-1-container {
    flex-wrap: nowrap;
    height: 100vh;
  }
  .menu-menu-1-container #primary-menu li a {
    line-height: 135%;
  }
}
/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.block + .pattern {
  margin-top: -4rem;
  padding-top: 4rem;
}
.block ul {
  list-style-type: disc;
  margin-left: 0;
}

/*Headers*/
@media screen and (min-width: 1000px) {
  .entry-header .container.container--twentyonenine {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .entry-header .container.container--twentyonenine {
      aspect-ratio: 3.33333;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .entry-header .container.container--twentyonenine {
      padding-top: 33.333%;
      height: 0;
    }
  }
}
/*Home hero*/
.block--hero {
  grid-template-rows: 2fr 9fr 3fr;
  grid-template-columns: var(--margin) auto var(--margin);
}
.block--hero .grid_row--mid {
  grid-row: 2/3;
  grid-column: 1/4;
  background-image: url(./assets/pattern.svg);
  background-color: #82d4d6;
  background-repeat: no-repeat;
  background-size: 200%;
}
.block--hero .grid_column--left {
  grid-row: 1/4;
  grid-column: 2/3;
}
.block--hero .grid_column--left .buttons {
  margin-bottom: 3rem;
}
.block--hero .grid_column--left .dash::after {
  display: none;
}
.block--hero .grid_column--right {
  display: none;
}

@media screen and (min-width: 700px) {
  .block--hero {
    grid-template-columns: var(--margin) 1fr 1fr var(--margin);
  }
  .block--hero .grid_row--mid {
    grid-column: 1/5;
  }
  .block--hero .grid_column--left {
    padding-right: 15%;
  }
  .block--hero .grid_column--right {
    display: block;
    grid-column: 3/5;
    grid-row: 1/4;
  }
  .block--hero .container.container--video {
    width: 75%;
    box-sizing: content-box;
  }
}
@media screen and (min-width: 1000px) {
  .block--hero {
    grid-template-rows: 1fr 5fr 1fr;
  }
  .block--hero h1.dash {
    max-width: 20ch;
  }
  .block--hero .grid_row--mid {
    background-size: 100%;
  }
  .block--hero .container.williammorris.williammorris_echo--neon::after {
    width: 70%;
    height: 80%;
    top: 14.3%;
    left: -15%;
  }
  .block--pagelink .header--no-margin {
    max-width: 60%;
  }
  .block--pagelink .large {
    max-width: 60%;
    margin-top: 1rem;
  }
}
.home .block--pagelink .large {
  max-width: 100%;
}

@media screen and (min-width: 1200px) {
  .block--hero .grid_column--left {
    padding-right: 10%;
  }
  .block--hero .grid_column--left .buttons {
    margin-bottom: 5rem;
  }
  .block--hero .container.williammorris.williammorris_echo--neon::after {
    left: -10%;
  }
}
/*Quick Links*/
.quick_links {
  display: none;
}
@media screen and (min-width: 1200px) {
  .quick_links {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding-left: 0;
  }
}
.quick_links a {
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 2rem;
  color: #231f20;
}
.quick_links a.current {
  font-weight: 800;
}
.quick_links a:after {
  content: url(./assets/arrow.svg);
  width: 18px;
  height: 18px;
  margin-left: 0.5rem;
  position: relative;
  left: 0;
  transition: left 100ms ease-in;
}
.quick_links a:hover::after {
  left: 0.25rem;
}

.quick_links_title {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 2.375rem;
  font-weight: 700;
  margin-bottom: 0;
  display: none;
}
@media screen and (min-width: 1200px) {
  .quick_links_title {
    display: block;
  }
}

.quick_links_container {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}

.quick_links_select {
  display: block;
  height: 48px;
  padding-left: 1rem;
  padding-right: 1rem;
  font-weight: 600;
  margin-top: 2rem;
}
@media screen and (min-width: 1200px) {
  .quick_links_select {
    display: none;
  }
}

.quick_links_select_title {
  color: #1f1f1f;
  font-size: 1.125rem;
  line-height: 1.75rem;
  font-weight: 500;
  margin-top: 2rem;
}
@media screen and (min-width: 1200px) {
  .quick_links_select_title {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .entry-content {
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-auto-flow: dense;
  }
  .entry-content section {
    grid-column: 1/3;
  }
  .entry-content > .quick_links_container {
    grid-column: 2/3;
    margin-left: 10rem;
    margin-right: auto;
  }
  .entry-content > .quick_links_container + section {
    grid-column: 1/2;
    padding-right: 0;
  }
}
/*Explore Grid*/
.block--explore .container {
  position: relative;
  width: 100%;
  overflow: hidden;
  overflow: visible;
}
@supports (aspect-ratio: 16/9) {
  .block--explore .container {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .block--explore .container {
    padding-top: 56.25%;
    height: 0;
  }
}
.block--explore .container .button {
  position: absolute;
  top: -0.5rem;
  right: 0;
  width: fit-content;
  transition: background-color var(--transition) ease-in, color var(--transition) ease-in, filter var(--transition) ease-in;
  z-index: 10;
}
.block--explore .container.border--white {
  box-sizing: content-box;
  width: calc(100% - 2 * var(--fat-border));
}
.block--explore .container:hover .button {
  color: #ffffff;
  background-color: #33ffcc;
}
.block--explore .container:hover .button::after {
  filter: invert(1) brightness(200%);
}

.dash.explore_title--second {
  text-align: right;
}
.dash.explore_title--second::after {
  left: unset;
  right: 0;
}

@media screen and (min-width: 700px) {
  .block--explore.margins {
    margin-left: 0;
    margin-right: 0;
  }
  .block--explore .grid_explore {
    grid-template-columns: var(--margin) 11fr var(--fat-border) var(--fat-border) 9fr var(--margin);
    grid-template-rows: auto auto auto auto auto;
  }
  .block--explore .grid_explore .explore_title--first {
    grid-row: 1/2;
    grid-column: 2/6;
  }
  .block--explore .grid_explore .dash.explore_title--second {
    grid-column: 4/6;
    grid-row: 5/6;
    margin-top: var(--fat-border);
    align-self: end;
  }
  .block--explore .container .button {
    padding: 2rem;
    top: -2rem;
  }
  .block--explore .container .button::after {
    top: 2rem;
  }
  .block--explore .container:first-of-type {
    position: relative;
    width: 100%;
    overflow: hidden;
    overflow: visible;
    grid-row: 2/3;
    grid-column: 2/6;
    margin-bottom: calc(var(--fat-border) * -1);
  }
  @supports (aspect-ratio: 16/9) {
    .block--explore .container:first-of-type {
      aspect-ratio: 1.7777777778;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--explore .container:first-of-type {
      padding-top: 56.25%;
      height: 0;
    }
  }
  .block--explore .container:first-of-type.border--white {
    box-sizing: content-box;
    width: calc(100% - 2 * var(--fat-border));
  }
  .block--explore .container:first-of-type .button {
    right: 2rem;
  }
  .block--explore .container:nth-of-type(2) {
    position: relative;
    width: 100%;
    overflow: hidden;
    overflow: visible;
    grid-row: 3/4;
    grid-column: 2/5;
    margin: calc(var(--fat-border) * -1) 0;
    border-left: 0;
    justify-self: start;
    align-self: center;
  }
  @supports (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(2) {
      aspect-ratio: 1.5;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(2) {
      padding-top: 66%;
      height: 0;
    }
  }
  .block--explore .container:nth-of-type(2).border--white {
    box-sizing: content-box;
    width: calc(100% - var(--fat-border));
  }
  .block--explore .container:nth-of-type(2) .button {
    right: unset;
    left: var(--fat-border);
  }
  .block--explore .container:nth-of-type(3) {
    position: relative;
    width: 100%;
    overflow: hidden;
    overflow: visible;
    grid-row: 3/4;
    grid-column: 4/6;
    margin: calc(var(--fat-border) * -1) 0;
    border-right: 0;
    justify-self: end;
    z-index: 10;
  }
  @supports (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(3) {
      aspect-ratio: 0.8;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(3) {
      padding-top: 125%;
      height: 0;
    }
  }
  .block--explore .container:nth-of-type(3).border--white {
    box-sizing: content-box;
    width: calc(100% - var(--fat-border));
  }
  .block--explore .container:nth-of-type(3) .button {
    top: unset;
    bottom: -2rem;
    right: 0;
    margin: 0px;
  }
  .block--explore .container:nth-of-type(4) {
    position: relative;
    width: 100%;
    overflow: hidden;
    overflow: visible;
    grid-row: 4/5;
    grid-column: 2/6;
    margin: calc(var(--fat-border) * -1) 0;
  }
  @supports (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(4) {
      aspect-ratio: 1.7777777778;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(4) {
      padding-top: 42.85%;
      height: 0;
    }
  }
  .block--explore .container:nth-of-type(4).border--white {
    box-sizing: content-box;
    width: calc(100% - 2 * var(--fat-border));
  }
  .block--explore .container:nth-of-type(4) .button {
    top: unset;
    bottom: -2rem;
    right: 0;
    margin: 0px;
  }
  .block--explore .container:nth-of-type(5) {
    position: relative;
    width: 100%;
    overflow: hidden;
    overflow: visible;
    grid-column: 2/4;
    grid-row: 5/6;
    border-left: 0;
    margin: calc(var(--fat-border) * -1) 0;
  }
  @supports (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(5) {
      aspect-ratio: 1.5;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--explore .container:nth-of-type(5) {
      padding-top: 66%;
      height: 0;
    }
  }
  .block--explore .container:nth-of-type(5).border--white {
    box-sizing: content-box;
    width: calc(100% - var(--fat-border));
  }
  .block--explore .container:nth-of-type(5) .button {
    top: unset;
    bottom: -3rem;
  }
}
/*Buttons*/
.layout--button {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/*Visit*/
.block--full-width-text h4 {
  text-transform: none;
  font-size: 2rem;
}
.block--full-width-text h5 {
  font-size: 2rem;
  font-weight: 400;
}
.block--full-width-text h6 {
  font-size: 2rem;
  font-weight: 400;
  text-transform: none;
}

/*What's on Block*/
.block--whatson .flex {
  align-items: flex-end;
}
.block--whatson .flex_column--right {
  margin-top: 3rem;
}
.block--whatson h2:not(.dash) {
  margin: -0.5rem 0 1.5rem;
}

.event_description {
  margin-bottom: 6rem;
}

@media screen and (min-width: 1000px) {
  .block--whatson .flex_column--left {
    margin-left: calc(var(--fat-border) * -1);
  }
  .block--whatson .flex_column--right {
    padding: 1rem 0 0 1rem;
  }
  .block--whatson .flex_column--right .buttons {
    margin-bottom: 0;
  }
}
/*Never Miss The Boat*/
.block--never-miss-the-boat.flex.flex_50 {
  flex-direction: row-reverse;
}
.block--never-miss-the-boat.flex.flex_50 .flex_item {
  flex-basis: 100%;
}
.block--never-miss-the-boat.flex.flex_50 .flex_item.overlay {
  align-self: stretch;
}
.block--never-miss-the-boat .container.container--fourfive {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .block--never-miss-the-boat .container.container--fourfive {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .block--never-miss-the-boat .container.container--fourfive {
    padding-top: 56.25%;
    height: 0;
  }
}
.block--never-miss-the-boat .padding-left {
  padding: 3rem var(--margin);
}
.block--never-miss-the-boat .overlay {
  align-self: stretch;
}
.block--never-miss-the-boat .overlay img {
  mix-blend-mode: multiply;
  filter: opacity(0.9) saturate(0);
  object-fit: cover;
}

.mc4wp-form-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.mc4wp-form-fields .form_row {
  width: 100%;
  display: flex;
  gap: 1rem;
  /* justify-items: stretch; */
}
.mc4wp-form-fields .small {
  font-weight: 700;
}

input#email {
  width: 100%;
}

input#first_name,
input#last_name {
  width: 50%;
}

@media screen and (min-width: 1000px) {
  .block--never-miss-the-boat.flex.flex_50 {
    flex-direction: row;
  }
  .block--never-miss-the-boat.flex.flex_50 .flex_item {
    flex-basis: 50%;
    align-self: flex-end;
  }
  .block--never-miss-the-boat .padding-left {
    padding: 7rem 3rem 7rem var(--margin);
  }
  .block--never-miss-the-boat .container.container--fourfive {
    aspect-ratio: auto;
    padding-top: 0;
  }
  @supports not (aspect-ratio: auto) {
    .block--never-miss-the-boat .container.container--fourfive {
      height: 582px;
    }
  }
}
/*Have You Seen*/
.block--have-you-seen .container.williammorris {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .block--have-you-seen .container.williammorris {
    aspect-ratio: 2.3333333333;
  }
}
@supports not (aspect-ratio: 16/9) {
  .block--have-you-seen .container.williammorris {
    padding-top: 42.85%;
    height: 0;
  }
}
.block--have-you-seen .container.williammorris::after {
  display: none;
}
.block--have-you-seen .container.williammorris img {
  clip-path: none;
}

@media screen and (min-width: 700px) {
  .block--have-you-seen .flex_33 {
    align-items: flex-start;
  }
  .block--have-you-seen .flex_33 .flex_item {
    display: grid;
    grid-template-rows: auto auto 110px 1fr;
  }
  .block--have-you-seen .flex_33 .flex_item .decorative {
    width: 100%;
    max-width: 15rem;
  }
  .block--have-you-seen .flex.cards {
    flex-wrap: nowrap;
  }
  .block--have-you-seen .flex.cards .container.williammorris {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .block--have-you-seen .flex.cards .container.williammorris {
      aspect-ratio: 0.8;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .block--have-you-seen .flex.cards .container.williammorris {
      padding-top: 115%;
      height: 0;
    }
  }
  .block--have-you-seen .flex.cards .container.williammorris img {
    clip-path: polygon(39% 0, 61% 0, 61% 5.4%, 100% 50%, 100% 100%, 0 100%, 0 50%, 39% 5.4%);
  }
  .block--have-you-seen .flex.cards .flex_item:nth-of-type(2) .container.williammorris img {
    clip-path: polygon(0 0, 100% 0, 100% 50%, 61% 94.6%, 61% 100%, 39% 100%, 39% 94.6%, 0 50%);
  }
  .block--have-you-seen .flex.cards .flex_item:nth-of-type(2) .container.williammorris::after {
    clip-path: polygon(0 0, 100% 0, 100% 50%, 61% 94.6%, 61% 100%, 39% 100%, 39% 94.6%, 0 50%);
  }
  .block--have-you-seen h3,
  .block--have-you-seen p {
    margin-right: 1rem;
  }
}
/*Read Watch Listen*/
.featured-post .decorative.bg-transparent {
  padding-left: 0;
}

/*Footer*/
#footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
#footer svg path {
  fill: #231f20;
}
#footer p,
#footer a {
  color: #231f20;
}
@media screen and (min-width: 1200px) {
  #footer {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
#footer .footer_grid {
  position: relative;
}
#footer h4 {
  font-size: 1.2rem;
  font-weight: 800;
}
#footer h5 {
  margin-bottom: 0;
}
#footer address {
  font-style: normal;
  margin: 0;
}
#footer ul {
  margin: 0;
  padding: 0;
}
#footer .footer_grid--item {
  margin-bottom: 2rem;
}
#footer .footer_grid--item.sub-footer, #footer .footer_grid--item.logos {
  display: flex;
  flex-wrap: wrap;
}
#footer .footer_grid--item.logos {
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer .footer_grid--item.logos a {
  flex-basis: 48%;
}
#footer .footer_grid--item.sub-footer {
  bottom: 0;
  right: 0;
}
#footer .so-me {
  justify-content: flex-start;
  gap: 1rem;
}
#footer .so-me svg {
  width: 24px;
  height: 24px;
  display: block;
}
#footer .so-me svg path {
  fill: #231f20;
}

.footer_address_phone a {
  color: #ffffff;
}

@media screen and (min-width: 700px) {
  .grid.footer_grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 1rem;
  }
  .footer_grid--item.social {
    grid-column: 1/2;
  }
  .footer_grid--item.sub-footer {
    grid-column: 1/4;
    justify-content: flex-end;
  }
  .footer_grid--item.buttons {
    grid-column: 3/4;
  }
  .footer_grid--item.logos {
    grid-column: 3/4;
  }
}
@media screen and (min-width: 1200px) {
  .grid.footer_grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    column-gap: unset;
    grid-template-rows: auto auto auto;
  }
  .footer_grid--item.opening-times {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .footer_grid--item.buttons {
    grid-column: 5/6;
  }
  .footer_grid--item.buttons .buttons {
    display: block;
  }
  .footer_grid--item.buttons .decorative {
    height: min-content;
    margin-bottom: 1rem;
  }
  .footer_grid--item.social {
    grid-column: 2/4;
    align-self: center;
  }
  .footer_grid--item.social .flex {
    justify-content: flex-start;
    gap: 2rem;
  }
  .footer_grid--item.logos {
    grid-column: 4/6;
    grid-row: 2/3;
  }
  .footer_grid--item.sub-footer {
    grid-column: 1/6;
    grid-row: 3/4;
  }
  #footer .so-me svg {
    width: 25px;
    height: 25px;
  }
}
/*Carousel*/
.entry-header .carousel_wrapper {
  margin-bottom: 0;
}

.hero_image_container {
  width: 100%;
}

.hero_carousel .swiper-wrapper {
  max-width: 100%;
}

.hero_image {
  min-width: 100%;
  flex-direction: column;
  flex-wrap: nowrap;
  display: grid;
  grid-template-rows: calc(var(--vh) * 50) auto;
}
@media screen and (min-width: 700px) {
  .hero_image {
    min-height: 50vw;
  }
}
@media screen and (min-width: 1000px) {
  .hero_image {
    display: flex;
    min-height: unset;
    height: 50vw;
    max-height: calc(var(--vh) * 100);
  }
}

.hero_carousel {
  max-width: calc(100vw - 2rem);
}
@media screen and (min-width: 1200px) {
  .hero_carousel {
    max-width: calc(100vw - 4rem);
  }
}
@media screen and (min-width: 1000px) {
  .hero_carousel {
    max-height: calc(100vh - var(--header-height));
  }
}

.hero_info_container {
  width: calc(100vw - 2rem);
}
@media screen and (min-width: 1000px) {
  .hero_info_container {
    width: fit-content;
  }
}

body.home .hero_info_container {
  width: calc(100vw - 2rem - 16vw);
}
@media screen and (min-width: 1000px) {
  body.home .hero_info_container {
    width: fit-content;
  }
}

.hero_info_container {
  z-index: 3;
  flex-basis: 40%;
  display: flex;
  flex-direction: column;
  padding: 8vw;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1000px) {
  .hero_info_container {
    padding: 2.5rem;
    position: absolute;
    bottom: calc(var(--margin) / 2 + 6rem);
    left: var(--margin);
    width: fit-content;
    max-width: 40%;
    transform: translateY(50%);
  }
}
@media screen and (min-width: 1200px) {
  .hero_info_container {
    width: fit-content;
    bottom: calc(var(--margin) / 2);
    max-width: 456px;
    transform: translateY(0);
  }
}
@media screen and (min-width: 1000px) {
  .hero_info_container.rhs {
    right: var(--margin);
    left: unset;
  }
}

@media screen and (min-width: 1000px) {
  .hero_image_container {
    flex-basis: unset;
    height: 50vw;
    max-height: calc((var(--vh) * 100) - var(--header-height));
  }
}
.hero_image_container img {
  position: relative;
  height: 100%;
  line-height: 0;
  display: block;
}

@media screen and (min-width: 1000px) {
  .home .hero_image_container {
    max-height: calc(100vh - var(--header-height));
  }
}

.hero_title {
  font-size: 1.875rem;
  line-height: 2.1875rem;
}
@media screen and (min-width: 1200px) {
  .hero_title {
    font-size: 1.75rem;
    line-height: 2.0625rem;
    font-weight: 900;
  }
}

.hero_subtitle {
  font-weight: 600;
  font-size: 1.875rem;
  line-height: 2.1875rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1200px) {
  .hero_subtitle {
    font-size: 1.75rem;
    line-height: 2.0625rem;
  }
}

.hero_details {
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .hero_details {
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 500;
  }
}

.home .hero_title,
.page .hero_title {
  font-size: 1.875rem;
  line-height: 80%;
}
@media screen and (min-width: 1200px) {
  .home .hero_title,
  .page .hero_title {
    font-size: 2.875rem;
    line-height: 80%;
  }
}
.home .hero_subtitle,
.page .hero_subtitle {
  font-size: 1.625rem;
  line-height: 1.75rem;
}
@media screen and (min-width: 1200px) {
  .home .hero_subtitle,
  .page .hero_subtitle {
    font-size: 2.0625rem;
    line-height: 2.1875rem;
  }
}
.home .hero_details,
.page .hero_details {
  font-size: 1.125rem;
  line-height: 1.1875rem;
}
@media screen and (min-width: 1200px) {
  .home .hero_details,
  .page .hero_details {
    font-size: 1.125rem;
    line-height: 1.1875rem;
  }
}

.hero_button {
  margin-bottom: 1rem;
}

.home .block--hero {
  display: none;
}

.carousel.hero_image .swiper-slide {
  width: 100vw;
}
.carousel.hero_image h5 {
  position: absolute;
  top: 110%;
  font-weight: 800;
}
.carousel.carousel--highlights {
  position: relative;
  overflow: hidden;
}
.carousel.carousel--highlights::after {
  content: "";
  position: absolute;
  height: 100%;
  width: var(--margin);
  right: 100%;
  top: 0;
  background-color: #ffffff;
  z-index: 10;
}
.carousel.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);
  background-color: #231f20;
  transition: opacity 400ms ease, backdrop-filter 800ms ease, -webkit-backdrop-filter 800ms ease;
  z-index: 1001;
  --pop_up_padding: 2rem;
}
@media screen and (min-width: 1200px) {
  .carousel.carousel--zoomer {
    --pop_up_padding: 4rem;
  }
}
.carousel.carousel--zoomer.open {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  margin: 0;
  opacity: 1;
}
.carousel.carousel--zoomer.hide {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  opacity: 0;
}
.carousel.carousel--zoomer .swiper-wrapper {
  position: absolute;
  width: calc(100vw - 2 * var(--margin));
  height: calc(var(--vh) * 80);
  top: calc(var(--vh) * 11);
}
.carousel.carousel--zoomer .swiper-slide .slide-inner {
  background-color: #ffffff;
  padding: var(--pop_up_padding);
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: 1fr auto;
  width: fit-content;
  margin: 0 auto;
  height: auto;
  max-height: calc(var(--vh) * 80);
  overflow: auto;
  filter: blur(12px) opacity(0);
  transition: filter 600ms ease-in;
  box-sizing: border-box;
  scrollbar-color: #fff #231f20;
}
@media screen and (min-width: 700px) {
  .carousel.carousel--zoomer .swiper-slide .slide-inner {
    min-width: 400px;
  }
  .carousel.carousel--zoomer .swiper-slide .slide-inner img {
    min-width: calc(400px - 2 * var(--pop_up_padding));
  }
}
@media screen and (min-width: 1200px) {
  .carousel.carousel--zoomer .swiper-slide .slide-inner {
    min-width: 550px;
  }
  .carousel.carousel--zoomer .swiper-slide .slide-inner img {
    min-width: calc(550px - 2 * var(--pop_up_padding));
  }
}
.carousel.carousel--zoomer .swiper-slide .slide-inner::-webkit-scrollbar {
  width: 10px; /* Mostly for vertical scrollbars */
}
.carousel.carousel--zoomer .swiper-slide .slide-inner::-webkit-scrollbar-thumb {
  /* Foreground */
  background: #231f20;
}
.carousel.carousel--zoomer .swiper-slide .slide-inner::-webkit-scrollbar-track {
  /* Background */
  background: #fff;
}
.carousel.carousel--zoomer .swiper-slide.swiper-slide-active .slide-inner {
  filter: blur(0px) opacity(1);
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container {
  max-height: calc(var(--vh) * 60);
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container img {
  max-height: calc(var(--vh) * 60);
}
@media screen and (min-width: 1200px) {
  .carousel.carousel--zoomer .swiper-slide .slide-image-container {
    max-height: calc(var(--vh) * 70);
  }
  .carousel.carousel--zoomer .swiper-slide .slide-image-container img {
    max-height: calc(var(--vh) * 70);
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption {
  grid-row: 2/3;
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h3,
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4 {
  font-weight: 600;
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption h4:empty {
  display: none;
}
.carousel.carousel--zoomer .swiper-slide .slide-image-container .slide_caption .slide_caption p {
  max-width: 800px;
}
.carousel.carousel--zoomer .swiper-slide .slide_caption {
  grid-row: 2/3;
}
.carousel.carousel--zoomer .swiper-slide .slide_caption h3,
.carousel.carousel--zoomer .swiper-slide .slide_caption h4 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.carousel.carousel--zoomer .swiper-slide .slide_caption h4 {
  font-weight: 600;
}
.carousel.carousel--zoomer .swiper-slide .slide_caption h4:empty {
  display: none;
}
.carousel.carousel--zoomer .swiper-slide .slide_caption .slide_caption p {
  max-width: 800px;
}
.carousel .swiper-slide {
  width: auto;
  height: auto;
}
.carousel a:hover {
  text-decoration: none;
}

.block--highlights-carousel + .block--highlights-carousel::after {
  display: none;
}

.close_zoomer {
  position: absolute;
  top: calc(var(--vh) * 4);
  right: var(--margin);
  z-index: 100;
  background-color: #231f20;
  color: white;
  text-transform: capitalize;
  font-weight: 400;
  display: flex;
  gap: 1rem;
  align-items: center;
  transition: background-color 400ms ease;
}
.close_zoomer:hover {
  background-color: #231f20;
}

.slide_index {
  position: absolute;
  top: calc(var(--vh) * 5);
  left: var(--margin);
  z-index: 100;
  color: #fff;
  transition: filter 400ms ease-in-out;
  filter: blur(0);
}
.slide_index.hide {
  filter: blur(16px);
}

.button--prev,
.button--next {
  position: absolute;
  top: -3rem;
  right: var(--margin);
  display: block;
  line-height: 0;
  cursor: pointer;
  transition: backdrop-filter 400ms ease;
}
.button--prev rect,
.button--next rect {
  transition: opacity 400ms ease;
}
.button--prev:hover,
.button--next:hover {
  backdrop-filter: blur(5px);
}
.button--prev:hover rect,
.button--next:hover rect {
  opacity: 0.7;
}

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

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

.carousel--highlights .button--prev,
.carousel--highlights .button--next {
  top: 2rem;
  transition: none;
}
.carousel--highlights .button--prev rect,
.carousel--highlights .button--prev path,
.carousel--highlights .button--next rect,
.carousel--highlights .button--next path {
  transition: fill 400ms ease;
}
.carousel--highlights .button--prev:hover rect,
.carousel--highlights .button--next:hover rect {
  fill: #231f20;
}
.carousel--highlights .button--prev:hover path,
.carousel--highlights .button--next:hover path {
  fill: #ffffff;
}

.carousel--whatson h2 {
  position: relative;
  left: var(--margin);
  font-size: 2rem;
}
.carousel--whatson .button--prev,
.carousel--whatson .button--next {
  top: 1rem;
}

/*Page Layouts*/
.block--ticket-table .flex.flex_50 .flex_item {
  flex-basis: 100%;
}
.block--ticket-table .opening_hours {
  padding: 1rem;
}
.block--ticket-table h5,
.block--ticket-table p:not(.small) {
  font-size: 1.2rem;
}
.block--ticket-table h5 {
  margin-bottom: 0;
}
.block--ticket-table .flex_item ~ .flex_item {
  margin-top: 2rem;
}
.block--ticket-table .ticket_table {
  width: 100%;
  gap: 1rem;
  margin-bottom: 1rem;
  line-height: 1;
}
.block--ticket-table .ticket_table .grid_row {
  display: grid;
  grid-template-columns: 5fr 1fr 1fr;
  padding-bottom: 1rem;
  border-bottom: 2px dotted #33b7b9;
  font-size: 1.2rem;
}
.block--ticket-table .ticket_table small {
  font-size: 70%;
  line-height: 1;
  opacity: 0.4;
  font-weight: 800;
  text-align: center;
  display: block;
}
@media screen and (min-width: 700px) {
  .block--ticket-table .flex.flex_50 .flex_item {
    flex-basis: calc(50% - 1rem);
  }
  .block--ticket-table .flex.flex_50 {
    gap: 2rem;
  }
  .block--ticket-table .flex_item ~ .flex_item {
    margin-top: 0;
  }
  .block--ticket-table .opening_hours {
    padding: 2rem;
  }
}

.block--ticket-table .ticket_table th {
  line-height: 1;
  opacity: 0.7;
}

.opening_hours .small {
  margin-top: -1.2rem;
}

.block--intro-text .flex.flex_50 .flex_item {
  flex-basis: 100%;
}
@media screen and (min-width: 700px) {
  .block--intro-text .flex.flex_50 .flex_item {
    flex-basis: 48%;
  }
}

.block--full-width-text.bg-henley {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

/*Resources Layout*/
.block--resources {
  padding-bottom: 2rem;
}
.block--resources .decorative {
  padding-left: 0;
  height: min-content;
}
.block--resources .flex_item {
  margin-bottom: 2rem;
}
.block--resources .resources_title {
  margin-bottom: 2rem;
  align-items: center;
}

@media screen and (min-width: 1000px) {
  .block--resources {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
/* Image popup grid*/
.pop-up.card {
  margin-bottom: 2rem;
}
.pop-up.card .container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}
.pop-up.card .container h2 {
  position: absolute;
  z-index: 10;
  left: -0.1em;
  bottom: 0;
  font-weight: 700;
  line-height: 70%;
  letter-spacing: -0.05em;
  font-size: 10rem;
  margin: 0;
}
.pop-up.card h4 {
  margin: 0.75rem 0 0;
  font-size: 1.2rem;
  font-weight: 800;
}
.pop-up.card .decorative {
  padding-left: 0;
  width: 100%;
}

.pop-up_grid .close svg {
  stroke: #33ffcc;
  width: 2rem;
  height: 2rem;
}

#image_buttons_with_pop_up_1 .pop-up_grid .pop-up .container--twothree {
  aspect-ratio: 1;
}

@media screen and (min-width: 700px) {
  #image_buttons_with_pop_up_1 .pop-up_grid .pop-up .container--twothree {
    aspect-ratio: 0.66667;
  }
}
/*Contact Block*/
.block--contact {
  padding-top: 0;
  padding-bottom: 4rem;
}
.block--contact.bg-mist {
  background-color: #ffffff;
}
.block--contact.bg-ivory {
  background-color: #ffffff;
}
.block--contact .flex.flex_50 > .flex_item {
  flex-basis: 100%;
}
.block--contact h2 {
  text-align: center;
  margin-bottom: 2rem;
}

.block--contact.mailing_list {
  padding-top: 4rem;
}

.wpcf7-form label {
  font-weight: 700;
  text-transform: none;
}
.wpcf7-form select,
.wpcf7-form textarea,
.wpcf7-form input:not([type=submit]) {
  padding: 0.5rem;
  width: 100%;
  max-width: 100%;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: #231f20;
  border: 1px solid #231f20;
  margin-bottom: 1rem;
  margin-top: 0.5rem;
  /*@include media1000 {
    max-width: calc(100vw / 1.5);
  }*/
}
.wpcf7-form select:focus,
.wpcf7-form textarea:focus,
.wpcf7-form input:not([type=submit]):focus {
  border: 2px solid #231f20;
  outline: none;
}
.wpcf7-form .decorative {
  margin: 0 0 0 auto;
}
.wpcf7-form input[type=submit] {
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  padding: 15px 64px;
  border-radius: 5px;
  color: #231f20;
  background: transparent;
  text-transform: none;
  display: block;
  margin: 0 auto;
  -webkit-transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
  -ms-transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
  transition: background-color 400ms ease-in-out, border 400ms ease-in-out, color 400ms ease-in-out;
}
.wpcf7-form input[type=submit]:hover {
  color: #ffffff;
  background-color: #231f20;
}
.wpcf7-form .wpcf7-spinner {
  position: absolute;
  top: calc(50% - 12px);
  left: -48px;
}

@media screen and (min-width: 700px) {
  .block--contact .flex.flex_50 > .flex_item {
    flex-basis: 48%;
  }
}
/*Numbered List*/
.block--numbered-list {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.block--numbered-list > h2 {
  margin-top: 2rem;
}
.block--numbered-list .numbered-list h2 {
  font-weight: 700;
  letter-spacing: -0.05em;
  font-size: 8rem;
  margin: 0;
}
.block--numbered-list .numbered-list.flex.flex_25 > .flex_item {
  flex-basis: 48%;
}

@media screen and (min-width: 700px) {
  .block--numbered-list {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .block--numbered-list > h2 {
    margin-top: 4rem;
  }
  .block--numbered-list .numbered-list h2 {
    font-size: 10rem;
  }
  .block--numbered-list .numbered-list.flex.flex_25 > .flex_item {
    flex-basis: 23%;
  }
}
/*Two Column Grid*/
.grid--two-column {
  grid-template-columns: var(--margin) 1fr var(--margin);
  row-gap: 2rem;
}
.grid--two-column > .grid_item {
  grid-column: 2/3;
}
.grid--two-column .decorative.uppercase, .grid--two-column .decorative.bg-transparent, .grid--two-column .decorative.download {
  padding-left: 0;
}
@media screen and (min-width: 700px) {
  .grid--two-column {
    grid-template-columns: var(--margin) 1fr 1fr var(--margin);
    row-gap: 0;
  }
  .grid--two-column > .grid_item {
    align-self: center;
  }
  .grid--two-column > .grid_item:first-child {
    grid-column: 2/3;
  }
  .grid--two-column > .grid_item:last-child {
    grid-column: 3/4;
  }
  .grid--two-column > .grid_item.grid_item--to-edge.grid_item--left {
    grid-column: 1/3;
  }
  .grid--two-column > .grid_item.grid_item--to-edge.grid_item--right {
    grid-column: 3/5;
  }
}

@media screen and (min-width: 700px) {
  .block--q-a .grid--two-column > .grid_item {
    align-self: flex-start;
  }
  .block--q-a .grid--two-column > .grid_item h2 {
    margin-top: 2rem;
  }
}
/*Image Text Layouts*/
/*section.block--image_text+section:not(.block--image_text):not(.pattern){
	margin-top:2rem;
}*/
@media screen and (min-width: 700px) {
  .image_with_williammorris_cutout {
    max-width: 10rem;
    margin: 0 auto;
  }
}
.image_grid_with_text {
  display: flex;
  flex-direction: column-reverse;
}

.grid_item .full {
  font-size: 1.4rem;
  font-weight: 600;
}

.medium_square_image {
  padding: 4rem;
}

.image_with_quote {
  margin-top: -2rem;
  padding-top: 3rem;
}
.image_with_quote .quote {
  padding: 4rem 2rem 2rem;
  position: relative;
}
.image_with_quote .quote::after {
  content: open-quote;
  position: absolute;
  top: 3rem;
  left: 2rem;
  line-height: 0;
  font-size: 8rem;
  font-weight: 700;
}

.pattern .image_with_quote {
  margin-top: 0;
}

.grid_image-lockup {
  grid-template-columns: 1fr 1fr 1fr;
}

.block--map {
  margin: 0;
}
.block--map iframe {
  display: block;
}

@media screen and (min-width: 700px) {
  .block--image_text.pattern {
    margin-top: 0;
    padding-top: 0;
  }
  .image_with_williammorris_cutout {
    max-width: 100%;
  }
  .image_grid_with_text {
    display: flex;
    flex-direction: column;
  }
  .grid_image-lockup {
    margin-bottom: 2rem;
  }
  .grid_item--left .image_text--text {
    padding-right: 2rem;
  }
  .grid_item--left .grid_image-lockup {
    margin-right: 2rem;
  }
  .grid_item--right .image_text--text {
    padding-left: 2rem;
  }
  .grid_item--right .grid_image-lockup {
    margin-left: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .grid--two-column > .grid_item.image_grid_with_text {
    align-self: flex-start;
  }
  .grid_image-lockup {
    margin-bottom: 6rem;
    grid-template-columns: 2fr 1fr;
    grid-template-rows: 1fr 1fr;
    row-gap: 0.5rem;
    column-gap: 1rem;
  }
  .grid_image-lockup .grid_item:first-child {
    grid-row: 1/3;
    grid-column: 1/2;
    aspect-ratio: 0.96;
  }
  .grid_image-lockup + .image_text--text {
    padding-top: 0;
  }
  .grid_item--left .image_text--text {
    padding-right: 5rem;
  }
  .grid_item--left .grid_image-lockup {
    margin-right: 4rem;
  }
  .grid_item--right .image_text--text {
    padding-left: 5rem;
  }
  .grid_item--right .grid_image-lockup {
    margin-left: 4rem;
  }
  .grid_item--left .image_text--text,
  .grid_item--right .image_text--text {
    padding-bottom: 4rem;
  }
  .grid_item--to-edge.container.container--square {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .grid_item--to-edge.container.container--square {
      aspect-ratio: 1.25;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .grid_item--to-edge.container.container--square {
      padding-top: 125%;
      height: 0;
    }
  }
  .grid_item--to-edge.container.container--fourfive {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .grid_item--to-edge.container.container--fourfive {
      aspect-ratio: 1;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .grid_item--to-edge.container.container--fourfive {
      padding-top: 100%;
      height: 0;
    }
  }
}
/*Q & A grids*/
@media screen and (min-width: 700px) {
  .block--q-a .grid--two-column {
    gap: 2rem;
  }
  .block--q-a .grid--two-column .grid_item--q-a {
    align-self: flex-start;
  }
  .block--q-a .grid_item.grid_item--to-edge.grid_item--right .container {
    left: -1rem;
    right: -1rem;
  }
}
/*Filter Form*/
#filter_form {
  padding: 2rem var(--margin) 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#filter_form label {
  font-weight: 500;
  text-transform: none;
}
#filter_form select,
#filter_form input:not([type=submit]):not([type=reset]) {
  border: none;
  padding: 0.5rem;
  font-weight: 700;
  width: 15rem;
  margin: 0.5rem;
  color: #231f20;
}
#filter_form input[type=submit],
#filter_form input[type=reset] {
  margin: 0.5rem;
}
#filter_form input[type=submit] {
  background-color: transparent;
}
#filter_form input[type=reset] {
  background-color: transparent;
}
#filter_form fieldset {
  border: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0;
  margin: 0;
  flex-basis: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 400ms ease-in, max-height var(--transition) ease-out;
}
#filter_form fieldset .date_label {
  position: relative;
}
#filter_form fieldset .date_label label {
  position: absolute;
  width: 10rem;
  top: 0.5rem;
  left: 0.5rem;
  padding: 0.5rem;
  font-weight: 700;
  text-transform: initial;
  color: #7d9990;
  background-color: #ffffff;
  transition: all var(--transition) ease;
}
#filter_form fieldset .date_label input[type=date] {
  padding-left: 3rem;
}
#filter_form fieldset .date_label input[type=date]:focus + label, #filter_form fieldset .date_label input[type=date].has_value + label {
  max-width: fit-content;
  font-weight: 500;
  font-size: 80%;
  padding: 0.2 0 0;
}
#filter_form fieldset .date_label input[type=date]::-webkit-calendar-picker-indicator {
  filter: invert(58%) sepia(87%) saturate(74%) hue-rotate(110deg) brightness(86%) contrast(81%);
}
#filter_form fieldset .date_label input[type=date]::-webkit-datetime-edit-day-field:focus, #filter_form fieldset .date_label input[type=date]::-webkit-datetime-edit-month-field:focus, #filter_form fieldset .date_label input[type=date]::-webkit-datetime-edit-year-field:focus {
  color: #193153;
  background: #d1e7e2;
  outline: none;
}
#filter_form fieldset legend {
  font-weight: 700;
  text-align: center;
  margin-left: 0.5rem;
}
#filter_form.show_choose fieldset {
  max-height: 5rem;
  opacity: 1;
}

#loader {
  position: fixed;
  width: 100px;
  height: 100px;
  top: calc(50% - 50px);
  left: calc(50% - 50px);
  transform: translateX(100vw);
  opacity: 0;
  transition: opacity 400ms ease-in, transform 0ms linear 400ms;
}

#response {
  opacity: 1;
  transition: opacity 800ms ease-in;
}

.loading #loader {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 400ms ease-in, transform 0ms linear 0ms;
  z-index: 50;
}
.loading #response {
  opacity: 0;
}

.apply_reset_buttons {
  display: flex;
  gap: 1rem;
}

@media screen and (min-width: 1200px) {
  #filter_form {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 2fr 2fr 4fr 1fr 1fr;
    align-items: flex-end;
  }
  #filter_form fieldset legend {
    text-align: left;
  }
  #filter_form select,
  #filter_form input:not([type=submit]):not([type=reset]) {
    width: 10rem;
  }
  #filter_form > label {
    grid-row: 1/2;
    grid-column: 1/2;
    align-self: flex-start;
  }
  #filter_form #cat_select {
    grid-row: 1/2;
    grid-column: 1/2;
    height: 42px;
    margin-left: 0;
    margin-right: 0;
    width: 100%;
  }
  #filter_form #date_select {
    grid-row: 1/2;
    grid-column: 2/3;
  }
  #filter_form fieldset {
    grid-row: 1/2;
  }
  #filter_form input[type=submit] {
    grid-column: 4/5;
    grid-row: 1/2;
  }
  #filter_form input[type=submit]:hover {
    background: #231f20;
    color: #ffffff;
    border: #231f20 1px solid;
    text-decoration: none;
  }
  #filter_form input[type=reset] {
    grid-column: 5/6;
    grid-row: 1/2;
  }
}
.post_grid h4.weight-bold,
.block--related h4.weight-bold {
  font-weight: 800;
  text-transform: none;
}

a.button.decorative.bg-neon.margin-right {
  margin-left: auto;
}

#response::after {
  content: "";
  flex-basis: 100%;
}
@media screen and (min-width: 700px) {
  #response::after {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  #response::after {
    flex-basis: 31.5%;
  }
}

/*Card grid*/
.block--event-grid .flex.flex_50 .flex_item,
.block--related .flex.flex_50 .flex_item {
  flex-basis: 100%;
}
@media screen and (min-width: 700px) {
  .block--event-grid .flex.flex_50 .flex_item,
  .block--related .flex.flex_50 .flex_item {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .block--event-grid .flex.flex_50 .flex_item,
  .block--related .flex.flex_50 .flex_item {
    flex-basis: 31.5%;
  }
}
.block--event-grid a,
.block--related a {
  text-decoration: none;
  color: #193153;
}
.block--event-grid .card,
.block--related .card {
  margin-bottom: 2.5rem;
}
.block--event-grid .card .decorative,
.block--related .card .decorative {
  padding-left: 0;
}
.block--event-grid .card h5,
.block--related .card h5 {
  font-weight: 500;
  margin: 1.5rem 0 0.5rem;
  display: flex;
  gap: 0.5rem;
}
.block--event-grid .card h4,
.block--related .card h4 {
  font-size: 2rem;
  font-weight: 700;
  margin-top: 1px;
}
.block--event-grid .card p,
.block--related .card p {
  font-size: 1.2rem;
}
.block--event-grid .card.card--featured, .block--event-grid .card.card--highlighted,
.block--related .card.card--featured,
.block--related .card.card--highlighted {
  padding: 1rem;
}

.block--event-grid .card h5 {
  display: flex;
  gap: 0.5rem;
}

.strapline {
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  right: 0;
  clip-path: polygon(0 0, 100% 0%, 100% 100%);
  max-width: fit-content;
  padding: 1rem 1rem 70px 65px;
  line-height: 101%;
  text-align: right;
  text-transform: uppercase;
  max-height: calc(100% - 1rem - 70px);
  font-weight: 700;
}
@supports not (aspect-ratio: 16/9) {
  .strapline {
    height: 100%;
    bottom: 0;
    width: 200px;
  }
}
.strapline h4 {
  font-size: 0.8rem;
}
.strapline.strapline-left {
  right: unset;
  left: 0;
  clip-path: polygon(0 0, 100% 0%, 0 100%);
  padding: 1rem 65px 70px 1rem;
}
.strapline svg {
  width: 2rem;
  display: block;
  margin: 1rem auto 0;
}

@media screen and (min-width: 700px) {
  .block--event-grid .event_title {
    margin-bottom: 3rem;
  }
}
@media screen and (min-width: 1000px) {
  .card--featured {
    display: grid;
    grid-template-columns: 4fr 5fr;
    grid-template-rows: auto 2.2rem auto 1fr;
  }
  .card--featured h3,
  .card--featured .decorative {
    grid-column: 1/2;
  }
  .card--featured .decorative:hover {
    background-color: transparent;
    color: #7d9990;
  }
  .card--featured p {
    grid-row: 1/4;
    grid-column: 2/3;
    padding-left: 1rem;
  }
  .card--featured .container {
    grid-column: 1/3;
  }
  /*.strapline {
  	max-width:200px;
  	padding: 1rem 1rem 100px 100px;
  	h4{
  		font-size:1rem;
  	}
  	&.strapline-left{
  		padding: 1rem 100px 100px 1rem;
  	}
  	svg{
  		width: 3rem;
  	}
  }*/
}
/*Page Title*/
.page_title_header {
  text-align: center;
  font-size: 2.125rem;
  line-height: 2.5rem;
  font-weight: 900;
  margin-top: 2rem;
}
@media screen and (min-width: 1200px) {
  .page_title_header {
    font-size: 3.375rem;
    line-height: 4rem;
    font-weight: 900;
  }
}
.page_title_header.blue_grey {
  color: #231f20;
}
.page_title_header.blue {
  color: #8283bf;
}
.page_title_header.dark_blue {
  color: #231f20;
}
.page_title_header.pink {
  color: #d02b16;
}
.page_title_header.green {
  color: #83d281;
}
.page_title_header ~ .mobile_sub_nav_container h5 {
  margin-top: 0;
}

/*Breadcrumbs*/
.breadcrumbs {
  display: none;
  margin-top: 2rem;
  margin-bottom: 0;
}
@media screen and (min-width: 1200px) {
  .breadcrumbs {
    display: block;
  }
}
.breadcrumbs a {
  text-decoration: none;
  color: #231f20;
  text-transform: capitalize;
}
.breadcrumbs .greater_than {
  display: inline-block;
  padding: 0 0.5rem;
}

/*Single Event*/
.block--event_intro {
  margin-top: 2rem;
}

.entry-header .strapline {
  top: var(--header-height);
  right: var(--margin);
  display: none;
}
.entry-header .entry-subheader {
  z-index: 10;
  top: 0;
  left: var(--margin);
  padding: 0.5rem 95px 0.5rem 0.5rem;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.4));
}

.cta_active .entry-header .strapline {
  top: calc(var(--header-height) * 2);
}

.alt_header {
  display: flex;
  flex-direction: column-reverse;
  /*img{
  	top:35%;
  	height:65%;
  }*/
}
.alt_header .entry-subheader {
  color: #193153;
  top: 1rem;
  filter: none;
}
.alt_header .entry-subheader h3.color-white {
  color: #193153;
}
.alt_header .entry-subheader h3.color-white:first-of-type {
  font-weight: 700;
}
.alt_header.color-white .entry-subheader h3.color-white {
  color: #ffffff;
}

.date_span {
  display: block;
}

@media screen and (min-width: 1000px) {
  .entry-header .strapline {
    display: block;
  }
  /*.alt_header{
  	//@include proportional-container(42.85%,21/9);
  	img{
  		top:0%;
  		height:100%;
  		left:50%;
  		width:50%;
  	}
  }*/
}
@media screen and (min-width: 1200px) {
  .entry-header .strapline:not(.strapline-left) {
    max-height: 15rem;
    height: 14rem;
    font-size: 1.5rem;
  }
}
.single-event h1 {
  padding-right: 95px;
}

.block--partners {
  margin: 2rem 0 2rem;
}
@media screen and (min-width: 1000px) {
  .block--partners {
    flex-direction: column;
  }
}
.block--partners > a {
  flex-basis: 20%;
  min-width: 150px;
}

.overline {
  border-top: 1px dotted #33ffcc;
  padding-top: 0.5rem;
}

.block--event_intro h4 {
  margin: 0;
}
.block--event_intro .decorative.bg-white {
  background-color: #d1e7e2;
}

.williammorris_share--icons {
  display: none;
}

.share--button {
  width: 50px;
  padding: 0.5rem 0 1rem;
  display: block;
}
.share--button svg {
  fill: #193153;
  width: 50px;
}

.testimonial {
  text-align: center;
  padding: 5rem 0;
  position: relative;
  quotes: "“" "”" "“" "”";
}
.testimonial::before, .testimonial::after {
  position: absolute;
  line-height: 0;
  font-size: 8rem;
  font-weight: 700;
  left: calc(50% - 22px);
}
.testimonial::before {
  content: open-quote;
  top: 2rem;
}
.testimonial::after {
  content: close-quote;
  bottom: 2rem;
}

.block--related > .flex:first-of-type {
  margin-bottom: 2rem;
}

.block--highlights-carousel small {
  z-index: 10;
  position: relative;
}

.entry-header .entry-subheader .lc {
  text-transform: none;
}

.medium {
  font-weight: 500;
}

@media screen and (min-width: 700px) {
  /*.entry-header{
  	.entry-subheader{
  		padding:2rem 0 0 0;
  	}
  }*/
  .block--related > .flex:first-of-type {
    margin-bottom: 2rem;
    align-items: center;
  }
}
@media screen and (min-width: 1000px) {
  .block--event_intro > .flex_item:first-of-type {
    padding-right: 2rem;
  }
  .share--button {
    display: none;
  }
  .williammorris_share--icons {
    display: flex;
    margin-bottom: 2rem;
    justify-content: flex-start;
  }
  .williammorris_share--icons svg {
    max-width: 3rem;
    height: 2rem;
    flex-basis: 18%;
  }
  .williammorris_share--icons a {
    flex-basis: 25%;
  }
}
@media screen and (min-width: 1200px) {
  .block--event_intro > .flex_item:first-of-type {
    padding-right: unset;
  }
  .testimonial {
    padding: 10rem 0;
  }
  .testimonial::before {
    top: 6rem;
  }
  .testimonial::after {
    bottom: 6rem;
  }
}
.event_description_button {
  text-align: center;
  display: block;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .event_description_button {
    margin: 0;
  }
}

.block--event_intro aside {
  border-bottom: #231f20 1px solid;
}
@media screen and (min-width: 1000px) {
  .block--event_intro aside {
    border-bottom: none;
  }
}

.funder_logos {
  row-gap: 1rem;
}
@media screen and (min-width: 1200px) {
  .funder_logos {
    justify-content: flex-start;
    align-items: center;
    gap: 2rem;
  }
}
.funder_logos img {
  max-height: 50px;
  max-width: 200px;
  width: auto;
}

/*Page Links Double*/
.block--pagelink-double .flex.flex_50 > .flex_item {
  flex-basis: 100%;
  margin-bottom: 2rem;
}
.block--pagelink-double .williammorris {
  margin-bottom: 1.2rem;
}
.block--pagelink-double a {
  text-decoration: none;
  color: #193153;
}
.block--pagelink-double .decorative {
  padding-left: 0;
}

@media screen and (min-width: 1000px) {
  .block--pagelink-double .flex.flex_50 > .flex_item {
    flex-basis: 50%;
    margin-bottom: 0;
  }
  .block--pagelink-double .flex.flex_50 > .flex_item:first-child .container.williammorris img {
    clip-path: polygon(0 0, 100% 0, 100% 50%, 61% 94.6%, 61% 100%, 39% 100%, 39% 94.6%, 0 50%);
  }
  .block--pagelink-double .flex.flex_50 > .flex_item:first-child .container.williammorris::after {
    clip-path: polygon(0 0, 100% 0, 100% 50%, 61% 94.6%, 61% 100%, 39% 100%, 39% 94.6%, 0 50%);
  }
  .block--pagelink-double h3,
  .block--pagelink-double p {
    margin-right: 1rem;
  }
}
/*Single Collection*/
.single-collection .entry-header {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .single-collection .entry-header {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .single-collection .entry-header {
    padding-top: 100%;
    height: 0;
  }
}
.single-collection .entry-header .featured-image {
  left: 0;
  top: 0;
}
.single-collection .entry-header .featured-image.container--twentyonenine {
  position: relative;
  width: 100%;
  overflow: hidden;
  position: absolute;
}
@supports (aspect-ratio: 16/9) {
  .single-collection .entry-header .featured-image.container--twentyonenine {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .single-collection .entry-header .featured-image.container--twentyonenine {
    padding-top: 100%;
    height: 0;
  }
}
.single-collection .entry-header .featured-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 50%);
}
.single-collection .entry-header h1 {
  z-index: 10;
  margin-top: var(--header-height);
  max-width: 300px;
  color: #ffffff;
  filter: drop-shadow(1px 1px 4px rgba(0, 0, 0, 0.4));
}

.block--collection_intro.flex.flex_50 .flex_item {
  flex-basis: 100%;
}
.block--collection_intro.flex.flex_50 .flex_item:first-child {
  margin-bottom: 2rem;
}
.block--collection_intro.flex.flex_50 .flex_item #read-more {
  padding-left: 0;
}
.block--collection_intro #more-text {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height calc(2 * var(--transition)) ease-in, opacity 400ms ease-in 100ms;
}
.block--collection_intro.open #more-text {
  max-height: 1000px;
  opacity: 1;
}

.block--collection_intro .flex_item h4 {
  text-transform: none;
  padding-top: 1rem;
}

.hover_text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: 0;
  transition: opacity 400ms ease, backdrop-filter 400ms ease, -webkit-backdrop-filter 400ms ease;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  cursor: pointer;
}
.hover_text:hover {
  opacity: 1;
}

.show .hover_text {
  opacity: 1;
}

.popover {
  position: absolute;
  background-color: white;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
  padding: 1rem;
  width: 460px;
  box-sizing: border-box;
  top: 105%;
  left: 50%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 400ms ease;
  height: max-content;
  z-index: 10;
  max-width: 90vw;
  transform: translate(-50%, 0);
}

.popover::before {
  content: "";
  position: absolute;
  width: 1px;
  top: -20px;
  left: calc(50% - 20px);
  border: 10px solid transparent;
  border-bottom: 10px solid white;
}

.show .popover {
  max-height: max-content;
  overflow: visible;
  opacity: 1;
}

.collection .block--two_images_overlap .container.container {
  overflow: visible;
}
.collection .block--two_images_overlap .container.container p {
  position: relative;
  bottom: -100%;
}

@media screen and (min-width: 700px) {
  .single-collection .entry-header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .single-collection .entry-header {
      aspect-ratio: 1.5;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-collection .entry-header {
      padding-top: 66%;
      height: 0;
    }
  }
  .single-collection .entry-header .featured-image.container--twentyonenine {
    position: relative;
    width: 100%;
    overflow: hidden;
    position: absolute;
  }
  @supports (aspect-ratio: 16/9) {
    .single-collection .entry-header .featured-image.container--twentyonenine {
      aspect-ratio: 1.5;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-collection .entry-header .featured-image.container--twentyonenine {
      padding-top: 66%;
      height: 0;
    }
  }
  .block--collection_intro.flex.flex_50 {
    align-items: stretch;
  }
  .block--collection_intro.flex.flex_50 .flex_item {
    flex-basis: 48%;
  }
  .block--collection_intro.flex.flex_50 .flex_item:first-child {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .block--collection_intro.flex.flex_50 .flex_item.flex_item_100 {
    flex-basis: 100%;
    margin-top: 2rem;
  }
  .block--two_images_overlap {
    grid-template-columns: 1fr 4rem 1fr;
  }
  .block--two_images_overlap .container {
    grid-row: 1/2;
    align-self: center;
  }
  .block--two_images_overlap .container:first-child {
    grid-column: 1/3;
    z-index: 10;
  }
  .block--two_images_overlap .container:last-child {
    grid-column: 2/4;
  }
}
@media screen and (min-width: 1000px) {
  .single-collection .entry-header {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  @supports (aspect-ratio: 16/9) {
    .single-collection .entry-header {
      aspect-ratio: 2.3333333333;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-collection .entry-header {
      padding-top: 42.85%;
      height: 0;
    }
  }
  .single-collection .entry-header .featured-image.container--twentyonenine {
    position: relative;
    width: 100%;
    overflow: hidden;
    position: absolute;
  }
  @supports (aspect-ratio: 16/9) {
    .single-collection .entry-header .featured-image.container--twentyonenine {
      aspect-ratio: 2.3333333333;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .single-collection .entry-header .featured-image.container--twentyonenine {
      padding-top: 42.85%;
      height: 0;
    }
  }
}
/*Read Watch Listen*/
.header-grass {
  padding-top: var(--header-height);
  position: relative;
}
.header-grass.pattern::before {
  background-image: url(./assets/pattern.svg);
}
.header-grass.pattern::after {
  content: "";
  width: 100%;
  height: calc(3 * var(--header-height));
  position: absolute;
  top: 0;
  z-index: -1;
  background-color: #9fd8bf;
}

.grid--featured-post {
  margin-top: 0;
  /*Popping this to the top of the featured proportional image. So width minus margins, divided by the ratio of the image. The .1 clears up a rounding error.*/
}
.grid--featured-post .container.container--fourfive {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .grid--featured-post .container.container--fourfive {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .grid--featured-post .container.container--fourfive {
    padding-top: 56.25;
    height: 0;
  }
}
.grid--featured-post .container.container--fourfive.williammorris img {
  clip-path: none;
}
.grid--featured-post .featured-post {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.grid--featured-post .featured-post .strapline {
  top: calc((100vw - 2 * var(--margin)) / 16 * -9.1);
}

.misty-inputs {
  margin-bottom: 0;
}
.misty-inputs #filter_form {
  padding: 2rem var(--margin);
}
@media screen and (min-width: 1200px) {
  .misty-inputs #filter_form {
    align-items: center;
  }
}
.misty-inputs #filter_form input[type=date],
.misty-inputs #filter_form select {
  background-color: #ddfbf3;
  color: #193153;
}
.misty-inputs #filter_form fieldset {
  max-height: 100%;
  opacity: 1;
}
.misty-inputs #filter_form fieldset .date_label label {
  background-color: #ddfbf3;
  color: #193153;
}
.misty-inputs #filter_form fieldset input[type=date]::-webkit-calendar-picker-indicator {
  filter: invert(14%) sepia(93%) saturate(472%) hue-rotate(174deg) brightness(94%) contrast(92%);
}
.misty-inputs .selections {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.block--event-grid .card--highlighted h5 {
  margin-top: 0;
}
.block--event-grid .card--highlighted .decorative {
  margin-top: 0.5rem;
}

@media screen and (min-width: 700px) {
  .misty-inputs .selections {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #filter_form .selections {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (min-width: 1000px) {
  .grid--featured-post {
    grid-template-columns: 5fr 5fr;
    grid-template-rows: calc(2 * var(--header-height)) 1fr;
    /*Popping this to the top of the featured proportional image. So width minus margins, divided by the ratio of the image. The .1 clears up a rounding error.*/
  }
  .grid--featured-post .container.container--fourfive {
    grid-row: 1/3;
    grid-column: 2/3;
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-bottom: 4rem;
    margin-top: 3rem;
  }
  @supports (aspect-ratio: 16/9) {
    .grid--featured-post .container.container--fourfive {
      aspect-ratio: 1;
    }
  }
  @supports not (aspect-ratio: 16/9) {
    .grid--featured-post .container.container--fourfive {
      padding-top: 100%;
      height: 0;
    }
  }
  .grid--featured-post .container.container--fourfive.williammorris img {
    clip-path: polygon(39% 0, 61% 0, 61% 5.4%, 100% 50%, 100% 100%, 0 100%, 0 50%, 39% 5.4%);
  }
  .grid--featured-post .featured-post {
    grid-row: 2/3;
    grid-column: 1/2;
    padding: 4rem 2rem 6rem 4rem;
  }
  .grid--featured-post .featured-post .strapline {
    top: -3rem;
  }
}
@media screen and (min-width: 1200px) {
  .misty-inputs #filter_form {
    display: grid;
    grid-template-rows: 1fr;
    grid-template-columns: 4fr auto 1fr;
    align-items: flex-end;
    grid-column-gap: 2rem;
  }
  .misty-inputs #filter_form select,
  .misty-inputs #filter_form input:not([type=submit]):not([type=reset]) {
    width: 15rem;
  }
  .misty-inputs #filter_form .selections {
    grid-row: 1/2;
    grid-column: 1/2;
    justify-content: flex-start;
    align-items: flex-start;
  }
  .misty-inputs #filter_form fieldset {
    grid-row: 1/2;
    width: fit-content;
    flex-wrap: nowrap;
  }
  .misty-inputs #filter_form input[type=submit] {
    grid-column: 3/4;
    grid-row: 1/2;
    height: 42px;
    margin-left: 0;
    margin-right: 0;
  }
  .misty-inputs #filter_form input[type=reset] {
    grid-column: 4/5;
    grid-row: 1/2;
    height: 42px;
    margin-left: 0;
    margin-right: 0;
  }
}
/*Single Post*/
.single-post .breadcrumbs {
  padding: 0;
}
.single-post .post_image {
  display: flex;
  flex-direction: column-reverse;
}
.single-post .post_image .container {
  max-width: 980px;
  margin: 0 auto;
}
.single-post .post-title {
  width: 890px;
  max-width: calc(100vw - 2 * var(--margin));
  text-align: center;
  margin: 0 auto;
}
.single-post .post-title h1 {
  font-size: 2rem;
  font-weight: 700;
  text-transform: none;
}
.single-post .post-title .dates {
  margin-bottom: 1rem;
}
.single-post .post-title .share--button {
  margin: 0 auto;
}
.single-post .post-title .williammorris_share--icons {
  justify-content: center;
  gap: 1rem;
}
.single-post .post_text p {
  width: 780px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto 1rem;
}
.single-post .post_text p.caption {
  font-size: 80%;
  font-weight: 700;
  max-width: unset;
  width: 100%;
  position: absolute;
  bottom: -2.5rem;
}
.single-post .audio p:first-of-type {
  margin: 0 auto 0.2rem;
}
.single-post .audio iframe {
  width: 100%;
}
.single-post .video {
  width: 780px;
  max-width: calc(100vw - 2 * var(--margin));
  margin: 0 auto 1rem;
}
.single-post .post_image-layout {
  margin: 2rem var(--margin);
  grid-template-columns: 100%;
}
.single-post .post_image-layout .border--white {
  position: relative;
}
.single-post .post_image-layout img {
  display: block;
  line-height: 0;
}
.single-post .post_image-layout + .post_image-layout {
  margin-top: -2rem;
}

@media screen and (min-width: 700px) {
  .single-post .post_image {
    display: block;
    padding-bottom: 2rem;
    margin-bottom: 1rem;
  }
  .single-post .post_image .container {
    width: 980px;
    max-width: calc(100% - 2 * var(--margin));
    margin: 0 auto;
  }
  .single-post .post_image-layout {
    grid-template-columns: 1fr 4rem 1fr;
  }
  .single-post .left-overlaps-right div,
  .single-post .right-overlaps-left div {
    grid-row: 1/2;
  }
  .single-post .left-overlaps-right div:first-of-type,
  .single-post .right-overlaps-left div:first-of-type {
    grid-column: 1/3;
  }
  .single-post .left-overlaps-right div:last-of-type,
  .single-post .right-overlaps-left div:last-of-type {
    grid-column: 2/4;
  }
  .single-post .left-overlaps-right div:first-of-type {
    z-index: 10;
    align-self: center;
  }
  .single-post .right-overlaps-left div:last-of-type {
    z-index: 10;
    align-self: center;
  }
  .single-post .single div {
    grid-column: 1/4;
  }
  .single-post .diagonal-top-left div,
  .single-post .diagonal-top-right div {
    grid-row: 1/2;
  }
  .single-post .diagonal-top-left div:first-of-type,
  .single-post .diagonal-top-right div:first-of-type {
    grid-column: 1/3;
  }
  .single-post .diagonal-top-left div:last-of-type,
  .single-post .diagonal-top-right div:last-of-type {
    grid-column: 2/4;
  }
  .single-post .diagonal-top-left div:first-of-type {
    margin-bottom: 4rem;
    align-self: flex-start;
  }
  .single-post .diagonal-top-left div:last-of-type {
    margin-top: 4rem;
    align-self: flex-end;
    z-index: 10;
  }
  .single-post .diagonal-top-right div:first-of-type {
    margin-top: 4rem;
    align-self: flex-end;
    z-index: 10;
  }
  .single-post .diagonal-top-right div:last-of-type {
    margin-bottom: 4rem;
    align-self: flex-start;
  }
  .single-post .none.post_image-layout {
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .single-post .none div {
    grid-row: 1/2;
  }
  .single-post .none div:first-of-type {
    grid-column: 1/2;
  }
  .single-post .none div:last-of-type {
    grid-column: 2/3;
  }
}
@media screen and (min-width: 1000px) {
  .single-post .post-title .williammorris_share--icons {
    justify-content: center;
    margin: 0.5rem;
  }
  .single-post .post-title .williammorris_share--icon {
    flex-basis: auto;
  }
  .single-post .post-title .williammorris_share--icon svg {
    width: 15px;
  }
}
a.back-to-top.decorative.button {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 1000;
  padding-right: 4rem;
  width: fit-content;
  display: none;
  text-transform: capitalize;
}
a.back-to-top.decorative.button.active {
  display: block;
  transform: translateY(calc(100% + 1rem));
  transition: transform 400ms ease, background-color 400ms ease, color 400ms ease;
}
a.back-to-top.decorative.button::after {
  transform: rotate(-90deg);
  right: 15%;
  top: 30%;
}

.menu-visible a.back-to-top.decorative.button.active {
  transform: translateY(0);
}

.faq_file_item::before {
  content: url(./assets/download.svg);
  width: 42px;
  height: 42px;
  background: #8283bf;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/*William Morris Layout Blocks*/
.hero_carousel .swiper-button-next:after,
.hero_carousel .swiper-button-prev:after {
  display: none;
}
.hero_carousel .swiper-button-next,
.hero_carousel .swiper-button-prev {
  padding: 0;
  border: none;
}
.hero_carousel .swiper-button-prev {
  right: calc(1rem + 32px);
  left: unset;
  top: 45%;
  grid-row: 1/2;
}
@media screen and (min-width: 700px) {
  .hero_carousel .swiper-button-prev {
    right: calc(1rem + 32px);
    top: 50%;
  }
}
@media screen and (min-width: 1000px) {
  .hero_carousel .swiper-button-prev {
    top: unset;
    bottom: calc(var(--margin) / 2);
    right: calc(var(--margin) + 0.5rem + 45px);
    height: 45px;
    width: 45px;
  }
}
@media screen and (min-width: 1200px) {
  .hero_carousel .swiper-button-prev {
    bottom: 2rem;
  }
}
@media screen and (min-width: 1000px) {
  .hero_carousel .swiper-button-prev svg {
    height: 45px;
    width: 45px;
  }
}
.hero_carousel .swiper-button-next {
  right: 1rem;
  top: 45%;
  grid-row: 1/2;
}
@media screen and (min-width: 700px) {
  .hero_carousel .swiper-button-next {
    top: 50%;
  }
}
@media screen and (min-width: 1000px) {
  .hero_carousel .swiper-button-next {
    top: unset;
    bottom: calc(var(--margin) / 2);
    right: var(--margin);
    height: 45px;
    width: 45px;
  }
}
@media screen and (min-width: 1200px) {
  .hero_carousel .swiper-button-next {
    bottom: 2rem;
  }
}
@media screen and (min-width: 1000px) {
  .hero_carousel .swiper-button-next svg {
    height: 45px;
    width: 45px;
  }
}

.block--full-width-text {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1000px) {
  .block--full-width-text {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .block--full-width-text {
    padding: 3rem calc(var(--margin) + 8rem);
  }
}
.block--full-width-text strong {
  font-size: 1.5rem;
  line-height: 1.75rem;
  font-weight: 400;
}
@media screen and (min-width: 1200px) {
  .block--full-width-text strong {
    font-size: 1.75rem;
    line-height: 2rem;
  }
}
.block--full-width-text p {
  color: #231f20;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 400;
}
@media screen and (min-width: 1200px) {
  .block--full-width-text p {
    font-size: 1.5rem;
    line-height: 1.75rem;
  }
}
.block--full-width-text + .layout--button {
  padding-top: 0;
}

/*.links-four_container {
  margin-top: 1rem;
}*/
.links_four_title {
  text-align: center;
  margin-bottom: 2rem;
  margin-top: 1rem;
  font-size: 28px;
  line-height: 33px;
}

@media screen and (min-width: 700px) {
  .links-four.three_links {
    justify-content: center;
    gap: 1.33%;
    flex-wrap: nowrap;
  }
}

.links-six {
  gap: 2%;
}
.links-six::after {
  content: "";
  flex-grow: 1;
}
@media screen and (min-width: 1200px) {
  .links-six {
    gap: 0.6%;
  }
}

.link_item_six,
.link_item_four {
  margin-bottom: 2rem;
  text-decoration: none;
  flex-basis: 100%;
}
.link_item_six a,
.link_item_four a {
  text-decoration: none;
  display: block;
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .link_item_six a .link_item_text,
  .link_item_four a .link_item_text {
    padding: 0;
  }
}
.link_item_six a .link_item_text h3,
.link_item_four a .link_item_text h3 {
  margin-bottom: 1rem;
  margin-top: 1rem;
  font-weight: 400;
  color: #231f20;
  text-decoration: none;
  text-transform: none;
  font-size: 1.375rem;
  line-height: 1.75rem;
}
@media screen and (min-width: 1200px) {
  .link_item_six a .link_item_text h3,
  .link_item_four a .link_item_text h3 {
    margin-bottom: 1rem;
  }
}
.link_item_six a .link_item_text h3::after,
.link_item_four a .link_item_text h3::after {
  content: url(./assets/arrow.svg);
  width: 18px;
  height: 18px;
  margin-left: 0.5rem;
  position: relative;
  left: 0;
  transition: left 100ms ease-in;
}
.link_item_six a .link_item_text h3:hover::after,
.link_item_four a .link_item_text h3:hover::after {
  left: 0.25rem;
}
.link_item_six a p,
.link_item_four a p {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
}

@media screen and (min-width: 700px) {
  .link_item_four {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .link_item_four {
    flex-basis: 24%;
  }
}

.link_item_six {
  flex-basis: 48%;
}
@media screen and (min-width: 700px) {
  .link_item_six {
    flex-basis: 31%;
  }
}
@media screen and (min-width: 1200px) {
  .link_item_six {
    flex-basis: 16%;
  }
}

@media screen and (min-width: 700px) {
  .links-two {
    flex-direction: column;
  }
}
@media screen and (min-width: 1200px) {
  .links-two {
    flex-direction: row;
  }
}

.link_item_two {
  margin-bottom: 2rem;
  flex-direction: column;
  flex-wrap: nowrap;
  text-decoration: none;
}
@media screen and (min-width: 700px) {
  .link_item_two {
    flex-basis: 48%;
    flex-direction: row;
  }
}
@media screen and (min-width: 1200px) {
  .link_item_two {
    flex-basis: 49%;
  }
}
.link_item_two .link_item_text {
  background: #f0f0e6;
  padding: 1rem;
}
@media screen and (min-width: 1200px) {
  .link_item_two .link_item_text {
    padding: 2rem;
  }
}
.link_item_two .link_item_text h3 a {
  font-size: 1.375rem;
  line-height: 1.625rem;
  font-weight: 800;
}
.link_item_two .link_item_text h3 a::after {
  display: none;
}
.link_item_two .link_item_text h3.pink a {
  color: #d02b16;
}
.link_item_two .link_item_text h3.blue a {
  color: #8283bf;
}
.link_item_two .link_item_text h4 {
  font-size: 1.375rem;
  line-height: 1.625rem;
  font-weight: 600;
  text-transform: none;
  color: #231f20;
}
.link_item_two .link_item_text p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
  font-weight: 400;
}
.link_item_two .link_item_text .find_out_more {
  text-decoration: none;
  color: #231f20;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.625rem;
}

.find_out_more_decorative {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
  font-weight: 400;
}
.find_out_more_decorative::after {
  content: url(./assets/arrow.svg);
  width: 18px;
  height: 18px;
  margin-left: 0.5rem;
  position: relative;
  left: 0;
  transition: left 100ms ease-in;
}
.find_out_more_decorative:hover::after {
  left: 0.25rem;
}

@media screen and (min-width: 700px) {
  .page_link_banners_title {
    text-align: center;
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1200px) {
  .page_link_banner {
    flex-direction: row;
    padding-left: var(--margin);
    padding-right: var(--margin);
    background: #ffffff;
  }
}
.page_link_banner.video .banner_video {
  margin-bottom: 0;
}

.banner_info_container {
  width: 100vw;
  /*&.bg-white {
    .link_button {
      &:hover {
        background: $color_blue_gray;
        border: $color_blue_gray 1px solid;
        color: $color_white;
      }
    }
  }*/
}
@media screen and (min-width: 1200px) {
  .banner_info_container {
    width: unset;
  }
}
.banner_info_container.bg-white {
  background: transparent;
}
.banner_info_container.bg-pink .banner_title,
.banner_info_container.bg-pink .banner_subtitle,
.banner_info_container.bg-pink .banner_additional,
.banner_info_container.bg-pink .banner_text,
.banner_info_container.bg-pink .banner_location {
  color: #1a2645;
}
.banner_info_container.bg-pink .button_container a {
  color: #1a2645;
}
.banner_info_container.bg-pink .button_container a:hover {
  color: #ffffff;
  background-color: #1a2645;
  border-color: #1a2645;
}
@media screen and (min-width: 1200px) {
  .banner_info_container.flex_60 {
    flex-basis: 52.5%;
    width: 100%;
  }
}

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

.banner_info_container.white a {
  color: #ffffff;
}

@media screen and (min-width: 1200px) {
  .page_link_banner_container .page_link_banner {
    padding-bottom: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .page_link_banner_container .page_link_banner:nth-of-type(even) {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1200px) {
  .page_link_banner_container .page_link_banner:nth-of-type(even) .banner_info_wrapper {
    padding-right: calc(var(--margin) / 2);
  }
}
.page_link_banner_container.bg_full_width {
  background: #f0f0e6;
  margin-top: 0;
}
@media screen and (min-width: 700px) {
  .page_link_banner_container.bg_full_width {
    padding-top: 4rem;
    padding-bottom: 1rem;
  }
}
.page_link_banner_container.bg_full_width .page_link_banner {
  background: #f0f0e6;
}
@media screen and (min-width: 700px) {
  .page_link_banner_container.bg_full_width .banner_image.proportional {
    width: 100%;
    padding-left: var(--margin);
    padding-right: var(--margin);
  }
  .page_link_banner_container.bg_full_width .banner_image.proportional img {
    width: 100%;
    max-width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .page_link_banner_container.bg_full_width .banner_image.proportional {
    padding-left: 0;
    padding-right: 0;
  }
}

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

.banner_location {
  text-transform: none;
  font-size: 1.25rem;
  line-height: 2.0625rem;
  font-weight: 500;
}
@media screen and (min-width: 1200px) {
  .banner_location {
    font-size: 1.75rem;
    line-height: 2.0625rem;
    margin-bottom: 2rem;
  }
}

.banner_title {
  font-weight: 900;
}
.banner_text {
  text-transform: none;
  font-size: 1.125rem;
  line-height: 1.4375rem;
  font-weight: 600;
}
@media screen and (min-width: 1200px) {
  .banner_text {
    line-height: 1.5rem;
  }
}
.banner_text strong {
  font-weight: 700;
}

.banner_additional {
  color: #231f20;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.625rem;
}

.button_container {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

@media screen and (min-width: 700px) {
  .banner_image {
    width: 100vw;
  }
}
@media screen and (min-width: 1600px) {
  .banner_image {
    width: 100%;
  }
}
.banner_image img {
  object-fit: cover;
  display: block;
}
@media screen and (min-width: 700px) {
  .banner_image img {
    max-width: 100vw;
    width: 100vw;
  }
}
@media screen and (min-width: 1200px) {
  .banner_image img {
    max-width: unset;
    width: 100%;
    height: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .banner_image.flex_40 {
    flex-basis: 47.5%;
    width: 100%;
  }
}

.banner_video {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@supports (aspect-ratio: 16/9) {
  .banner_video {
    aspect-ratio: 1.7777777778;
  }
}
@supports not (aspect-ratio: 16/9) {
  .banner_video {
    padding-top: 56.25%;
    height: 0;
  }
}
.banner_video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner_image_container {
  height: 100%;
}

.banner_info_container.bg-pink {
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner_info_container.bg-pink .banner_info_wrapper {
  padding: 2rem 4rem;
}

.image_strip_item {
  color: #231f20;
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.625rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (min-width: 1200px) {
  .image_strip_item {
    font-size: 1.125rem;
    line-height: 1.625rem;
  }
}
@media screen and (min-width: 700px) {
  .image_strip_item.flex_33 {
    flex-basis: 31%;
  }
}
@media screen and (min-width: 1200px) {
  .image_strip_item.flex_33 {
    flex-basis: 32.5%;
  }
}
@media screen and (min-width: 700px) {
  .image_strip_item.flex_25 {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .image_strip_item.flex_25 {
    flex-basis: 24%;
  }
}
.image_strip_item.flex_25 .image_strip_item_image {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .image_strip_item.flex_25 .image_strip_item_image {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .image_strip_item.flex_25 .image_strip_item_image {
    padding-top: 100%;
    height: 0;
  }
}
.image_strip_item.flex_25 .image_strip_item_image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
}

.image_strip_item_image {
  padding-bottom: 0.5rem;
}

/*.faq_container {
  @include media1200 {
    padding-left: calc(var(--margin) * 2);
    padding-right: calc(var(--margin) * 2);
  }
}*/
.faq_title {
  color: #231f20;
  text-transform: none;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.8125rem;
}
@media screen and (min-width: 1200px) {
  .faq_title {
    font-size: 2.375rem;
    line-height: 2.375rem;
  }
}

.faq_heading {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.3125rem;
}
@media screen and (min-width: 1200px) {
  .faq_heading {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

.faq_heading_text {
  max-width: 90%;
}

.faq_content {
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
  padding-top: 1rem;
  width: 80%;
}

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

.list_title {
  font-size: 1.375rem;
  line-height: 1.625rem;
  font-weight: 900;
  color: #231f20;
  text-transform: none;
  text-align: center;
}
@media screen and (min-width: 1200px) {
  .list_title {
    font-size: 2.375rem;
    line-height: 2.8125rem;
    font-weight: 900;
  }
}

.list_item_container {
  justify-content: center;
  margin-bottom: 2rem;
}
@media screen and (min-width: 700px) {
  .list_item_container {
    justify-content: space-between;
    flex-direction: row;
  }
}

.list_item_image {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 700px) {
  .list_item_image {
    flex-basis: 38%;
  }
}
@media screen and (min-width: 1200px) {
  .list_item_image {
    flex-basis: 48%;
    height: 374px;
    width: auto;
    display: flex;
    justify-content: flex-end;
  }
}
.list_item_image img {
  width: 100%;
}
@media screen and (min-width: 1200px) {
  .list_item_image img {
    width: auto;
  }
}

@media screen and (min-width: 700px) {
  .list_item_content {
    flex-basis: 58%;
  }
}
@media screen and (min-width: 1200px) {
  .list_item_content {
    flex-basis: 48%;
  }
}
.list_item_content a {
  text-decoration: none;
}

.list_item_title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #231f20;
  text-transform: none;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .list_item_title {
    margin-top: 0;
  }
}
@media screen and (min-width: 1200px) {
  .list_item_title {
    font-size: 1.75rem;
    line-height: 2.0625rem;
  }
}

.list_item_subtitle {
  font-size: 1.125rem;
  line-height: 1.3125rem;
  font-weight: 500;
  color: #231f20;
  margin-top: 1rem;
}
@media screen and (min-width: 1200px) {
  .list_item_subtitle {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

.list_item_content p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
  font-weight: 600;
}

@media screen and (min-width: 1200px) {
  .list_item_content_text {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}

@media screen and (min-width: 1200px) {
  .list_button {
    display: block;
    width: fit-content;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1200px) {
  .resource_repeater {
    padding-bottom: 3rem;
  }
}

@media screen and (min-width: 1200px) {
  .resource_list_container {
    justify-content: flex-start;
    column-gap: 2.5rem;
    row-gap: 1rem;
  }
}

.resource_item_container {
  margin-bottom: 3rem;
}
@media screen and (min-width: 700px) {
  .resource_item_container.flex_33 {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .resource_item_container.flex_33 {
    flex-basis: 31%;
  }
}

.resource_list_title {
  font-size: 1.5rem;
  line-height: 1.8125rem;
  font-weight: 900;
  color: #231f20;
}
@media screen and (min-width: 1200px) {
  .resource_list_title {
    font-size: 2.375rem;
    line-height: 2.8125rem;
    margin-bottom: 4rem;
  }
}

.resource_item_title {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #231f20;
}
@media screen and (min-width: 1200px) {
  .resource_item_title {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}

.resource_item_description {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
  font-weight: 600;
  margin-bottom: 2rem;
}

.quote_block {
  color: #8283bf;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.quote_text {
  color: #8283bf;
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 1200px) {
  .quote_text {
    font-size: 1.75rem;
    line-height: 2.375rem;
  }
}
.quote_text::before {
  content: "";
  position: relative;
  width: 20vw;
  height: 3px;
  background: #8283bf;
  display: block;
  top: -1rem;
  left: calc(50% - 10vw);
}
@media screen and (min-width: 1200px) {
  .quote_text::before {
    width: 84px;
    left: unset;
    margin: 0 auto;
  }
}

.quote_source {
  font-size: 0.875rem;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 1200px) {
  .quote_source {
    font-size: 1.125rem;
    line-height: 2.375rem;
  }
}
.quote_source::after {
  content: "";
  position: relative;
  width: 20vw;
  height: 3px;
  background: #8283bf;
  display: block;
  bottom: -1rem;
  left: calc(50% - 10vw);
}
@media screen and (min-width: 1200px) {
  .quote_source::after {
    width: 84px;
    left: unset;
    margin: 0 auto;
  }
}

@media screen and (min-width: 1200px) {
  .info_block {
    padding-bottom: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .info_block .lhs_column.flex_50 {
    flex-basis: 47.5%;
  }
}
@media screen and (min-width: 1200px) {
  .info_block .rhs_column.flex_50 {
    flex-basis: 47.5%;
  }
}

.info_block_title {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  font-weight: 700;
}
@media screen and (min-width: 1200px) {
  .info_block_title {
    font-size: 1.375rem;
    line-height: 2.375rem;
  }
}

.info_block .lhs_column {
  margin-bottom: 1rem;
}

.info_block_content {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
}
@media screen and (min-width: 1200px) {
  .info_block_content {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}

.enquire_block {
  padding-bottom: 2rem;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  color: #231f20;
}
.enquire_block h4 {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.3125rem;
  font-weight: bold;
}
@media screen and (min-width: 1200px) {
  .enquire_block h4 {
    font-size: 1.375rem;
    line-height: 1.625rem;
  }
}
.enquire_block .button_container {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.enquire_item_title {
  font-weight: 900;
  text-transform: none;
  color: #231f20;
  font-size: 1.875rem;
  line-height: 2.0625rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1200px) {
  .enquire_item_title {
    font-size: 2.375rem;
    line-height: 2.375rem;
    margin-bottom: 2rem;
  }
}

@media screen and (min-width: 1200px) {
  .enquire_item_content {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}

@media screen and (min-width: 1200px) {
  .enquire_video .video_toggle svg {
    width: 10vw;
    max-width: 110px;
  }
}

@media screen and (min-width: 700px) {
  .enquire_button {
    margin: 0 auto;
    width: fit-content;
    display: block;
  }
}

.block--contact {
  background-size: contain;
}
@media screen and (min-width: 1200px) {
  .block--contact {
    background-size: cover;
  }
}

.mailing_list_wrapper {
  position: relative;
  will-change: contents;
  background: #231f20;
}

/* .mailing_list_form_wrapper {
  &::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right:0;
    bottom:0;
    will-change:bottom;
    width: 100%;
    height: 100%;
    background: rgba(80, 92, 121, 0.1);
    z-index: 1;
    -webkit-backdrop-filter: blur(12px) brightness(0.38);
    backdrop-filter: blur(12px) brightness(0.38);
    display: block;
  }
} */
.wpcf7-response-output {
  z-index: 5;
  position: relative;
}

.mailing_list_content {
  padding: 1rem;
}
@media screen and (min-width: 1200px) {
  .mailing_list_content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.mailing_list_content h2 {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-weight: 900;
}
@media screen and (min-width: 1200px) {
  .mailing_list_content h2 {
    text-align: center;
    margin-bottom: 2rem;
  }
}
.mailing_list_content p {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}
@media screen and (min-width: 1200px) {
  .mailing_list_content p {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
.mailing_list_content label {
  text-transform: none;
  font-size: 16px;
  line-height: 28.5px;
  font-weight: 700;
}
.mailing_list_content input[type=submit] {
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  padding: 15px 64px;
  border-radius: 5px;
  text-transform: capitalize;
  display: block;
  margin: 0 auto;
  transition: background 400ms ease-in;
}
.mailing_list_content input[type=submit]:hover {
  background: #ffffff;
  color: #231f20;
}

@media screen and (min-width: 1200px) {
  .mailing_list_description {
    max-width: 812px;
    margin: 0 auto;
    margin-bottom: 2rem;
  }
}

.wpcf7-form {
  max-width: 90vw;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .wpcf7-form {
    max-width: 812px;
  }
}

.wysiwyg_container + .block--contact {
  padding-top: 0;
}
.wysiwyg_container + .block--contact .wpcf7 {
  margin-top: 0;
}

.space_enquiry_wrapper {
  position: relative;
}

.space_enquiry_content {
  padding: 1rem;
  padding-top: 3rem;
}
@media screen and (min-width: 1200px) {
  .space_enquiry_content {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}
.space_enquiry_content h2 {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-size: 1.625rem;
  line-height: 1.875rem;
  font-weight: 900;
}
@media screen and (min-width: 1200px) {
  .space_enquiry_content h2 {
    text-align: center;
    font-size: 1.75rem;
    line-height: 2.0625rem;
    margin-bottom: 2rem;
  }
}
.space_enquiry_content p {
  position: relative;
  z-index: 3;
  color: #ffffff;
  font-size: 1.125rem;
  line-height: 1.375rem;
  font-weight: 500;
}
@media screen and (min-width: 1200px) {
  .space_enquiry_content p {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
.space_enquiry_content::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(80, 92, 121, 0.1);
  z-index: 1;
  -webkit-backdrop-filter: blur(12px) brightness(0.38);
  backdrop-filter: blur(12px) brightness(0.38);
}
.space_enquiry_content label {
  text-transform: none;
  font-size: 16px;
  line-height: 28.5px;
  font-weight: 700;
}
.space_enquiry_content input[type=submit] {
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  padding: 15px 64px;
  border-radius: 5px;
  text-transform: capitalize;
  display: block;
  margin: 0 auto;
  transition: background 400ms ease-in;
}
.space_enquiry_content input[type=submit]:hover {
  background: #ffffff;
  color: #231f20;
}

.space_enquiry_description {
  max-width: 812px;
  margin: 0 auto;
  margin-bottom: 2rem;
}

.get_in_touch_wrapper {
  position: relative;
}

.get_in_touch_content h2 {
  position: relative;
  z-index: 3;
  color: #231f20;
  font-size: 1.625rem;
  line-height: 1.875rem;
  font-weight: 900;
}
.get_in_touch_content h2:empty {
  display: none;
}
.get_in_touch_content p {
  position: relative;
  z-index: 3;
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}
.get_in_touch_content p:empty {
  display: none;
}
.get_in_touch_content label {
  text-transform: none;
  font-size: 16px;
  line-height: 28.5px;
  font-weight: 700;
}
.get_in_touch_content input[type=submit] {
  color: #231f20;
  text-decoration: none;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  padding: 15px 64px;
  border-radius: 5px;
  text-transform: capitalize;
  display: block;
  margin: 0 auto;
  transition: background 400ms ease-in;
}
.get_in_touch_content input[type=submit]:hover {
  background: #231f20;
  border: #231f20 1px solid;
  color: #ffffff;
}
.get_in_touch_content .wpcf7 {
  margin-top: 2rem;
}

@media screen and (min-width: 700px) {
  .wpcf7-form select {
    max-width: 75%;
  }
}

.event_header {
  color: #1a2645;
}
@media screen and (min-width: 1000px) {
  .event_header {
    flex-direction: row;
    flex-wrap: nowrap;
    max-height: 820px;
  }
}

@media screen and (min-width: 1000px) {
  .event_header_image {
    flex-basis: 57.5%;
  }
}
@media screen and (min-width: 1200px) {
  .event_header_image {
    flex-basis: 64%;
  }
}
@media screen and (min-width: 700px) {
  .event_header_image img {
    width: 100vw;
  }
}
@media screen and (min-width: 1000px) {
  .event_header_image img {
    object-fit: cover;
    height: 100%;
  }
}

@media screen and (min-width: 1000px) {
  .event_header_details {
    flex-basis: 42.5%;
    padding-right: var(--margin);
    padding-left: 4rem;
    padding-top: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .event_header_details {
    flex-basis: 36%;
    padding-top: 9rem;
    padding-right: 6rem;
  }
}

.single_event_title {
  color: #1a2645;
  font-weight: 900;
}

.single_event_subtitle {
  color: #1a2645;
  font-size: 1.875rem;
  line-height: 2.1875rem;
  font-weight: 400;
}
@media screen and (min-width: 1200px) {
  .single_event_subtitle {
    font-size: 38px;
    line-height: 45px;
    margin-bottom: 3rem;
  }
}

.single_event_type_price {
  font-size: 0.875rem;
  line-height: 1.125rem;
  font-weight: 600;
}
@media screen and (min-width: 1200px) {
  .single_event_type_price {
    font-size: 18px;
    line-height: 24px;
  }
}
.single_event_type_price a {
  text-decoration: none;
  color: #ffffff;
}
.single_event_type_price a:visited {
  color: #ffffff;
}

.single_event_type_dates {
  margin-bottom: 2.5rem;
}

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

.event_description {
  margin-bottom: 3rem;
}

.block--event_intro p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  color: #231f20;
}
.block--event_intro a {
  color: #231f20;
}
.block--event_intro a:visited {
  color: #231f20;
}

.featured_text p {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 2rem;
  color: #231f20;
}
.featured_text p strong {
  font-weight: 700;
}

.event_detail:not(:first-of-type) {
  margin-top: 1rem;
}
.event_detail h4 {
  margin-bottom: 1rem;
}

.timings_date {
  margin-bottom: 0;
}

.bottom_p {
  margin-bottom: 2rem;
}
.bottom_p + .bottom_p {
  margin-top: -2rem;
}

.event_description_button {
  margin-bottom: 3rem;
}

.block--partners {
  padding-bottom: 2rem;
  margin-bottom: 0;
}
@media screen and (min-width: 1000px) {
  .block--partners {
    padding-bottom: 2rem;
    width: 67%;
  }
}
.block--partners h3 {
  color: #231f20;
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .block--partners h3 {
    margin-bottom: 1rem;
  }
}

@media screen and (min-width: 1200px) {
  .block--event_intro .event_description {
    margin-bottom: 1rem;
  }
  .block--event_intro aside {
    padding-left: calc(var(--margin) / 2.5);
    padding-right: 0;
  }
}

@media screen and (min-width: 1200px) {
  .block--partners {
    border-top: #231f20 1px solid;
    flex-basis: 55%;
    padding-top: 2rem;
  }
}

.block--related .flex_item {
  border-bottom: #231f20 1px solid;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 700px) {
  .block--related .flex_item {
    border-bottom: none;
    border-right: #231f20 1px solid;
    padding-right: 0.5rem;
    margin-right: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .block--related .flex_item {
    padding-right: 4rem;
    margin-right: 2rem;
  }
}
.block--related .flex_item:last-of-type {
  border-bottom: none;
}
@media screen and (min-width: 700px) {
  .block--related .flex_item:last-of-type {
    margin-right: 0;
    border-right: none;
  }
}
@media screen and (min-width: 1200px) {
  .block--related .flex_item:last-of-type {
    padding-right: 4rem;
  }
}
.block--related .flex_33 {
  justify-content: flex-start;
}
@media screen and (min-width: 700px) {
  .block--related .flex_33 {
    flex-wrap: nowrap;
    align-items: start;
  }
}

.dates_wrapper {
  display: flex;
  column-gap: 3px;
}
@media screen and (min-width: 700px) {
  .dates_wrapper {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.dates_wrapper .dates {
  margin-top: 0 !important;
}
@media screen and (min-width: 700px) {
  .dates_wrapper .dates {
    flex-direction: row;
    margin-bottom: 0 !important;
  }
}

.block--related .flex .dash {
  margin-bottom: 0;
}

.block--highlights-carousel {
  margin-top: 2rem;
  margin-bottom: 0;
  padding-bottom: 4rem;
  padding-top: 3rem;
  margin-left: var(--margin);
  margin-right: var(--margin);
  position: relative;
}
.block--highlights-carousel::after {
  content: "";
  position: absolute;
  width: calc(100vw - var(--margin));
  height: 1px;
  background-color: black;
  top: 0;
  left: 0;
}
@media screen and (min-width: 1000px) {
  .block--highlights-carousel {
    padding-top: 2rem;
  }
}
.block--highlights-carousel h2 {
  color: #231f20;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 400;
  max-width: 75%;
  margin-left: 0;
  margin-right: 0;
  width: min-content;
}
@media screen and (min-width: 700px) {
  .block--highlights-carousel h2 {
    margin-bottom: 3rem;
    width: auto;
  }
}
.block--highlights-carousel .margin-left {
  margin-left: 0;
}
.block--highlights-carousel .button--next {
  right: 0;
}
@media screen and (min-width: 700px) {
  .block--highlights-carousel .button--next {
    right: var(--margin);
  }
}
.block--highlights-carousel .button--prev {
  right: 3rem;
}
@media screen and (min-width: 700px) {
  .block--highlights-carousel .button--prev {
    right: calc(var(--margin) + 3rem);
  }
}
.block--highlights-carousel .button--prev,
.block--highlights-carousel .button--next {
  top: -5rem;
}
.block--highlights-carousel .slide_caption {
  margin-top: 1rem;
}
.block--highlights-carousel .slide_caption h5 {
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.block--highlights-carousel .slide_caption h6 {
  font-size: 1rem;
  font-weight: 600;
}

.carousel--zoomer .button--prev,
.carousel--zoomer .button--next {
  top: 90%;
  z-index: 100;
  width: fit-content;
}
@media screen and (min-width: 700px) {
  .carousel--zoomer .button--prev,
  .carousel--zoomer .button--next {
    top: 50%;
  }
}

.carousel--zoomer .button--prev {
  left: 0;
}
@media screen and (min-width: 700px) {
  .carousel--zoomer .button--prev {
    left: var(--margin);
  }
}

.carousel--zoomer .button--next {
  right: 0;
}
@media screen and (min-width: 700px) {
  .carousel--zoomer .button--next {
    right: var(--margin);
  }
}

.image_zoomer {
  position: relative !important;
  cursor: zoom-in;
}
.image_zoomer::after {
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.75);
  display: block;
  position: absolute;
  opacity: 0;
  transition: opacity var(--transition) ease-in;
  z-index: 10;
}
.image_zoomer .zoom {
  content: "";
  width: 32px;
  height: 32px;
  top: calc(50% - 16px);
  left: calc(50% - 16px);
  position: absolute;
  opacity: 0;
  transition: opacity var(--transition) ease-in;
  z-index: 12;
}
.image_zoomer .zoom:focus {
  opacity: 1;
}
.image_zoomer:hover::after,
.image_zoomer:hover .zoom, .image_zoomer:focus::after,
.image_zoomer:focus .zoom {
  opacity: 1;
}

.block--related h2 {
  color: #231f20;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 900;
}
.block--related .flex_item h4 {
  font-size: 1.375rem;
  line-height: 1.75rem;
  color: #231f20;
  font-weight: 600;
}
.block--related .flex_item .weight-bold {
  font-weight: 700;
  margin-bottom: 0;
}
.block--related .flex_item p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 600;
  color: #231f20;
}
.block--related .flex_item .dates {
  font-size: 14px;
  line-height: 22px;
  color: #231f20;
  text-transform: uppercase;
  font-weight: 600;
}

.carousel.carousel--highlights:not(.swiper-initialized) .swiper-slide {
  margin-right: 2rem;
}
.carousel.carousel--highlights:not(.swiper-initialized) .button--prev,
.carousel.carousel--highlights:not(.swiper-initialized) .button--next {
  display: none;
}

.whats_on_title {
  text-align: center;
  font-size: 2.125rem;
  line-height: 2.5rem;
  font-weight: 900;
}
@media screen and (min-width: 1200px) {
  .whats_on_title {
    font-size: 3.375rem;
    line-height: 4rem;
  }
}

@media screen and (min-width: 1200px) {
  .whats_on_hero_image {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .whats_on_hero_image img {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.whats_on_hero_content h3 {
  color: #d02b16;
  text-transform: none;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1.8125rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1200px) {
  .whats_on_hero_content h3 {
    font-size: 1.75rem;
    line-height: 2.0625rem;
  }
}
.whats_on_hero_content h4 {
  color: #231f20;
  text-transform: none;
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1.8125rem;
  font-weight: 400;
}
@media screen and (min-width: 1200px) {
  .whats_on_hero_content h4 {
    font-size: 1.75rem;
    line-height: 2.0625rem;
  }
}
.whats_on_hero_content h5 {
  color: #231f20;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 600;
  margin-top: 1rem;
}
.whats_on_hero_content a {
  text-decoration: none;
}

@media screen and (min-width: 700px) {
  .whats_on_hero.lhs_featured {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .whats_on_hero.lhs_featured {
    flex-basis: 49%;
  }
}
@media screen and (min-width: 700px) {
  .whats_on_hero.rhs_permanent {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .whats_on_hero.rhs_permanent {
    flex-basis: 49%;
  }
}
.whats_on_hero.rhs_permanent h3 {
  color: #8283bf;
}

.whats_on_hero_container {
  border-bottom: #231f20 1px solid;
  padding-bottom: 2rem;
}
@media screen and (min-width: 700px) {
  .whats_on_hero_container {
    flex-direction: row;
    margin-top: 2rem;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1200px) {
  .whats_on_hero_container {
    border-bottom: none;
  }
}
.whats_on_hero_container > a {
  text-decoration: none;
}

button.decorative.bg-white {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
  text-transform: none;
  padding-left: 0;
  background: none;
}

@media screen and (min-width: 1000px) {
  .block--event-grid {
    margin-top: 3rem;
  }
}

.event_grid .terms_list {
  color: #231f20;
  font-size: 0.875rem;
  line-height: 1.375rem;
  font-weight: 600;
  text-transform: uppercase;
}
.event_grid .whats_on_title {
  color: #231f20;
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  text-align: left;
  margin-top: 1rem;
}
@media screen and (min-width: 1200px) {
  .event_grid .whats_on_title {
    margin-top: 0;
  }
}
.event_grid .whats_on_subtitle {
  color: #231f20;
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  text-align: left;
}
.event_grid .dates {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
}

.whats_on_hero_content .decorative {
  margin-bottom: 2rem;
}

.filter_button {
  color: #231f20;
  background: transparent;
  text-transform: none;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  font-weight: 600;
  padding: 15px 25px;
  border: 1px #231f20 solid;
}
@media screen and (min-width: 1200px) {
  .filter_button {
    display: none;
  }
}

#filter_form {
  color: #231f20;
  font-weight: 700;
  justify-content: flex-start;
  padding-left: 0;
  max-height: 0;
  opacity: 0;
  transition: opacity 400ms ease-in, max-height 400ms ease-in;
}
@media screen and (min-width: 700px) {
  #filter_form {
    flex-direction: column;
    align-items: flex-start;
    padding-right: 0;
  }
}
@media screen and (min-width: 1200px) {
  #filter_form {
    max-height: 100%;
    opacity: 100%;
    display: flex;
    padding-top: 0;
  }
}
#filter_form.open {
  max-height: 100%;
  opacity: 100%;
}
#filter_form .filter_checkbox_container .filter_item input[type=checkbox] {
  width: auto;
  margin: 0;
}

@media screen and (min-width: 1200px) {
  .block--event-grid {
    display: grid;
    grid-template-columns: 23.5% 2% 23.5% 2% 23.5% 2% 23.5%;
    grid-template-rows: auto auto;
  }
}
.block--event-grid .filter_checkbox_container {
  list-style: none;
  padding-left: 0;
}
@media screen and (min-width: 700px) {
  .block--event-grid .filter_checkbox_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    column-gap: 1rem;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 1200px) {
  .block--event-grid .filter_checkbox_container {
    display: block;
  }
}

@media screen and (min-width: 1200px) {
  .block--filter-form {
    grid-column: 7/8;
    grid-row: 1/2;
    width: 100%;
  }
}

.filter_item label {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 2rem;
  font-weight: 500;
  padding-left: 0.5rem;
}

input.apply_filters.filter_button {
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.1875rem;
  background: transparent;
  border: #231f20 1px solid;
  padding: 15px 25px;
  border-radius: 5px;
  text-transform: none;
}

input.reset_filters.filter_button {
  text-transform: none;
  text-decoration: underline;
  background: transparent;
  color: #231f20;
  font-size: 1.125rem;
  line-height: 1.1875rem;
}

.filter_button_container {
  display: flex;
  margin-top: 2rem;
}

.event_grid .banner_content.flex {
  flex-direction: column;
}
.event_grid .flex_item.flex_50 > h5,
.event_grid h4,
.event_grid h3,
.event_grid p,
.event_grid button,
.event_grid .terms_list,
.event_grid .dates {
  margin-left: 1rem;
}
.event_grid .hero_title {
  margin-left: 0;
}

.event_grid .terms_list {
  margin-top: 2rem;
  font-weight: 600;
}
@media screen and (min-width: 1200px) {
  .event_grid .terms_list {
    margin-bottom: 0;
    margin-top: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .event_grid {
    grid-column: 1/6;
    grid-row: 1/2;
  }
}
.event_grid .flex_item {
  background: #ffffff;
}
.event_grid .flex_item h5,
.event_grid .flex_item h3,
.event_grid .flex_item p,
.event_grid .flex_item button {
  margin-left: 0 !important;
}
.event_grid .flex_item h5 {
  margin-bottom: 1rem;
}
.event_grid .flex_item h5.dates {
  margin-left: 1rem;
  margin-bottom: 1rem;
  font-weight: 400;
  margin-top: 0;
  margin-right: 0;
}
.event_grid .flex_item p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
}
.event_grid.flex_50 {
  justify-content: stretch;
}
@media screen and (min-width: 700px) {
  .event_grid.flex_50 {
    justify-content: space-between;
  }
}
.event_grid.flex_50 a {
  text-decoration: none;
}
.event_grid.flex_50 .flex_item {
  flex-basis: 100%;
}

.donation_banner {
  padding: 3rem 2rem;
  margin-bottom: 2rem;
  grid-column: span 1;
  order: 1;
}
@media screen and (min-width: 700px) {
  .donation_banner {
    order: unset;
    width: 100%;
  }
}
.donation_banner .banner_text {
  color: #1a2645;
}
@media screen and (min-width: 700px) {
  .donation_banner .banner_text {
    flex-basis: 48%;
  }
}
@media screen and (min-width: 1200px) {
  .donation_banner .banner_text {
    flex-basis: 45%;
  }
}
.donation_banner .banner_text .banner_bold_title {
  color: #1a2645;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 900;
  margin-left: 0;
  margin-right: 0;
}
.donation_banner .banner_text .banner_regular_title {
  color: #1a2645;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 600;
  margin-left: 0;
  margin-right: 0;
  max-width: 85%;
}
.donation_banner .banner_text .banner_text {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 600;
  margin-left: 0;
  margin-right: 0;
}
.donation_banner .banner_text .link_button {
  color: #1a2645;
  padding: 16px 31px;
  width: 85%;
  display: block;
}
.donation_banner .banner_text .link_button:hover {
  background: #ffffff;
  color: #231f20;
  border: #ffffff 1px solid;
}
.donation_banner .banner_image {
  margin-top: 3rem;
}
@media screen and (min-width: 700px) {
  .donation_banner .banner_image {
    flex-basis: 48%;
    margin-top: 0;
  }
}
@media screen and (min-width: 700px) {
  .donation_banner .banner_image img {
    width: 100%;
  }
}

.see_more.link_button {
  margin: 3rem auto;
}
.see_more.link_button.hide {
  display: none;
}
.see_more.link_button:hover {
  background: #231f20;
  color: #ffffff;
  border: #231f20 1px solid;
}
@media screen and (min-width: 1200px) {
  .see_more.link_button {
    grid-column: 1/6;
    grid-row: 2/3;
  }
}

.link_item_two .link_item_image {
  flex-basis: 50%;
}
.link_item_two .link_item_text {
  flex-basis: 50%;
}

@media screen and (min-width: 700px) {
  .block--event-grid #response {
    display: grid;
    grid-template-columns: 32% 32% 32%;
    grid-template-rows: auto;
  }
}
@media screen and (min-width: 1600px) {
  .block--event-grid #response {
    display: flex;
  }
}
.block--event-grid #response .donation_banner .banner_content {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap !important;
}
.block--event-grid #response .donation_banner .big-svg {
  height: fit-content;
}
.block--event-grid #response .donation_banner .big-svg svg {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.block--event-grid #response .donation_banner .banner_text {
  width: 100%;
}
@media screen and (min-width: 1600px) {
  .block--event-grid #response .donation_banner {
    flex-basis: 31.5%;
  }
}

.block--map {
  margin-top: 2rem;
}

.google_map_button {
  display: block;
  width: fit-content;
  margin: 0 auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.image_gallery_three {
  flex-direction: column;
  flex-wrap: nowrap;
}
@media screen and (min-width: 700px) {
  .image_gallery_three {
    flex-direction: row;
  }
}

.twin_images {
  flex-direction: row;
  flex-basis: 32.1%;
  flex-wrap: nowrap;
  gap: 2.86vw;
  display: none;
}
@media screen and (min-width: 700px) {
  .twin_images {
    flex-direction: column;
    gap: 0;
    display: flex;
  }
}

.gallery_large_image {
  flex-basis: 66.4%;
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-bottom: 2.86vw;
}
@supports (aspect-ratio: 16/9) {
  .gallery_large_image {
    aspect-ratio: 1.5;
  }
}
@supports not (aspect-ratio: 16/9) {
  .gallery_large_image {
    padding-top: 66%;
    height: 0;
  }
}
.gallery_large_image img {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 700px) {
  .gallery_large_image {
    margin-bottom: 0;
  }
}

.gallery_smaller_image {
  height: 48.2%;
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .gallery_smaller_image {
    aspect-ratio: 1.5;
  }
}
@supports not (aspect-ratio: 16/9) {
  .gallery_smaller_image {
    padding-top: 66%;
    height: 0;
  }
}
.gallery_smaller_image img {
  object-fit: cover;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.image_gallery_container {
  position: relative;
}
.image_gallery_container .see_all_photos {
  position: absolute;
  display: block;
  margin-top: 1rem;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
  bottom: 3rem;
  right: calc(var(--margin) + 1rem);
  background: #ffffff;
}
@media screen and (min-width: 700px) {
  .image_gallery_container .see_all_photos {
    bottom: 1.5rem;
  }
}
@media screen and (min-width: 1000px) {
  .image_gallery_container .see_all_photos {
    position: absolute;
    bottom: 2rem;
    right: calc(var(--margin) + 2rem);
    background: #ffffff;
    margin: 0;
  }
}
@media screen and (min-width: 1200px) {
  .image_gallery_container .see_all_photos {
    bottom: 2.5rem;
  }
}

.make_the_most_title {
  text-align: center;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  margin-bottom: 2rem;
}

.link_item_content p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 600;
}
.link_item_content a {
  text-decoration: none;
}
.link_item_content .link_item_terms_list {
  margin-top: 1rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1.375rem;
  margin-bottom: 0;
}

.link_item_terms_list {
  margin-top: 1rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1.375rem;
  margin-bottom: 0;
}

.link_item_title {
  margin-top: 1rem;
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 700;
}

.link_item_subtitle {
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 600;
}

.link_item_date {
  margin-top: 1rem;
}

.carousel--zoomer + .wysiwyg_container {
  padding-top: 0;
}

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

h2.wysiwyg_title {
  font-size: 1.75rem;
  line-height: 2.375rem;
  font-weight: 700;
}

.wysiwyg_content figure {
  max-width: 100%;
}
.wysiwyg_content h3 {
  font-size: 2.375rem;
  line-height: 2.8125rem;
  font-weight: 900;
}
.wysiwyg_content h4 {
  font-size: 1.75rem;
  line-height: 2.375rem;
  font-weight: 400;
}
.wysiwyg_content h5 {
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 400;
}
.wysiwyg_content p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
}

.wysiwyg_button {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.wysiwyg_button a {
  color: #231f20;
}
.wysiwyg_button.button_centre {
  margin: 2rem auto;
  display: block;
  width: fit-content;
}
.wysiwyg_padding + .wysiwyg_padding {
  padding-top: 0;
}
.wysiwyg_padding + .layout--button {
  padding-top: 0;
}
.wysiwyg_padding .wysiwyg_content p:last-of-type {
  margin-bottom: 0;
}

@media screen and (min-width: 1200px) {
  .wysiwyg_list_container {
    justify-content: space-between;
    gap: 3.5%;
    flex-wrap: nowrap;
  }
}
.wysiwyg_list_container h4 {
  font-size: 1.75rem;
  line-height: 2.375rem;
  font-weight: 700;
  margin-bottom: 2rem;
}

@media screen and (min-width: 1200px) {
  .wysiwyg_list_item_container {
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 3.5%;
  }
}
@media screen and (min-width: 1200px) {
  .wysiwyg_list_item_container .list_item_image {
    max-width: 244px;
    height: auto;
    flex-basis: 244px;
  }
  .wysiwyg_list_item_container .list_item_image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}
@media screen and (min-width: 1200px) {
  .wysiwyg_list_item_container .list_item_content {
    width: calc(96% - 244px);
    flex-basis: auto;
  }
}
.wysiwyg_list_item_container h5 {
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 600;
}
.wysiwyg_list_item_container p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}

.venue_grid .venue_grid_lhs {
  order: 2;
}
@media screen and (min-width: 1200px) {
  .venue_grid {
    grid-template-columns: 50% 10% 40%;
  }
  .venue_grid .venue_grid_lhs {
    order: unset;
  }
}

.venue_grid_lhs h4 {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
}
.venue_grid_lhs h4strong {
  font-weight: 700;
}
.venue_grid_lhs p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}

.venue_details_item {
  flex-direction: column;
  margin-bottom: 2rem;
}

.venue_details_item_lhs h4 {
  font-size: 1.125rem;
  line-height: 1.375rem;
  font-weight: 700;
}

.venue_details_item_rhs p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.details_additional_info h5 {
  font-size: 1.375rem;
  line-height: 1.875rem;
  font-weight: 700;
}
.details_additional_info p {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 500;
}

.venue_grid_rhs {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 1200px) {
  .venue_grid_rhs {
    margin-top: 0;
    grid-column: 3/4;
  }
}

.venue_enquire_title {
  text-align: center;
}

.enquire_now {
  margin: 0 auto;
  display: block;
  width: fit-content;
}
.enquire_now a {
  color: #231f20;
}

.single-venue .faq_container {
  padding-left: 0;
  padding-right: 0;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.block--full-image {
  margin-top: 2rem;
  padding-bottom: 3rem;
}
.block--full-image .video img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.block--full-image .banner_video {
  margin-top: 0;
  margin-bottom: 0;
}
.block--full-image .container.container--twothree {
  height: 50vh;
  width: auto;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 1200px) {
  .block--full-image .container.container--twothree {
    height: 80vh;
  }
}

.image_caption {
  margin-top: 1rem;
}

@media screen and (min-width: 1200px) {
  #mark {
    grid-column: 1/2;
    grid-row: 1/2;
    height: 65px;
    width: auto;
  }
}

#footer p {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.625rem;
  color: #231f20;
}

#footer a {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.625rem;
  text-decoration: none;
}
#footer a.link_button:hover {
  background-color: #231f20;
  color: #231f20;
  border-color: #231f20;
}
#footer a.link_button:visited {
  color: #231f20;
}

#footer strong {
  line-height: 1.625rem;
  font-weight: 400;
}

.footer_grid--item.opening-times {
  margin-top: 2rem;
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.opening-times {
    grid-row: 2/3;
  }
}

.footer_grid--item.quick_links_footer a {
  color: #ffffff;
}

.footer_address_phone address p {
  margin-bottom: 0;
}

.footer_times_fee {
  margin-top: 2rem;
}
.footer_times_fee .entry_fee {
  margin-top: 2rem;
}

.footer_ml_button {
  margin-top: 2rem;
  margin-bottom: 4rem;
}

@media screen and (min-width: 700px) {
  .footer_grid--item.opening-times {
    grid-column: 1/2;
  }
}
@media screen and (min-width: 700px) {
  .footer_grid--item.mailing-list-social-media {
    grid-row: 2/3;
    grid-column: 2/3;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.mailing-list-social-media {
    border-left: #231f20 1px solid;
    padding-left: 1rem;
  }
}
.footer_grid--item.quick_links_footer {
  margin-top: 2rem;
}
@media screen and (min-width: 700px) {
  .footer_grid--item.quick_links_footer {
    grid-row: 3/4;
    grid-column: 1/2;
    padding-right: 1rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.quick_links_footer {
    grid-column: 3/4;
    grid-row: 2/3;
    border-left: #231f20 1px solid;
    padding-left: 1rem;
  }
}
.footer_grid--item.quick_links_footer #footer-menu li {
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 700px) {
  .footer_grid--item.partners {
    grid-column: 2/3;
    grid-row: 3/4;
    margin-top: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.partners {
    grid-column: 4/5;
    grid-row: 2/3;
    border-left: #231f20 1px solid;
    padding-left: 1rem;
  }
}

.partners_flex {
  justify-content: flex-start;
  gap: 1.5rem;
}
.partners_flex a {
  height: 47px;
  width: auto;
}
@media screen and (min-width: 700px) {
  .partners_flex a {
    width: auto;
    height: 40px;
    flex-basis: fit-content;
  }
  .partners_flex a:first-of-type {
    flex-basis: 100%;
    height: auto;
  }
}
@media screen and (min-width: 1200px) {
  .partners_flex a {
    height: 50px;
  }
}
.partners_flex a img {
  height: 100%;
  width: auto;
  object-fit: contain;
}

.partners_text {
  margin-bottom: 2rem;
}

.sub-footer {
  justify-content: center;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.sub-footer svg {
  height: 48px;
  width: 48px;
}

@media screen and (min-width: 1200px) {
  #footer .footer_grid--item.sub-footer {
    margin-bottom: 0;
  }
}

/*collection*/
.collection_by_theme h2 {
  color: #231f20;
  font-size: 1.75rem;
  line-height: 2.0625rem;
  font-weight: 900;
  max-width: 75%;
  margin-left: 0;
  margin-right: 0;
}
@media screen and (min-width: 700px) {
  .collection_by_theme h2 {
    margin-bottom: 3rem;
  }
}

/**search*/
.search_description {
  margin-top: 1rem;
}

.search_header h5 {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #231f20;
  font-weight: 800;
}
.search_header details {
  border-top: none;
}
.search_header .advanced_search_title {
  font-weight: 400;
}

.search_group {
  display: flex;
  width: 100%;
}
.search_group input {
  flex-grow: 1;
}
.search_group input[type=submit] {
  text-transform: capitalize;
  background-color: #83d281;
  transition: background-color var(--transition) ease-in;
  width: 100%;
  display: block;
}
@media screen and (min-width: 700px) {
  .search_group input[type=submit] {
    max-width: 100px;
  }
}
.search_group input[type=submit]:hover {
  background-color: #231f20;
  color: #ffffff;
}

.advanced_search form {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}
.advanced_search input,
.advanced_search select {
  display: block;
  margin-top: 0.5rem;
  width: 100%;
  box-sizing: border-box;
}
.advanced_search select {
  padding: 7px 10px;
}
.advanced_search label {
  flex-basis: 100%;
}
@media screen and (min-width: 700px) {
  .advanced_search label {
    flex-basis: calc(50% - 0.5rem);
  }
}
.advanced_search select {
  font-size: 1.1rem;
}
.advanced_search input[type=submit] {
  background-color: white;
  border-radius: 3px;
  text-align: center;
  padding: 0.7rem 2rem;
  max-width: fit-content;
  margin: 1rem auto;
  text-transform: capitalize;
}
.advanced_search .submit {
  flex-basis: 100%;
}

.search_results .link_item_image {
  border: 1px solid black;
  background-color: #bec3d0;
}
.search_results .link_item_image.default img {
  object-fit: contain;
  padding: 1rem;
}
.search_results .link_item_image:has(img[src="http://williammorris.local/wp-content/uploads/2023/03/default-1.png"]):after {
  content: "Image not available";
  position: absolute;
  bottom: 2rem;
  width: 100%;
  text-align: center;
  font-weight: 700;
}
.search_results a .link_item_text {
  padding: 0;
  height: auto;
}
.search_results a .link_item_text h3 {
  font-weight: 600;
  font-size: 1.125rem;
}
.search_results a .link_item_text h3::after {
  display: none;
}

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

/*objects*/
.object-header h1 {
  font-size: 1.8rem;
  margin: 2rem 0;
}

.object .block--object {
  display: block;
}
@media screen and (min-width: 1000px) {
  .object .block--object {
    display: grid;
    grid-template-columns: 11fr 9fr;
    gap: 4rem;
  }
}
.object .block--object h3 {
  font-size: 1.3rem;
}
.object .block--object dl {
  display: grid;
  grid-template-columns: max-content auto;
  grid-auto-flow: dense;
  row-gap: 0.5rem;
  column-gap: 2rem;
}
.object .block--object dt {
  font-weight: 400;
}
.object .block--object dd {
  font-weight: 700;
  margin: 0;
}
.object .centered {
  margin: 0 auto;
  display: block;
  width: fit-content;
  margin-bottom: 2rem;
}

.object_image_zoomer {
  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);
  background-color: rgba(26, 38, 69, 0.9);
  transition: opacity 400ms ease, backdrop-filter 800ms ease, -webkit-backdrop-filter 800ms ease;
  z-index: 1001;
  padding: 2rem;
}
.object_image_zoomer.open {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  opacity: 1;
}
.object_image_zoomer.hide {
  display: block;
  transform: translate(0, 0);
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  opacity: 0;
}
.object_image_zoomer img {
  max-width: 90vw;
  max-height: 90vh;
  margin: 5vh auto;
  display: block;
  cursor: zoom-in;
  transition: all 400ms ease;
}
.object_image_zoomer.fullscreen {
  overflow: auto;
  padding: 0;
}
.object_image_zoomer.fullscreen img {
  cursor: zoom-out;
  max-width: 100vw;
  max-height: unset;
}

p.caption {
  font-size: 0.75rem;
  margin-top: 0.5rem;
}

.lightbox .image_zoomer {
  width: 100%;
  transition: filter 600ms ease-in;
}
.lightbox .image_zoomer img {
  width: 100%;
}

.blurry {
  filter: blur(12px);
}
.blurry.image_zoomer:hover::after {
  opacity: 0;
}
.blurry.image_zoomer:hover .zoom {
  opacity: 0;
}

.object-content {
  margin-top: 2rem;
  max-width: 880px;
}

.alternates {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #231f20;
  border: none;
}

.wpcf7-response-output {
  color: #ffffff;
}

.bg-ivory .wpcf7-response-output {
  color: #231f20;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  padding: 0.5rem;
  border-color: red;
}

.full_width_text_container {
  text-align: left;
}
.full_width_text_container * {
  text-align: left;
}

body.home .full_width_text_container {
  text-align: center;
}
body.home .full_width_text_container * {
  text-align: center;
}

#footer .grid.footer_grid > svg {
  height: 3.2rem;
  width: auto;
  max-height: calc(var(--header-height) - 2rem);
}

.search_header.wysiwyg_margins {
  padding-bottom: 2rem;
}

.event_header_details h3 {
  font-size: 1.6rem;
}

article.event aside.flex_item > div {
  margin-bottom: 2rem;
}

.shop {
  padding-top: 3rem;
  padding-bottom: 4rem;
  justify-content: center;
  column-gap: 2rem;
}
.shop h2 {
  font-size: 1.75rem;
  text-align: center;
  flex-basis: 100%;
}
.shop .square {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@supports (aspect-ratio: 16/9) {
  .shop .square {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  .shop .square {
    padding-top: 100%;
    height: 0;
  }
}
.shop .square img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop .image_strip_item {
  width: 100%;
  max-width: 394px;
}
.shop a {
  text-decoration: none;
  display: block;
}
.shop h5,
.shop h6 {
  font-weight: 600;
  font-size: 1rem;
  text-align: center;
  margin: 0.75rem 1rem 0;
}
.shop h5 ~ h6 {
  margin-top: 0.5rem;
}
.shop h6 {
  font-weight: 700;
}
.shop .link_button {
  margin-top: 3rem;
}
.shop .link_button:hover {
  border-color: #ffffff;
  background-color: #ffffff;
}

/*Twitter Feed */
#ctf .ctf-tweets, #ctf .tweets, #twitter_feed .ctf-tweets, #twitter_feed .tweets {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
#ctf .ctf-tweets .ctf-item, #ctf .tweets .tweet-item, #twitter_feed .ctf-tweets .ctf-item, #twitter_feed .tweets .tweet-item {
  padding: 0;
}
#ctf .ctf-item, #ctf .tweet-item, #twitter_feed .ctf-item, #twitter_feed .tweet-item {
  padding: 0;
  background-color: white;
  text-align: center;
}
#ctf .image_container, #twitter_feed .image_container {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #231f20;
}
@supports (aspect-ratio: 16/9) {
  #ctf .image_container, #twitter_feed .image_container {
    aspect-ratio: 1;
  }
}
@supports not (aspect-ratio: 16/9) {
  #ctf .image_container, #twitter_feed .image_container {
    padding-top: 100%;
    height: 0;
  }
}
#ctf .image_container img,
#ctf .image_container svg, #twitter_feed .image_container img,
#twitter_feed .image_container svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}
#ctf .image_container.default, #twitter_feed .image_container.default {
  padding: 0.5rem;
}
#ctf .image_container.default img, #twitter_feed .image_container.default img {
  object-fit: contain;
}
#ctf .ctf-author-box-link a, #ctf .author-box, #twitter_feed .ctf-author-box-link a, #twitter_feed .author-box {
  display: block;
}
#ctf .ctf-author-box-link a span, #ctf .author-box span, #twitter_feed .ctf-author-box-link a span, #twitter_feed .author-box span {
  display: block;
  margin: 0.3rem auto 0;
}
#ctf .ctf-author-box-link a svg, #ctf .author-box svg, #twitter_feed .ctf-author-box-link a svg, #twitter_feed .author-box svg {
  display: block;
  height: 18px;
  margin: 0.3rem auto 0;
}
#ctf .ctf-author-box-link a svg path, #ctf .author-box svg path, #twitter_feed .ctf-author-box-link a svg path, #twitter_feed .author-box svg path {
  fill: #1DA1F2;
}
#ctf .ctf-author-box-link a .date, #ctf .author-box .date, #twitter_feed .ctf-author-box-link a .date, #twitter_feed .author-box .date {
  font-size: 0.75rem;
}
#ctf .ctf-author-box-link a.ctf-author-avatar,
#ctf .ctf-quoted-tweet-text-media-wrap,
#ctf .ctf-tweet-text-media-wrap,
#ctf .ctf-tweet-actions, #twitter_feed .ctf-author-box-link a.ctf-author-avatar,
#twitter_feed .ctf-quoted-tweet-text-media-wrap,
#twitter_feed .ctf-tweet-text-media-wrap,
#twitter_feed .ctf-tweet-actions {
  display: none;
}
#ctf .ctf-tweets .ctf-item > *, #ctf .tweets .tweet-item > *, #twitter_feed .ctf-tweets .ctf-item > *, #twitter_feed .tweets .tweet-item > * {
  margin-left: 0px;
}
#ctf .ctf-tweets .ctf-item > *:not(.image_container), #ctf .tweets .tweet-item > *:not(.image_container), #twitter_feed .ctf-tweets .ctf-item > *:not(.image_container), #twitter_feed .tweets .tweet-item > *:not(.image_container) {
  padding: 0.5rem;
}
#ctf .ctf-tweets .ctf-quoted-tweet, #twitter_feed .ctf-tweets .ctf-quoted-tweet {
  border: none;
  background-color: #f0f0e6;
  border-radius: 0;
  margin: 0.5rem;
}
#ctf p.ctf-media-link,
#ctf p.ctf-tweet-text, #ctf p.tweet-text, #twitter_feed p.ctf-media-link,
#twitter_feed p.ctf-tweet-text, #twitter_feed p.tweet-text {
  word-break: break-word;
}
#ctf a, #twitter_feed a {
  text-decoration: none;
}
#ctf.ctf-styles .ctf-author-screenname, #ctf.ctf-styles .ctf-screename-sep, #ctf .author-box, #twitter_feed.ctf-styles .ctf-author-screenname, #twitter_feed.ctf-styles .ctf-screename-sep, #twitter_feed .author-box {
  font-size: 1rem;
  font-weight: 600;
}
@media screen and (min-width: 700px) {
  #ctf .ctf-tweets .ctf-item, #ctf .tweets .tweet-item, #twitter_feed .ctf-tweets .ctf-item, #twitter_feed .tweets .tweet-item {
    display: grid;
    grid-template-columns: 50% auto;
    grid-template-rows: auto auto auto auto;
    flex-basis: calc(50% - 1rem);
  }
  #ctf .ctf-tweets .ctf-item > *:not(.image_container), #twitter_feed .ctf-tweets .ctf-item > *:not(.image_container) {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  #ctf .ctf-tweets .ctf-item .image_container, #ctf .tweets .tweet-item .image_container, #twitter_feed .ctf-tweets .ctf-item .image_container, #twitter_feed .tweets .tweet-item .image_container {
    grid-column: 1/2;
    grid-row: 1/-1;
    align-self: stretch;
  }
  #ctf .ctf-tweets .ctf-item > *:not(.image_container), #ctf .tweets .tweet-item > *:not(.image_container), #twitter_feed .ctf-tweets .ctf-item > *:not(.image_container), #twitter_feed .tweets .tweet-item > *:not(.image_container) {
    grid-column: 2/3;
  }
  #ctf .ctf-tweets .ctf-item :nth-child(2), #twitter_feed .ctf-tweets .ctf-item :nth-child(2) {
    margin-top: 1rem;
  }
  #ctf .ctf-tweets .ctf-context, #twitter_feed .ctf-tweets .ctf-context {
    margin-bottom: 0;
    padding: 0 !important;
  }
  #ctf .ctf-author-name,
  #ctf .ctf-author-screenname,
  #ctf .ctf-tweet-meta,
  #ctf .ctf-verified, #twitter_feed .ctf-author-name,
  #twitter_feed .ctf-author-screenname,
  #twitter_feed .ctf-tweet-meta,
  #twitter_feed .ctf-verified {
    margin-top: 0 !important;
  }
}
@media screen and (min-width: 1200px) {
  #ctf .ctf-tweets, #ctf .tweets, #twitter_feed .ctf-tweets, #twitter_feed .tweets {
    flex-direction: row;
    justify-content: space-between;
  }
  #ctf .ctf-tweets .ctf-item, #ctf .tweet-item .tweet-item, #twitter_feed .ctf-tweets .ctf-item, #twitter_feed .tweet-item .tweet-item {
    flex-basis: 49%;
  }
}

.follow_for_more {
  text-decoration: none;
  margin-top: 1rem;
  display: flex;
}
@media screen and (min-width: 700px) {
  .follow_for_more {
    margin-top: 3rem;
  }
}
.follow_for_more h4 {
  display: flex;
  justify-content: center;
  width: 100%;
  gap: 1rem;
  align-items: center;
  font-weight: 600;
  font-size: 1.2rem;
}
.follow_for_more h4 svg {
  height: 18px;
}
.follow_for_more h4 svg path {
  fill: #1da1f2;
}

@media screen and (min-width: 1200px) {
  .twitter_container {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .twitter_container h2 {
    margin-bottom: 3rem;
  }
}
/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

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