/*!
Theme Name: ace
Theme URI: http://underscores.me/
Author: Chad Rossouw for HdK
Author URI: https://wearehdk.com/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ace
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

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

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

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

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

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

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

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

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

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

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

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

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #F1EFEB;
  font-family: elido, sans-serif;
  font-size: 1rem;
  line-height: 1.5cap;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: elido, sans-serif;
  color: #F1EFEB;
  font-weight: 600;
  line-height: 2cap;
  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: 1.8rem;
  line-height: 1.7cap;
}
@media screen and (min-width: 700px) {
  h1 {
    font-size: 2.4rem;
  }
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.25rem;
}

h4 {
  font-size: 1.1rem;
}

h5 {
  font-size: 1rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

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

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

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

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

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

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

big {
  font-size: 125%;
}

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

.lc {
  text-transform: initial;
}

.uc {
  text-transform: uppercase;
}

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

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

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

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

.bold {
  font-weight: 700;
}

.center {
  text-align: center;
}

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

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

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

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

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

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

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

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

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

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

figure {
  margin: 1em 0;
}

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

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

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

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

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

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

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

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

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

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

p .decorative {
  display: inline-block;
}

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

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

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

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

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

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

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

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

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

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

figure {
  margin-bottom: 0;
}

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

.hide {
  display: none;
}

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

.black {
  color: #171210;
}

.body {
  color: #F1EFEB;
}

.white {
  color: #F1EFEB;
}

.primary {
  color: #e9dfbe;
}

.secondary {
  color: #171210;
}

.bg-black,
.bg_black {
  background-color: #171210;
}
.bg-bg,
.bg_bg {
  background-color: #0a0a0a;
}
.bg-white,
.bg_white {
  background-color: #F1EFEB;
}
.bg-grey,
.bg_grey {
  background-color: #E8E8E8;
}
.bg-primary,
.bg_primary {
  background-color: #0a0a0a;
}
.bg-secondary,
.bg_secondary {
  background-color: #171210;
}
.bg-secondary_sub,
.bg_secondary_sub {
  background-color: var(--color-secondary-lighter);
}

.error {
  color: #a01313;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#page {
  display: grid;
  grid-template-rows: 1fr auto;
  min-height: 100vh;
}

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

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
/*Header*/
header#masthead {
  height: var(--header-height);
  position: absolute;
  width: 100%;
  max-width: 100vw;
  top: 0;
  padding: 0;
  z-index: 10;
  transition: padding var(--transition) ease, margin var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  header#masthead {
    display: grid;
    grid-template-rows: minmax(3rem auto) calc(var(--header-height) - 3rem);
    padding-top: 0;
  }
}

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

/*This sets padding on everypage to account for the absolute positioned header*/
#primary {
  padding-top: var(--header-height);
  background: #0a0a0a;
}
#primary.bg_white {
  background: #F1EFEB;
}

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

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

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

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

@media screen and (max-width: 400px) {
  #primary-menu li a {
    font-size: 1.5rem;
    line-height: 2.25rem;
    text-align: center;
  }
}
@media screen and (min-width: 1200px) {
  #primary-menu, #featured-menu {
    width: 100%;
  }
  #primary-menu li a, #featured-menu li a {
    text-transform: none;
    padding-bottom: 0.5rem;
    font-size: 1.2rem;
    margin-top: 1rem;
  }
  #primary-menu {
    margin-bottom: 1.2rem;
  }
}
#hamburger {
  position: absolute;
  right: 0;
  background: transparent;
  transition: top var(--transition) ease;
  z-index: 10;
  width: 3rem;
  height: 1rem;
  display: grid;
  justify-content: center;
  align-items: center;
  padding: 0;
  z-index: 90;
  right: var(--margin);
  top: 50%;
}
#hamburger .menu_open {
  display: none;
}

.hamburger.close-modal {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -0.5rem;
  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: #F1EFEB;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  /*   &.is-active::before {
  	color: $color_white;
  	content: "Close";
    } */
}

.hamburger-box {
  width: 3rem;
  height: 1rem;
  position: relative;
}

.hamburger-left,
.hamburger-center,
.hamburger-right {
  width: 2rem;
  max-width: 0.5rem;
  height: 0.5rem;
  max-height: 0.5rem;
  top: calc(50% - 0.25rem);
  background-color: #F1EFEB;
  border-radius: 0.25rem;
  position: absolute;
  transition: transform calc(var(--transition) / 2) ease-in-out, max-width calc(var(--transition) / 3) ease, max-height calc(var(--transition) / 3) ease;
}

.hamburger-center {
  display: block;
  left: calc(50% - 0.25rem);
  transform: scale3d(1, 1, 1);
}

.hamburger-left {
  left: 0;
}

.hamburger-right {
  right: 0;
}

.is-active .hamburger-center {
  transform: scale3d(0, 0, 1);
}
.is-active .hamburger-left {
  max-width: 2rem;
  max-height: 0.25rem;
  transform: translate3d(0.5rem, 0.5rem, 0) rotate(45deg);
}
.is-active .hamburger-right {
  max-width: 2rem;
  max-height: 0.25rem;
  transform: translate3d(-0.5rem, 0.5rem, 0) rotate(-45deg);
}

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

.site-branding a {
  margin: 0 auto;
  display: block;
  width: fit-content;
  color: #F1EFEB;
  height: 100%;
}
.site-branding .logo {
  text-decoration: none;
}
.site-branding .logo h1 {
  text-align: center;
  transition: filter 1200ms ease;
}
.site-branding .logo h4 {
  filter: blur(8px) opacity(0);
  transition: filter 1200ms ease;
  margin-top: 1rem;
}
.site-branding .logo:hover h1 {
  filter: blur(8px) opacity(0.4);
}
.site-branding .logo:hover h4 {
  filter: blur(0) opacity(1);
}

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

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

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

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

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

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

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

.small_menu_heading {
  margin-bottom: 0.5rem;
}

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

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

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

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

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

@media screen and (min-width: 1200px) {
  #masthead {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
/*Language Select*/
.header .wpml-ls-legacy-dropdown-click a {
  background-color: #e9dfbe;
  border: transparent;
  color: #F1EFEB;
  width: fit-content;
  padding-left: 0;
}
.header .wpml-ls-legacy-dropdown-click {
  width: 15.5em;
  max-width: 45vw;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-item a:not(.wpml-ls-item-toggle) {
  padding: 1rem;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
  background-color: #e9dfbe;
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a,
.header .wpml-ls-legacy-dropdown-click a:focus,
.header .wpml-ls-legacy-dropdown-click a:hover {
  background: #e9dfbe;
  color: #F1EFEB;
  width: fit-content;
  padding-left: 0;
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
  padding-right: calc(15px + 1.4em);
}
@media screen and (min-width: 1000px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    padding-right: calc(25px + 1.4em);
  }
}
.header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu a img {
  margin-right: 5px;
}
.header .wpml-ls-link {
  width: 100%;
}
.header .wpml-ls-item-toggle:focus,
.header .wpml-ls-link:focus {
  outline: 2px solid #F1EFEB;
  outline-offset: 0.5rem;
}
.header .wpml-ls-item-toggle:hover,
.header .wpml-ls-link:hover {
  text-decoration: underline;
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click {
    width: fit-content;
    max-width: 100%;
    padding-right: 2rem;
  }
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
  display: block;
  content: " ";
  background-image: url("../assets/down-arrow.svg");
  background-size: 1rem 1rem;
  height: 1rem;
  width: 1rem;
  background-repeat: no-repeat;
  border-top: none;
  border: none;
  top: calc(50% - 0.5rem);
  right: 0;
  transition: transform var(--transition) ease;
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle::after {
    top: 0;
  }
}
.header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle[aria-expanded=true]::after {
  transform: rotate(180deg);
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click {
    width: fit-content;
    max-width: 100%;
    padding-right: 2rem;
  }
  .header .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    background-color: #e9dfbe;
  }
  .header .wpml-ls-legacy-dropdown-click .wpml-ls-item {
    padding: 0.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .header .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}

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

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

.breadcrumb_container {
  margin-bottom: 1rem;
}

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

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

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

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

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

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

.menu {
  list-style: none;
  padding: 0;
}
.menu a {
  color: #F1EFEB;
  text-decoration: none;
}
.menu a:focus {
  outline: none;
}
.menu li {
  position: relative;
}
.menu li::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  max-width: 200px;
  background-color: #F1EFEB;
  bottom: 0;
  right: 0;
  filter: blur(8px) opacity(0);
  transition: filter var(--transition) ease-in;
}
.menu li:hover::after {
  filter: blur(1px) opacity(0.6);
}
.menu li:has(:focus)::after {
  filter: blur(0px) opacity(1);
}
.menu .current-menu-item::after {
  filter: blur(0) opacity(1);
}

.menu-main-nav-container {
  color: #F1EFEB;
  font-family: elido, sans-serif;
  font-size: 1.1rem;
  line-height: 3.5cap;
  text-align: right;
  margin: 1rem 0 0 0rem;
}

.nav-open header#masthead {
  background: #171210;
}

a.back_to_artworks {
  position: absolute;
  right: var(--margin);
  top: 9rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.back_to a {
  width: fit-content;
}

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

.block.text_block {
  color: #F1EFEB;
  font-family: elido, sans-serif;
  font-size: 1rem;
  line-height: 1.8cap;
  font-weight: 400;
  text-align: justify;
  max-width: 680px;
  width: 100%;
  padding: 35px 0 0 0;
}
.block.text_block.big_text {
  text-align: left;
}

.artworks_block .flex {
  gap: 4rem;
}

.gallery img {
  line-height: 0;
}
.gallery .caption:empty {
  display: none;
}

.video_gallery .video_block, .video_gallery .video {
  height: 100%;
}
.video_gallery img {
  width: 100%;
  height: 100%;
}
.video_gallery img {
  filter: blur(8px) saturate(0.3);
  transform: scale(0.9);
  transition: filter var(--transition) ease-out, transform calc(var(--transition) * 1.5) ease-in;
}
.video_gallery button {
  filter: blur(8px) opacity(0);
  transform: scale(0.9);
  transition: filter var(--transition) ease-out, transform calc(var(--transition) * 1.5) ease-in;
}
.video_gallery .video:hover img {
  filter: blur(0) saturate(1);
  transform: scale(1);
  z-index: 10;
}
.video_gallery .video:hover button {
  filter: blur(0) opacity(1);
  transform: translate(-50%, -50%) scale(1);
}

@media screen and (min-width: 1200px) {
  .column--one {
    grid-column: 1/2;
  }
  .column--one.content {
    grid-row: 1/3;
  }
  .column--one .wysiwyg_container {
    padding-bottom: 0;
  }
  .column--two {
    grid-column: 2/3;
  }
  .column--two.side_bar, .column--two.quicklinks_container, .column--two.in_this_section {
    margin-left: 4rem;
  }
  .column--span {
    grid-column: 1/-1;
  }
  .grid--two-column {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto 1fr;
    grid-auto-flow: dense;
    column-gap: 4rem;
  }
  .grid--two-column > * {
    min-width: 0px;
  }
  .grid--two-column .padding {
    padding-left: 0;
    padding-right: 0;
  }
  .grid--two-column.has_crumb {
    grid-template-rows: 4rem auto;
  }
  .grid--two-column.grid--two-column-equal {
    grid-template-columns: var(--margin) 1fr 5rem 1fr var(--margin);
    grid-template-rows: auto;
    grid-auto-flow: row;
    gap: 2rem;
    width: 100vw;
  }
  .grid--two-column.grid--two-column-50 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    column-gap: 0;
  }
  .grid--two-column.grid--45_55 {
    grid-template-columns: 9fr 11fr;
    column-gap: 4rem;
  }
  .grid--two-column.grid--45_55 .column--two {
    padding-right: 4rem;
  }
  .grid--two-column.grid--gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }
  .grid--two-column.grid--gallery-grid.gaps {
    gap: 2rem;
  }
  .grid--two-column.grid--gallery-grid.no-gaps {
    gap: 0;
  }
  .grid--two-column.grid--page {
    grid-template-columns: 1fr 4fr;
  }
  .grid--two-column-equal .column--one {
    grid-column: 2/4;
  }
  .grid--two-column-equal .column--two {
    grid-column: 3/5;
  }
  .grid--two-column-equal .column--span {
    grid-column: 2/5;
  }
  .grid--two-column-equal .full_bleed {
    grid-column: 1/-1;
  }
  .grid--gallery-grid {
    grid-template-columns: repeat(4, 1fr 3rem);
    grid-template-rows: repeat(4, 1fr 3rem);
  }
  .grid--gallery-grid .gallery_item_0 {
    grid-row: 1/3;
    grid-column: 1/3;
  }
  .grid--gallery-grid .gallery_item_1 {
    grid-column: 2/5;
    grid-row: 2/4;
  }
  .grid--gallery-grid .gallery_item_2 {
    grid-row: 1/3;
    grid-column: 6/9;
  }
  .grid--gallery-grid .gallery_item_3 {
    grid-row: 5/6;
    grid-column: 1/2;
  }
  .grid--gallery-grid .gallery_item_4 {
    grid-column: 4/8;
    grid-row: 3/6;
  }
  .grid--gallery-grid .gallery_item_5 {
    grid-column: 3/4;
    grid-row: 7/8;
  }
  .grid--gallery-grid .gallery_item_6 {
    grid-column: 6/9;
    grid-row: 6/9;
  }
}
.column--one .wysiwyg_container.bg-white {
  margin-top: 2rem;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media screen and (min-width: 1200px) {
  .column--one .wysiwyg_container.bg-white {
    margin-top: -2rem;
  }
}

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

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

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

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

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

/* .artwork_header{
	width:100vw;
}
 */
header.artwork_header h1 {
  font-size: 1.2rem;
  margin: 2rem auto;
  /* width: max-content; */
  text-align: center;
  font-weight: 400;
  flex-basis: 200px;
}

#artwork_carousel {
  flex-basis: 680px;
  max-width: 80vw;
  max-height: 0;
  transition: max-height var(--transition) ease-in, filter calc(2 * var(--transition)) ease-out;
  filter: blur(12px) opacity(0);
}
@media screen and (min-width: 1000px) {
  #artwork_carousel {
    flex-basis: 680px;
    max-width: 680px;
  }
}
#artwork_carousel.open, #artwork_carousel:has(:focus) {
  max-height: 400px;
  filter: blur(0) opacity(1);
}
#artwork_carousel .carousel {
  padding: 2rem 0;
}

.swiper-wrapper {
  align-items: center;
}

.swiper-slide img {
  transform: scale(1);
  filter: blur(0) opacity(1);
  transition: transform var(--transition) ease-in, filter calc(2 * var(--transition)) ease-out;
}

.swiper-slide.swiper-slide-prev img, .swiper-slide.swiper-slide-next img {
  transform: scale(0.8);
  filter: blur(3px) opacity(0.8);
}

.artwork_nav.flex {
  align-items: flex-start;
  width: calc(100vw - 2 * var(--margin));
  position: relative;
  justify-content: start;
  gap: 1rem;
}
@media screen and (min-width: 700px) {
  .artwork_nav.flex {
    justify-content: center;
  }
}

.button--prev, .button--next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.button--prev {
  left: -2rem;
}

.button--next {
  right: -2rem;
  transform: translateY(-50%) rotate(180deg);
}

#artwork_nav_button {
  background-color: transparent;
  position: relative;
  padding: 0 0 0.5rem 3rem;
  font-weight: 400;
  font-size: 0.8rem;
}
@media screen and (min-width: 700px) {
  #artwork_nav_button {
    position: absolute;
    top: 0;
    left: 0;
  }
}
#artwork_nav_button svg {
  margin-right: 1rem;
  filter: blur(8px) opacity(0);
  transition: filter var(--transition) ease-in;
}
#artwork_nav_button::after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  max-width: 200px;
  background-color: #F1EFEB;
  bottom: 0;
  right: 0;
  filter: blur(8px) opacity(0);
  transition: filter var(--transition) ease-in;
}
#artwork_nav_button:hover::after {
  filter: blur(1px) opacity(0.6);
}
#artwork_nav_button[aria-expanded=true]::after {
  filter: blur(0) opacity(1);
}
#artwork_nav_button[aria-expanded=true] svg {
  filter: blur(0) opacity(1);
}

.splash_grid {
  height: 100dvh;
  grid-template-rows: 45dvh 30dvh 5dvh;
  padding: 10dvh 0;
  align-items: center;
  justify-content: center;
}

.splash_image {
  max-width: 400px;
}

.breathing {
  animation: breathing 8s ease-in 0ms infinite alternate;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.associate_carousel_title {
  margin-bottom: 0;
}

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

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

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

.logo_muted {
  display: none;
}

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

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

.banner.full_width {
  height: calc(var(--vh) * 90 - var(--header-height));
  width: 100vw;
  position: relative;
}
@media (max-height: 580px) {
  .banner.full_width {
    height: calc(var(--vh) * 120 - var(--header-height));
  }
}
@media screen and (max-height: 580px) and (orientation: landscape) {
  .banner.full_width {
    height: calc(var(--vh) * 220);
  }
}
@media screen and (min-width: 700px) {
  .banner.full_width {
    height: calc(130vw - var(--header-height));
  }
}
@media screen and (min-width: 1000px) {
  .banner.full_width {
    height: calc(var(--vh) * 100 - var(--header-height));
  }
}
.banner.full_width > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
@media screen and (min-width: 1000px) {
  .banner.full_width > img {
    object-position: center;
  }
}
.banner.full_width h2 {
  position: absolute;
  top: 4rem;
  margin: 0 var(--margin);
  font-size: clamp(24px, 4vw, 64px);
  width: fit-content;
  text-align: center;
  width: calc(100% - 2 * var(--margin));
  text-align: center;
}
@media screen and (min-width: 1000px) {
  .banner.full_width h2 {
    /* text-align: left;
    top: 50%;
    width: fit-content;
    max-width: clamp(15ch, 40vw, 500px);
    transform: translateY(-50%); */
    opacity: 0;
    position: static;
  }
}
.banner.full_width svg {
  position: absolute;
  width: clamp(10rem, 20vw, 21rem);
  top: 50%;
  left: var(--margin);
  transform: translateY(-50%);
  display: none;
}
@media screen and (min-width: 1000px) {
  .banner.full_width svg.logo_vivid {
    display: block;
  }
}
.banner.full_width p.caption {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: var(--margin);
  z-index: 10;
}
.banner.full_width:has(> .caption) {
  margin-bottom: 2rem;
}

/* Contact Forms */
.wpcf7 {
  background-color: var(--color_bg);
}
.wpcf7 h2 {
  color: #171210;
}
.wpcf7 p,
.wpcf7 label {
  color: #F1EFEB;
}
.wpcf7 input {
  border-radius: 0.25rem;
  width: 100%;
  margin-bottom: 1rem;
}
.wpcf7 input::placeholder {
  color: #6a6a6a;
}
@media screen and (min-width: 1000px) {
  .wpcf7 .form_name_fields {
    display: flex;
    column-gap: 1rem;
  }
}
.wpcf7 .wpcf7-list-item label {
  display: flex;
  flex-direction: row;
  column-gap: 1rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 700px) {
  .wpcf7 .wpcf7-list-item label {
    align-items: center;
  }
}
.wpcf7 .wpcf7-list-item label input {
  height: 13px;
  width: fit-content;
  margin-bottom: 0;
}

input.wpcf7-submit {
  width: 100%;
  background: #171210;
  color: #F1EFEB;
  padding: 1.2rem;
  text-align: center;
  transition: background-color var(--transition) ease, color var(--transition) ease;
}
input.wpcf7-submit:hover {
  background: #0a0a0a;
  color: #F1EFEB;
}

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

.card {
  text-decoration: none;
  color: #F1EFEB;
}
.card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  max-height: 200px;
  filter: blur(6px) opacity(0.2);
  transition: filter calc(2 * var(--transition)) ease, transform calc(2 * var(--transition)) ease;
  position: relative;
  z-index: 1;
}
.card h3 {
  color: inherit;
  filter: blur(0) opacity(1);
  transition: filter calc(2 * var(--transition)) ease;
  color: #F1EFEB;
  text-align: center;
  padding: 0.5rem 0px 0px 0;
  font-size: 1rem;
  font-weight: 400;
}
.card a {
  text-decoration: none;
}
.card:hover, .card:focus {
  color: #F1EFEB;
}
.card:hover h3, .card:focus h3 {
  filter: blur(6px) opacity(0.8);
}
.card:hover img, .card:focus img {
  filter: blur(0) opacity(1);
  transform: scale(1.2);
}

.polaroids {
  grid-template-columns: 250px;
  gap: 2rem;
  --polaroid-transition:0.3s;
  --polaroid-transition-in:0.2s;
  justify-content: center;
}
@media screen and (min-width: 700px) {
  .polaroids {
    grid-template-columns: repeat(2, 250px);
  }
}
@media screen and (min-width: 1000px) {
  .polaroids {
    grid-template-columns: repeat(3, 250px);
  }
}
@media screen and (min-width: 1200px) {
  .polaroids {
    grid-template-columns: repeat(4, 250px);
  }
}

.polaroid {
  perspective: 60rem;
  padding: 0;
  background-color: transparent;
}
.polaroid .polaroid_inner {
  transform-style: preserve-3d;
  transition: transform var(--polaroid-transition) ease-in;
  position: relative;
}
.polaroid .polaroid_inner:hover {
  transition: transform var(--polaroid-transition-in) ease-in;
  transform: rotateY(-180deg);
}
.polaroid .polaroid_inner:hover .front {
  filter: blur(0);
}
.polaroid .polaroid_inner:hover .back {
  filter: blur(8px);
}
.polaroid .back, .polaroid .front {
  backface-visibility: hidden;
  transition: filter var(--polaroid-transition) ease-out var(--polaroid-transition-in);
}
.polaroid .front {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotateY(-180deg);
  filter: blur(8px);
}

#polaroid_modal {
  background-color: #0a0a0a;
}
#polaroid_modal .modal_content img {
  max-height: 80vh;
  margin: 0 auto;
  display: block;
  transition: filter(var(--transition)) ease;
}
#polaroid_modal .modal_content img.blur {
  filter: blur(8px);
}
#polaroid_modal .close {
  width: fit-content;
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: #F1EFEB;
  font-family: elido, sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5rem;
  text-transform: none;
}
#polaroid_modal .close svg {
  height: 18px;
  width: 18px;
}
#polaroid_modal .close svg path {
  stroke: #F1EFEB;
}

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

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

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

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

.ready .play {
  opacity: 1;
}

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

.video_block {
  position: relative;
}

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

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

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

.block-image,
.alt-block {
  position: relative;
  display: block;
}

.alt_trigger {
  background-color: white;
  color: black;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 0.1rem;
  min-width: 2rem;
  height: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #E8E8E8;
  position: absolute;
  top: 0;
  right: 0;
}

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

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

.open .alt_trigger {
  border-bottom: none;
  border-left: none;
}

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

button.close {
  color: var(--color-black-to-white);
  background-color: var(--color-primary);
}

.play svg path {
  fill: #F1EFEB;
  transition: fill var(--transition) ease;
}
.play svg:hover path {
  fill: #F1EFEB;
}
.play svg:hover circle {
  fill: #F1EFEB;
}
.play svg circle {
  fill: #F1EFEB;
  opacity: 1;
}

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

figure {
  line-height: 0;
}

/*Videos*/
.video_modal {
  position: relative;
  width: 100%;
  overflow: hidden;
  position: fixed;
  overflow: visible;
  width: calc(100vw - 2 * var(--margin));
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -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;
  }
}
@media screen and (min-width: 1000px) {
  .video_modal {
    height: calc(var(--vh) * 80);
    width: unset;
    max-width: calc(100vw - 2 * var(--margin));
  }
}
.video_modal::before {
  content: "";
  width: 100vw;
  height: calc(var(--vh) * 100);
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: transparent;
  transform: translate(-50%, -50%);
  transition: all 600ms ease-in 100ms;
}
.video_modal iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 35%;
}
.video_modal .close_video {
  position: absolute;
  top: -2rem;
  right: 0;
  width: fit-content;
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  color: #F1EFEB;
  font-family: elido, sans-serif;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5rem;
  text-transform: none;
}
@media screen and (min-width: 1000px) {
  .video_modal .close_video {
    top: 0;
    right: -6.5rem;
  }
}
.video_modal .close_video svg {
  height: 18px;
  width: 18px;
}
.video_modal .close_video svg path {
  stroke: #F1EFEB;
}

.open .video_modal {
  animation: opacity_and_z 600ms ease-in 0ms 1 normal forwards;
}
.open .video_modal::before {
  background-color: rgb(0, 0, 0);
}

.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: rgb(0, 0, 0);
}

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: #F1EFEB;
  opacity: 0.5;
  transition: all 400ms ease;
}

.ready button.video_toggle svg path {
  fill: #F1EFEB;
  opacity: 0.9;
}
.ready button.video_toggle:hover svg path {
  fill: #F1EFEB;
  opacity: 0.5;
}

@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;
  }
}
.parallax {
  background-attachment: fixed;
  background-position: top;
  background-repeat: no-repeat;
  background-size: auto 100%;
}

.diptych_item .playing iframe {
  z-index: 10;
}
.diptych_item img {
  transition: all var(--transition) ease;
}

.video_diptych:has(.playing) img {
  filter: blur(12px);
  transform: scale(1.1);
}

.single-artwork.postid-29 #masthead {
  background-color: #F1EFEB;
}
.single-artwork.postid-29 #masthead .hamburger-left, .single-artwork.postid-29 #masthead .hamburger-center, .single-artwork.postid-29 #masthead .hamburger-right {
  background-color: #171210;
}
.single-artwork.postid-29 .main-navigation {
  background-color: #F1EFEB;
}
.single-artwork.postid-29 .main-navigation .menu-item a {
  color: #171210;
}
.single-artwork.postid-29 #primary-menu li a {
  color: #171210;
}
.single-artwork.postid-29 .menu li::after {
  background-color: #171210;
}
.single-artwork.postid-29 .toggled #primary-menu {
  background-color: #F1EFEB;
}
.single-artwork.postid-29 h1, .single-artwork.postid-29 h2, .single-artwork.postid-29 h3, .single-artwork.postid-29 h4, .single-artwork.postid-29 h5, .single-artwork.postid-29 p, .single-artwork.postid-29 a, .single-artwork.postid-29 button {
  color: #171210;
}
.single-artwork.postid-29 .button--prev svg path, .single-artwork.postid-29 .button--next svg path {
  stroke: #171210;
}
.single-artwork.postid-29 #artwork_nav_button svg path {
  fill: #171210;
}
.single-artwork.postid-29 #artwork_nav_button::after {
  background-color: #171210;
}
.single-artwork.postid-29 #footer {
  background-color: #F1EFEB;
}

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

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

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

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

.footer_grid--item.nav_menus {
  padding-top: 2rem;
  padding-bottom: 4rem;
  border-bottom: 1px #F1EFEB solid;
  color: #F1EFEB;
  display: flex;
  column-gap: 2rem;
}
@media screen and (min-width: 700px) {
  .footer_grid--item.nav_menus {
    justify-content: space-between;
    column-gap: unset;
  }
}
@media screen and (min-width: 1200px) {
  .footer_grid--item.nav_menus {
    column-gap: 4rem;
    padding-bottom: 2rem;
  }
}
.footer_grid--item.nav_menus a {
  color: #F1EFEB;
  text-decoration: none;
  display: block;
  margin-bottom: 0.5rem;
}
.footer_grid--item.nav_menus ul {
  list-style: none;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.copyright_text {
  font-weight: 500;
}

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

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

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

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

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

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