@charset "UTF-8";
/* Baseplate */
/* ==========================================================================
   Settings & Tools
   ========================================================================== */
@font-face {
  font-family: "Apercu";
  src: url("ApercuLAPhil-Medium.woff2") format("woff2"), url("ApercuLAPhil-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Apercu";
  src: url("ApercuLAPhil-Regular.woff2") format("woff2"), url("ApercuLAPhil-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Apercu";
  src: url("ApercuLAPhil-Bold.woff2") format("woff2"), url("ApercuLAPhil-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
/*  stylelint-disable */
/**
 * Get color from palette w/default tone
 */
/**
 * Add percentage of white to a color
 */
/**
 * Add percentage of black to a color
 */
/* ==========================================================================
   Base
   ========================================================================== */
/*! 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; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* 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 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 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; /* 1 */
  font-size: 1em; /* 2 */
}

/* 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; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

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

/**
 * 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; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * 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; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * 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] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * 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; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * 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; /* 1 */
  font: inherit; /* 2 */
}

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

/* ==========================================================================
   Base
   ========================================================================== */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 100%;
  font-size: 100%;
  line-height: 1.5;
  text-rendering: geometricPrecision;
  scroll-padding-top: 150px;
  scrollbar-gutter: stable;
  /* Smooth scrolling for anchor navigation */
  scroll-behavior: smooth;
}

*, *:before, *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  color: #000;
  background-color: #fff;
  /**
   * Sticky footer
   * https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/
   */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 100vh;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.01em;
  scroll-padding-top: 150px;
  scrollbar-gutter: stable;
}
body:before {
  content: "";
  display: block;
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: 20;
  width: 100%;
  height: 100svh;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 62.49em) {
  body.nav-open {
    overflow: hidden;
  }
}
body.nav-open .calendar__sidebar {
  z-index: 5;
}
body.filters-open, body.dates-open {
  position: fixed;
  width: 100%;
}
body.filters-open:before, body.dates-open:before {
  opacity: 1;
  visibility: visible;
}
body.filters-open .calendar__sidebar,
body.filters-open .whatson-grid__sidebar, body.dates-open .calendar__sidebar,
body.dates-open .whatson-grid__sidebar {
  z-index: 20;
  background-color: transparent;
}
body.filters-open .calendar-actions, body.dates-open .calendar-actions {
  -webkit-filter: blur(6px);
          filter: blur(6px);
  pointer-events: none;
}
body.desktop-nav-open:before {
  opacity: 1;
  visibility: visible;
  z-index: 6;
  backdrop-filter: unset;
  background-color: rgba(0, 0, 0, 0.4);
}
body:has(*:popover-open:not(.nav-desktop-popover)), body:has(.people-popup[open]), body:has(.filters-dialog[open]), body:has(.date-selector-dialog[open]), body:has(.artists-program-dialog[open]) {
  overflow: hidden;
}

.global-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: #fff;
}

.page-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  z-index: 5;
}

.global-group {
  width: 100%;
  position: relative;
  z-index: 8;
}
@media (max-width: 71.99em) {
  .global-container:has(.global-navigation.is-toggled) .global-group {
    z-index: 8;
  }
}
@media (min-width: 62.5em) {
  .global-group {
    position: relative;
    z-index: 8;
  }
  .glightbox-open .global-group {
    position: fixed;
  }
}

svg.o-icon--logo {
  border: none;
  background-color: transparent;
  width: 100%;
  height: 50px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
  width: 80px;
}

:root {
  --link-color: #000;
  --focus-color: #09F;
  --theme-color: #09F;
  --theme-color-dark: ;
  --theme-color-light: ;
  --text-color: #000;
  --text-color-light: #fff;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
  --pagination-color: #000;
  --event-sticky-height: 0px;
  --content-margin: 100px 0;
  --content-margin-big: 160px 0;
  --content-margin-small: 60px 0;
  --global-header-size-0: 14px;
  --global-header-size-1: 16px;
  --global-header-size-2: 18px;
  --global-header-size-3: 20px;
  --global-header-size-4: 22px;
  --global-header-size-5: 24px;
  --global-header-size-6: 26px;
  --global-header-size-7: 28px;
  --global-header-size-8: 32px;
  --global-header-size-9: 38px;
  --global-header-size-10: 42px;
  --global-header-size-11: 48px;
  --global-header-size-12: 56px;
  --global-header-size-13: 60px;
  --global-header-size-14: 72px;
  --global-header-size-15: 90px;
  --global-header-size-16: 96px;
  --global-header-size-h1: var(--global-header-size-11);
  --global-header-size-h2: var(--global-header-size-5);
  --global-header-size-h3: var(--global-header-size-2);
  --global-header-size-h4: var(--global-header-size-1);
  --global-header-size-h5: var(--global-header-size-1);
  --global-header-size-h6: var(--global-header-size-1);
}
@media (min-width: 23em) {
  :root {
    --global-header-size-h1: var(--global-header-size-12);
    --global-header-size-h2: var(--global-header-size-6);
    --global-header-size-h3: var(--global-header-size-3);
    --global-header-size-h4: var(--global-header-size-2);
    --global-header-size-h5: var(--global-header-size-1);
    --global-header-size-h6: var(--global-header-size-1);
  }
}
@media (min-width: 30em) {
  :root {
    --global-header-size-h1: var(--global-header-size-13);
  }
}
@media (min-width: 50em) {
  :root {
    --global-header-size-h1: var(--global-header-size-15);
    --global-header-size-h2: var(--global-header-size-9);
    --global-header-size-h3: var(--global-header-size-8);
    --global-header-size-h4: var(--global-header-size-5);
    --global-header-size-h5: var(--global-header-size-4);
    --global-header-size-h6: var(--global-header-size-3);
  }
}
@media (min-width: 62.5em) {
  :root {
    --global-header-size-h2: var(--global-header-size-11);
  }
}

.spacer {
  height: 40vh;
}

/* ==========================================================================
   Typography
   ========================================================================== */
h1, h2, h3, h4, h5, h6, .h6, .ff-display {
  font-weight: bold;
  font-family: Apercu, sans-serif;
  letter-spacing: -0.03em;
}

.ff-display {
  font-weight: normal;
}

h4.ff-display {
  font-weight: bold;
}

/**
 * ff-* classes chained to avoid fonts-loaded specificity
 */
html, body, button, input, select, textarea, .ff-body.ff-body {
  font-family: Apercu, sans-serif;
}

.ff-caption.ff-caption {
  font-family: sans-serif;
}

pre, code, kbd, samp, .ff-monospace.ff-monospace {
  font-family: "Hack", "Droid Mono", monospace;
}

/* ==========================================================================
   Base - Headings
   ========================================================================== */
h1, .h1 {
  font-size: var(--global-header-size-h1);
}

h2, .h2 {
  font-size: var(--global-header-size-h2);
}

h3, .h3 {
  font-size: var(--global-header-size-h3);
}

h4, .h4 {
  font-size: var(--global-header-size-h4);
}

h5, .h5 {
  font-size: var(--global-header-size-h5);
}

h6, .h6 {
  font-size: var(--global-header-size-h6);
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  line-height: 1;
  margin: 0 0 0.5rem;
  color: inherit;
}

h4, .h4, h5, .h5, h6, .h6 {
  font-weight: normal;
  font-family: Apercu, sans-serif;
}

/*  =========================================================================
    Grouping content
    http://developers.whatwg.org/grouping-content.html
    ========================================================================= */
p, pre, blockquote, ul, ol, dl, figure, table, fieldset {
  margin: 0;
  margin-bottom: 0.75em;
}

ol, ul {
  padding-left: 1.5em;
  list-style-position: outside;
}

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

ul {
  list-style-type: disc;
}

blockquote {
  margin: 0;
}

figure, figcaption {
  /*  Correct `block` display for `figure` and `figcaption` elements in IE 8/9 */
  display: block;
}

/*  =========================================================================
    Text-level semantics
    http://developers.whatwg.org/text-level-semantics.html
    ========================================================================= */
small {
  /*  Address inconsistent and variable font size in all browsers */
  font-size: 90%;
  display: inline-block;
  letter-spacing: 0;
  font-weight: normal;
  font-family: inherit;
}

dfn {
  /*  Address styling not present in Safari 5 and Chrome */
  font-style: italic;
}

abbr[title], dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}

sub, sup {
  /*  Position subscript and superscript content without affecting line-height */
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

::-moz-selection {
  background: #b3d4fc;
  /*  Remove text-shadow in selection highlight */
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  /*  Remove text-shadow in selection highlight */
  text-shadow: none;
}

/*  =========================================================================
    Links
    http://developers.whatwg.org/links.html
    ========================================================================= */
a {
  color: inherit;
  font-weight: normal;
  line-height: inherit;
  word-wrap: break-word;
  text-decoration: none;
  /* Remove gray background color from active links in IE 10 */
  background-color: transparent;
}
a:active, a:hover {
  /* Improve readability when focused and mouse hovered in all browsers */
  outline: 0;
  cursor: pointer;
}
a:focus {
  outline: none;
}

.user-is-tabbing *:focus {
  -webkit-box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
          box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
  -webkit-transition: none;
  transition: none;
}

.skip-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.92);
  color: #181822;
  font-family: Apercu, sans-serif;
  font-weight: 700;
  font-size: 20px;
  text-decoration: underline;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
  z-index: 2;
  opacity: 1;
  outline: 0 !important;
  border: 2px solid #181822;
  backdrop-filter: blur(1px);
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.skip-link:not(:focus) {
  opacity: 0;
  pointer-events: none;
}

/* ==========================================================================
   Page: Skip to content
   ========================================================================== */
.skip-to-content {
  background: var(--theme-color);
  color: #fff;
  font-weight: 500;
  left: 50%;
  padding: 10px;
  position: absolute;
  -webkit-transform: translate(-50%, -110%);
          transform: translate(-50%, -110%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  z-index: 13;
}

.skip-to-content:focus {
  outline: none;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
}

/*  =========================================================================
    Embedded content
    http://developers.whatwg.org/embedded-content-1
    ========================================================================= */
img, picture, embed, object, video {
  /* Remove border when inside `a` element in IE 8/9 */
  display: block;
  border: 0;
  max-width: 100%;
}

img[width], img[height] {
  /* Non-fluid images if you specify `width` and/or `height` attributes. */
  max-width: none;
}

svg:not(:root) {
  /* Correct overflow displayed oddly in IE9 */
  overflow: hidden;
}

iframe {
  border: none;
}

/*  =========================================================================
    Pattern Styling
    ========================================================================= */
h1.sg-section__title.sg-heading {
  font-family: Apercu, sans-serif !important;
  font-size: var(--global-header-size-h1) !important;
}

h2.sg-section__title.sg-heading {
  font-family: Apercu, sans-serif !important;
  font-size: var(--global-header-size-h2) !important;
}

h2#styleguide,
h2#pagespages,
h2#patternspatterns {
  font-size: 28px;
  margin-bottom: 10px;
}
h2#styleguide a,
h2#pagespages a,
h2#patternspatterns a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  h2#styleguide a,
  h2#pagespages a,
  h2#patternspatterns a {
    padding-bottom: 0.1em;
  }
}
@-webkit-keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
h2#styleguide a:visited,
h2#pagespages a:visited,
h2#patternspatterns a:visited {
  color: inherit;
}
h2#styleguide a:hover, h2#styleguide a:focus,
h2#pagespages a:hover,
h2#pagespages a:focus,
h2#patternspatterns a:hover,
h2#patternspatterns a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
h2#styleguide a,
h2#pagespages a,
h2#patternspatterns a {
  border: none;
}

.sg-section-pages-list .sg-list {
  margin-top: 30px;
  list-style: decimal;
}
.sg-section-pages-list .sg-list__item {
  margin-bottom: 5px;
  font-size: 20px;
}
.sg-section-pages-list .sg-list__item a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .sg-section-pages-list .sg-list__item a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.sg-section-pages-list .sg-list__item a:visited {
  color: inherit;
}
.sg-section-pages-list .sg-list__item a:hover, .sg-section-pages-list .sg-list__item a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.sg-section-pages-list .sg-list__item a {
  --focus-color: #000;
}

.sg-container {
  max-width: 1440px !important;
}

#pattern-Modules-NewsItem .news-item {
  max-width: 500px;
}

#pattern-Modules-PageItem .page-item {
  max-width: 500px;
}

#pattern-Modules-EventItem .sg-pattern__content {
  padding: 30px;
}
#pattern-Modules-EventItem .event-item {
  max-width: 500px;
}

#pattern-Widgets-CalendarList .sg-pattern__content {
  margin: 0 -5px;
  padding: 10px 5px;
}
@media (min-width: 50em) {
  #pattern-Widgets-CalendarList .sg-pattern__content {
    padding: 30px;
    margin: 0;
  }
}

#pattern-Modules-PeoplePopup .people-popup {
  position: relative;
  top: auto;
  left: auto;
  opacity: 1;
  height: auto;
}

/* ==========================================================================
   Scoped Contexts
   ========================================================================== */
/*  =========================================================================
    Scopes: Prose
    ========================================================================= */
:root {
  --global-body-size-1: 8px;
  --global-body-size-2: 10px;
  --global-body-size-3: 12px;
  --global-body-size-4: 14px;
  --global-body-size-5: 16px;
  --global-body-size-6: 18px;
  --global-body-size-7: 20px;
  --global-body-size-8: 22px;
  --global-body-size-9: 24px;
  --global-body-size-10: 26px;
  --global-body-size-11: 28px;
  --global-body-size-12: 32px;
  --global-body-text: var(--global-body-size-6);
  --global-body-text-small: var(--global-body-size-5);
  --global-body-text-big: var(--global-body-size-8);
  --global-caption: var(--global-body-size-5);
}
@media (min-width: 50em) {
  :root {
    --global-body-text: var(--global-body-size-7);
    --global-body-text-small: var(--global-body-size-6);
    --global-body-text-big: var(--global-body-size-9);
    --global-caption: var(--global-body-size-6);
  }
}
@media (min-width: 62.5em) {
  :root {
    --global-body-text: var(--global-body-size-9);
    --global-body-text-big: var(--global-body-size-10);
  }
}

.s-prose h1,
.s-prose h2,
.s-prose h3,
.s-prose h4,
.s-prose h5,
.s-prose h6 {
  margin: 0 0 15px;
  line-height: 1.2;
  text-wrap: pretty;
  font-family: Apercu, sans-serif;
  font-weight: 700;
}
.s-prose h1.text-center,
.s-prose h2.text-center,
.s-prose h3.text-center,
.s-prose h4.text-center,
.s-prose h5.text-center,
.s-prose h6.text-center {
  text-align: center;
}
.s-prose h1 + ul,
.s-prose h2 + ul,
.s-prose h3 + ul,
.s-prose h4 + ul,
.s-prose h5 + ul,
.s-prose h6 + ul {
  margin-top: 20px;
}
.s-prose h2,
.s-prose h3,
.s-prose h4,
.s-prose h5,
.s-prose h6 {
  margin-top: var(--global-body-text);
  font-family: Apercu, sans-serif;
  font-weight: 600;
}
.s-prose h2:first-child,
.s-prose h3:first-child,
.s-prose h4:first-child,
.s-prose h5:first-child,
.s-prose h6:first-child {
  margin-top: 0;
}
.s-prose h2:last-child,
.s-prose h3:last-child,
.s-prose h4:last-child,
.s-prose h5:last-child,
.s-prose h6:last-child {
  margin-bottom: 0;
}
.s-prose p:last-of-type {
  margin-bottom: 0;
}
.s-prose p {
  margin: var(--global-body-text) 0 0;
  text-wrap: pretty;
}
.s-prose p:first-child {
  margin-top: 0;
}
.s-prose p.text-center {
  text-align: center;
}
.s-prose p:empty {
  display: none;
}
.s-prose p:not(.quote__text):not(.cta):not(.caption),
.s-prose ul,
.s-prose ol,
.s-prose dl {
  font-size: var(--global-body-text);
  line-height: 1.4;
}
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow),
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):active {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .s-prose a:not(.inline-button):not(.btn):not(.btn-arrow),
  .s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited,
  .s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover,
  .s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):active {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited:visited,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover:visited,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):active:visited {
  color: inherit;
}
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover, .s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):focus,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited:hover,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):visited:focus,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover:hover,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):hover:focus,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):active:hover,
.s-prose a:not(.inline-button):not(.btn):not(.btn-arrow):active:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.s-prose .inline-button {
  margin: 5px 10px 5px 0;
}
.s-prose .fluid-width-video-wrapper {
  margin-bottom: 1em;
}
.s-prose hr {
  max-width: 15em;
  margin: 2em auto;
  border: none;
  border-top: 1px solid #6A6A6A;
}
.s-prose .inline-video {
  margin: 20px -20px;
}
.s-prose small {
  font-size: var(--global-body-text-small);
}
.s-prose .lead {
  font-weight: 700;
}
.s-prose pre {
  margin: 30px 0;
  padding: 30px;
  background-color: #000;
  color: #1D6615;
  white-space: pre-wrap;
}
.s-prose ul,
.s-prose ol {
  margin: 30px 0 0;
}
.s-prose ul {
  padding-left: 15px;
  list-style-type: disc;
}
.s-prose ul ul {
  padding-left: 2em;
  list-style-type: circle;
}
.s-prose ul ul ul {
  list-style-type: square;
}
@media (min-width: 62.5em) {
  .s-prose ul {
    padding-left: 20px;
  }
}
.s-prose ol {
  padding-left: 35px;
  list-style-type: decimal;
}
.s-prose ol ol {
  padding-left: 2em;
  list-style-type: upper-alpha;
}
.s-prose ol ol ol {
  list-style-type: lower-alpha;
}
.s-prose ol ol ol ol {
  list-style-type: upper-roman;
}
.s-prose ol ol ol ol ol {
  list-style-type: lower-roman;
}
@media (min-width: 62.5em) {
  .s-prose ol {
    padding-left: 45px;
  }
}
.s-prose ul:only-child,
.s-prose ol:only-child {
  margin: 0;
}
@media (min-width: 50em) {
  .s-prose .inline-video {
    margin: 40px -40px;
  }
}
.s-prose {
  --global-header-size-h1: var(--global-header-size-6);
  --global-header-size-h2: var(--global-header-size-5);
  --global-header-size-h3: var(--global-header-size-4);
  --global-header-size-h4: var(--global-header-size-3);
  --global-header-size-h5: var(--global-header-size-2);
  --global-header-size-h6: var(--global-header-size-1);
}
@media (min-width: 30em) {
  .s-prose {
    --global-header-size-h1: var(--global-header-size-7);
    --global-header-size-h2: var(--global-header-size-6);
    --global-header-size-h3: var(--global-header-size-5);
    --global-header-size-h4: var(--global-header-size-4);
    --global-header-size-h5: var(--global-header-size-3);
    --global-header-size-h6: var(--global-header-size-2);
  }
}
@media (min-width: 50em) {
  .s-prose {
    --global-header-size-h1: var(--global-header-size-8);
    --global-header-size-h2: var(--global-header-size-7);
    --global-header-size-h3: var(--global-header-size-6);
    --global-header-size-h4: var(--global-header-size-5);
    --global-header-size-h5: var(--global-header-size-4);
    --global-header-size-h6: var(--global-header-size-3);
  }
}
@media (min-width: 72em) {
  .s-prose {
    --global-header-size-h1: var(--global-header-size-9);
    --global-header-size-h2: var(--global-header-size-8);
    --global-header-size-h3: var(--global-header-size-7);
    --global-header-size-h4: var(--global-header-size-6);
    --global-header-size-h5: var(--global-header-size-5);
    --global-header-size-h6: var(--global-header-size-4);
  }
}

/* ==========================================================================
   Objects
   ========================================================================== */
/* ==========================================================================
   Grid
   ========================================================================== */
.o-grid:before, .o-grid:after {
  content: " ";
  display: table;
}
.o-grid:after {
  clear: both;
}
.o-grid {
  padding-left: 0;
}

.o-grid, .o-grid__item {
  list-style: none;
  margin: 0;
}

.o-grid__item {
  border-color: transparent;
  margin-bottom: 2.5%;
}

/**
 * Drop bottom margins if we know we only
 * have a single row of grid items.
 */
@media (min-width: 62.5em) {
  .o-grid--single-row .o-grid__item {
    margin-bottom: 0 !important;
  }
}

/**
 * Even numbers
 */
@media (min-width: 30em) {
  .o-grid--2up, .o-grid--4up {
    width: 102.5%;
    margin-left: -2.5%;
  }
}
@media (min-width: 30em) {
  .o-grid--2up .o-grid__item, .o-grid--4up .o-grid__item {
    float: left;
    margin-left: 1.25%;
    padding-left: 1.25%;
    margin-bottom: 2.5%;
    width: 48.75%;
  }
}
@media (min-width: 50em) {
  .o-grid--2up .o-grid__item, .o-grid--4up .o-grid__item {
    border-style: solid;
    border-width: 0 0 0 1px;
  }
}

@media (min-width: 50em) {
  .o-grid--2up .o-grid__item:nth-of-type(2n + 1) {
    clear: left;
    border-left: none;
  }
}

@media (min-width: 50em) {
  .o-grid--4up .o-grid__item {
    width: 23.75%;
  }
  .o-grid--4up .o-grid__item:nth-of-type(2n + 1) {
    clear: none;
  }
  .o-grid--4up .o-grid__item:nth-of-type(4n + 1) {
    clear: left;
    border-left: none;
  }
}

/**
 * Odd numbers
 */
@media (min-width: 50em) {
  .o-grid--3up {
    width: 102.5%;
    margin-left: -2.5%;
  }
  .o-grid--3up .o-grid__item {
    float: left;
    margin-left: 1.25%;
    padding-left: 1.25%;
    margin-bottom: 2.5%;
    width: 32.05%;
  }
  .o-grid--3up .o-grid__item:nth-of-type(2n + 1) {
    clear: none;
  }
  .o-grid--3up .o-grid__item:nth-of-type(3n + 1) {
    clear: left;
    border-left: none;
  }
}
/* ==========================================================================
   Objects: Icons
   ========================================================================== */
.o-icon {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  width: 24px;
  height: 24px;
}

.o-icon--small {
  width: 13px;
  height: 13px;
}

.o-icon--medium {
  width: 26px;
  height: 26px;
}

.o-icon--large {
  width: 32px;
  height: 32px;
}

.o-icon--xlarge {
  width: 40px;
  height: 40px;
}

.o-icon--scale {
  width: 0.75em;
  height: 0.75em;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.o-icon--top {
  vertical-align: top;
}

.o-icon--bottom {
  vertical-align: bottom;
}

.o-icon--offset {
  margin-right: 5px;
}

/* ==========================================================================
   Objects: Lists
   ========================================================================== */
.o-block-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.o-block-list__item, .o-block-list__link {
  display: block;
}

.o-block-list__item {
  margin-bottom: 5px;
}

.o-inline-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.o-inline-list__item {
  display: inline-block;
  margin-right: 10px;
}
.o-inline-list__item:last-child {
  margin-right: 0;
}

.o-inline-list__link {
  display: block;
}

/* ==========================================================================
   Object: Buttons
   ========================================================================== */
:root {
  --global-button-size: var(--global-body-size-4);
  --global-button-size-small: var(--global-body-size-4);
  --global-button-size-big: var(--global-body-size-6);
  --global-button-border-radius: 30px;
  --global-button-padding: 15px 25px;
  --global-button-padding-small: 10px 25px;
  --global-button-padding-big: 15px 60px;
}
@media (min-width: 50em) {
  :root {
    --global-button-size: var(--global-body-size-7);
    --global-button-size-small: var(--global-body-size-5);
    --global-button-size-big: var(--global-body-size-7);
    --global-button-padding: 18px 32px;
    --global-button-padding-small: 9px 18px;
    --global-button-padding-big: 20px 40px;
  }
}

.btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary,
.inline-button,
.step-button-next,
.step-button-prev,
.userform input[type=button],
.userform input[type=submit] {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-appearance: none;
  font: inherit;
  font-family: Apercu, sans-serif;
  font-size: var(--global-button-size);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
  color: #fff;
  background-color: #09F;
  border: 1.5px solid #09F;
  padding: var(--global-button-padding);
  width: auto;
  border-radius: 40px;
  line-height: 1.2;
  isolation: isolate;
  -webkit-transition: color 500ms ease, border 500ms ease, background 500ms ease;
  transition: color 500ms ease, border 500ms ease, background 500ms ease;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .btn:hover, .btn:focus, .btn:active,
.inline-button,
.inline-button:hover,
.inline-button:focus,
.inline-button:active,
.step-button-next,
.step-button-next:hover,
.step-button-next:focus,
.step-button-next:active,
.step-button-prev,
.step-button-prev:hover,
.step-button-prev:focus,
.step-button-prev:active,
.userform input[type=button],
.userform input[type=button]:hover,
.userform input[type=button]:focus,
.userform input[type=button]:active,
.userform input[type=submit],
.userform input[type=submit]:hover,
.userform input[type=submit]:focus,
.userform input[type=submit]:active {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .btn:hover, .page-header__footer.page-header__cta--pill .page-header__cta--secondary:hover, .page-header__footer.page-header__cta--pill .page-header__cta--primary:hover, .artist-header__footer .favorite-artist__button:hover, .lot-header__footer .lot-header__cta--secondary:hover, .lot-header__footer .lot-header__cta--primary:hover, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary:hover, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary:hover,
  .inline-button:hover,
  .step-button-next:hover,
  .step-button-prev:hover,
  .userform input[type=button]:hover,
  .userform input[type=submit]:hover {
    background-color: transparent;
    color: #fff;
    border-color: #fff;
    text-decoration: none;
    outline: none;
  }
}
.user-is-tabbing .btn:focus, .user-is-tabbing .page-header__footer.page-header__cta--pill .page-header__cta--secondary:focus, .page-header__footer.page-header__cta--pill .user-is-tabbing .page-header__cta--secondary:focus, .user-is-tabbing .page-header__footer.page-header__cta--pill .page-header__cta--primary:focus, .page-header__footer.page-header__cta--pill .user-is-tabbing .page-header__cta--primary:focus, .user-is-tabbing .artist-header__footer .favorite-artist__button:focus, .artist-header__footer .user-is-tabbing .favorite-artist__button:focus, .user-is-tabbing .lot-header__footer .lot-header__cta--secondary:focus, .lot-header__footer .user-is-tabbing .lot-header__cta--secondary:focus, .user-is-tabbing .lot-header__footer .lot-header__cta--primary:focus, .lot-header__footer .user-is-tabbing .lot-header__cta--primary:focus, .user-is-tabbing .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary:focus, .home-hero-item__actions.home-hero-item__cta--pill .user-is-tabbing .home-hero-item__cta--secondary:focus, .user-is-tabbing .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary:focus, .home-hero-item__actions.home-hero-item__cta--pill .user-is-tabbing .home-hero-item__cta--primary:focus,
.user-is-tabbing .inline-button:focus,
.user-is-tabbing .step-button-next:focus,
.user-is-tabbing .step-button-prev:focus,
.user-is-tabbing .userform input[type=button]:focus,
.user-is-tabbing .userform input[type=submit]:focus {
  outline: none;
  font-weight: 700;
  border: 1px solid #09F;
  border-style: double;
  border-width: 3px;
}

.btn--small, .artist-header__footer .favorite-artist__button {
  font-size: var(--global-button-size-small);
  padding: var(--global-button-padding-small);
}

.btn-primary,
.btn--primary,
.artist-header__footer .favorite-artist__button {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover,
  .btn--primary:hover,
  .artist-header__footer .favorite-artist__button:hover {
    background-color: transparent;
    color: #000;
    border-color: #000;
  }
}

.btn--external {
  position: relative;
  padding-right: 35px;
}
@media (min-width: 62.5em) {
  .btn--external {
    padding-right: 40px;
  }
}
.btn--external .o-icon {
  position: absolute;
  right: 6px;
}

.btn--secondary {
  background-color: transparent;
  border-color: #000;
  color: #000;
}
@media (hover: hover) and (pointer: fine) {
  .btn--secondary:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
  }
}

.btn-theme-fill, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary {
  border-color: var(--theme-body-text-color);
  background-color: var(--theme-body-text-color);
  color: var(--theme-body-text-color-inverse);
}
.btn-theme-fill:hover, .page-header__footer.page-header__cta--pill .page-header__cta--primary:hover, .lot-header__footer .lot-header__cta--primary:hover, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary:hover {
  border-color: var(--theme-body-text-color);
  background-color: transparent;
  color: var(--theme-body-text-color);
}

.btn-theme-outline, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .lot-header__footer .lot-header__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .btn--theme-outline {
  border-color: var(--theme-body-text-color);
  background-color: transparent;
  color: var(--theme-body-text-color);
}
.btn-theme-outline:hover, .page-header__footer.page-header__cta--pill .page-header__cta--secondary:hover, .lot-header__footer .lot-header__cta--secondary:hover, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary:hover, .btn--theme-outline:hover {
  border-color: var(--theme-body-text-color);
  background-color: var(--theme-body-text-color);
  color: var(--theme-body-text-color-inverse);
}

.btn-arrow, .page-header__footer.page-header__cta--text .page-header__cta--primary,
.page-header__footer.page-header__cta--text .page-header__cta--secondary, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary,
.home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: -0.03em;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
}
.btn-arrow .o-icon, .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon,
.page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: inherit;
  margin-left: 10px;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  margin-top: -2px;
}
@media (min-width: 50em) {
  .btn-arrow, .page-header__footer.page-header__cta--text .page-header__cta--primary,
  .page-header__footer.page-header__cta--text .page-header__cta--secondary, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .btn-arrow, .page-header__footer.page-header__cta--text .page-header__cta--primary,
  .page-header__footer.page-header__cta--text .page-header__cta--secondary, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .btn-arrow, .page-header__footer.page-header__cta--text .page-header__cta--primary,
  .page-header__footer.page-header__cta--text .page-header__cta--secondary, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary {
    font-size: 24px;
  }
}
.btn-arrow:hover .o-icon, .page-header__footer.page-header__cta--text .page-header__cta--primary:hover .o-icon,
.page-header__footer.page-header__cta--text .page-header__cta--secondary:hover .o-icon, .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary:hover .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary:hover .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.btn-arrow--down .o-icon {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.btn-arrow--down:hover .o-icon {
  -webkit-transform: rotate(90deg) translateX(5px);
          transform: rotate(90deg) translateX(5px);
}

.btn-arrow--large .o-icon {
  width: 22px;
  height: 22px;
}
@media (min-width: 72em) {
  .btn-arrow--large {
    font-size: 36px;
  }
  .btn-arrow--large .o-icon {
    width: 30px;
    height: 30px;
  }
}

.btn-arrow--small {
  font-size: 18px;
}
.btn-arrow--small .o-icon {
  width: 18px;
  height: 18px;
}

.btn--inverted {
  color: var(--theme-highlight-color, #fff);
  background-color: var(--theme-color, #09F);
  border: 1.5px solid var(--theme-color, #09F);
}
@media (hover: hover) and (pointer: fine) {
  .btn--inverted:hover {
    background-color: transparent;
    color: var(--theme-color, #000);
    border-color: var(--theme-color, #09F);
    text-decoration: none;
    outline: none;
  }
}

.btn--firework {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--firework:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--firework:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--teal {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--teal:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--teal:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--peach {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--peach:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--peach:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--tangerine {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--tangerine:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--tangerine:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--daisy {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--daisy:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--daisy:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--grass {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--grass:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--grass:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--turquoise {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--turquoise:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--turquoise:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--toyon {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--toyon:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--toyon:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--berry {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--berry:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--berry:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--darkgreen {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--darkgreen:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--darkgreen:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--twilight {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--twilight:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--twilight:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--green {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--green:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--green:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--lime {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--lime:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--lime:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--lilac {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--lilac:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--lilac:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--sky {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--sky:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--sky:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--melon {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--melon:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--melon:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--sugarbush {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--sugarbush:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--sugarbush:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--hbpurple {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--hbpurple:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--hbpurple:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--red {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--red:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--red:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--manzanita {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--manzanita:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--manzanita:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--azure {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--azure:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--azure:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--chartreuse {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--chartreuse:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--chartreuse:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--monarch {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--monarch:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--monarch:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--canary {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--canary:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--canary:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--pink {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--pink:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--pink:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--blue {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--blue:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--blue:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--glass {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--glass:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--glass:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--powder {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--powder:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--powder:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--cornflower {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--cornflower:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--cornflower:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--bluestone {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--bluestone:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--bluestone:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--pacific {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--pacific:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--pacific:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--midnight {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--midnight:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--midnight:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--leaf {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--leaf:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--leaf:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--spruce {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--spruce:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--spruce:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--magenta {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--magenta:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--magenta:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--rosewood {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--rosewood:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--rosewood:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--basoon {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--basoon:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--basoon:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--orchid {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--orchid:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--orchid:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--cement {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--cement:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--cement:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--ivory {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--ivory:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--ivory:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--sunlight {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--sunlight:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--sunlight:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--ballet {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--ballet:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--ballet:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--maple {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--maple:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--maple:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--fir {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--fir:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--fir:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--fountain {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--fountain:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--fountain:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--fountain-light {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--fountain-light:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--fountain-light:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--skylight {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--skylight:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--skylight:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--rose {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--rose:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--rose:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--coral {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--coral:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--coral:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--royal {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--royal:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--royal:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--garden {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--garden:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--garden:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--steel {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--steel:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--steel:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--pinkball {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--pinkball:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--pinkball:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--wildflower {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--wildflower:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--wildflower:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--coffeeberry {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--coffeeberry:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--coffeeberry:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--yellow {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--yellow:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--yellow:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--cream {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--cream:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--cream:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--tan {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--tan:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--tan:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--goldenrod {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--goldenrod:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--goldenrod:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--pumpkin {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--pumpkin:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--pumpkin:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--sepia {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--sepia:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--sepia:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--sykamore {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--sykamore:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--sykamore:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--brown {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--brown:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--brown:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--black-90 {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--black-90:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--black-90:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--fordpurple {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--fordpurple:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--fordpurple:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--fordfuchsia {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--fordfuchsia:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--fordfuchsia:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--hbcoral {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--hbcoral:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--hbcoral:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--hbblue {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--hbblue:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--hbblue:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--hborchid {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--hborchid:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--hborchid:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--wdch-stone {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--wdch-stone:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--wdch-stone:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--ford-sage {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--ford-sage:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--ford-sage:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn--white {
  color: var(--theme-body-text-color);
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
@media (hover: hover) and (pointer: fine) {
  .btn--white:hover {
    color: var(--theme-color);
    background-color: transparent;
    border-color: var(--theme-color);
  }
}
.user-is-tabbing .btn--white:focus {
  color: var(--theme-body-text-color-inverse);
  border-color: var(--theme-body-text-color-inverse);
}

.btn-primary[disabled],
.btn-primary[disabled]:hover {
  background-color: var(--theme-color);
}

.btn[disabled], .page-header__footer.page-header__cta--pill [disabled].page-header__cta--secondary, .page-header__footer.page-header__cta--pill [disabled].page-header__cta--primary, .artist-header__footer [disabled].favorite-artist__button, .lot-header__footer [disabled].lot-header__cta--secondary, .lot-header__footer [disabled].lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill [disabled].home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill [disabled].home-hero-item__cta--primary,
.btn[disabled]:hover,
.btn.is-disabled,
.page-header__footer.page-header__cta--pill .is-disabled.page-header__cta--secondary,
.page-header__footer.page-header__cta--pill .is-disabled.page-header__cta--primary,
.artist-header__footer .is-disabled.favorite-artist__button,
.lot-header__footer .is-disabled.lot-header__cta--secondary,
.lot-header__footer .is-disabled.lot-header__cta--primary,
.home-hero-item__actions.home-hero-item__cta--pill .is-disabled.home-hero-item__cta--secondary,
.home-hero-item__actions.home-hero-item__cta--pill .is-disabled.home-hero-item__cta--primary,
.btn.is-disabled:hover {
  cursor: default;
  cursor: not-allowed;
  color: #fff;
}

.btn--text {
  color: var(--theme-color);
  background-color: transparent;
  margin: 0;
  text-decoration: none;
  border: none;
  border-radius: 0;
  padding: 0;
}
@media (hover: hover) and (pointer: fine) {
  .btn--text:hover {
    color: var(--theme-color);
    background-color: transparent;
    text-decoration: underline;
  }
}

.btn--text-body {
  color: var(--theme-body-text-color);
  background-color: transparent;
  margin: 0;
  text-decoration: none;
  border: none;
  border-radius: 0;
  padding: 0;
  font-weight: 400;
}
@media (hover: hover) and (pointer: fine) {
  .btn--text-body:hover {
    color: var(--theme-body-text-color);
    background-color: transparent;
    text-decoration: underline;
  }
}

.btn:has(.o-icon), .page-header__footer.page-header__cta--pill .page-header__cta--secondary:has(.o-icon), .page-header__footer.page-header__cta--pill .page-header__cta--primary:has(.o-icon), .artist-header__footer .favorite-artist__button:has(.o-icon), .lot-header__footer .lot-header__cta--secondary:has(.o-icon), .lot-header__footer .lot-header__cta--primary:has(.o-icon), .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary:has(.o-icon), .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary:has(.o-icon) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.btn:has(.o-icon) .o-icon, .page-header__footer.page-header__cta--pill .page-header__cta--secondary:has(.o-icon) .o-icon, .page-header__footer.page-header__cta--pill .page-header__cta--primary:has(.o-icon) .o-icon, .artist-header__footer .favorite-artist__button:has(.o-icon) .o-icon, .lot-header__footer .lot-header__cta--secondary:has(.o-icon) .o-icon, .lot-header__footer .lot-header__cta--primary:has(.o-icon) .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary:has(.o-icon) .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary:has(.o-icon) .o-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.btn--loading {
  background-image: linear-gradient(-45deg, #0099ff, #0099ff 25%, rgba(0, 153, 255, 0.8) 25%, rgba(0, 153, 255, 0.8) 50%, #0099ff 50%, #0099ff 75%, rgba(0, 153, 255, 0.8) 75%, rgba(0, 153, 255, 0.8));
  background-color: #000;
  -webkit-animation: loadingButton 1000ms linear infinite;
          animation: loadingButton 1000ms linear infinite;
  background-size: 4em 4em;
  color: white;
  cursor: progress;
}
@media (hover: hover) and (pointer: fine) {
  .btn--loading:hover {
    background-color: #000;
    cursor: progress;
  }
}

.btn--pause > div, .btn--pause-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.btn--pause-desktop {
  display: none;
}
@media (min-width: 50em) {
  .btn--pause-desktop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .btn--pause-mobile {
    display: none;
  }
}

.btn--pause-desktop {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 10px;
  margin: 0;
  padding: 10px 15px;
  border: 0;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  background: transparent;
  cursor: pointer;
  z-index: 3;
  -webkit-transition: background-color 250ms ease, color 250ms ease;
  transition: background-color 250ms ease, color 250ms ease;
}
.btn--pause-desktop .o-icon {
  color: #fff;
  height: 30px;
  width: 30px;
  -webkit-transition: color 250ms ease;
  transition: color 250ms ease;
}
.btn--pause-desktop:hover {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
.btn--pause-desktop:hover .o-icon {
  color: var(--theme-body-text-color);
}

.btn--pause-mobile {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  border: 0;
  background-color: transparent;
  color: #fff;
  z-index: 3;
  margin: 0 0 0 auto;
}
.btn--pause-mobile .o-icon {
  color: #fff;
  height: 35px;
  width: 35px;
  margin-right: 5px;
}

@-webkit-keyframes loadingButton {
  to {
    background-position: 4em 0;
  }
}

@keyframes loadingButton {
  to {
    background-position: 4em 0;
  }
}
/* ==========================================================================
   Object: Buttons - For Blocks Office
   ========================================================================== */
.btn-primary {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .btn-primary:hover {
    background-color: transparent;
    color: #000;
    border-color: #000;
  }
}

.btn-secondary {
  background-color: transparent;
  border-color: #000;
  color: #000;
}
@media (hover: hover) and (pointer: fine) {
  .btn-secondary:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
  }
}

/* ==========================================================================
   Objects: Blocks
   ========================================================================== */
.o-slats {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 0;
}

.o-slats__item {
  display: block;
  font-weight: normal;
  padding: 0.5em 0;
  border-bottom: 1px solid #6A6A6A;
}
.o-slats__item:last-of-type {
  border-bottom: none;
}

/* ==========================================================================
   Object: Figures
   ========================================================================== */
.o-figure {
  position: relative;
  margin: 0;
}

.o-figure__media {
  width: 100%;
}

.o-figure__caption {
  font-size: 80%;
  margin: 0;
  position: absolute;
  bottom: 8px;
  left: 8px;
  padding: 0.3em 0.5em;
  background-color: rgba(0, 0, 0, 0.4);
  color: white;
}

/* ==========================================================================
   Object: Embeds
   ========================================================================== */
.o-embed {
  height: 0;
  position: relative;
  /*  Default 3:2 aspect-ratio */
  padding-bottom: 0.6666666667;
}

.o-embed--video {
  /*  16:9 aspect-ratio for video */
  padding-bottom: 0.5625;
}

.o-embed__iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ==========================================================================
   Globals
   ========================================================================== */
/* ==========================================================================
Global Alerts
========================================================================== */
.global-alerts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1px;
}

.global-alert {
  display: none;
}
.global-alert.visible {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.global-alert--info {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}

.global-alert--warning {
  background-color: #FF7719;
}

.global-alert--critical {
  background-color: #d00;
  color: #fff;
}

.global-alert--success {
  background-color: #1D6615;
  color: #fff;
}

.global-alert__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 15px;
  position: relative;
  width: 100%;
  font-size: 12px;
}
@media (min-width: 50em) {
  .global-alert__inner {
    font-size: 14px;
  }
}

.global-alert__message {
  text-align: left;
  text-transform: none;
  width: calc(100% - 35px);
  margin: 0;
}
@media (min-width: 50em) {
  .global-alert__message {
    padding: 0 70px 0 60px;
    text-align: center;
  }
}
.global-alert__message p:last-child {
  margin-bottom: 0;
}
.global-alert__message a {
  text-decoration: underline;
  font-weight: 700;
}

.global-alert__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  color: currentColor;
}
@media (min-width: 50em) {
  .global-alert__close {
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.global-alert__close .o-icon {
  width: 16px;
  height: 16px;
}

/* ==========================================================================
    Global Footer
    ========================================================================== */
.global-footer {
  background-color: #000;
  color: #fff;
  position: relative;
  padding: 0;
  z-index: 4;
  width: 100%;
}
.global-footer .lap-logo--desktop {
  display: none;
}
@media (min-width: 42.5em) {
  .global-footer .lap-logo--desktop {
    display: block;
  }
  .global-footer .lap-logo--mobile {
    display: none;
  }
}

.global-footer__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .global-footer__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .global-footer__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.global-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  padding-top: 30px;
}
@media (min-width: 42.5em) {
  .global-footer__inner {
    gap: 40px;
  }
}

@media (min-width: 42.5em) {
  .global-footer__feature-inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 40px;
  }
}
@media (min-width: 42.5em) and (min-width: 50em) {
  .global-footer__feature-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 42.5em) and (min-width: 100em) {
  .global-footer__feature-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .global-footer__feature-inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}

.global-footer__feature {
  background: #FEF2E3;
  color: #000;
}
@media (min-width: 42.5em) {
  .global-footer__feature {
    padding: 40px 0;
  }
}

.global-footer__logos {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding: 30px 0;
}
@media (max-width: 42.49em) {
  .global-footer__logos {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
@media (max-width: 42.49em) and (min-width: 50em) {
  .global-footer__logos {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 42.49em) and (min-width: 100em) {
  .global-footer__logos {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 42.5em) {
  .global-footer__logos {
    gap: 50px;
    padding: 20px 0;
  }
}
@media (min-width: 80em) {
  .global-footer__logos {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.global-footer__logo .o-icon {
  width: 96px;
  height: 90px;
}
@media (min-width: 80em) {
  .global-footer__logo .o-icon {
    width: 117px;
    height: 111px;
  }
}

@media (min-width: 80em) {
  .global-footer__logos-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 25px;
  }
}

.global-footer__logo-list {
  display: grid;
  grid-template-columns: repeat(6, auto);
  grid-template-rows: repeat(2, 1fr);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-areas: "lap lap lap yola yola yola" "wdch wdch hwb hwb ford ford";
  margin-bottom: 30px;
  gap: 25px 15px;
}
@media (min-width: 80em) {
  .global-footer__logo-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
  }
  .global-footer__logo-list .global-footer__logo-item--lap {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .global-footer__logo-list .global-footer__logo-item--wdch {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .global-footer__logo-list .global-footer__logo-item--hwb {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .global-footer__logo-list .global-footer__logo-item--ford {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .global-footer__logo-list .global-footer__logo-item--yola {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
}

@media (max-width: 42.49em) {
  .global-footer__logo-item {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 30px 15px;
  }
}
@media (min-width: 80em) {
  .global-footer__logo-item {
    padding-right: 25px;
  }
}

.global-footer__logo-item .o-icon {
  width: 100%;
  height: 24px;
}
@media (min-width: 42.5em) {
  .global-footer__logo-item .o-icon {
    height: 30px;
  }
}

@media (max-width: 79.99em) {
  .global-footer__logo-item--lap {
    position: relative;
  }
  .global-footer__logo-item--lap:after {
    position: absolute;
    content: "";
    background-color: #000;
    width: 1px;
    height: 100%;
    right: -9px;
    bottom: 0;
  }
  .global-footer__logo-item--hwb {
    position: relative;
  }
  .global-footer__logo-item--hwb:before, .global-footer__logo-item--hwb:after {
    position: absolute;
    content: "";
    background-color: #000;
    width: 1px;
    height: 100%;
    bottom: 0;
  }
  .global-footer__logo-item--hwb:before {
    left: 1px;
  }
  .global-footer__logo-item--hwb:after {
    right: 1px;
  }
}
.global-footer__logo-item--lap {
  grid-area: lap;
}
.global-footer__logo-item--lap .o-icon {
  height: 36px;
}

.global-footer__logo-item--yola {
  grid-area: yola;
}
.global-footer__logo-item--yola .o-icon {
  height: 28px;
}

.global-footer__logo-item--wdch {
  grid-area: wdch;
}

.global-footer__logo-item--hwb {
  grid-area: hwb;
}
.global-footer__logo-item--hwb .o-icon {
  height: 27px;
}
@media (min-width: 42.5em) {
  .global-footer__logo-item--hwb .o-icon {
    height: 31px;
  }
}

.global-footer__logo-item--ford {
  grid-area: ford;
}
.global-footer__logo-item--ford .o-icon {
  height: 25px;
}

.global-footer__content p {
  margin: 0;
  font-size: 16px;
  text-wrap: pretty;
}
@media (max-width: 42.49em) {
  .global-footer__content p {
    line-height: 1.2;
  }
}
@media (min-width: 72em) {
  .global-footer__content p {
    font-size: 18px;
  }
}

.global-footer__cta {
  padding: 30px 0 0;
}
@media (max-width: 42.49em) {
  .global-footer__cta {
    background-color: #000;
    color: #fff;
  }
  .global-footer__cta .btn-arrow .o-icon, .global-footer__cta .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .global-footer__cta .page-header__cta--primary .o-icon,
  .global-footer__cta .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
  .page-header__footer.page-header__cta--text .global-footer__cta .page-header__cta--secondary .o-icon, .global-footer__cta .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .global-footer__cta .home-hero-item__cta--primary .o-icon,
  .global-footer__cta .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
  .home-hero-item__actions.home-hero-item__cta--link .global-footer__cta .home-hero-item__cta--secondary .o-icon {
    color: #fff;
  }
}
@media (min-width: 42.5em) {
  .global-footer__cta {
    max-width: 450px;
    padding: 15px 0;
  }
}
@media (min-width: 62.5em) {
  .global-footer__cta {
    padding: 20px 0 20px 30px;
    border-left: 1px solid;
  }
}

@media (max-width: 42.49em) {
  .global-footer__cta-inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 42.49em) and (min-width: 50em) {
  .global-footer__cta-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 42.49em) and (min-width: 100em) {
  .global-footer__cta-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.global-footer__cta-title {
  font-weight: 700;
}
@media (max-width: 42.49em) {
  .global-footer__cta-title {
    font-size: 24px;
  }
}

.global-footer__cta-content {
  font-size: 16px;
}
@media (max-width: 42.49em) {
  .global-footer__cta-content {
    line-height: 1.2;
  }
}
@media (min-width: 72em) {
  .global-footer__cta-content {
    font-size: 18px;
  }
}

.global-footer__nav {
  width: 100%;
}
@media (min-width: 42.5em) {
  .global-footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0;
    gap: 20px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 62.5em) {
  .global-footer__nav {
    width: calc(57% - 20px);
  }
}

.global-footer-list__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}
@media (max-width: 42.49em) {
  .global-footer-list__nav {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (min-width: 42.5em) {
  .global-footer-list__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media (max-width: 42.49em) {
  .global-footer-list__link {
    width: calc(50% - 2.5px);
  }
}
.global-footer-list__link:hover {
  text-decoration: underline;
}

.global-footer-list__item {
  width: 100%;
}
@media (max-width: 42.49em) {
  .global-footer-list__item {
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    padding: 20px 0;
  }
}
@media (min-width: 42.5em) {
  .global-footer-list__item {
    width: 33.33%;
  }
}

.global-footer-list__title {
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 10px;
  display: inline-block;
}

.global-newsletter {
  width: 100%;
  padding: 0;
}
@media (min-width: 62.5em) {
  .global-newsletter {
    width: calc(43% - 20px);
    padding: 20px 0 20px 30px;
    border-left: 1px solid;
  }
}

.global-newsletter__title {
  font-weight: 700;
  margin-bottom: 10px;
}
@media (max-width: 42.49em) {
  .global-newsletter__title {
    font-size: 24px;
  }
}
@media (min-width: 42.5em) {
  .global-newsletter__title {
    margin-bottom: 3px;
  }
}

.global-newsletter__content {
  font-size: 16px;
  max-width: 420px;
}
@media (max-width: 42.49em) {
  .global-newsletter__content {
    margin-bottom: 20px;
    line-height: 1.2;
  }
}
@media (min-width: 42.5em) {
  .global-newsletter__content {
    font-size: 18px;
  }
}

.global-newsletter__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 450px;
  margin-bottom: 40px;
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.global-newsletter__form label {
  position: absolute;
  top: 60px;
  left: 0;
  font-size: 12px;
}

.global-newsletter__form input[type=email] {
  border-radius: 3px 0 0 3px;
  border: none;
  padding: 15px 10px;
  width: calc(100% - 100px);
  font-weight: 700;
  font-size: 18px;
}
.global-newsletter__form input[type=email]::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
.global-newsletter__form input[type=email]::-moz-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
.global-newsletter__form input[type=email]:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
.global-newsletter__form input[type=email]::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
.global-newsletter__form input[type=email]::placeholder {
  color: rgba(0, 0, 0, 0.3);
}

.global-newsletter__form button {
  width: 100px;
  border: none;
  background-color: #09F;
  border-radius: 0 3px 3px 0;
  font-weight: 700;
  font-size: 18px;
  color: var(--theme-body-text-color);
}

.global-newsletter__message {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 14px;
}
.global-newsletter__message--has-message {
  margin-top: 10px;
}

.global-newsletter__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px;
}

.global-newsletter__socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 42.49em) {
  .global-newsletter__socials {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.global-newsletter__social-icon {
  border-radius: 50%;
  border: 2px solid #fff;
  width: 36px;
  height: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 42.5em) {
  .global-newsletter__social-icon {
    width: 32px;
    height: 32px;
  }
}
.global-newsletter__social-icon:hover {
  background-color: #fff;
  color: #000;
}

.global-newsletter__social-icon .o-icon {
  width: 20px;
  height: 20px;
}
@media (min-width: 42.5em) {
  .global-newsletter__social-icon .o-icon {
    width: 17px;
    height: 17px;
  }
}

.global-newsletter__cta {
  display: none;
}
@media (min-width: 42.5em) {
  .global-newsletter__cta {
    display: inline-block;
  }
}

.global-newsletter__live-chat {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 50px;
  padding: 4px 15px;
  font-size: 14px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.global-newsletter__live-chat:hover {
  background-color: #fff;
  color: #000;
}

.global-newsletter__live-chat .o-icon {
  width: 24px;
  height: 24px;
  margin-right: 10px;
}

.global-footer__footer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  padding: 20px 0 40px;
}
@media (max-width: 42.49em) {
  .global-footer__footer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
  }
}

.global-footer__footer-nav {
  gap: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 42.49em) {
  .global-footer__footer-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 42.5em) {
  .global-footer__footer-nav {
    gap: 60px;
  }
}

.global-footer__copyright {
  margin: 0;
}
@media (max-width: 42.49em) {
  .global-footer__copyright {
    font-size: 14px;
  }
}

.global-footer__footer-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}

@media (max-width: 42.49em) {
  .global-footer__footer-nav-item {
    text-decoration: underline;
  }
}
.global-footer__footer-nav-item:hover {
  text-decoration: underline;
}

.language-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
@media (max-width: 42.49em) {
  .language-toggle {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.language-toggle__item {
  padding-right: 20px;
  border-right: 1px solid rgba(255, 255, 255, 0.5);
  color: rgba(255, 255, 255, 0.7);
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.language-toggle__item:last-child {
  padding-right: 0;
  border-right: none;
}
.language-toggle__item.is-active, .language-toggle__item:hover {
  color: #fff;
  text-decoration: underline;
}

/*  ==========================================================================
    Global Header
    ========================================================================== */
.global-header {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  background-color: #fff;
  anchor-name: --global-header;
}

.global-header__inner {
  padding: 15px;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .global-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .global-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.global-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 62.5em) {
  .global-header__inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.global-header__logo .o-icon--logo-la-phil {
  width: 120px;
  height: 32px;
}
@media (min-width: 72em) {
  .global-header__logo .o-icon--logo-la-phil {
    width: 170px;
    height: 45px;
  }
}
.global-header__logo .o-icon--logo-hollywood-bowl {
  width: 85px;
  height: 38px;
}
@media (min-width: 72em) {
  .global-header__logo .o-icon--logo-hollywood-bowl {
    width: 106px;
    height: 48px;
  }
}
.global-header__logo .o-icon--logo-the-ford {
  width: 110px;
  height: 32px;
}
@media (min-width: 72em) {
  .global-header__logo .o-icon--logo-the-ford {
    width: 138px;
    height: 40px;
  }
}

.global-header__logo--small .o-icon--logo-la-phil {
  width: 120px;
  height: 32px;
  display: none;
}
@media (min-width: 72em) {
  .global-header__logo--small .o-icon--logo-la-phil {
    width: 138px;
    height: 36px;
    display: inline-block;
  }
}
.global-header__logo--small .o-icon--logo-la-phil-stacked {
  display: inline-block;
  width: 35px;
  height: 35px;
}
@media (min-width: 72em) {
  .global-header__logo--small .o-icon--logo-la-phil-stacked {
    display: none;
  }
}
.global-header__logo--small .o-icon--logo-yola {
  width: 120px;
  height: 36px;
  margin-left: 10px;
  padding-left: 10px;
  border-left: 2px solid;
}
@media (min-width: 72em) {
  .global-header__logo--small .o-icon--logo-yola {
    margin-left: 15px;
  }
}

.global-header__nav {
  display: none;
}
@media (min-width: 62.5em) {
  .global-header__nav {
    display: block;
  }
}

/*  ==========================================================================
    Global Header - Top Bar
    ========================================================================== */
.global-top-bar {
  background-color: #000;
  color: rgba(255, 255, 255, 0.5);
  display: none;
}
@media (min-width: 62.5em) {
  .global-top-bar {
    display: block;
  }
}

.global-top-bar__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .global-top-bar__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .global-top-bar__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.global-top-bar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.global-top-bar__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.global-top-bar__nav-item {
  border-right: 1px solid;
  color: rgba(255, 255, 255, 0.5);
  padding: 3px;
}
.global-top-bar__nav-item:first-child {
  border-left: 1px solid;
}

.global-top-bar__nav-link {
  padding: 10px 10px;
  display: block;
  font-size: 12px;
  font-weight: 700;
  -webkit-transition: 0.2s cubic-bezier(0.8, 0, 0.2, 1);
  transition: 0.2s cubic-bezier(0.8, 0, 0.2, 1);
}
.global-top-bar__nav-link.is-active, .global-top-bar__nav-link:hover {
  background: var(--brand-color);
  color: var(--brand-body-text-color);
}
@media (min-width: 80em) {
  .global-top-bar__nav-link {
    font-size: 13px;
    padding: 10px 15px 9px;
  }
}

.global-top-bar__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
}

.global-top-bar__donate-btn {
  border: 1px solid;
  border-radius: 20px;
  padding: 4px 15px;
  font-size: 12px;
  font-weight: bold;
  -webkit-transition: 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: 250ms cubic-bezier(0.8, 0, 0.2, 1);
  color: #fff;
  display: block;
}
.global-top-bar__donate-btn:hover {
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

.global-top-bar__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-left: 1px solid;
  padding: 3px 0 3px 5px;
}
@media (min-width: 80em) {
  .global-top-bar__list {
    padding: 3px 0 3px 10px;
  }
}

.global-top-bar__icon,
.global-top-bar__cart {
  color: rgba(255, 255, 255, 0.8);
}
.global-top-bar__icon .o-icon,
.global-top-bar__cart .o-icon {
  width: 22px;
  height: 22px;
  min-width: 22px;
}

.global-top-bar__icon-item.global-search__toggle {
  border: none;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}
.global-top-bar__icon-item.global-search__toggle .o-icon {
  width: 20px;
  height: 20px;
  min-width: 20px;
}

.global-top-bar__icon-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.global-top-bar__icon-item:not(:last-child) {
  padding-right: 10px;
}
.global-top-bar__icon-item:hover .global-top-bar__icon {
  color: #fff;
}

.global-top-bar__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: color 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 500ms cubic-bezier(0.8, 0, 0.2, 1);
}

.global-top-bar__icon-title {
  display: block;
  word-wrap: normal;
  white-space: nowrap;
  font-weight: 700;
  font-size: 14px;
  padding-left: 5px;
  overflow: hidden;
  max-width: 0;
  -webkit-transition: max-width 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: max-width 500ms cubic-bezier(0.8, 0, 0.2, 1);
}

@media (min-width: 72em) {
  .global-top-bar__icon-item:hover .global-top-bar__icon-title,
  .account-menu__btn.is-active .global-top-bar__icon-title {
    max-width: 200px;
  }
}

.global-top-bar__cart {
  font-weight: 700;
  font-size: 14px;
  -webkit-transition: color 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  transition: color 0.4s cubic-bezier(0.8, 0, 0.2, 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7px;
}
.global-top-bar__cart:hover {
  color: #fff;
}
.global-top-bar__cart .o-icon {
  width: 23px;
  height: 23px;
  min-width: 23px;
}

.global-top-bar__cart-container {
  position: relative;
}
.global-top-bar__cart-container .cart-number {
  background-color: #fff;
  color: #000;
  border-radius: 50%;
  position: absolute;
  top: -4px;
  right: -8px;
  line-height: 15px;
  font-size: 10px;
  display: block;
  width: 17px;
  height: 17px;
  text-align: center;
  border: 2px solid black;
}

.global-top-bar__favorite-container {
  position: relative;
  margin-right: 5px;
}
.global-top-bar__favorite-container .favorite-number {
  background-color: #fff;
  color: #000;
  border-radius: 50%;
  position: absolute;
  top: -4px;
  right: -8px;
  line-height: 15px;
  font-size: 10px;
  display: block;
  width: 17px;
  height: 17px;
  text-align: center;
  border: 2px solid black;
}

/*  ==========================================================================
    Global Header - Mobile
    ========================================================================== */
.global-header__nav-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 62.5em) {
  .global-header__nav-mobile {
    display: none;
  }
}

.global-header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
  z-index: 3;
  cursor: pointer;
  font-size: 12px;
  color: #000;
  font-weight: 700;
  width: 30px;
}
.user-is-tabbing .global-header__menu:focus {
  outline: 2px solid #000;
  outline-offset: 5px;
}

.menu-icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  border: hidden;
  width: 24px;
  height: 24px;
  -webkit-transition: all 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: all 250ms cubic-bezier(0.8, 0, 0.2, 1);
  margin-bottom: 4px;
}

.menu-icon__line {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: var(--link-color);
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.menu-icon__line--1 {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
}

.menu-icon__line--2 {
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
}

.global-header__menu-close {
  display: none;
}

.global-header__menu.is-toggled .menu-icon__line--1 {
  -webkit-transform: translateY(0) rotate(45deg) scaleX(1.05);
          transform: translateY(0) rotate(45deg) scaleX(1.05);
}
.global-header__menu.is-toggled .menu-icon__line--2 {
  -webkit-transform: translateY(0) rotate(-45deg) scaleX(1.05);
          transform: translateY(0) rotate(-45deg) scaleX(1.05);
}
.global-header__menu.is-toggled .menu-icon__line--3 {
  opacity: 0;
}
.global-header__menu.is-toggled .global-header__menu-open {
  display: none;
}
.global-header__menu.is-toggled .global-header__menu-close {
  display: block;
}

.global-header__calendar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 12px;
  color: #000;
  font-weight: 700;
  padding-right: 10px;
}
.global-header__calendar .o-icon {
  width: 28px;
  height: 28px;
}

.global-header__account {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
body.items-in-cart .global-header__account {
  display: none;
}
.global-header__account .o-icon {
  width: 28px;
  height: 28px;
}

.global-header__cart {
  padding-right: 15px;
  margin-right: 10px;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: none;
}
body.items-in-cart .global-header__cart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.global-header__cart-container {
  position: relative;
}
.global-header__cart-container .o-icon {
  width: 24px;
  height: 24px;
}
.global-header__cart-container .cart-number {
  background-color: #000;
  color: #fff;
  border-radius: 50%;
  position: absolute;
  top: -4px;
  right: -8px;
  line-height: 15px;
  font-size: 10px;
  display: block;
  width: 17px;
  height: 17px;
  text-align: center;
  border: 2px solid black;
  font-weight: 700;
}

/*  ==========================================================================
    Global Navs
    ========================================================================== */
.global-navs {
  position: relative;
}

/*  ==========================================================================
    Global Navigation - Mobile
    ========================================================================== */
.global-nav-mobile {
  position: fixed;
  top: var(--global-header-height);
  left: 0;
  height: calc(100svh - var(--global-header-height));
  width: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.global-nav-mobile::-webkit-scrollbar-thumb, .global-nav-mobile::-webkit-scrollbar, .global-nav-mobile::-webkit-scrollbar-track {
  background-color: transparent;
  display: none;
}
.global-nav-mobile.is-toggled {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: background-color 0.2s ease 0.4s, -webkit-transform 0.5s ease;
  transition: background-color 0.2s ease 0.4s, -webkit-transform 0.5s ease;
  transition: transform 0.5s ease, background-color 0.2s ease 0.4s;
  transition: transform 0.5s ease, background-color 0.2s ease 0.4s, -webkit-transform 0.5s ease;
  background-color: rgba(0, 0, 0, 0.5);
}
@media (min-width: 62.5em) {
  .global-nav-mobile {
    display: none;
  }
}

.global-nav-mobile__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  background-color: #000;
}
@media (min-width: 42.5em) {
  .global-nav-mobile__inner {
    max-width: 450px;
  }
}

.global-nav-mobile__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 15px;
}

.global-nav-mobile__search-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 30px;
  color: #fff;
}
.global-nav-mobile__search-wrapper .o-icon {
  position: absolute;
  right: 20px;
  width: 20px;
  height: 20px;
  color: #fff;
}

input[type=search].global-nav-mobile__search-input {
  color: #fff;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 12px 40px 12px 20px;
  width: 100%;
  -webkit-transition: border-bottom-color 0.3s ease;
  transition: border-bottom-color 0.3s ease;
  font-size: 14px;
}
.user-is-tabbing input[type=search].global-nav-mobile__search-input:focus {
  outline: 2px solid #fff;
}
input[type=search].global-nav-mobile__search-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
input[type=search].global-nav-mobile__search-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
input[type=search].global-nav-mobile__search-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
input[type=search].global-nav-mobile__search-input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
input[type=search].global-nav-mobile__search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.global-nav-mobile__search-submit {
  color: #000;
  background-color: transparent;
  border: none;
  padding: 0;
}
.global-nav-mobile__search-submit:focus {
  outline: 2px solid var(--theme-color-dark);
}

.global-nav-mobile__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  background-color: #09F;
  padding: 15px;
  text-transform: uppercase;
  z-index: 2;
}
.global-nav-mobile__buttons .o-icon {
  width: 20px;
  height: 20px;
  color: #3d3d3d;
}
.global-nav-mobile__buttons.logged-in {
  display: none;
}

body.user-logged-in .global-nav-mobile__buttons.logged-out {
  display: none;
}
body.user-logged-in .global-nav-mobile__buttons.logged-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/*  ==========================================================================
     Global Navigation - Mobile Nav
    ========================================================================== */
.global-nav-mobile__list {
  background-color: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: auto;
  white-space: nowrap;
  scrollbar-width: none;
}
.global-nav-mobile__list::-webkit-scrollbar {
  display: none;
}

.global-nav-mobile__list-item {
  color: #000;
  font-size: 12px;
  font-weight: bold;
  padding: 10px 15px;
  display: inline-block;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
@media (min-width: 42.5em) {
  .global-nav-mobile__list-item {
    font-size: 12px;
    padding: 10px 15px;
  }
}

.mobile-nav-group, .global-nav__item-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding-bottom: 15px;
  margin-bottom: 15px;
}

.mobile-nav-group__header-title {
  font-weight: 700;
  font-size: 24px;
}

.mobile-nav-group__title {
  font-size: 12px;
  text-transform: uppercase;
}
@media (min-width: 42.5em) {
  .mobile-nav-group__title {
    font-size: 14px;
  }
}

.mobile-nav-group__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.mobile-nav-group__button, .mobile-nav-group__button--small {
  background: transparent;
  border: none;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: bold;
  font-size: 24px;
  padding: 0;
  width: 100%;
  text-align: left;
  cursor: pointer;
}
.mobile-nav-group__button .o-icon, .mobile-nav-group__button--small .o-icon {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  width: 24px;
  height: 24px;
}
@media (min-width: 42.5em) {
  .mobile-nav-group__button, .mobile-nav-group__button--small {
    font-size: 22px;
  }
}

.mobile-nav-group__button--small {
  font-size: 18px;
}
.mobile-nav-group__button--small .o-icon {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  width: 18px;
  height: 18px;
}

.global-nav-mobile__footer {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  padding: 10px 15px;
}

.global-nav-mobile__donate-btn {
  border: 1px solid;
  border-radius: 20px;
  padding: 4px 15px;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  color: #fff;
  display: block;
}

.global-nav-mobile__footer-item .o-icon {
  width: 24px;
  height: 24px;
}

.global-nav-mobile__footer-item-title {
  font-size: 14px;
  font-weight: bold;
}

.global-nav-mobile__footer-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.global-nav-mobile__footer-item .o-icon--language {
  fill: #000;
}
.global-nav-mobile__footer-item .language-toggle {
  padding-left: 1px;
  gap: 0;
}
.global-nav-mobile__footer-item .language-toggle__item {
  font-size: 14px;
  font-weight: bold;
  padding: 0 15px;
}
.global-nav-mobile__footer-item .language-toggle__item:first-child {
  padding-left: 0;
}

.global-nav-mobile .global-nav-mobile__items {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.global-nav-mobile .global-nav {
  position: relative;
  height: 100%;
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
  isolation: isolate;
}
.global-nav-mobile .global-nav__inner {
  height: 100%;
  width: 100%;
  overflow: visible;
  background: #000;
}
.global-nav-mobile .global-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 100%;
  top: 0;
  padding: 5px 15px 0 15px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  z-index: 5;
  -webkit-overflow-scrolling: touch;
  background-color: #000;
}
.global-nav-mobile .global-nav__list:not(.is-active) {
  overflow: initial;
  -webkit-overflow-scrolling: touch;
}
.global-nav-mobile .global-nav__list > ul:first-child {
  height: auto;
  background-color: #fff;
}
.global-nav-mobile .global-nav__account {
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
  padding-top: 25px;
  margin-top: 40px;
}
.global-nav-mobile .global-nav__account .global-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.global-nav-mobile .global-nav__account-arrow {
  margin-top: -5px;
}
.global-nav-mobile .global-nav__description {
  font-size: 14px;
  margin-top: 10px;
  padding-right: 40px;
}
.global-nav-mobile .global-nav__item.has-child > ul > .global-nav__item.has-child.global-nav__item--active > ul > li > ul {
  overflow-y: auto;
}
.global-nav-mobile .global-nav__list.global-nav--level-0 {
  left: 0;
  z-index: 2;
}
.global-nav-mobile .global-nav__list.global-nav--level-0.no-scroll {
  overflow: hidden;
}
.global-nav-mobile .global-nav__list.is-active {
  -webkit-transform: translate3d(calc(-100% - 15px), 0, 0);
          transform: translate3d(calc(-100% - 15px), 0, 0);
}
.global-nav-mobile .global-nav__item--active > .global-nav__child {
  z-index: 2;
}
.global-nav-mobile .global-nav__item:not(.global-nav__item--active) ul {
  display: none;
}
.global-nav-mobile .global-nav__item.global-nav__item--active > ul {
  display: block;
}
.global-nav-mobile .global-nav__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  word-break: break-word;
}
.global-nav-mobile .global-nav__item-arrow {
  color: #fff;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
}
@media (min-width: 62.5em) {
  .global-nav-mobile .global-nav__item-arrow {
    width: 40px;
    height: 40px;
  }
}
.global-nav-mobile .global-nav__item-arrow .o-icon {
  width: 24px;
  height: 24px;
}
.global-nav-mobile .global-nav__item--back {
  margin-top: 0;
  padding-bottom: 25px;
  top: 0;
  background: #000;
  position: sticky;
}
.global-nav-mobile .global-nav__child.global-nav__list {
  padding: 0;
  background-color: #000;
  width: calc(100% - 30px);
  z-index: 5;
  overflow: auto;
}
.global-nav-mobile .global-nav__back {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: none;
  margin: 0;
  padding: 0;
  background: transparent;
  font-weight: 700;
  font-size: 14px;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}
@media (min-width: 42.5em) {
  .global-nav-mobile .global-nav__back {
    font-size: 16px;
  }
}
.global-nav-mobile .global-nav__back::-moz-focus-inner {
  border: 0;
  padding: 0;
}
.global-nav-mobile .global-nav__back .o-icon {
  width: 16px;
  height: 16px;
  rotate: 90deg;
}

/*  ==========================================================================
    Global Navigation - Desktop
    ========================================================================== */
.global-nav-desktop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.global-nav-desktop__group {
  border-left: 1px solid rgba(0, 0, 0, 0.4);
  padding: 5px 15px;
}
@media (min-width: 82.5em) {
  .global-nav-desktop__group {
    padding: 5px 30px;
  }
}

.global-nav-desktop__group-title {
  font-size: 14px;
}

.global-nav-desktop__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
@media (min-width: 80em) {
  .global-nav-desktop__list {
    gap: 40px;
  }
}

.nav-desktop-item {
  margin-top: 5px;
}

.nav-desktop-item__button {
  border: none;
  background-color: transparent;
  padding: 0;
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}
.nav-desktop-item__button .o-icon {
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
@media (min-width: 72em) {
  .nav-desktop-item__button {
    font-size: 16px;
  }
}
.nav-desktop-item__button.is-active .nav-desktop-item__button-title:after, .nav-desktop-item__button[aria-expanded=true] .nav-desktop-item__button-title:after {
  opacity: 1;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.nav-desktop-item__button.is-active .o-icon, .nav-desktop-item__button[aria-expanded=true] .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.nav-desktop-item__button:hover .nav-desktop-item__button-title:after {
  opacity: 1;
}

.nav-desktop-item__button-title {
  position: relative;
}
.nav-desktop-item__button-title:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 3px;
  background-color: #000;
  opacity: 0;
}

.nav-desktop-item__button .o-icon {
  width: 14px;
  height: 14px;
  margin-top: -2px;
}

/*  ==========================================================================
    Global Navigation - Desktop - Popover
    ========================================================================== */
.nav-desktop-popover {
  width: 100%;
  border: none;
  padding: 25px 0 60px;
  background: #000;
  color: #fff;
  position-anchor: --global-header;
  position-area: bottom;
  margin: unset;
}

.nav-desktop-popover__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .nav-desktop-popover__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .nav-desktop-popover__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.nav-desktop-popover__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 50px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.nav-desktop-popover__title {
  position: relative;
  width: 100%;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
.nav-desktop-popover__title:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.nav-desktop-popover__title-text {
  display: block;
}

.nav-feature-link {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(25% - 50px);
          flex: 1 1 calc(25% - 50px);
}
.nav-feature-link .btn-arrow .o-icon, .nav-feature-link .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .nav-feature-link .page-header__cta--primary .o-icon,
.nav-feature-link .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
.page-header__footer.page-header__cta--text .nav-feature-link .page-header__cta--secondary .o-icon, .nav-feature-link .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .nav-feature-link .home-hero-item__cta--primary .o-icon,
.nav-feature-link .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .nav-feature-link .home-hero-item__cta--secondary .o-icon {
  color: #fff;
}
.nav-feature-link:hover .btn-arrow .o-icon, .nav-feature-link:hover .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .nav-feature-link:hover .page-header__cta--primary .o-icon,
.nav-feature-link:hover .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
.page-header__footer.page-header__cta--text .nav-feature-link:hover .page-header__cta--secondary .o-icon, .nav-feature-link:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .nav-feature-link:hover .home-hero-item__cta--primary .o-icon,
.nav-feature-link:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .nav-feature-link:hover .home-hero-item__cta--secondary .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.nav-feature-link__title {
  margin-top: 15px;
}

.nav-feature-link__media {
  width: 100%;
}

.nav-feature-link__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.nav-feature-link__intrinsic-ratio {
  position: relative;
  padding-bottom: 50%;
  height: 0;
}

.nav-feature-link__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 0.3s cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 0.3s cubic-bezier(0.1, 0.75, 0.65, 1), -webkit-transform 0.3s cubic-bezier(0.1, 0.75, 0.65, 1);
}
.nav-feature-link:hover .nav-feature-link__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.nav-feature-link__subnav {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(75% - 50px);
          flex: 1 1 calc(75% - 50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 50px;
}

.subnav-desktop {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(25% - 50px);
          flex: 1 1 calc(25% - 50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding-right: 40px;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}
.subnav-desktop:last-child {
  border-right: none;
}

.subnav-desktop__title {
  font-size: 14px;
  text-transform: uppercase;
}

.subnav-desktop__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
}

.subnav-desktop__link {
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
  display: inline-block;
  text-wrap: balance;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}
@media (min-width: 72em) {
  .subnav-desktop__link {
    font-size: 18px;
  }
}
.subnav-desktop__link .o-icon {
  width: 14px;
  height: 14px;
  margin-left: 5px;
  opacity: 0;
  -webkit-transition: opacity 0.1s ease-in-out;
  transition: opacity 0.1s ease-in-out;
}
.subnav-desktop__link:hover {
  color: #fff;
}
.subnav-desktop__link:hover .o-icon {
  opacity: 1;
}

/*  ==========================================================================
    Global Navigation - Desktop - Search
    ========================================================================== */
.global-header__search {
  margin-top: var(--global-header-height);
  width: 100%;
  background-color: #000;
  overflow: visible;
}

.global-header__search-inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .global-header__search-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .global-header__search-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.global-header__search-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.global-search {
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 0 20px;
  margin: 10px 0;
}

input[type=search].global-search__input {
  width: 300px;
  background-color: #000;
  border: none;
  color: #fff;
  font-size: 16px;
  padding: 10px 0;
  border-radius: 50px/50px;
}
.search-autosuggest.is-active input[type=search].global-search__input {
  border-radius: 50px 50px 0 0/50px;
}

.global-search__submit {
  background: transparent;
  border: none;
  color: white;
  cursor: pointer;
}

.global-search__submit .o-icon {
  width: 22px;
  height: 22px;
}

/*  ==========================================================================
    Global Navigation - Desktop - Animation
    ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
  .nav-desktop-item__button-title:after {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1.5px;
    bottom: 0;
    left: 0;
    background-color: #000;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    opacity: 1;
  }
  .nav-desktop-item__button:hover .nav-desktop-item__button-title:after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  .nav-desktop-item__button:active .nav-desktop-item__button-title:after {
    -webkit-transform: scaleX(1.1);
            transform: scaleX(1.1);
  }
  .nav-desktop-popover {
    -webkit-transition: display 250ms, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
    transition: display 250ms, opacity 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
    transition: display 250ms, opacity 250ms ease-in-out, transform 250ms ease-in-out;
    transition: display 250ms, opacity 250ms ease-in-out, transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
    transition-behavior: allow-discrete;
    opacity: 1;
  }
  @starting-style {
    .nav-desktop-popover {
      opacity: 0;
      -webkit-transform: translateY(-1%);
              transform: translateY(-1%);
    }
  }
  .nav-desktop-popover:not(:popover-open) {
    opacity: 0;
    -webkit-transform: translateY(-1%);
            transform: translateY(-1%);
  }
  .nav-desktop-popover__title:after {
    width: 0;
    -webkit-transition: width 200ms cubic-bezier(0.8, 0, 0.2, 1) 100ms;
    transition: width 200ms cubic-bezier(0.8, 0, 0.2, 1) 100ms;
  }
  .nav-desktop-popover__title-text {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    -webkit-transition: opacity 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms, -webkit-transform 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
    transition: opacity 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms, -webkit-transform 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
    transition: transform 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms, opacity 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
    transition: transform 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms, opacity 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms, -webkit-transform 200ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
  }
  .nav-feature-link__media,
  .nav-feature-link__title,
  .subnav-desktop {
    opacity: 0;
    -webkit-transition: opacity 300ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
    transition: opacity 300ms cubic-bezier(0.1, 0.75, 0.65, 1) 125ms;
  }
  .desktop-nav-open .nav-desktop-popover {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .desktop-nav-open .nav-desktop-popover:not(:popover-open) {
    opacity: 0;
  }
  .desktop-nav-open .nav-desktop-popover__title:after {
    width: 100%;
  }
  .desktop-nav-open .nav-desktop-popover__title-text {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .desktop-nav-open .nav-feature-link__media {
    opacity: 1;
  }
  .desktop-nav-open .nav-feature-link__title {
    opacity: 1;
  }
  .desktop-nav-open .subnav-desktop {
    opacity: 1;
  }
}
/*  ==========================================================================
	Global Navigation
	========================================================================== */
.global-search {
  position: relative;
}

/* ==========================================================================
   Modules
   ========================================================================== */
/*  ==========================================================================
	Accordion Block
	========================================================================== */
.accordion-block {
  position: relative;
  margin: 30px 0;
}
@media (min-width: 50em) {
  .accordion-block {
    margin: var(--content-margin-small);
  }
}

.accordion-block + .accordion-block {
  margin-top: 40px;
}
@media (min-width: 62.5em) {
  .accordion-block + .accordion-block {
    margin-top: 100px;
  }
}

.accordion-block__inner {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .accordion-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .accordion-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.accordion-block__inner {
  position: relative;
  padding-top: 30px;
}
.accordion-block__inner:before {
  position: absolute;
  content: "";
  background-color: #000;
  height: 2px;
  width: calc(100% - 30px);
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media (min-width: 62.5em) {
  .accordion-block__inner {
    padding-top: 40px;
  }
}

.accordion-block__title {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .accordion-block__title {
    margin-bottom: 30px;
  }
}

.accordion-block__description {
  font-size: var(--global-body-text);
  margin-top: -10px;
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .accordion-block__description {
    margin-top: -15px;
    margin-bottom: 30px;
  }
}

.accordion-block__item {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
}
.accordion-block__item:after {
  position: absolute;
  content: "";
  background-color: #000;
  height: 1px;
  width: 100%;
  top: -1px;
  left: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.accordion-block__item[open]:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.accordion-block__item:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.accordion-block__name {
  margin: 0;
  padding: 20px 0;
}

.accordion-block__item__header {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  cursor: pointer;
}
.accordion-block__item__header .o-icon {
  width: 30px;
  height: 30px;
  -webkit-transition: rotate 0.2s ease-in-out;
  transition: rotate 0.2s ease-in-out;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 16px;
}
@media (min-width: 62.5em) {
  .accordion-block__item__header .o-icon {
    margin-top: 20px;
  }
}
.accordion__item[open] .accordion-block__item__header .o-icon {
  rotate: 45deg;
}

.accordion-block__content {
  padding-bottom: 20px;
}

.accordion-block__cta {
  margin-top: 0;
}
@media (min-width: 50em) {
  .accordion-block__cta {
    margin-top: 30px;
  }
}

/*  ==========================================================================
	Accordion Block - with Image
	========================================================================== */
.accordion-block--with-image .accordion-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .accordion-block--with-image .accordion-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 72em) {
  .accordion-block--with-image .accordion-block__inner {
    gap: 120px;
  }
}
@media (min-width: 50em) {
  .accordion-block--with-image.accordion-block--image-left .accordion-block__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__name {
    font-size: 24px;
  }
}
@media (min-width: 72em) {
  .accordion-block--with-image .accordion-block__name {
    font-size: 32px;
  }
}
.accordion-block--with-image .accordion-block__body {
  width: 100%;
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__body {
    width: 50%;
  }
}
.accordion-block--with-image .accordion-block__media {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-top: 30px;
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__media {
    width: 50%;
    margin-top: 0px;
  }
}
.accordion-block--with-image .accordion-block__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
}
@media (min-width: 50em) {
  .accordion-block--with-image .accordion-block__intrinsic-ratio {
    padding-bottom: 83.3333333333%;
  }
}
.accordion-block--with-image .accordion-block__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*  ==========================================================================
    Article Header
    ========================================================================== */
.article-header {
  padding-top: 15px;
}
@media (min-width: 50em) {
  .article-header {
    padding-top: 30px;
  }
}
@media (min-width: 62.5em) {
  .article-header {
    padding-top: 60px;
  }
}

.article-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .article-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .article-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.article-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 50em) {
  .article-header__inner {
    gap: 30px;
  }
}
@media (min-width: 62.5em) {
  .article-header__inner {
    gap: 40px;
  }
}

.article-header__title {
  font-size: 42px;
  line-height: 1;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .article-header__title {
    font-size: 58px;
  }
}
@media (min-width: 62.5em) {
  .article-header__title {
    font-size: 74px;
  }
}

.article-header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  margin-top: 15px;
}
@media (min-width: 50em) {
  .article-header__info {
    display: grid;
    grid-template-columns: 1fr auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    margin-top: 20px;
  }
}
@media (min-width: 62.5em) {
  .article-header__info {
    gap: 40px;
  }
}

.article-header__description {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0;
  text-wrap: pretty;
}
@media (min-width: 62.5em) {
  .article-header__description {
    font-size: 32px;
  }
}

.article-header__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 14px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 20px;
  border: solid rgba(0, 0, 0, 0.3);
  border-width: 1px 0 0;
}
@media (min-width: 50em) {
  .article-header__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    padding: 0 0 0 30px;
    border-width: 0 0 0 1px;
    height: 100%;
    font-size: 16px;
    max-width: 320px;
  }
  .article-header__meta:first-child {
    border-width: 1px 0 0;
    padding: 20px 0 0;
    max-width: none;
  }
  .article-header__meta .article-header__authors {
    margin: 0;
    padding: 0;
    border: 0;
  }
}
@media (min-width: 62.5em) {
  .article-header__meta {
    font-size: 18px;
  }
}
.article-header__meta p {
  margin-bottom: 0;
}

.article-header__date {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.article-header__authors {
  line-height: 1.3;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid rgba(0, 0, 0, 0.3);
  text-wrap: pretty;
}

.article-header__media {
  width: 100%;
  margin: 0;
}

.article-header__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
  margin: 0 -15px;
}
@media (min-width: 50em) {
  .article-header__intrinsic-ratio {
    padding-bottom: 42.8571428571%;
    margin: 0 -40px;
  }
}
@media (min-width: 90em) {
  .article-header__intrinsic-ratio {
    margin: 0;
  }
}

.article-header__picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.article-header__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.article-header__figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: right;
  gap: 5px;
  font-size: 14px;
  padding-top: 15px;
  line-height: 1.2;
  text-wrap: pretty;
}
@media (min-width: 62.5em) {
  .article-header__figcaption {
    font-size: 16px;
  }
}
@media (min-width: 62.5em) {
  .article-header__figcaption {
    font-size: 18px;
  }
}

.article-header__credit {
  font-size: 14px;
}
@media (min-width: 62.5em) {
  .article-header__credit {
    font-size: 16px;
  }
}

/*  ==========================================================================
    Article Page - Content block spacing
    ========================================================================== */
.page--artist * ~ .content-blocks {
  margin-top: 60px !important;
}

.page--artist * + .content-blocks {
  margin-bottom: 0 !important;
}

/*  ==========================================================================
    Article Tags
    ========================================================================== */
.article-tags {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .article-tags {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .article-tags {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.article-tags {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.article-tags__name {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.8);
  text-transform: uppercase;
}

.article-tags__separator {
  color: rgba(0, 0, 0, 0.3);
}

/*  ==========================================================================
    Article List
    ========================================================================== */
.article-list {
  padding: 40px 0;
}
@media (min-width: 62.5em) {
  .article-list {
    padding: 60px 0;
  }
}

.article-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .article-list__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .article-list__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.article-list__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -15px;
  gap: 15px 0;
}

.article-list__load-more {
  margin: 30px auto 0;
}
.article-list__load-more:hover {
  color: #000 !important;
}

/*  ==========================================================================
    Article Item
    ========================================================================== */
.article-item {
  width: calc(100% - 30px);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0 15px;
}
@media (min-width: 32em) {
  .article-item {
    width: calc(50% - 30px);
  }
}
@media (min-width: 62.5em) {
  .article-item {
    width: calc(33.33% - 30px);
  }
}

.article-item:last-child {
  border-right: none;
}

.article-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 12px;
  padding: 16px 0;
}

.article-item__category {
  font-size: 14px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border: 1px solid rgba(0, 0, 0, 0.4);
  border-radius: 30px;
  line-height: 1;
}
.article-item__category .o-icon {
  width: 12px;
  height: 12px;
}

.article-item__title {
  font-size: 20px;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .article-item__title {
    font-size: 20px;
  }
}

.article-item__description {
  font-size: 18px;
  margin: 0;
}

.article-item__media {
  overflow: hidden;
}

.article-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 60%;
  height: 0;
  overflow: hidden;
}

.article-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.article-item:hover .article-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.article-item--large:hover .article-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*  ==========================================================================
    Artist List
    ========================================================================== */
.artist-list {
  position: relative;
  padding: var(--content-margin-small);
}

.artist-list__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .artist-list__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .artist-list__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 72em) {
  .artist-list__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
  }
}

.artist-list__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding-top: 15px;
  border-top: 2px solid #000;
}
@media (min-width: 59em) {
  .artist-list__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
    padding-top: 30px;
    width: 100%;
  }
  .artist-list__body .artist-list__header {
    width: 30%;
  }
  .artist-list__body .artist-list__people {
    width: 70%;
  }
}
@media (min-width: 62.5em) {
  .artist-list__body {
    padding-top: 40px;
  }
}

.artist-list__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
@media (min-width: 59em) {
  .artist-list__header {
    gap: 15px;
  }
}

.artist-list__title {
  margin-bottom: 0;
}
@media (max-width: 58.99em) {
  .artist-list__title {
    font-size: 36px;
  }
}

.artist-list__intro {
  font-size: 16px;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .artist-list__intro {
    font-size: 18px;
  }
}
.artist-list__intro p:last-child {
  margin-bottom: 0;
}

.artist-list__people {
  border-top: 2px solid rgba(0, 0, 0, 0.2);
  padding-top: 20px;
}
@media (min-width: 42.5em) {
  .artist-list__people {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 30px;
  }
}
@media (min-width: 59em) {
  .artist-list__people {
    grid-template-columns: 1fr;
    border: 0;
    padding: 0;
  }
}
@media (min-width: 72em) {
  .artist-list__people {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
  }
}

.artist-list__person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
}

.artist-list__toggle {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 100px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgb(255, 255, 255)));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgb(255, 255, 255));
}

.artist-list__view-all {
  background: none;
  padding: 0;
  margin: 0;
  border: 0;
  font-weight: 700;
}
.artist-list__view-all .o-icon {
  rotate: 90deg;
  -webkit-transition: none;
  transition: none;
  fill: #000;
}
@media (hover: hover) and (pointer: fine) {
  .artist-list__view-all:hover .o-icon {
    -webkit-transform: none;
            transform: none;
  }
}

/**
 * List Specific
 */
.artist-list--list .artist-list__people,
.artist-list--stacked .artist-list__people {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/**
 * Truncated List
 */
.is-truncated .artist-list__people {
  height: 735px;
  overflow: hidden;
  position: relative;
}
.is-truncated .artist-list__toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/*  ==========================================================================
    Artist List - List (i.e. Not Grid Layout)
    ========================================================================== */
.artist-list--list .artist-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
.artist-list--list .artist-item__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 50px;
  gap: 10px;
}
.artist-list--list .artist-item__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 70px;
  margin-bottom: 0;
  padding-left: 15px;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
.artist-list--list .artist-item__time:empty {
  border-left: unset;
}
@media (min-width: 42.5em) {
  .artist-list--list .artist-item__body > * {
    width: 50%;
  }
  .artist-list--list .artist-item__footer {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 15px;
  }
  .artist-list--list .artist-item__time {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 0 25px;
    margin-left: auto;
    width: 120px;
    height: 100%;
  }
}
@media (min-width: 72em) {
  .artist-list--list .artist-item__time {
    padding: 0 40px;
    font-size: 18px;
    width: 160px;
  }
}

/*  ==========================================================================
    Artist List - Person
    ========================================================================== */
.artist-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

@media (hover: hover) and (pointer: fine) {
  a.artist-item:hover .artist-item__image,
  .artist-list__person--has-related-artists:hover .artist-item__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  a.artist-item:hover .o-icon,
  .artist-list__person--has-related-artists:hover .o-icon {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
  a.artist-item:hover .artist-item__media--placeholder .o-icon,
  .artist-list__person--has-related-artists:hover .artist-item__media--placeholder .o-icon {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.artist-item__media {
  width: 100%;
  max-width: 100px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  overflow: hidden;
}
@media (min-width: 72em) {
  .artist-item__media {
    max-width: 120px;
  }
}

.artist-item__media--placeholder {
  position: relative;
}
.artist-item__media--placeholder .artist-item__intrinsic-ratio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #dce8ed;
}
.artist-item__media--placeholder .o-icon {
  width: 40px;
  height: 40px;
  color: #b0c4cc;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.artist-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 83.3333333333%;
  height: 0;
}

.artist-item__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1), -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
}

.artist-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.artist-item__body .o-icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #000;
  margin-top: -2px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
}

.artist-item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin-right: auto;
}

.artist-item__title,
.artist-item__title a {
  margin-bottom: 0;
  font-size: 20px;
}
@media (min-width: 72em) {
  .artist-item__title,
  .artist-item__title a {
    font-size: 24px;
  }
}

.artist-item__title a {
  font-weight: 700;
  color: #093F6C;
}

.artist-item__role {
  margin-bottom: 0;
  font-size: 16px;
  line-height: 1.1;
}

.artist-item__people {
  list-style: none;
  margin: 0;
  padding: 0;
}

.artist-item__person a {
  font-weight: 700;
  color: #093F6C;
}

/*  ==========================================================================
    Brand Statement
    ========================================================================== */
.brand-statement {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: var(--content-margin-small);
  overflow: hidden;
}
@media (min-width: 50em) {
  .brand-statement {
    padding: var(--content-margin);
  }
}

.brand-statement__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .brand-statement__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .brand-statement__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 100em) {
  .brand-statement__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.brand-statement__title {
  width: 100%;
  letter-spacing: -2px;
  font-size: 26px;
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .brand-statement__title {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 42px;
    margin-bottom: 30px;
  }
}
@media (min-width: 72em) {
  .brand-statement__title {
    font-size: 58px;
  }
}
@media (min-width: 100em) {
  .brand-statement__title {
    margin-bottom: 0;
    width: 55%;
  }
}

.brand-statement__list {
  width: 100%;
}
@media (min-width: 100em) {
  .brand-statement__list {
    width: 45%;
  }
}

.brand-statement__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.brand-statement__item:last-child .brand-statement__link {
  margin-bottom: 0;
}

.brand-statement__link {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 5px;
  display: inline-block;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.brand-statement__link .o-icon {
  rotate: 180deg;
  width: 22px;
  height: 22px;
  margin-left: 5px;
}
@media (min-width: 50em) {
  .brand-statement__link .o-icon {
    width: 30px;
    height: 30px;
  }
}
@media (min-width: 50em) {
  .brand-statement__link {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .brand-statement__link {
    font-size: 36px;
    margin-bottom: 15px;
    line-height: 1;
  }
}
@media (min-width: 90em) {
  .brand-statement__link {
    text-wrap: nowrap;
  }
}

/*  ==========================================================================
    Breadcrumb
    ========================================================================== */
.breadcrumbs {
  margin-top: 20px;
  margin-bottom: 20px;
}

/*  ==========================================================================
	Calendar
	========================================================================== */
.calendar {
  position: relative;
}

.calendar.event-calendar {
  padding: 0 0 30px;
  min-height: 50vh;
}

.calendar__inner {
  width: 100%;
  position: relative;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .calendar__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .calendar__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.calendar__header {
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: rgba(0, 0, 0, 0.1);
  margin-bottom: 20px;
}
@media (min-width: 62.5em) {
  .calendar__header {
    padding-top: 25px;
    padding-bottom: 25px;
    border-top: 2px solid rgba(0, 0, 0, 0.2);
    border-bottom: 2px solid rgba(0, 0, 0, 0.2);
    background-color: transparent;
    margin-bottom: 30px;
  }
}
.calendar__header .calendar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.calendar__venues {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

@media (min-width: 62.5em) {
  .calendar__venues-label {
    display: none;
  }
}

.calendar__search {
  position: relative;
}
.calendar__search:after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("../../assets/search.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media (max-width: 62.49em) {
  .calendar__search {
    display: none;
  }
}

@media (min-width: 62.5em) {
  .calendar__body .calendar__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 60px;
  }
}

.calendar__main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 62.5em) {
  .calendar__main {
    max-width: calc(100% - 450px);
  }
}

@media (max-width: 62.49em) {
  .calendar__sidebar {
    display: none;
  }
}
@media (min-width: 62.5em) {
  .calendar__sidebar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    position: sticky;
    top: 0;
    background-color: transparent;
    height: auto;
    width: 450px;
    padding-top: 15px;
    padding-bottom: 25px;
    max-height: 100vh;
    overflow: hidden auto;
  }
}

@media (max-width: 62.49em) {
  .calendar__meta {
    position: fixed;
    bottom: 20px;
    left: 20px;
    padding: 5px 10px 5px 5px;
    border-radius: 30px;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5px;
    backdrop-filter: blur(10px);
  }
}
@media (min-width: 62.5em) {
  .calendar__meta {
    position: sticky;
    top: 10px;
    margin-left: auto;
    z-index: 999;
    margin-bottom: -40px;
  }
}

.calendar__date-picker {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  position: sticky;
  top: 0;
  margin-left: auto;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  height: 54px;
  margin-bottom: -54px;
  font-size: 15px;
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .calendar__date-picker {
    display: none;
  }
}
.calendar__date-picker .o-icon {
  width: 20px;
  height: 20px;
}

.calendar__filters {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  color: #fff;
  padding: 10px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media (max-width: 62.49em) {
  .calendar__filters {
    gap: 5px;
    font-weight: 700;
    font-size: 15px;
  }
  .calendar__filters .o-icon {
    width: 24px;
    height: 24px;
  }
}
@media (min-width: 62.5em) {
  .calendar__filters {
    display: none;
  }
}

.calendar__view {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: #838383;
  padding: 5px;
  border-radius: 30px;
  gap: 2.5px;
}
@media (min-width: 62.5em) {
  .calendar__view {
    background-color: #E5E5E5;
  }
}

.calendar__view-option {
  border-radius: 30px;
  padding: 5px 10px;
  font-weight: 700;
  -webkit-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
}
@media (min-width: 62.5em) {
  .calendar__view-option {
    color: #000;
    padding: 6px 20px;
  }
}
.calendar__view-option .o-icon {
  width: 26px;
  height: 20px;
}

.calendar__view-option:has(:checked) {
  color: #000;
  background-color: #fff;
}
@media (min-width: 62.5em) {
  .calendar__view-option:has(:checked) {
    color: #fff;
    background-color: rgb(0, 0, 0);
  }
}

.calendar__view-option:has(:focus-visible) {
  -webkit-box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
          box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
}

.calendar__view-label {
  margin-left: 5px;
}
@media (max-width: 62.49em) {
  .calendar__view-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

.calendar-month__header {
  position: sticky;
  z-index: 998;
  top: 0;
  background-color: #fff;
  height: auto;
  padding-left: 10px;
  padding-right: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 2px solid #000;
  margin-bottom: 20px;
  padding-bottom: 15px;
  padding-top: 10px;
}
@media (min-width: 62.5em) {
  .calendar-month__header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    margin-left: -10px;
    margin-right: -10px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.2);
  }
}

.calendar-month__title {
  margin-bottom: 0;
}

.calendar-month__item--wdch .calendar-performance__media {
  border-color: #406F80;
}
.calendar-month__item--wdch .calendar-performance__standalone-date {
  color: #406F80;
}

.calendar-month__item--hb .calendar-performance__media {
  border-color: #92288F;
}
.calendar-month__item--hb .calendar-performance__standalone-date {
  color: #92288F;
}

.calendar-month__item--ford .calendar-performance__media {
  border-color: #113E11;
}
.calendar-month__item--ford .calendar-performance__standalone-date {
  color: #113E11;
}

.calendar-venues {
  position: relative;
}

/* Trigger Button */
.calendar-venues__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  font-size: 14px;
  font-family: Apercu, sans-serif;
  font-weight: 700;
  padding: 12px 20px;
  border-radius: 30px;
  color: #fff;
  height: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.calendar-venues__button .o-icon {
  width: 16px;
  height: 16px;
  margin-left: 10px;
  -webkit-transition: -webkit-transform 200ms ease-in-out;
  transition: -webkit-transform 200ms ease-in-out;
  transition: transform 200ms ease-in-out;
  transition: transform 200ms ease-in-out, -webkit-transform 200ms ease-in-out;
}
@media (min-width: 62.5em) {
  .calendar-venues__button {
    display: none;
  }
}

.calendar-venues__button:focus {
  outline: none;
}

.calendar-venues__button:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

/* Popover Panel */
.calendar-venues__select {
  position: absolute;
  width: auto;
  margin: 0;
  padding: 0;
  opacity: 0;
  border: none;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-transform: translateY(-1px);
          transform: translateY(-1px);
  background-color: #fff;
  border-radius: 3px;
  opacity: 1;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08), 0 4px 6px rgba(0, 0, 0, 0.06);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08), 0 4px 6px rgba(0, 0, 0, 0.06);
  padding-top: 5px;
  padding-bottom: 5px;
}
@media (min-width: 62.5em) {
  .calendar-venues__select {
    position: static !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 30px;
    opacity: 1;
    padding: 5px;
    -webkit-box-shadow: none;
            box-shadow: none;
    gap: 2.5px;
    -webkit-transform: translateX(0) !important;
            transform: translateX(0) !important;
  }
}

.calendar-venues__select:popover-open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.calendar-venues__option {
  padding: 5px 10px;
  line-height: 1;
  cursor: pointer;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 62.5em) {
  .calendar-venues__option {
    border-radius: 30px;
    color: #000;
    padding: 10px 15px;
    font-weight: 700;
  }
}

.calendar-venues__option:has(:disabled) {
  opacity: 0.45;
  cursor: not-allowed;
}

.calendar-venues__option:not(:has(:disabled)):hover {
  background-color: #EBEBEB;
}
@media (min-width: 62.5em) {
  .calendar-venues__option:not(:has(:disabled)):hover {
    background-color: #fff;
  }
}

.calendar-venues__option:not(:has(:disabled)):focus-within {
  outline: -webkit-focus-ring-color auto 1px;
}

.calendar-venues__option:has(:checked) {
  background-color: #EBEBEB;
}
@media (min-width: 62.5em) {
  .calendar-venues__option:has(:checked) {
    background-color: transparent;
  }
}

.calendar-venues--all .calendar-venues__button {
  background-color: #0099FF;
  color: #000;
}
@media (min-width: 62.5em) {
  .calendar-venues--all .calendar-venues__option:has(:checked) {
    background-color: #0099FF;
  }
}

.calendar-venues--laphil .calendar-venues__button {
  background-color: #406F80;
  color: #fff;
}
@media (min-width: 62.5em) {
  .calendar-venues--laphil .calendar-venues__option:has(:checked) {
    background-color: #406F80;
    color: #fff;
  }
}

.calendar-venues--hollywoodbowl .calendar-venues__button {
  background-color: #92288F;
  color: #fff;
}
@media (min-width: 62.5em) {
  .calendar-venues--hollywoodbowl .calendar-venues__option:has(:checked) {
    background-color: #92288F;
    color: #fff;
  }
}

.calendar-venues--theford .calendar-venues__button {
  background-color: #113E11;
  color: #fff;
}
@media (min-width: 62.5em) {
  .calendar-venues--theford .calendar-venues__option:has(:checked) {
    background-color: #113E11;
    color: #fff;
  }
}

input[type=text].calendar__input {
  border: 1px solid rgba(0, 0, 0, 0.5);
  padding: 12px 60px 12px 25px;
  border-radius: 30px;
  font-size: 14px;
}
@media (min-width: 62.5em) {
  input[type=text].calendar__input {
    font-size: 16px;
  }
}

.filters-dialog {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}
.filters-dialog::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.filters-dialog::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.filters-dialog {
  background-color: #fff;
  padding: 20px;
}
.filters-dialog[open] {
  max-width: 550px;
  margin-left: auto;
}

.filters-dialog__close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
}
.filters-dialog__close .o-icon {
  width: 40px;
  height: 40px;
}

.filters-dialog__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
@media (min-width: 62.5em) {
  .filters-dialog__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: auto;
    height: auto;
  }
}

@media (min-width: 62.5em) {
  .calendar-filters {
    margin-top: 20px;
  }
}

.calendar-filters__title {
  margin: 0;
  padding: 10px 0 15px;
  border-bottom: 1px solid;
}
@media (min-width: 62.5em) {
  .calendar-filters__title {
    display: none;
  }
}

.calendar-filters__filter-item {
  border-top: 1px solid;
  padding-top: 15px;
}

.calendar-filters__filter-item--switch {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.calendar-filters__filter-item + .calendar-filters__filter-item {
  margin-top: 15px;
}

.calendar-filter-item__header {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  cursor: pointer;
}
.calendar-filter-item__header .o-icon {
  width: 20px;
  height: 20px;
  -webkit-transition: rotate 0.2s ease-in-out;
  transition: rotate 0.2s ease-in-out;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.calendar-filter-item[open] .o-icon {
  rotate: 45deg;
}

.calendar-filter-item__title {
  margin: 0;
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}

.calendar-filter-item__list {
  list-style: none;
  margin: 0;
  padding: 15px 0 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: column;
  grid-template-rows: repeat(var(--list-row-count), auto);
  gap: 5px 0;
}

.calendar-filters__filter-item--range .calendar-filter-item__label, .calendar-filters__filter-item--switch .calendar-filter-item__label {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 5px;
}

.calendar-filters__filter-item--select {
  border-top: none;
  padding-top: 0;
}
.calendar-filters__filter-item--select .calendar-filter-item__label {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}

.calendar-filters__filter-item--range {
  border-top: none;
  margin-top: 25px;
}

.dialog-prices-from-markers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.calendar-filter-item__label:has(.calendar-filter-item__checkbox:focus-visible) {
  -webkit-box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
          box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
}

.calendar-filter-item__label:has(.calendar-filter-item__checkbox[disabled]) {
  opacity: 0.5;
  cursor: not-allowed;
}

.calendar-filter-item__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.calendar-filter-item__label .calendar-filter-item__checkbox {
  width: 0px;
  height: 0px;
  opacity: 0;
}
.calendar-filter-item__label .calendar-filter-item__title {
  font-size: 16px;
  padding-left: 25px;
  padding-right: 20px;
  position: relative;
  overflow-wrap: anywhere;
}
.calendar-filter-item__label .calendar-filter-item__title:before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 3px;
}
.calendar-filter-item__label .calendar-filter-item__title:after {
  content: "";
  position: absolute;
  top: 6px;
  left: 4px;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  opacity: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNC40ODQgMzQuOTIyIj48cGF0aCBmaWxsPSJ3aGl0ZSIgZD0iTTEyLjY0IDM0LjkyMmMuNzM1IDAgMS4yODItLjMyOCAxLjY4OC0uOTIyTDMzLjY3MiAzLjY3MmMuMzEyLS40ODUuNDM3LS44Ni40MzctMS4yMzUgMC0uOTUzLS42MjUtMS41NzgtMS41NzgtMS41NzgtLjY1NiAwLTEuMDQ3LjIzNS0xLjQzNy44NzVMMTIuNTYyIDMxLjAxNiAzLjA5NSAxOC45ODRjLS40MjItLjU3OC0uODI4LS44MjgtMS40NjktLjgyOC0uOTUzIDAtMS42MjUuNjU3LTEuNjI1IDEuNTk0IDAgLjQwNi4xNTYuODI4LjUgMS4yNWwxMC4zOSAxMi45NjljLjUxNi42NTYgMS4wMzIuOTUzIDEuNzUuOTUzWiIvPjwvc3ZnPgo=);
}
.calendar-filter-item__label:has(.calendar-filter-item__checkbox:checked) .calendar-filter-item__title:before {
  background-color: #000;
}
.calendar-filter-item__label:has(.calendar-filter-item__checkbox:checked) .calendar-filter-item__title:after {
  opacity: 1;
}

.calendar-filter-item__range input {
  width: 100%;
}
.calendar-filter-item__range datalist {
  width: 100%;
}

.sidebar-prices-from-markers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.calendar-filter-item__select #sidebar-season, .calendar-filter-item__select #dialog-season {
  width: 100%;
  border: 1px solid transparent;
  background: rgba(0, 0, 0, 0.1);
  padding: 15px 40px 15px 25px;
  border-radius: 30px;
  font-size: 18px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE1MDk2XzE3ODA0KSI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMV8xNTA5Nl8xNzgwNCkiPgo8cGF0aCBkPSJNMTkuOTg0NiA5Ljk5NjE0QzE5Ljk4NDYgMTUuNDk2NyAxNS40OTY3IDE5Ljk4NDYgOS45ODg0OCAxOS45ODQ2QzQuNDg3OTIgMTkuOTg0NiAwIDE1LjQ5NjcgMCA5Ljk5NjE0QzAgNC40ODc5MiA0LjQ4NzkyIDAgOS45ODg0OCAwQzE1LjQ5NjcgMCAxOS45ODQ2IDQuNDg3OTIgMTkuOTg0NiA5Ljk5NjE0Wk00Ljk5NDI1IDguMDA5MjJDNC43NDg3NSA4LjI3MDAzIDQuNzU2NDIgOC42Njg5NyA1LjAyNDkzIDguOTUyODNMOS4xMzY5MSAxMy4yNzE5QzkuNjgxNjUgMTMuODU1IDEwLjMxODQgMTMuODQ3MyAxMC44NzA3IDEzLjI3MTlMMTQuOTc1MSA4Ljk1MjgzQzE1LjI0MzYgOC42Njg5NyAxNS4yNTg5IDguMjYyMzcgMTUuMDA1OCA4LjAwOTIyQzE0LjcyOTYgNy43NDA2OCAxNC4zMDc2IDcuNzI1MzYgMTQuMDU0NSA4LjAwMTU2TDEwLjAwMzggMTIuMjU5M0w1Ljk0NTUzIDguMDAxNTZDNS42OTIzNiA3LjcyNTM2IDUuMjYyNzUgNy43MzMwMiA0Ljk5NDI1IDguMDA5MjJaIiBmaWxsPSJibGFjayIvPgo8L2c+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTUwOTZfMTc4MDQiPgo8cmVjdCB3aWR0aD0iMjAuMjE0OCIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPGNsaXBQYXRoIGlkPSJjbGlwMV8xNTA5Nl8xNzgwNCI+CjxyZWN0IHdpZHRoPSIyMC4yMTQ4IiBoZWlnaHQ9IjIwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
  background-position: calc(100% - 20px) center;
  background-repeat: no-repeat;
}
@media (min-width: 62.5em) {
  .calendar-filter-item__select #sidebar-season, .calendar-filter-item__select #dialog-season {
    font-size: 20px;
  }
}

/*  ==========================================================================
	Calendar Performance
	========================================================================== */
.calendar-performance {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "image header" "body body" "footer footer";
}
@media (min-width: 62.5em) {
  .calendar-performance {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    grid-template-areas: "image header" "image body" "image footer";
  }
}

.calendar-performance__media {
  grid-area: image;
  width: 100px;
  margin-right: 15px;
  align-self: flex-start;
}
@media (min-width: 50em) {
  .calendar-performance__media {
    padding-right: 15px;
    border-right: 2px solid rgba(0, 0, 0, 0.2);
    width: 200px;
  }
}

.calendar-performance__fancy-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: image;
  padding-right: 15px;
  margin-right: 15px;
  border-right: 2px solid rgba(0, 0, 0, 0.2);
}

.calendar-performance__standalone-date {
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 5px;
}
@media (min-width: 62.5em) {
  .calendar-performance__standalone-date {
    margin-bottom: 12px;
    font-size: 18px;
  }
}

.calendar-performance__day-month,
.calendar-performance__time {
  text-transform: uppercase;
  line-height: 1;
}
@media (max-width: 49.99em) {
  .calendar-performance__day-month,
  .calendar-performance__time {
    font-size: 12px;
  }
}

.calendar-performance__date {
  font-size: 38px;
  line-height: 1;
}
@media (min-width: 50em) {
  .calendar-performance__date {
    font-size: 58px;
  }
}

.calendar-performance__title {
  margin: 0;
}
.calendar-performance__title a {
  font-weight: bold;
}
@media (max-width: 62.49em) {
  .calendar-performance__title {
    font-size: 24px;
  }
}

.calendar-performance__second-billing {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}
@media (min-width: 62.5em) {
  .calendar-performance__second-billing {
    font-size: 24px;
  }
}

.calendar-performance__third-billing {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
}
@media (min-width: 62.5em) {
  .calendar-performance__third-billing {
    font-size: 20px;
  }
}

.calendar-performance__suffix {
  margin-top: 5px;
}

.calendar-performance__image {
  width: 100%;
  height: auto;
}

.calendar-performance__header {
  grid-area: header;
  position: relative;
}

.calendar-performance__attending {
  position: absolute;
  top: 0;
  right: 0;
}

.calendar-performance__body {
  grid-area: body;
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.calendar-performance__body .artists-program__list--program {
  grid-template-columns: 1fr;
}
.calendar-performance__body .artists-program__list--program .artists-program__item a {
  color: #093F6C;
  font-weight: 700;
}

.artists-program {
  padding-top: 15px;
}
.artists-program .artists-program__heading {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
}
.artists-program .artist-program-artist {
  padding: 3px 10px;
}
.artists-program .artist-program-artist__title {
  color: #093F6C;
  font-weight: 700;
}
.artists-program .artist-program-artist__role {
  color: rgba(0, 0, 0, 0.8);
  font-size: 14px;
  font-style: italic;
}
.artists-program .artist-program-artist__related {
  list-style: none;
  padding-left: 15px;
}

.calendar-performance__flags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 49.99em) {
  .calendar-performance__flags {
    border-top: 1px solid rgba(0, 0, 0, 0.2);
    padding-top: 8px;
  }
}

.calendar-performance__flag {
  text-transform: uppercase;
  color: #727171;
}
.calendar-performance__flag + .calendar-performance__flag {
  margin-left: 5px;
  padding-left: 5px;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}
@media (max-width: 49.99em) {
  .calendar-performance__flag {
    font-size: 10px;
  }
  .calendar-performance__flag + .calendar-performance__flag {
    margin-left: 15px;
    padding-left: 15px;
  }
}

.calendar-performance__rules {
  padding-left: 25px;
  position: relative;
}
.calendar-performance__rules:before {
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjQxNjcgOS4xNjY2N0MxNy40MTY3IDQuNjEwMzIgMTMuNzIzIDAuOTE2NjY3IDkuMTY2NjcgMC45MTY2NjdDNC42MTAzMiAwLjkxNjY2NyAwLjkxNjY2NyA0LjYxMDMyIDAuOTE2NjY3IDkuMTY2NjdDMC45MTY2NjcgMTMuNzIzIDQuNjEwMzIgMTcuNDE2NyA5LjE2NjY3IDE3LjQxNjdWMTguMzMzM0M0LjEwNDA2IDE4LjMzMzMgMCAxNC4yMjkzIDAgOS4xNjY2N0MwIDQuMTA0MDYgNC4xMDQwNiAwIDkuMTY2NjcgMEMxNC4yMjkzIDAgMTguMzMzMyA0LjEwNDA2IDE4LjMzMzMgOS4xNjY2N0MxOC4zMzMzIDE0LjIyOTMgMTQuMjI5MyAxOC4zMzMzIDkuMTY2NjcgMTguMzMzM1YxNy40MTY3QzEzLjcyMyAxNy40MTY3IDE3LjQxNjcgMTMuNzIzIDE3LjQxNjcgOS4xNjY2N1oiIGZpbGw9ImJsYWNrIi8+CjxwYXRoIGQ9Ik0xNS40ODg3IDE0Ljg0MDFMMTUuMTY0NiAxNS4xNjUxTDE0LjgzOTcgMTUuNDg5MUwyLjg0NDI0IDMuNDkyNzhMMy40OTIzNSAyLjg0NDY3TDE1LjQ4ODcgMTQuODQwMVoiIGZpbGw9ImJsYWNrIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 2px;
  left: 0;
  width: 19px;
  height: 19px;
}
@media (max-width: 49.99em) {
  .calendar-performance__rules {
    font-size: 12px;
  }
  .calendar-performance__rules:before {
    width: 16px;
    height: 16px;
    background-size: contain;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .calendar-performance__rules span {
    display: block;
    line-height: 1;
  }
}
.calendar-performance__rules a {
  text-decoration: underline;
}

.calendar-performance__footer {
  grid-area: footer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25px;
  padding-top: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.calendar-performance__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}
@media (min-width: 62.5em) {
  .calendar-performance__actions {
    gap: 10px;
  }
}
.calendar-performance__actions .btn, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--secondary, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--primary, .calendar-performance__actions .artist-header__footer .favorite-artist__button, .artist-header__footer .calendar-performance__actions .favorite-artist__button, .calendar-performance__actions .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .calendar-performance__actions .lot-header__cta--secondary, .calendar-performance__actions .lot-header__footer .lot-header__cta--primary, .lot-header__footer .calendar-performance__actions .lot-header__cta--primary, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--secondary, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--primary {
  font-size: 14px;
  padding: 8px 15px;
}
@media (min-width: 62.5em) {
  .calendar-performance__actions .btn, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--secondary, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--primary, .calendar-performance__actions .artist-header__footer .favorite-artist__button, .artist-header__footer .calendar-performance__actions .favorite-artist__button, .calendar-performance__actions .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .calendar-performance__actions .lot-header__cta--secondary, .calendar-performance__actions .lot-header__footer .lot-header__cta--primary, .lot-header__footer .calendar-performance__actions .lot-header__cta--primary, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--secondary, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--primary {
    padding: 10px 20px;
  }
}
.calendar-performance__actions .btn .o-icon, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary .o-icon, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--secondary .o-icon, .calendar-performance__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--pill .calendar-performance__actions .page-header__cta--primary .o-icon, .calendar-performance__actions .artist-header__footer .favorite-artist__button .o-icon, .artist-header__footer .calendar-performance__actions .favorite-artist__button .o-icon, .calendar-performance__actions .lot-header__footer .lot-header__cta--secondary .o-icon, .lot-header__footer .calendar-performance__actions .lot-header__cta--secondary .o-icon, .calendar-performance__actions .lot-header__footer .lot-header__cta--primary .o-icon, .lot-header__footer .calendar-performance__actions .lot-header__cta--primary .o-icon, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--secondary .o-icon, .calendar-performance__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__actions .home-hero-item__cta--primary .o-icon {
  width: 23px;
  height: 23px;
}
.calendar-performance__actions .btn--external {
  padding-right: 35px;
}
@media (min-width: 62.5em) {
  .calendar-performance__actions .btn--external {
    padding-right: 40px;
  }
}

@media (min-width: 62.5em) {
  .calendar-performance__artists-program-wrapper {
    margin-left: 10px;
  }
}
@media (min-width: 72em) {
  .calendar-performance__artists-program-wrapper {
    padding-left: 20px;
    border-left: 1px solid rgba(0, 0, 0, 0.2);
  }
}

.calendar-performance__artists-program.btn, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--secondary, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--primary, .artist-header__footer .calendar-performance__artists-program.favorite-artist__button, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--secondary, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--primary {
  padding: 0;
  text-decoration: underline;
  color: #000;
}
.calendar-performance__artists-program.btn:hover, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--secondary:hover, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--primary:hover, .artist-header__footer .calendar-performance__artists-program.favorite-artist__button:hover, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--secondary:hover, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--primary:hover, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--secondary:hover, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--primary:hover {
  color: #000;
  text-decoration: none;
}
@media (max-width: 62.49em) {
  .calendar-performance__artists-program.btn, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--secondary, .page-header__footer.page-header__cta--pill .calendar-performance__artists-program.page-header__cta--primary, .artist-header__footer .calendar-performance__artists-program.favorite-artist__button, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--secondary, .lot-header__footer .calendar-performance__artists-program.lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .calendar-performance__artists-program.home-hero-item__cta--primary {
    font-size: 12px;
  }
}

.calendar-performance__venue .o-icon, .calendar-performance__venue img {
  width: 96px;
  height: 48px;
}
.calendar-performance__venue img {
  -o-object-fit: contain;
     object-fit: contain;
}

.calendar-performance__other-venue {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  text-wrap: pretty;
  line-height: 1.2;
  display: inline-block;
  max-width: 160px;
  text-align: right;
}
@media (min-width: 50em) {
  .calendar-performance__other-venue {
    font-size: 16px;
    max-width: 180px;
  }
}

/*  ==========================================================================
	Calendar Date Selector
	========================================================================== */
.date-selector-dialog {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}
.date-selector-dialog::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.date-selector-dialog::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.date-selector-dialog {
  background-color: #fff;
  padding: 20px;
  position: fixed;
}
.date-selector-dialog[open] {
  max-width: 550px;
  margin-left: auto;
}

.date-selector-dialog__inner {
  position: relative;
  height: 100%;
}

.date-selector-dialog__close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  color: #000;
  z-index: 10;
}
.date-selector-dialog__close .o-icon {
  width: 40px;
  height: 40px;
}
.date-selector-dialog__close:focus, .date-selector-dialog__close:focus-visible {
  outline: none;
}

.date-selector-dialog__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
@media (min-width: 62.5em) {
  .date-selector-dialog__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: auto;
    height: auto;
  }
}

.date-selector__month {
  margin-bottom: 15px;
}
@media (min-width: 32em) {
  .date-selector__month {
    margin-bottom: 0;
  }
}

.date-selector__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.date-selector__title {
  position: sticky;
  top: 0;
  z-index: 2;
  background-color: #fff;
  padding: 12px 0 0;
  font-size: 22px;
  margin-bottom: 0;
  text-transform: capitalize;
  font-family: Apercu, sans-serif;
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .date-selector__title {
    background-color: transparent;
    padding: 0;
    margin-bottom: 0;
    font-size: 24px;
  }
}

.date-selector__actions {
  margin-left: auto;
}

.date-selector__action {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  margin-left: 5px;
  cursor: pointer;
  border-radius: 100%;
}
.date-selector__action .o-icon {
  width: 30px;
  height: 30px;
}
.date-selector__action:disabled {
  opacity: 0.3;
}

.date-selector__grid {
  padding-bottom: 20px;
}

.date-selector__weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  padding-bottom: 10px;
  margin-bottom: 5px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

.date-selector__weekday {
  text-transform: uppercase;
  font-weight: 700;
  font-family: Apercu, sans-serif;
  font-size: 0;
  text-align: center;
}
.date-selector__weekday::first-letter {
  font-size: 14px;
}

.date-selector__week {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.date-selector__day {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  text-align: center;
  padding: 10px 10px;
  color: #444;
  font-family: Apercu, sans-serif;
}

.date-selector__day--has-items {
  font-weight: 700;
  text-decoration: underline;
  cursor: pointer;
  text-underline-offset: 2px;
}

.date-selector__day--is-today {
  position: relative;
  color: #fff;
  font-weight: 700;
  isolation: isolate;
}
.date-selector__day--is-today:after {
  position: absolute;
  content: "";
  background-color: #000;
  width: 36px;
  height: 36px;
  inset: 0;
  left: 1px;
  top: -1px;
  margin: auto;
  border-radius: 100%;
  z-index: -1;
}

.date-selector__day--is-today.date-selector__day--has-items:after {
  left: 0;
  top: 0;
}

.date-selector__day--is-past,
.date-selector__day--is-not-month {
  opacity: 0.3;
}

.artists-program-dialog {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}
.artists-program-dialog::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.artists-program-dialog::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.artists-program-dialog {
  background-color: #fff;
  padding: 20px;
  max-width: 550px;
  margin: 0 0 0 auto;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: display 0.4s ease, overlay 0.4s ease, -webkit-transform 0.4s ease;
  transition: display 0.4s ease, overlay 0.4s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, display 0.4s ease, overlay 0.4s ease;
  transition: transform 0.4s ease, display 0.4s ease, overlay 0.4s ease, -webkit-transform 0.4s ease;
  transition-behavior: allow-discrete;
}
.artists-program-dialog::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0);
  -ms-transition: background-color 0.4s ease, overlay 0.4s ease;
  transition: background-color 0.4s ease, overlay 0.4s ease;
  transition-behavior: allow-discrete;
}
.artists-program-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: background-color 0.4s ease, overlay 0.4s ease;
  transition: background-color 0.4s ease, overlay 0.4s ease;
  transition-behavior: allow-discrete;
}
.artists-program-dialog[open] {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.artists-program-dialog[open]::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
.artists-program-dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}
@starting-style {
  .artists-program-dialog[open] {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  .artists-program-dialog[open]::-ms-backdrop {
    background-color: rgba(0, 0, 0, 0);
  }
  .artists-program-dialog[open]::backdrop {
    background-color: rgba(0, 0, 0, 0);
  }
}
.artists-program-dialog .artists-program {
  border-top: none;
  padding-top: 10px;
}
.artists-program-dialog .artists-program__header {
  padding-right: 45px;
}

.artists-program-dialog__close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  color: #000;
  z-index: 10;
}
.artists-program-dialog__close .o-icon {
  width: 40px;
  height: 40px;
}
.artists-program-dialog__close:focus, .artists-program-dialog__close:focus-visible {
  outline: none;
}

.artists-program-dialog__inner {
  position: relative;
  height: 100%;
}

.artists-program-dialog__body {
  overflow-y: auto;
  height: 100%;
}
@media (min-width: 62.5em) {
  .artists-program-dialog__body {
    overflow-y: auto;
    height: auto;
  }
}
.artists-program-dialog__body .artists-program__list--program {
  grid-template-columns: 1fr;
}
.artists-program-dialog__body .artists-program__list--program .artists-program__item a {
  color: #093F6C;
  font-weight: 700;
}

.artists-program__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px 10px;
}
@media (min-width: 50em) {
  .artists-program__list {
    grid-template-columns: 1fr 1fr;
  }
}

.artists-program__item--has-related {
  grid-column: 1/-1;
}

.artists-program__date {
  text-transform: uppercase;
  font-size: 14px;
  margin-bottom: 5px;
}
@media (min-width: 50em) {
  .artists-program__date {
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 700;
  }
}
@media (min-width: 62.5em) {
  .artists-program__date {
    font-size: 18px;
  }
}

@media (max-width: 49.99em) {
  .artists-program__title {
    font-size: 24px;
  }
}

.artists-program__section {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 20px;
  padding-top: 20px;
}

.artists-program-dialog .artist-program-artist.artist-program-artist {
  padding: 3px 0;
}

.artists-program__footer {
  grid-area: footer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 25px;
  padding-top: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.artists-program__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
}
@media (min-width: 62.5em) {
  .artists-program__actions {
    gap: 10px;
  }
}
.artists-program__actions .btn, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--secondary, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--primary, .artists-program__actions .artist-header__footer .favorite-artist__button, .artist-header__footer .artists-program__actions .favorite-artist__button, .artists-program__actions .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .artists-program__actions .lot-header__cta--secondary, .artists-program__actions .lot-header__footer .lot-header__cta--primary, .lot-header__footer .artists-program__actions .lot-header__cta--primary, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--secondary, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--primary {
  font-size: 14px;
  padding: 8px 15px;
}
@media (min-width: 62.5em) {
  .artists-program__actions .btn, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--secondary, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--primary, .artists-program__actions .artist-header__footer .favorite-artist__button, .artist-header__footer .artists-program__actions .favorite-artist__button, .artists-program__actions .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .artists-program__actions .lot-header__cta--secondary, .artists-program__actions .lot-header__footer .lot-header__cta--primary, .lot-header__footer .artists-program__actions .lot-header__cta--primary, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--secondary, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--primary {
    padding: 10px 20px;
  }
}
.artists-program__actions .btn .o-icon, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--secondary .o-icon, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--secondary .o-icon, .artists-program__actions .page-header__footer.page-header__cta--pill .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--pill .artists-program__actions .page-header__cta--primary .o-icon, .artists-program__actions .artist-header__footer .favorite-artist__button .o-icon, .artist-header__footer .artists-program__actions .favorite-artist__button .o-icon, .artists-program__actions .lot-header__footer .lot-header__cta--secondary .o-icon, .lot-header__footer .artists-program__actions .lot-header__cta--secondary .o-icon, .artists-program__actions .lot-header__footer .lot-header__cta--primary .o-icon, .lot-header__footer .artists-program__actions .lot-header__cta--primary .o-icon, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--secondary .o-icon, .artists-program__actions .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--pill .artists-program__actions .home-hero-item__cta--primary .o-icon {
  width: 23px;
  height: 23px;
}
.artists-program__actions .btn--external {
  padding-right: 35px;
}
@media (min-width: 62.5em) {
  .artists-program__actions .btn--external {
    padding-right: 40px;
  }
}

.artists-program__venue .o-icon, .artists-program__venue img {
  width: 96px;
  height: 48px;
}
.artists-program__venue img {
  -o-object-fit: contain;
     object-fit: contain;
}

.artists-program__other-venue {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  text-wrap: pretty;
  line-height: 1.2;
  display: inline-block;
  max-width: 160px;
  text-align: right;
}
@media (min-width: 50em) {
  .artists-program__other-venue {
    font-size: 16px;
    max-width: 180px;
  }
}

/*  ==========================================================================
    Donation Panel
    ========================================================================== */
.donation-panel {
  position: relative;
  margin: 30px 0;
}
@media (min-width: 50em) {
  .donation-panel {
    margin: var(--content-margin-small);
  }
}

.donation-panel__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .donation-panel__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .donation-panel__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .donation-panel__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 60px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.donation-panel__title {
  margin-bottom: 20px;
}
@media (max-width: 49.99em) {
  .donation-panel__title {
    font-size: 32px;
    margin-bottom: 15px;
  }
}

.donation-panel__description {
  margin-bottom: 25px;
  font-size: 18px;
}
.donation-panel__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .donation-panel__description {
    margin-bottom: 30px;
  }
}
@media (min-width: 72em) {
  .donation-panel__description {
    font-size: 24px;
  }
}

.donation-panel__details {
  width: 100%;
}
@media (min-width: 50em) {
  .donation-panel__details {
    max-width: 650px;
    margin: 0 auto;
  }
}
@media (min-width: 62.5em) {
  .donation-panel__details {
    width: 50%;
    max-width: auto;
    margin: 0;
  }
}

.donation-panel__amounts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 15px;
}
@media (min-width: 50em) {
  .donation-panel__amounts {
    gap: 15px;
  }
}

.donation-panel__amount {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 calc(50% - 7.5px);
          flex: 0 1 calc(50% - 7.5px);
}
.donation-panel__amount:first-child .donation-panel__button {
  margin-left: 0;
}
@media (min-width: 32em) {
  .donation-panel__amount {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(33.33% - 10px);
            flex: 0 1 calc(33.33% - 10px);
  }
}

.donation-panel__input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.donation-panel__input:checked + .donation-panel__button,
.donation-panel__button:hover {
  background-color: #000;
  color: #fff;
  text-decoration: none;
}

.donation-panel__amount:has(.donation-panel__input:focus-visible) .donation-panel__button {
  -webkit-box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
          box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
}

.donation-panel__button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 18px;
  font-weight: 700;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  padding: 10px;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  border-radius: 30px;
  width: 100%;
  height: 35px;
  background: transparent;
  border: 1px solid;
}
@media (min-width: 72em) {
  .donation-panel__button {
    font-size: 20px;
    height: 40px;
  }
}

.donation-panel__other {
  background-color: transparent;
  border: none;
  color: #000;
  padding: 0;
  margin-top: 20px;
  cursor: pointer;
  font-size: 18px;
  text-decoration: underline;
  font-weight: 700;
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .donation-panel__other {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.donation-panel__other:visited {
  color: inherit;
}
.donation-panel__other:hover, .donation-panel__other:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (min-width: 72em) {
  .donation-panel__other {
    font-size: 20px;
  }
}

.donation-panel__btn {
  background-color: #000;
  border-color: #000;
  color: #fff;
  margin-top: 25px;
}
@media (min-width: 50em) {
  .donation-panel__btn {
    margin-top: 30px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .donation-panel__btn:hover {
    background-color: transparent;
    border-color: #000;
    color: #000;
  }
}

.donation-panel__specific-amount.hidden,
.donation-panel__other-amount.hidden {
  display: none;
}

.donation-panel__media {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
@media (min-width: 62.5em) {
  .donation-panel__media {
    width: 50%;
    margin-bottom: 0px;
  }
}

.donation-panel__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
}
@media (min-width: 50em) {
  .donation-panel__intrinsic-ratio {
    padding-bottom: 50%;
  }
}
@media (min-width: 62.5em) {
  .donation-panel__intrinsic-ratio {
    padding-bottom: 80%;
  }
}

.donation-panel__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.donation-panel__other-amount {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 30px;
  width: 100%;
}
@media (min-width: 50em) {
  .donation-panel__other-amount {
    width: 350px;
  }
}
.donation-panel__other-amount input[type=number] {
  border: none;
  background: transparent;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding-right: 20px;
  border-radius: 0 30px 30px 0;
  font-size: 18px;
}
@media (min-width: 50em) {
  .donation-panel__other-amount input[type=number] {
    font-size: 20px;
  }
}

.donation-panel__currency {
  font-size: 18px;
  color: #000;
  padding: 11px 15px 10px 20px;
  font-size: 18px;
}
@media (min-width: 50em) {
  .donation-panel__currency {
    font-size: 20px;
  }
}

/*  ==========================================================================
    Donation Panel - Right Align Image
    ========================================================================== */
@media (min-width: 62.5em) {
  .donation-panel--right .donation-panel__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

/*  ==========================================================================
    Fact Block
    ========================================================================== */
.downloads {
  padding: 15px;
  background-color: var(--theme-color);
  color: #000;
  overflow: hidden;
}
@media (min-width: 50em) {
  .downloads {
    padding: 40px 20px;
  }
}
@media (min-width: 62.5em) {
  .downloads {
    padding: 60px 0;
  }
}
.downloads + .well-block {
  padding-top: 0;
}

@media (min-width: 50em) {
  .downloads__inner {
    width: 100%;
    max-width: 920px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .downloads__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .downloads__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.downloads__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
  padding: 20px;
}
@media (min-width: 50em) {
  .downloads__body {
    padding: 30px 20px;
    margin: 0 -20px;
  }
}
@media (min-width: 62.5em) {
  .downloads__body {
    padding: 40px;
    margin: 0 -40px;
  }
}

.downloads__title {
  font-size: 24px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .downloads__title {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .downloads__title {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .downloads__title {
    font-size: 32px;
  }
}

.downloads__list {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .downloads__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

.downloads__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.downloads__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  padding: 10px 0;
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.downloads__link:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: -1px;
  left: 0;
  background-color: #000;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.downloads__link:hover {
  color: #000;
  text-decoration: none;
}
.downloads__link:hover .o-icon--download-filled {
  opacity: 1;
}
.downloads__link:hover .o-icon--download {
  opacity: 0;
}
.downloads__link:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.downloads__content {
  font-size: 18px;
  line-height: 1.4;
  text-wrap: pretty;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 15px;
}
.downloads__content p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .downloads__content {
    font-size: 20px;
  }
}

.downloads__icon {
  position: relative;
  height: 22px;
  width: 22px;
}
@media (min-width: 50em) {
  .downloads__icon {
    height: 25px;
    width: 25px;
  }
}
.downloads__icon .o-icon {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transition: opacity 0.4s ease-in-out;
  transition: opacity 0.4s ease-in-out;
}
.downloads__icon .o-icon--download-filled {
  opacity: 0;
}

/*  ==========================================================================
	Embed Iframe
	========================================================================== */
.embed-iframe {
  padding: 20px 0;
}
@media (min-width: 50em) {
  .embed-iframe {
    padding: var(--content-margin-small);
  }
}

.embed-iframe__inner {
  width: 100%;
  max-width: 1000px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .embed-iframe__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .embed-iframe__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.error-page {
  margin: var(--content-margin-small);
}
@media (min-width: 50em) {
  .error-page {
    margin: var(--content-margin-big);
  }
}
.error-page .content-panel__inner {
  width: 100%;
  max-width: 820px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .error-page .content-panel__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .error-page .content-panel__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.error-page .content-panel__inner {
  text-align: center;
}
.error-page .inline-link {
  color: #09F;
  text-decoration: underline;
}
.error-page .content-panel__body a {
  color: #09F;
  text-decoration: underline;
}

.event-details {
  padding: 30px 0;
}
@media (min-width: 50em) {
  .event-details {
    padding: var(--content-margin-small);
  }
}

.event-details__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .event-details__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .event-details__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .event-details__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.event-details__content {
  width: 100%;
}
@media (min-width: 50em) {
  .event-details__content {
    width: 65%;
    border-right: 1px solid;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) {
  .event-details__content {
    padding-right: 100px;
  }
}

.event-details__description h3 {
  font-size: 24px;
  line-height: 1.1;
  margin-bottom: 30px;
}
@media (min-width: 62.5em) {
  .event-details__description h3 {
    font-size: 36px;
    line-height: 1.3;
  }
}
.event-details__description p {
  font-size: 18px;
}
@media (min-width: 62.5em) {
  .event-details__description p {
    font-size: 24px;
  }
}
.event-details__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .event-details__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.event-details__description a:visited {
  color: inherit;
}
.event-details__description a:hover, .event-details__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

.event-details__tags {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.event-details__tag {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.8);
  text-transform: uppercase;
}

.event-details__tag-separator {
  color: rgba(0, 0, 0, 0.3);
}

.event-details__sidebar {
  width: 100%;
}
@media (min-width: 50em) {
  .event-details__sidebar {
    width: 35%;
    padding-left: 30px;
  }
}
@media (min-width: 62.5em) {
  .event-details__sidebar {
    padding-left: 48px;
  }
}
@media (max-width: 49.99em) {
  .event-details__sidebar {
    margin-top: 30px;
  }
}

.event-details__icon-list {
  list-style: none;
  padding: 0 0 15px;
  margin: 0 0 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6px;
}

.event-details__icon-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  font-size: 18px;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.event-details__icon-item .o-icon {
  width: 22px;
  height: 22px;
  min-width: 22px;
}

.event-details__icon {
  width: 22px;
  height: 22px;
  -o-object-fit: contain;
     object-fit: contain;
}

.event-details__footer p {
  font-size: 16px;
}

.event-details__underwriting {
  font-size: 16px;
}
@media (min-width: 62.5em) {
  .event-details__underwriting {
    font-size: 18px;
  }
}

.event-details__sponsor {
  margin-top: 30px;
}

.event-details__sponsor-title {
  margin-bottom: 30px;
  font-size: 24px;
}
@media (min-width: 62.5em) {
  .event-details__sponsor-title {
    font-size: 36px;
  }
}

.event-details__sponsor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px;
}

.event-details__sponsor-item {
  width: 100%;
  max-width: 250px;
}
@media (min-width: 62.5em) {
  .event-details__sponsor-item {
    width: calc(50% - 5px);
  }
}

.event-details__sponsor-link {
  width: 100%;
  max-width: 250px;
}
@media (min-width: 62.5em) {
  .event-details__sponsor-link {
    width: calc(50% - 5px);
  }
}
.event-details__sponsor-link .event-details__sponsor-item {
  width: 100%;
}

.event-details__sponsor-image {
  width: 100%;
  margin-bottom: 10px;
}

.event-details__sponsor-caption {
  font-size: 12px;
  text-align: center;
  font-weight: 500;
}

/*  ==========================================================================
	Event Grid
	========================================================================== */
.event-grid {
  padding: 30px 0;
  overflow: hidden;
  position: relative;
}
@media (min-width: 50em) {
  .event-grid {
    padding: var(--content-margin-small);
  }
}

.event-grid__inner {
  overflow: hidden;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .event-grid__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .event-grid__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.event-grid__header {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 20px;
}

.event-grid__description {
  margin-bottom: 0;
  font-size: 18px;
  max-width: 800px;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .event-grid__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .event-grid__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .event-grid__description {
    font-size: 24px;
  }
}

.event-grid__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px 0;
}
@media (min-width: 42.5em) {
  .event-grid__list {
    margin-right: -30px;
    gap: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .event-grid__list {
    gap: 60px 0;
  }
}

.event-grid__item {
  width: 100%;
  padding-right: 30px;
  border-right: 1px solid rgba(0, 0, 0, 0.4);
}
@media (max-width: 42.49em) {
  .event-grid__item {
    margin-right: 30px;
  }
  .event-grid__item:last-child {
    margin-right: 0;
    border-right: none;
  }
}
@media (min-width: 42.5em) {
  .event-grid__item {
    width: calc(50% - 15px);
    padding-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
}
@media (min-width: 42.5em) and (max-width: 62.49em) {
  .event-grid__item:nth-child(even) {
    margin-right: 0;
    border-color: transparent;
  }
  .event-grid__item:nth-child(odd) {
    margin-right: 30px;
  }
}
@media (min-width: 62.5em) {
  .event-grid__item {
    width: calc(33.33% - 20px);
    padding-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
  .event-grid__item:nth-child(3n) {
    margin-right: 0;
    border: none;
  }
  .event-grid__item:nth-child(3n+1), .event-grid__item:nth-child(3n+2) {
    margin-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
}

/*  ==========================================================================
	Event Grid - Modifiers
	========================================================================== */
.event-grid--one .event-grid__item {
  width: 100%;
  border: none;
  margin: 0;
}
@media (max-width: 42.49em) {
  .event-grid--one .event-grid__item {
    padding-right: 0;
  }
}
@media (min-width: 42.5em) {
  .event-grid--one .event-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 62.5em) {
  .event-grid--one .event-item {
    gap: 50px;
  }
}
@media (min-width: 42.5em) {
  .event-grid--one .event-item__media {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-grid--one .event-item__media {
    width: 40%;
  }
}
@media (min-width: 42.5em) {
  .event-grid--one .event-item__content {
    width: 50%;
    height: auto;
  }
}
@media (min-width: 62.5em) {
  .event-grid--one .event-item__content {
    width: 60%;
  }
}
@media (min-width: 62.5em) {
  .event-grid--one .event-item__title {
    max-width: 700px;
    font-size: 48px;
  }
}

.event-grid__mobile-slider .event-grid__inner {
  padding: 0;
}
.event-grid__mobile-slider .event-grid__header {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .event-grid__mobile-slider .event-grid__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .event-grid__mobile-slider .event-grid__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.event-grid__mobile-slider .event-grid__list-container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 42.49em) {
  .event-grid__mobile-slider .event-grid__list-container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 15px;
  }
}
@media (min-width: 42.5em) {
  .event-grid__mobile-slider .event-grid__list-container {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 42.5em) and (min-width: 50em) {
  .event-grid__mobile-slider .event-grid__list-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 42.5em) and (min-width: 100em) {
  .event-grid__mobile-slider .event-grid__list-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.event-grid__mobile-slider .event-grid__list {
  -webkit-overflow-scrolling: touch;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}
@media (min-width: 42.5em) {
  .event-grid__mobile-slider .event-grid__list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.event-grid__mobile-slider .event-grid__item {
  padding-right: 30px;
  border-right: 1px solid rgba(0, 0, 0, 0.4);
}
@media (max-width: 42.49em) {
  .event-grid__mobile-slider .event-grid__item {
    margin-right: 30px;
  }
  .event-grid__mobile-slider .event-grid__item:last-child {
    margin-right: 0;
    border-right: none;
    padding-right: 15px;
  }
}
@media (min-width: 42.5em) {
  .event-grid__mobile-slider .event-grid__item:nth-child(odd) {
    margin-right: 30px;
  }
  .event-grid__mobile-slider .event-grid__item:nth-child(even) {
    border: none;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider .event-grid__item {
    width: calc(33.33% - 20px);
    padding-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
  .event-grid__mobile-slider .event-grid__item:nth-child(3n) {
    margin-right: 0;
    border: none;
  }
  .event-grid__mobile-slider .event-grid__item:nth-child(3n+2), .event-grid__mobile-slider .event-grid__item:nth-child(3n+1) {
    margin-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
}
.event-grid__mobile-slider .event-item {
  width: 300px;
}
@media (min-width: 42.5em) {
  .event-grid__mobile-slider .event-item {
    width: 100%;
  }
}
.event-grid__mobile-slider.event-grid--two .event-grid__item {
  width: 100%;
}
@media (min-width: 42.5em) {
  .event-grid__mobile-slider.event-grid--two .event-grid__item {
    width: 50%;
    border: none;
    margin: 0;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider.event-grid--two .event-grid__item {
    width: calc(50% - 15px);
    border: none;
  }
  .event-grid__mobile-slider.event-grid--two .event-grid__item:nth-child(even) {
    margin-right: 0;
  }
  .event-grid__mobile-slider.event-grid--two .event-grid__item:nth-child(odd) {
    margin-right: 30px;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider.event-grid--two .event-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider.event-grid--two .event-item__media {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider.event-grid--two .event-item__content {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-grid__mobile-slider.event-grid--two .event-item__title {
    font-size: 24px;
  }
}

@media (min-width: 42.5em) {
  .event-grid--expandable .event-grid__item--hidden {
    display: none;
  }
}
.event-grid--expandable .event-grid__footer {
  display: none;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  margin-top: 30px;
  padding-top: 15px;
  padding-bottom: 15px;
}
@media (min-width: 42.5em) {
  .event-grid--expandable .event-grid__footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

/*  ==========================================================================
    Event Header
    ========================================================================== */
.event-header {
  position: relative;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}

.event-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 62.5em) {
  .event-header__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 40px;
    padding: 40px;
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .event-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .event-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.event-header__body {
  width: 100%;
  padding: 20px 15px;
}
@media (min-width: 50em) {
  .event-header__body {
    padding: 40px;
  }
}
@media (min-width: 62.5em) {
  .event-header__body {
    width: 50%;
    padding: 20px 0;
  }
}

.event-header__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media (min-width: 62.5em) {
  .event-header__titles {
    gap: 16px;
  }
}

.event-header__prefix {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}
@media (min-width: 62.5em) {
  .event-header__prefix {
    font-size: 32px;
  }
}

.event-header__title {
  font-size: 42px;
}
@media (min-width: 62.5em) {
  .event-header__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .event-header__title {
    font-size: 74px;
  }
}

.event-header__second-billing {
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}
@media (min-width: 62.5em) {
  .event-header__second-billing {
    font-size: 42px;
  }
}
@media (min-width: 72em) {
  .event-header__second-billing {
    font-size: 52px;
  }
}

.event-header__third-billing {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 15px;
}
@media (min-width: 62.5em) {
  .event-header__third-billing {
    font-size: 26px;
  }
}
@media (min-width: 72em) {
  .event-header__third-billing {
    font-size: 36px;
  }
}

.event-header__suffix {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
@media (min-width: 62.5em) {
  .event-header__suffix {
    font-size: 24px;
  }
}

.event-header__description p {
  font-size: 16px;
  line-height: 1.2;
  text-wrap: pretty;
}
@media (min-width: 62.5em) {
  .event-header__description p {
    font-size: 24px;
  }
}

.event-header__rule {
  font-size: 16px;
  font-weight: 500;
  text-decoration: underline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin: 10px 0 20px;
}
.event-header__rule .o-icon {
  width: 18px;
  height: 18px;
}
@media (min-width: 62.5em) {
  .event-header__rule {
    font-size: 18px;
    margin: 0 0 5px;
  }
  .event-header__rule .o-icon {
    width: 22px;
    height: 22px;
  }
}

.date-switcher {
  width: 100%;
  cursor: pointer;
  position: relative;
}

.date-switcher__inner {
  width: 100%;
}

.date-switcher__action {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  font-size: 15px;
  color: #000;
  padding: 16px 24px;
  text-transform: uppercase;
  border-radius: 30px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.5);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}
.date-switcher__action .o-icon {
  width: 22px;
  height: 22px;
  rotate: 90deg;
  position: relative;
}
@media (min-width: 50em) {
  .date-switcher__action {
    font-size: 20px;
  }
}

/* Popover Panel */
.date-switcher__menu {
  position: absolute;
  width: auto;
  margin: 0;
  padding: 0;
  opacity: 0;
  border: none;
  background-color: #fff;
  border: none;
  border-radius: 30px;
  list-style: none;
  opacity: 1;
  font-size: 18px;
  font-size: var(--global-body-size-8);
  padding: unset;
  margin: unset;
  z-index: 10;
}

.date-switcher__close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  position: absolute;
  top: 16px;
  right: 24px;
  cursor: pointer;
}
.date-switcher__close .o-icon {
  width: 22px;
  height: 22px;
  rotate: -90deg;
}

.date-switcher__list-item {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
}
.date-switcher__list-item:first-child {
  border: none;
}

.date-switcher__list-link {
  display: block;
  word-wrap: normal;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  color: #000;
  text-transform: uppercase;
  font-size: 20px;
  padding: 16px 24px;
  line-height: 1.15;
  letter-spacing: 0;
}

.event-header__media {
  width: 100%;
}
@media (min-width: 62.5em) {
  .event-header__media {
    width: 50%;
    max-width: 550px;
  }
}

.event-header__image {
  width: 100%;
  height: auto;
}

.event-header .event-body__inner,
.event-header .event-booking__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
}
@media (max-width: 79.99em) {
  .event-header .event-body__inner,
  .event-header .event-booking__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .event-header .event-body__inner .btn, .event-header .event-body__inner .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-header .event-body__inner .page-header__cta--secondary, .event-header .event-body__inner .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-header .event-body__inner .page-header__cta--primary, .event-header .event-body__inner .artist-header__footer .favorite-artist__button, .artist-header__footer .event-header .event-body__inner .favorite-artist__button, .event-header .event-body__inner .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-header .event-body__inner .lot-header__cta--secondary, .event-header .event-body__inner .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-header .event-body__inner .lot-header__cta--primary, .event-header .event-body__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-body__inner .home-hero-item__cta--secondary, .event-header .event-body__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-body__inner .home-hero-item__cta--primary,
  .event-header .event-booking__inner .btn,
  .event-header .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--secondary,
  .page-header__footer.page-header__cta--pill .event-header .event-booking__inner .page-header__cta--secondary,
  .event-header .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--primary,
  .page-header__footer.page-header__cta--pill .event-header .event-booking__inner .page-header__cta--primary,
  .event-header .event-booking__inner .artist-header__footer .favorite-artist__button,
  .artist-header__footer .event-header .event-booking__inner .favorite-artist__button,
  .event-header .event-booking__inner .lot-header__footer .lot-header__cta--secondary,
  .lot-header__footer .event-header .event-booking__inner .lot-header__cta--secondary,
  .event-header .event-booking__inner .lot-header__footer .lot-header__cta--primary,
  .lot-header__footer .event-header .event-booking__inner .lot-header__cta--primary,
  .event-header .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary,
  .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-booking__inner .home-hero-item__cta--secondary,
  .event-header .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-booking__inner .home-hero-item__cta--primary {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
  .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .btn, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--secondary, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--primary, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .artist-header__footer .favorite-artist__button, .artist-header__footer .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .favorite-artist__button, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--secondary, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--primary, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--secondary, .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .btn,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--secondary,
  .page-header__footer.page-header__cta--pill .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--secondary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--primary,
  .page-header__footer.page-header__cta--pill .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .artist-header__footer .favorite-artist__button,
  .artist-header__footer .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .favorite-artist__button,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--secondary,
  .lot-header__footer .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--secondary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--primary,
  .lot-header__footer .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary,
  .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--secondary,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--primary {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    max-width: none;
  }
  .event-header .event-body__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .event-booking__promo-code,
  .event-header .event-booking__inner:has(> :nth-child(2 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .event-booking__promo-code {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    text-align: center;
  }
  .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .btn-theme-fill, .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--primary, .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--primary, .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-body__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .btn-theme-fill,
  .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__footer.page-header__cta--pill .page-header__cta--primary,
  .page-header__footer.page-header__cta--pill .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .page-header__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__footer .lot-header__cta--primary,
  .lot-header__footer .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .lot-header__cta--primary,
  .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary,
  .home-hero-item__actions.home-hero-item__cta--pill .event-header .event-booking__inner:has(> :nth-child(3 of .btn, .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .page-header__cta--primary, .artist-header__footer .favorite-artist__button, .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .lot-header__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary)) .home-hero-item__cta--primary {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}

.event-booking__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.event-header__gallery {
  position: relative;
}
.event-header__gallery::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .event-header__gallery {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
@media (min-width: 62.5em) {
  .event-header__gallery {
    overflow-x: clip;
    overflow-y: visible;
  }
}
.event-header__gallery .swiper-buttons {
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  padding-bottom: 100%;
}
.event-header__gallery .swiper-buttons__inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 15px;
}
.event-header__gallery .swiper-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  margin-right: -3px;
}
@media (max-width: 62.49em) {
  .event-header__gallery .swiper-navigation {
    display: none;
  }
}
.event-header__gallery .swiper-navigation__button {
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
}
.event-header__gallery .swiper-navigation__button--pause {
  border: 3px solid;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  opacity: 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  visibility: hidden;
}
.event-header__gallery .swiper-navigation__button--pause .o-icon {
  width: 15px;
  height: 15px;
}
.event-header__gallery .swiper-navigation__button--pause .o-icon--play {
  display: none;
}
.event-header__gallery .swiper-navigation__button--pause.is-paused .o-icon--play {
  display: inline-block;
}
.event-header__gallery .swiper-navigation__button--pause.is-paused .o-icon--pause {
  display: none;
}
.event-header__gallery .swiper-navigation__button--pause.is-video {
  opacity: 1;
  visibility: visible;
}

.event-header__gallery__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.event-header__gallery__video, .event-header__gallery__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
}
@media (min-width: 62.5em) {
  .event-header__gallery__video, .event-header__gallery__media {
    margin-right: 20px;
  }
}
.event-header__gallery__video:last-child, .event-header__gallery__media:last-child {
  margin-right: 0;
}
.event-header__gallery__video .video-item, .event-header__gallery__media .video-item {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  width: 100%;
  padding-bottom: 100%;
}
.event-header__gallery__video .video-item__video, .event-header__gallery__media .video-item__video {
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.event-header__gallery__figure {
  margin: 0;
}

.event-header__caption {
  padding-top: 10px;
  font-size: 16px;
  min-height: 30px;
  padding-right: 40px;
}
@media (max-width: 62.49em) {
  .event-header__caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 15px;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.8)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.8), rgba(255, 255, 255, 0) 100%);
  }
}

.event-header__pagination {
  position: absolute;
  width: 100%;
  height: 0;
  top: 0;
  padding-bottom: 100%;
}
.event-header__pagination .swiper-pagination {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  padding-top: 10px;
}
@media (max-width: 62.49em) {
  .event-header__pagination {
    display: none;
  }
}

.event-header__pagination-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.event-header__audio {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .event-header__audio {
    margin-bottom: 5px;
  }
}

.event-header__audio-button {
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: var(--theme-body-text-color);
  font-size: 16px;
  text-align: left;
}
.event-header__audio-button .o-icon {
  width: 24px;
  height: 24px;
}
.event-header__audio-button p {
  margin: 0;
}
@media (min-width: 50em) {
  .event-header__audio-button {
    font-size: 18px;
  }
}

.event-header__audio-item {
  width: 0;
  height: 0;
}

.event-header__audio--inline,
.event-header__audio--external {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.event-header__audio--inline .o-icon--pause-circle,
.event-header__audio--external .o-icon--pause-circle {
  display: none;
}
.event-header__audio--inline.is-active .o-icon--play-circle,
.event-header__audio--external.is-active .o-icon--play-circle {
  display: none;
}
.event-header__audio--inline.is-active .o-icon--pause-circle,
.event-header__audio--external.is-active .o-icon--pause-circle {
  display: inline-block;
}

/*  ==========================================================================
    Event Header - Pop up styles
    ========================================================================== */
.audio-popup {
  border: none;
  padding: 15px;
  max-width: 90%;
  width: 600px;
  background: transparent;
  overflow: visible;
}
.audio-popup::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
.audio-popup::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}

.audio-popup__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  position: absolute;
}
@media (max-width: 49.99em) {
  .audio-popup__header {
    right: 15px;
    bottom: 100%;
  }
}
@media (min-width: 50em) {
  .audio-popup__header {
    left: 100%;
  }
}
.audio-popup__header .o-icon {
  width: 18px;
  height: 18px;
}

.audio-popup__button {
  border: none;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  width: 42px;
  height: 42px;
  cursor: pointer;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.audio-popup__body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  height: 100%;
}
@media (min-width: 62.5em) {
  .audio-popup__body {
    overflow-y: auto;
    -webkit-overflow-scrolling: auto;
    height: auto;
  }
}

.audio-popup__audio-item {
  width: 100%;
}

/*  ==========================================================================
	Event Item
	========================================================================== */
.event-item {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.event-item__media {
  margin-bottom: 0;
  width: 100%;
}

.event-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
  overflow: hidden;
}

.event-item__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 500ms cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 500ms cubic-bezier(0.8, 0, 0.2, 1);
}
.event-item__image:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.event-item__image-caption {
  font-size: 14px;
  font-style: italic;
  margin-top: 2px;
}

.event-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
  height: 100%;
}
@media (min-width: 62.5em) {
  .event-item__content {
    gap: 0;
  }
}

.event-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5px;
}
@media (min-width: 62.5em) {
  .event-item__meta {
    margin-bottom: 10px;
  }
}

.event-item__flags {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
}

.event-item__flag {
  background-color: rgba(0, 0, 0, 0.9);
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  padding: 0.286em 0.571em;
  line-height: 1.3;
}
@media (min-width: 62.5em) {
  .event-item__flag {
    font-size: 14px;
  }
}

.event-item__date {
  font-size: 14px;
  text-transform: uppercase;
}
@media (min-width: 62.5em) {
  .event-item__date {
    font-size: 16px;
  }
}

.event-item__prefix, .event-item__suffix, .event-item__description {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  line-height: 1.2;
}
@media (min-width: 62.5em) {
  .event-item__prefix, .event-item__suffix, .event-item__description {
    font-size: 16px;
    margin-bottom: 10px;
  }
}

.event-item__second_billing {
  font-size: 18px;
  margin: 0;
  line-height: 1.2;
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .event-item__second_billing {
    font-size: 24px;
    line-height: 1.4;
  }
}

.event-item__third_billing {
  font-size: 16px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}
@media (min-width: 62.5em) {
  .event-item__third_billing {
    font-size: 20px;
    line-height: 1.4;
  }
}

.event-item__series {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}
@media (min-width: 62.5em) {
  .event-item__series {
    font-size: 16px;
    margin-bottom: 5px;
  }
}

@media (min-width: 62.5em) {
  .event-item__description {
    margin-top: 10px;
  }
}

.event-item__title {
  font-size: 20px;
  margin: 0;
}
@media (min-width: 62.5em) {
  .event-item__title {
    font-size: 32px;
  }
}
.event-item__title:hover {
  text-decoration: underline;
}

.event-item__footer {
  margin-top: auto;
}

.event-item__footer-inner {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  padding-top: 15px;
  margin-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 52px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 62.5em) {
  .event-item__footer-inner {
    margin-top: 30px;
  }
}

.event-item__venue {
  height: 35px;
  width: 90px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: left;
     object-position: left;
}
.theme-dark .event-item__venue {
  -webkit-filter: invert(1);
          filter: invert(1);
}

.event-item__other-venue {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  text-wrap: pretty;
  line-height: 1.2;
  display: inline-block;
  max-width: 160px;
}
@media (min-width: 50em) {
  .event-item__other-venue {
    font-size: 16px;
    max-width: 180px;
  }
}

.event-item__favorite {
  justify-self: flex-end;
  cursor: pointer;
}

/*  ==========================================================================
    Event Package Popup
    ========================================================================== */
.event-package-popup {
  border: none;
  padding: 25px;
  width: 1000px;
  max-width: 90%;
}
@media (min-width: 50em) {
  .event-package-popup {
    padding: 26px 48px;
  }
}
.event-package-popup::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
.event-package-popup::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}

.event-package-popup__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 20px;
}

.event-package-popup__title {
  font-size: 28px;
}
@media (min-width: 50em) {
  .event-package-popup__title {
    font-size: 36px;
  }
}

.event-package-popup__button {
  border: none;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  width: 38px;
  height: 38px;
  cursor: pointer;
}
.event-package-popup__button .o-icon {
  width: 16px;
  height: 16px;
}
@media (min-width: 50em) {
  .event-package-popup__button {
    width: 42px;
    height: 42px;
  }
  .event-package-popup__button .o-icon {
    width: 18px;
    height: 18px;
  }
}

.event-package-popup__body {
  max-height: 500px;
  overflow: auto;
}

.event-package-popup__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 50em) {
  .event-package-popup__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.event-package-popup__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 50em) {
  .event-package-popup__media {
    width: calc(40% - 20px);
  }
}

.event-package-popup__intrinsic-ratio {
  position: relative;
  padding-bottom: 60%;
  height: 0;
}

.event-package-popup__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.event-package-popup__caption {
  font-size: 14px;
  margin: 15px 0 0 0;
  font-style: italic;
}

.event-package-popup__content {
  width: 100%;
}
@media (min-width: 50em) {
  .event-package-popup__content {
    width: calc(60% - 20px);
  }
}

.event-package-popup__content-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 20px;
}

.event-package-popup__item {
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-bottom: 40px;
}

.event-package-popup__content-title {
  font-size: 28px;
}
@media (min-width: 50em) {
  .event-package-popup__content-title {
    font-size: 36px;
  }
}

.event-package-popup__suffix {
  font-size: 20px;
  font-weight: 700;
}

.event-package-popup__description {
  font-size: 18px;
}

.event-package-popup__content-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.event-package-popup__events, .event-package-popup__price {
  font-weight: 700;
  font-size: 18px;
  margin: 0;
}

.event-package-popup__divider {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  height: 26px;
}

.event-package-popup__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.package-list-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding: 15px 0;
}

.package-list-item__date {
  font-size: 14px;
  margin: 0;
}

.package-list-item__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.event-package-popup__ctas {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

/*  ==========================================================================
    Event Scroller
    ========================================================================== */
.event-scroller {
  position: relative;
  margin: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .event-scroller {
    margin: var(--content-margin-small);
  }
}

.event-scroller__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .event-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .event-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.event-scroller__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 5px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .event-scroller__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    margin-bottom: 20px;
  }
}
@media (min-width: 72em) {
  .event-scroller__header {
    margin-bottom: 30px;
  }
}

.event-scroller__title-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 31.99em) {
  .event-scroller__title-wrapper {
    max-width: 50%;
  }
}

.event-scroller__venue-select {
  background: rgba(0, 0, 0, 0.1);
  border: none;
  border-radius: 30px;
  padding: 15px 40px 15px 20px;
  font-size: 16px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5Ljk4NDYgOS45OTYxNEMxOS45ODQ2IDE1LjQ5NjcgMTUuNDk2NyAxOS45ODQ2IDkuOTg4NDggMTkuOTg0NkM0LjQ4NzkyIDE5Ljk4NDYgMCAxNS40OTY3IDAgOS45OTYxNEMwIDQuNDg3OTIgNC40ODc5MiAwIDkuOTg4NDggMEMxNS40OTY3IDAgMTkuOTg0NiA0LjQ4NzkyIDE5Ljk4NDYgOS45OTYxNFpNNC45OTQyNSA4LjAwOTIyQzQuNzQ4NzUgOC4yNzAwMyA0Ljc1NjQyIDguNjY4OTcgNS4wMjQ5MyA4Ljk1MjgzTDkuMTM2OTEgMTMuMjcxOUM5LjY4MTY1IDEzLjg1NSAxMC4zMTg0IDEzLjg0NzMgMTAuODcwNyAxMy4yNzE5TDE0Ljk3NTEgOC45NTI4M0MxNS4yNDM2IDguNjY4OTcgMTUuMjU4OSA4LjI2MjM3IDE1LjAwNTggOC4wMDkyMkMxNC43Mjk2IDcuNzQwNjggMTQuMzA3NiA3LjcyNTM2IDE0LjA1NDUgOC4wMDE1NkwxMC4wMDM4IDEyLjI1OTNMNS45NDU1MyA4LjAwMTU2QzUuNjkyMzYgNy43MjUzNiA1LjI2Mjc1IDcuNzMzMDIgNC45OTQyNSA4LjAwOTIyWiIgZmlsbD0iYmxhY2siLz4KPC9zdmc+Cg==");
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 18px;
  cursor: pointer;
}

.event-scroller__title {
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .event-scroller__title {
    font-size: 38px;
  }
}

.event-scroller__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 16px;
  height: 28px;
  padding-left: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.event-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
  padding-right: 15px;
  margin-right: 15px;
  border-right: 1px solid;
}
@media (max-width: 62.49em) {
  .event-scroller__navigation {
    display: none;
  }
}

.event-scroller__actions {
  display: none;
  gap: 0;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 62.5em) {
  .event-scroller__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.event-scroller__previous,
.event-scroller__next {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.7);
  border: 2px solid;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .event-scroller__previous,
  .event-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.event-scroller__previous.swiper-button-disabled,
.event-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.event-scroller__previous .o-icon,
.event-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  color: rgba(0, 0, 0, 0.7);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.event-scroller__previous:hover,
.event-scroller__next:hover {
  background-color: #000;
  border-color: #000;
}
.event-scroller__previous:hover .o-icon,
.event-scroller__next:hover .o-icon {
  color: #fff;
}

.event-scroller__previous {
  margin-right: 0;
}
.event-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin: 0 1px 1px -1px;
}
.event-scroller__previous:active:not(.swiper-button-disabled) .o-icon {
  -webkit-transform: scale(0.9) rotate(180deg);
          transform: scale(0.9) rotate(180deg);
}

.event-scroller__next {
  margin-right: 15px;
}
@media (min-width: 62.5em) {
  .event-scroller__next {
    margin-right: 0;
  }
}
.event-scroller__next .o-icon {
  margin: 0 0 1px 1px;
}
.event-scroller__next:active:not(.swiper-button-disabled) .o-icon {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.event-scroller__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .event-scroller__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 -40px;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .event-scroller__scroll {
    margin: 0 -20px;
    padding-left: 20px;
  }
}

.event-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.event-scroller__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 300px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid rgba(0, 0, 0, 0.4);
}
@media (min-width: 62.5em) {
  .event-scroller__item {
    width: calc(33.3% - 40px);
    margin-right: 30px;
    padding-right: 30px;
  }
  .event-scroller__item:last-child {
    margin-right: 0;
    border-right: none;
  }
}
.event-scroller__item .event-item {
  width: 100%;
}

/*  ==========================================================================
    Event Scroller - Dark Theme
    ========================================================================== */
.event-scroller.theme-dark {
  background-color: #222;
  color: #fff;
  margin: 0;
  padding: 30px 0;
}
@media (min-width: 50em) {
  .event-scroller.theme-dark {
    padding: var(--content-margin-small);
  }
}
.event-scroller.theme-dark .event-scroller__previous,
.event-scroller.theme-dark .event-scroller__next {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.7);
}
.event-scroller.theme-dark .event-scroller__previous .o-icon,
.event-scroller.theme-dark .event-scroller__next .o-icon {
  color: rgba(255, 255, 255, 0.7);
}
.event-scroller.theme-dark .event-scroller__previous:hover,
.event-scroller.theme-dark .event-scroller__next:hover {
  background-color: #fff;
  border-color: #fff;
}
.event-scroller.theme-dark .event-scroller__previous:hover .o-icon,
.event-scroller.theme-dark .event-scroller__next:hover .o-icon {
  color: #000;
}
.event-scroller.theme-dark .event-item__footer-inner {
  border-top-color: rgba(255, 255, 255, 0.4);
}

/*  ==========================================================================
    Event Scroller - Modifiers
    ========================================================================== */
.event-scroller--one .event-scroller__item {
  width: 100%;
  border: none;
  margin: 0;
}
@media (max-width: 42.49em) {
  .event-scroller--one .event-scroller__item {
    padding-right: 0;
  }
}
@media (min-width: 42.5em) {
  .event-scroller--one .event-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--one .event-item {
    gap: 50px;
  }
}
@media (min-width: 42.5em) {
  .event-scroller--one .event-item__media {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--one .event-item__media {
    width: 40%;
  }
}
@media (min-width: 42.5em) {
  .event-scroller--one .event-item__content {
    width: 50%;
    height: auto;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--one .event-item__content {
    width: 60%;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--one .event-item__title {
    max-width: 700px;
    font-size: 48px;
  }
}

.event-scroller--two .event-scroller__item {
  width: 100%;
}
@media (min-width: 42.5em) {
  .event-scroller--two .event-scroller__item {
    width: 50%;
    border: none;
    margin: 0;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--two .event-scroller__item {
    width: calc(50% - 15px);
    border: none;
  }
  .event-scroller--two .event-scroller__item:nth-child(even) {
    margin-right: 0;
  }
  .event-scroller--two .event-scroller__item:nth-child(odd) {
    margin-right: 30px;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--two .event-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--two .event-item__media {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--two .event-item__content {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .event-scroller--two .event-item__title {
    font-size: 24px;
  }
}

.event-sticky {
  position: fixed;
  bottom: -300px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 5;
  -webkit-transition: bottom 0.5s ease-in-out;
  transition: bottom 0.5s ease-in-out;
  max-width: 100%;
}
.event-sticky.show {
  bottom: 20px;
}
@media (max-width: 62.49em) {
  .event-sticky {
    bottom: -400px;
    overflow-x: auto;
    width: 100%;
  }
  .event-sticky.show {
    -webkit-transition: top 0.5s ease-in-out;
    transition: top 0.5s ease-in-out;
    bottom: 0;
  }
}
@media (min-width: 62.5em) {
  .event-sticky {
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 80em) {
  .event-sticky {
    max-width: 900px;
  }
}

.event-sticky__inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
}

.event-sticky__navigation {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  margin: 0 auto;
  backdrop-filter: blur(20px);
  -webkit-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  width: calc(100% - 55px);
  padding: 10px 0 10px 20px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-transition: padding 0.2s ease;
  transition: padding 0.2s ease;
}
@media (min-width: 62.5em) {
  .event-sticky__navigation {
    padding: 10px 40px 10px 50px;
    border-radius: 40px 0 0 40px;
  }
}

.event-sticky__navigation:has(.event-nav__next.swiper-button-disabled) {
  padding-right: 0;
}
.event-sticky__navigation:has(.event-nav__next.swiper-button-disabled) .event-sticky__item:last-child {
  border-right: none;
  padding-right: 0;
}

.event-sticky__navigation:has(.event-nav__previous.swiper-button-disabled) {
  padding-left: 30px;
}

.event-sticky__nav {
  overflow-x: auto;
}
.event-sticky__nav::-webkit-scrollbar {
  display: none;
}
@media (min-width: 62.5em) {
  .event-sticky__nav {
    overflow-x: hidden;
  }
}

.event-nav__previous,
.event-nav__next {
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 20px;
  height: 20px;
  cursor: pointer;
  margin: auto;
  padding: 0;
  border-radius: 100%;
  background-color: #fff;
  z-index: 3;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  border: none;
}
.event-nav__previous.swiper-button-disabled,
.event-nav__next.swiper-button-disabled {
  cursor: not-allowed;
  opacity: 0;
  pointer-events: none;
}
.event-nav__previous .o-icon,
.event-nav__next .o-icon {
  width: 10px;
  height: 10px;
  color: #000;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.event-nav__previous:hover,
.event-nav__next:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
@media (min-width: 62.5em) {
  .event-nav__previous,
  .event-nav__next {
    display: inline-block;
  }
}

.event-nav__previous {
  left: 15px;
  margin-left: 0;
}
.event-nav__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2.5px;
}
.event-nav__previous:active .o-icon {
  -webkit-transform: scale(0.9) rotate(180deg);
          transform: scale(0.9) rotate(180deg);
}

.event-nav__next {
  right: 10px;
  margin-left: 10px;
}
.event-nav__next .o-icon {
  margin-right: -1px;
  margin-top: -0.5px;
}
.event-nav__next:active .o-icon {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.event-sticky__label {
  font-size: 16px;
  text-wrap: nowrap;
  margin-right: 10px;
}
@media (min-width: 62.5em) {
  .event-sticky__label {
    font-size: 18px;
  }
}

.event-sticky__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
          transition-timing-function: cubic-bezier(0.8, 0, 0.2, 1);
}
.event-sticky__list::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .event-sticky__list {
    -webkit-transform: none !important;
            transform: none !important;
  }
}

.event-sticky__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding-left: 15px;
  margin-left: 15px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.event-sticky__item:last-child {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  padding-right: 15px;
  margin-right: 15px;
}

.event-sticky__link {
  color: #fff;
  padding: 2px 0;
  font-size: 16px;
  font-weight: 700;
  position: relative;
}
.event-sticky__link:after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1.5px;
  bottom: 5px;
  left: 0;
  background-color: #fff;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  opacity: 1;
}
.event-sticky__link:hover, .event-sticky__link.active {
  text-decoration: none;
}
.event-sticky__link:hover:after, .event-sticky__link.active:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media (max-width: 62.49em) {
  .event-sticky__link {
    text-wrap: nowrap;
  }
}
@media (min-width: 62.5em) {
  .event-sticky__link {
    font-size: 18px;
  }
}

.event-sticky__top {
  background: transparent;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  margin: 0 auto;
  backdrop-filter: blur(20px);
  -webkit-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-width: 1px 1px 1px 0;
  width: auto;
  padding: 0 10px;
  -webkit-transition: background 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: background 250ms cubic-bezier(0.8, 0, 0.2, 1);
}
@media (min-width: 62.5em) {
  .event-sticky__top {
    padding: 0 15px;
    height: 60px;
    border-radius: 0 30px 30px 0;
  }
}
.event-sticky__top .o-icon {
  fill: #fff;
  width: 20px;
  height: 20px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
  transition: transform 250ms cubic-bezier(0.8, 0, 0.2, 1), -webkit-transform 250ms cubic-bezier(0.8, 0, 0.2, 1);
}
.event-sticky__top:hover {
  background: #000;
}
.event-sticky__top:hover .o-icon {
  -webkit-transform: translateY(-2px) rotate(-90deg);
          transform: translateY(-2px) rotate(-90deg);
}

/*  ==========================================================================
    Feature Group
    ========================================================================== */
@media (min-width: 62.5em) {
  .feature-group .feature-item:nth-child(odd) .feature-item__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (min-width: 62.5em) {
  .feature-group .feature-item:nth-child(odd) .feature-item__details {
    border-right: 1px solid;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) {
  .feature-group .feature-item:nth-child(even) .feature-item__details {
    border-left: 1px solid;
    padding-left: 40px;
  }
}

/*  ==========================================================================
    Feature Panel
    ========================================================================== */
.feature-item {
  position: relative;
  padding: 30px 0;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .feature-item {
    padding: var(--content-margin-small);
  }
}

.feature-item__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .feature-item__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .feature-item__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.feature-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 62.5em) {
  .feature-item__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.feature-item__details {
  width: 100%;
}
@media (min-width: 50em) {
  .feature-item__details {
    max-width: 650px;
    margin: 0 auto;
  }
}
@media (min-width: 62.5em) {
  .feature-item__details {
    width: 50%;
    max-width: auto;
    margin: 0;
    padding: 40px 0;
  }
}
.feature-item__details .feature-popup-btn {
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  background-color: transparent;
  border: none;
}
.feature-item__details .accessibility-btn:before {
  content: url("../../assets/wheelchair.svg");
  width: 12px;
  display: inline-block;
  margin-right: 10px;
}
@media (min-width: 72em) {
  .feature-item__details .accessibility-btn:before {
    width: 15px;
  }
}

.feature-dialog .dialog__inner {
  max-width: 800px;
}

.feature-item__prefix {
  font-weight: 700;
  font-size: 20px;
}
@media (min-width: 72em) {
  .feature-item__prefix {
    font-size: 28px;
  }
}

.feature-item__title {
  margin-bottom: 20px;
}
@media (max-width: 49.99em) {
  .feature-item__title {
    font-size: 32px;
    margin-bottom: 15px;
  }
}

.feature-item__description {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1.4;
}
@media (min-width: 72em) {
  .feature-item__description {
    font-size: 24px;
  }
}
.feature-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .feature-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.feature-item__description a:visited {
  color: inherit;
}
.feature-item__description a:hover, .feature-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

.feature-item__cta-wrapper {
  padding-top: 15px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
}

.feature-item__popup-button {
  font-size: 18px;
  border: none;
  background: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 700;
  gap: 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 25px;
  padding: 0;
  cursor: pointer;
  color: var(--theme-body-text-color);
}
@media (min-width: 72em) {
  .feature-item__popup-button {
    font-size: 24px;
  }
}

/*  ==========================================================================
    Feature Panel - Image
    ========================================================================== */
.feature-item__media {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
@media (min-width: 62.5em) {
  .feature-item__media {
    width: 50%;
    margin-bottom: 0px;
  }
}

.feature-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
}
@media (min-width: 50em) {
  .feature-item__intrinsic-ratio {
    padding-bottom: 50%;
  }
}
@media (min-width: 62.5em) {
  .feature-item__intrinsic-ratio {
    padding-bottom: 66.6666666667%;
  }
}

.feature-item__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*  ==========================================================================
    Feature Panel - Image Left
    ========================================================================== */
@media (min-width: 62.5em) {
  .feature-item--image-left .feature-item__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

/*  ==========================================================================
    Feature Panel - Full Height
    ========================================================================== */
.feature-item--full-height-image {
  padding: 0;
}
.feature-item--full-height-image .feature-item__inner {
  max-width: 100%;
  padding: 0;
}
@media (min-width: 62.5em) {
  .feature-item--full-height-image .feature-item__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.feature-item--full-height-image .feature-item__details {
  padding: 0 15px 30px;
}
@media (min-width: 62.5em) {
  .feature-item--full-height-image .feature-item__details {
    max-width: 660px;
    margin: 0 0 0 auto;
    padding: 40px 0 40px 15px;
  }
}
.feature-item--full-height-image .feature-item__intrinsic-ratio {
  padding-bottom: 66.6666666667%;
}
@media (min-width: 50em) {
  .feature-item--full-height-image .feature-item__intrinsic-ratio {
    padding-bottom: 50%;
  }
}
@media (min-width: 62.5em) {
  .feature-item--full-height-image .feature-item__intrinsic-ratio {
    padding-bottom: 0;
    height: 100%;
  }
}
@media (min-width: 62.5em) {
  .feature-item--full-height-image .feature-item__image {
    position: relative;
    -o-object-fit: unset;
       object-fit: unset;
    width: auto;
    max-width: 100%;
  }
}
@media (min-width: 62.5em) {
  .feature-item--full-height-image.feature-item--image-left .feature-item__details {
    margin: 0 auto 0 0;
    padding: 40px 15px 40px 0;
  }
}

/* ==========================================================================
   Forms
   ========================================================================== */
:root {
  --global-input-size: 16px;
}
@media (min-width: 50em) {
  :root {
    --global-input-size: 18px;
  }
}

input[type=email],
input[type=number],
input[type=text],
input[type=tel],
input[type=url],
input[type=date],
input[type=search],
textarea,
select {
  font-size: 14px;
  font-family: Apercu, sans-serif;
}

.form-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  padding: 15px;
  max-width: 920px;
  display: flex;
  -ms-flex-item-align: center;
      align-self: center;
  margin: 20px 0;
}
@media (min-width: 50em) {
  .form-wrapper {
    margin: var(--content-margin-small);
    margin-left: auto;
    margin-right: auto;
  }
}

.form-group {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(var(--field-width) * 1% - 8px);
}
.form-group[style*="--field-width: 100"] {
  width: 100%;
}
@media (max-width: 42.49em) {
  .form-group {
    width: 100%;
  }
}

.form-label {
  display: block;
  font-weight: 500;
  text-transform: capitalize;
}

.checkbox-group {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 15px;
}
@media (min-width: 30em) {
  .checkbox-group {
    grid-template-columns: repeat(2, 1fr);
  }
}

.form-input {
  width: 100%;
  margin-top: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-input:focus {
  outline: none;
}
.form-input:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}

.form-input--checkbox,
.form-input--radio {
  width: auto;
  margin: 0;
}

.radio-group {
  margin-top: 15px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 15px;
}
@media (min-width: 30em) {
  .radio-group {
    grid-template-columns: repeat(2, 1fr);
  }
}

.form-select {
  width: 100%;
  margin-top: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20fill%3D%22black%22%20viewBox%3D%220%200%2018%2012%22%3E%3Cpath%20d%3D%22M8.995%2011.286a.927.927%200%200%200%20.694-.305l8.021-8.341a.945.945%200%200%200%20.28-.672C18%201.42%2017.596%201%2017.057%201c-.26%200-.497.105-.674.273L8.446%209.508h1.108L1.617%201.273A.94.94%200%200%200%20.943%201C.404%201%200%201.42%200%201.968c0%20.264.093.497.28.683l8.02%208.33c.208.208.497.305.705.305Z%22/%3E%3C/svg%3E");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
  cursor: pointer;
  padding-left: 5px;
}
.form-select::-ms-expand {
  display: none;
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.form-select,
.form-input,
.form-textarea {
  padding: 10px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 3px;
  font-size: 14px;
  font-family: Apercu, sans-serif;
  background-color: #fff;
  height: 46px;
  border-radius: 5px;
  margin-top: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-select:focus, .form-select:focus-visible,
.form-input:focus,
.form-input:focus-visible,
.form-textarea:focus,
.form-textarea:focus-visible {
  outline: 1px solid #09F !important;
  border: 1px solid #09F;
}
.form-select:focus-visible,
.form-input:focus-visible,
.form-textarea:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
.form-select[placeholder],
.form-input[placeholder],
.form-textarea[placeholder] {
  text-transform: capitalize;
}

.form-textarea {
  width: 100%;
  min-height: 120px;
  resize: vertical;
}

.form-message {
  padding: 15px;
  border-radius: 3px;
  color: #181822;
}
.form-message p {
  margin: 0;
}

.form-submit__button {
  margin: 1rem 0 0 auto;
}

/* ==========================================================================
   Animated Checkbox Styles
   ========================================================================== */
@-webkit-keyframes check {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 6px;
  }
  50% {
    height: 12px;
    width: 6px;
  }
}
@keyframes check {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 6px;
  }
  50% {
    height: 12px;
    width: 6px;
  }
}
@-webkit-keyframes checkBig {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 7px;
  }
  50% {
    height: 15px;
    width: 7px;
  }
}
@keyframes checkBig {
  0% {
    height: 0;
    width: 0;
  }
  25% {
    height: 0;
    width: 7px;
  }
  50% {
    height: 15px;
    width: 7px;
  }
}
.form-label--checkbox {
  position: relative;
  padding-left: 33px;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 5px;
}
.form-label--checkbox .form-input--checkbox {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.form-label--checkbox:before {
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  background-color: transparent;
  border: 1px solid;
  border-radius: 3px;
  left: 0;
  top: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.form-label--checkbox:after {
  border-right: 2px solid transparent;
  border-top: 2px solid transparent;
  -webkit-transform: scaleX(-1) rotate(135deg);
          transform: scaleX(-1) rotate(135deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  content: "";
  display: block;
  height: 15px;
  width: 7px;
  left: 3px;
  top: 12px;
  position: absolute;
  -webkit-transition: border-color 0.4s;
  transition: border-color 0.4s;
}
.form-label--checkbox:has(.form-input--checkbox:checked):before {
  background-color: #09F;
  border-color: #09F;
}
.form-label--checkbox:has(.form-input--checkbox:checked):after {
  -webkit-animation: checkBig 0.8s;
          animation: checkBig 0.8s;
  border-color: #fff;
}

/* ==========================================================================
   Animated Radio Styles
   ========================================================================== */
.form-label--radio {
  position: relative;
  padding-left: 33px;
  cursor: pointer;
  display: inline-block;
  margin-bottom: 5px;
}
.form-label--radio .form-input--radio {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.form-label--radio:before {
  content: "";
  width: 22px;
  height: 22px;
  position: absolute;
  background-color: transparent;
  border: 1px solid;
  border-radius: 50%;
  left: 0;
  top: 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.form-label--radio:after {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  background-color: transparent;
  border-radius: 50%;
  left: 5px;
  top: 5px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: scale(0);
          transform: scale(0);
}
.form-label--radio:has(.form-input--radio:checked):before {
  background-color: #09F;
  border-color: #09F;
}
.form-label--radio:has(.form-input--radio:checked):after {
  background-color: #fff;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.form-label--radio:has(.form-input--radio:focus):before {
  outline: none;
}
.form-label--radio:has(.form-input--radio:focus-visible):before {
  outline: -webkit-focus-ring-color auto 1px;
}

/**
 * Switch - font-size controlled - just change the font size to make it bigger or smaller
 */
input:where([type=checkbox][role=switch]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
  position: relative;
  font-size: inherit;
  width: 3em;
  height: 1.5em;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  background-color: #9A9A9A;
  border-radius: 1.25em;
  vertical-align: text-bottom;
  color: inherit;
  will-change: background-color;
  -webkit-transition: background-color 200ms ease-in-out;
  transition: background-color 200ms ease-in-out;
}

input:where([type=checkbox][role=switch])::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1.25em;
  height: 1.25em;
  margin: 0 0.125em;
  border-radius: 100%;
  background: #fff;
  will-change: left;
  -webkit-transition: left 200ms ease-in-out;
  transition: left 200ms ease-in-out;
}

input:where([type=checkbox][role=switch]):checked {
  background-color: #000;
}

input:where([type=checkbox][role=switch]):checked::before {
  left: 1.5em;
}

/**
 * Range
 */
input:where([type=range]) {
  --track-height: .5em;
  --track-background-color: #CBCBCB;
  --track-border-radius: .5em;
  --thumb-size: 1.25em;
  --thumb-background-color: #000;
  --thumb-border-radius: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 300px;
  background: transparent;
  outline: none;
}

input:where([type=range])::-webkit-slider-runnable-track {
  height: var(--track-height);
  background: var(--track-background-color);
  border-radius: var(--track-border-radius);
}

input:where([type=range])::-moz-range-track {
  height: var(--track-height);
  background: var(--track-background-color);
  border-radius: var(--track-border-radius);
}

input:where([type=range])::-ms-fill-lower,
input:where([type=range])::-ms-fill-upper {
  height: var(--track-height);
  background: var(--track-background-color);
  border-radius: var(--track-border-radius);
}

input:where([type=range])::-ms-track {
  height: var(--track-height);
  background: transparent;
  border-color: transparent;
  color: transparent;
}

input:where([type=range])::-webkit-slider-thumb {
  -webkit-appearance: none;
          appearance: none;
  -webkit-transform: translateY(calc((var(--track-height) - var(--thumb-size)) / 2 + var(--track-height) * 0.1));
          transform: translateY(calc((var(--track-height) - var(--thumb-size)) / 2 + var(--track-height) * 0.1));
  border: none;
  width: var(--thumb-size);
  height: var(--thumb-size);
  background: var(--thumb-background-color);
  border-radius: var(--thumb-border-radius);
}

input:where([type=range])::-moz-range-thumb {
  border: none;
  width: var(--thumb-size);
  height: var(--thumb-size);
  background: var(--thumb-background-color);
  border-radius: var(--thumb-border-radius);
}

input:where([type=range])::-ms-thumb {
  border: none;
  width: var(--thumb-size);
  height: var(--thumb-size);
  background: var(--thumb-background-color);
  border-radius: var(--thumb-border-radius);
}

input:where([type=range]) + datalist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/*  ==========================================================================
    Home Hero
    ========================================================================== */
.home-hero {
  position: relative;
  overflow: hidden;
}
.home-hero .swiper-pagination.swiper-pagination-bullets {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 50em) {
  .home-hero .swiper-pagination.swiper-pagination-bullets {
    bottom: 30px;
  }
}
.home-hero .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: var(--pagination-color);
  opacity: 0.5;
  cursor: pointer;
  border: none;
  margin: 0;
  padding: 0;
}
.home-hero .swiper-pagination-bullet-active {
  opacity: 1;
}
.home-hero .swiper-fade.swiper-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}
.home-hero .swiper-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.home-hero .swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.home-hero .swiper-fade .swiper-slide-active, .home-hero .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.home-hero .swiper-slide-invisible-blank {
  visibility: hidden;
}
.home-hero:has(.swiper-initialized) .home-hero__stop-autoplay,
.home-hero:has(.swiper-initialized) .swiper-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.home-hero:has(.home-hero-item--half.swiper-slide-active.theme-default) .swiper-pagination-bullet {
  background-color: #000;
}
.home-hero:has(.home-hero-item--half.swiper-slide-active.theme-default) .home-hero__stop-autoplay {
  color: #000;
}
.home-hero:has(.home-hero-item--half.swiper-slide-active.theme-default) .autoplay-progress__foreground {
  stroke: #000;
}
.home-hero:has(.home-hero-item--half.swiper-slide-active.theme-default) .autoplay-progress__background {
  stroke: rgba(0, 0, 0, 0.2);
}
@media (max-width: 79.99em) {
  .home-hero:has(.home-hero-item--half):has(.home-hero-item--full) .home-hero-item--full .home-hero-item__wrapper {
    min-height: auto;
    margin-bottom: 0;
  }
}

.home-hero__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 62.5em) {
  .home-hero__container {
    gap: 60px;
  }
}
.home-hero__container:has(.is-loaded) .home-hero__actions {
  opacity: 1;
  visibility: visible;
}

.home-hero__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: auto;
  width: 100%;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.home-hero__actions {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .home-hero__actions {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .home-hero__actions {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.home-hero__actions {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.2s ease-in-out 3.5s;
  transition: 0.2s ease-in-out 3.5s;
}
@media (max-width: 49.99em) {
  .home-hero__actions {
    background: -webkit-gradient(linear, right top, left bottom, from(rgba(0, 0, 0, 0.4)), color-stop(30%, transparent));
    background: linear-gradient(to bottom left, rgba(0, 0, 0, 0.4) 0%, transparent 30%);
  }
}

.home-hero__stop-autoplay {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  right: 15px;
  bottom: 20px;
  background: transparent;
  color: var(--pagination-color);
  border: 0;
  width: 40px;
  height: 40px;
  padding: 0;
  cursor: pointer;
  pointer-events: all;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
@media (max-width: 49.99em) {
  .home-hero__stop-autoplay {
    inset: unset;
    top: 15px;
    right: 15px;
  }
}
.home-hero__stop-autoplay .icon {
  width: unset;
  height: unset;
}
.home-hero__stop-autoplay .o-icon {
  width: 12px;
  height: 12px;
}
.home-hero__stop-autoplay .o-icon--play {
  margin-left: 2px;
}

.home-hero__stop-autoplay--one-slide .autoplay-progress__foreground {
  display: none;
}
.home-hero__stop-autoplay--one-slide .autoplay-progress__background {
  stroke: #fff;
}

.autoplay-progress {
  position: absolute;
  width: 100%;
  height: 100%;
}

.autoplay-progress__foreground,
.autoplay-progress__background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  fill: none;
  stroke-width: 3px;
  -webkit-transition: stroke 0.4s ease;
  transition: stroke 0.4s ease;
}

.autoplay-progress__foreground {
  --progress: 0;
  stroke: var(--pagination-color);
  fill: none;
  stroke-dashoffset: calc((100 - var(--progress)) / 100 * 125.6);
  stroke-dasharray: 125.6;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  z-index: 2;
}

.autoplay-progress__background {
  stroke: rgba(255, 255, 255, 0.2);
}

/*  ==========================================================================
    Home Hero Item
    ========================================================================== */
.home-hero-item {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 100%;
  background-color: #000;
}
.home-hero-item.theme-default {
  --theme-color: white;
  --theme-body-text-color: black;
  --theme-body-text-color-inverse: white;
}

.home-hero-item__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .home-hero-item__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .home-hero-item__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.home-hero-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
}

.home-hero-item__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  position: relative;
  width: 100%;
  padding: 15px 0;
  z-index: 2;
}
@media (min-width: 62.5em) {
  .home-hero-item__wrapper {
    padding: 80px 0;
  }
}
@media (min-width: 72em) {
  .home-hero-item__wrapper {
    padding: 150px 0;
  }
}
@media (max-width: 62.49em) {
  .home-hero--multiple .home-hero-item__wrapper {
    padding-bottom: 80px;
  }
}

.home-hero-item__media {
  position: relative;
  isolation: isolate;
}

.home-hero-item__figure {
  position: relative;
  margin-bottom: 0;
  z-index: -1;
}

.home-hero-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 150%;
  height: 0;
}
@media (min-width: 62.5em) {
  .home-hero-item__intrinsic-ratio {
    padding-bottom: 41.6666666667%;
  }
}

.home-hero-item__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
}

.home-hero-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  color: var(--theme-body-text-color);
  z-index: 2;
}
@media (min-width: 50em) {
  .home-hero-item__content {
    gap: 30px;
  }
}

.home-hero-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.home-hero-item__breadcrumbs .o-icon {
  color: currentColor;
}

.home-hero-item__series {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .home-hero-item__series {
    font-size: 22px;
  }
}

.home-hero-item__date {
  font-size: 18px;
  text-transform: uppercase;
}
@media (min-width: 62.5em) {
  .home-hero-item__date {
    font-size: 20px;
  }
}

.home-hero-item__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.home-hero-item__title {
  margin-bottom: 0;
  font-size: 42px;
  line-height: 1;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .home-hero-item__title {
    font-size: 48px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .home-hero-item__title {
    font-size: 68px;
  }
}

@media (max-width: 31.99em) {
  .home-hero-item__title--long {
    font-size: 28px;
  }
}

.home-hero-item__prefix,
.home-hero-item__suffix {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .home-hero-item__prefix,
  .home-hero-item__suffix {
    font-size: 22px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__prefix,
  .home-hero-item__suffix {
    font-size: 24px;
  }
}
@media (min-width: 72em) {
  .home-hero-item__prefix,
  .home-hero-item__suffix {
    font-size: 28px;
  }
}

.home-hero-item__second-billing {
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
}
@media (min-width: 50em) {
  .home-hero-item__second-billing {
    font-size: 28px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__second-billing {
    font-size: 36px;
  }
}
@media (min-width: 72em) {
  .home-hero-item__second-billing {
    font-size: 48px;
  }
}

.home-hero-item__third-billing {
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
}
@media (min-width: 50em) {
  .home-hero-item__third-billing {
    font-size: 24px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__third-billing {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .home-hero-item__third-billing {
    font-size: 36px;
  }
}

.home-hero-item__logo {
  padding-bottom: 5px;
}
.home-hero-item__logo .o-icon {
  width: 76px;
  height: 20px;
}
.home-hero-item__logo .o-icon--logo-yola {
  width: 74px;
  height: 21px;
}
.home-hero-item__logo .o-icon--logo-hollywood-bowl {
  width: 84px;
  height: 38px;
}
.home-hero-item__logo .o-icon--logo-the-ford {
  width: 103px;
  height: 30px;
}
@media (min-width: 62.5em) {
  .home-hero-item__logo .o-icon {
    width: 107px;
    height: 28px;
  }
  .home-hero-item__logo .o-icon--logo-yola {
    width: 94px;
    height: 28px;
  }
  .home-hero-item__logo .o-icon--logo-hollywood-bowl {
    width: 106px;
    height: 48px;
  }
}

.home-hero-item__prefix-logo .o-icon {
  width: 76px;
  height: 20px;
}
@media (min-width: 50em) {
  .home-hero-item__prefix-logo .o-icon {
    width: 91.5px;
    height: 24px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__prefix-logo .o-icon {
    width: 107px;
    height: 28px;
  }
}

.home-hero-item__description {
  font-size: 16px;
  margin-bottom: 0;
  max-width: 500px;
}
@media (min-width: 50em) {
  .home-hero-item__description {
    font-size: 18px;
    text-wrap: pretty;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item__description {
    font-size: 20px;
  }
}

.home-hero-item__footer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  padding-top: 20px;
}
.home-hero-item__footer:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: currentColor;
}
@media (min-width: 50em) {
  .home-hero-item__footer {
    padding-top: 30px;
  }
}
.home-hero-item__footer .home-hero-item__logo {
  padding-bottom: 0;
}

.home-hero-item__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home-hero-item__actions.home-hero-item__cta--pill {
  gap: 10px 15px;
}
.home-hero-item__actions.home-hero-item__cta--pill .o-icon {
  display: none;
}
.home-hero-item__actions.home-hero-item__cta--link {
  gap: 20px;
}
.home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon {
  color: inherit;
}
@media (min-width: 50em) {
  .home-hero-item__actions.home-hero-item__cta--link {
    gap: 30px;
  }
}

.home-hero-item__play-pause {
  position: absolute;
  bottom: 15px;
  right: 15px;
  border: 3px solid;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.2s ease-in-out 3.5s;
  transition: 0.2s ease-in-out 3.5s;
  z-index: 3;
}
.is-loaded .home-hero-item__play-pause {
  opacity: 1;
  visibility: visible;
}
.home-hero-item__play-pause .o-icon {
  width: 15px;
  height: 15px;
}
.home-hero-item__play-pause .o-icon--play {
  margin-left: 2px;
}

/*  ==========================================================================
    Home Hero - Video
    ========================================================================== */
.home-hero-item__media--video {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
.home-hero-item__media--video .video-container {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.home-hero-item__media--video .video-container.is-loaded {
  opacity: 1;
}
.home-hero-item__media--video .video-container iframe,
.home-hero-item__media--video .video-container video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 0;
  width: auto;
  height: 100%;
  aspect-ratio: 16/9;
}
@media (min-width: 62.5em) {
  .home-hero-item__media--video .video-container iframe,
  .home-hero-item__media--video .video-container video {
    width: 100%;
    height: auto;
  }
}
.home-hero-item__media--video .video-container video {
  width: 100%;
  height: 115%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/*  ==========================================================================
    Home Hero - Half Width
    ========================================================================== */
.home-hero-item--half {
  background-color: var(--theme-color);
}
.home-hero-item--half .home-hero-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding: 0;
  height: auto;
}
@media (min-width: 62.5em) {
  .home-hero--multiple .home-hero-item--half {
    padding-bottom: 40px;
  }
}
@media (min-width: 80em) {
  .home-hero--multiple .home-hero-item--half {
    padding-bottom: 60px;
  }
}
.home-hero-item--half .home-hero-item__wrapper {
  padding-left: 15px;
  padding-right: 15px;
}
.home-hero-item--half .home-hero-item__media {
  width: 100%;
  padding: 15px;
}
.home-hero-item--half .home-hero-item__intrinsic-ratio {
  padding-bottom: 71.4285714286%;
}
@media (min-width: 62.5em) {
  .home-hero-item--half .home-hero-item__intrinsic-ratio {
    padding-bottom: 100%;
  }
}
.home-hero-item--half .video-container--youtube,
.home-hero-item--half .video-container--vimeo iframe {
  width: 120%;
}
@media (min-width: 50em) {
  .home-hero-item--half .home-hero-item__media {
    padding: 40px 40px 15px;
  }
  .home-hero-item--half .home-hero-item__wrapper {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item--half .home-hero-item__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .home-hero-item--half .home-hero-item__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .home-hero-item--half .home-hero-item__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .home-hero-item--half .home-hero-item__wrapper {
    width: 50%;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 0;
  }
  .home-hero-item--half .home-hero-item__media {
    width: 50%;
    max-width: 550px;
    padding: 0 0 0 40px;
  }
  .home-hero-item--half .home-hero-item__content {
    gap: 15px;
  }
  .home-hero-item--half .home-hero-item__title {
    font-size: 32px;
  }
  .home-hero-item--half .home-hero-item__prefix {
    font-size: 20px;
  }
  .home-hero-item--half .home-hero-item__second-billing {
    font-size: 24px;
  }
  .home-hero-item--half .home-hero-item__third-billing {
    font-size: 20px;
  }
  .home-hero-item--half .home-hero-item__description {
    font-size: 18px;
  }
  .home-hero-item--half .home-hero-item__footer {
    padding-top: 15px;
  }
  .home-hero-item--half .home-hero-item__cta--link {
    font-size: 20px;
  }
}
@media (min-width: 72em) {
  .home-hero-item--half .home-hero-item__title {
    font-size: 42px;
  }
  .home-hero-item--half .home-hero-item__prefix {
    font-size: 24px;
  }
  .home-hero-item--half .home-hero-item__second-billing {
    font-size: 28px;
  }
  .home-hero-item--half .home-hero-item__third-billing {
    font-size: 24px;
  }
}
@media (min-width: 80em) {
  .home-hero-item--half {
    gap: 0 40px;
    padding: 60px 0;
  }
  .home-hero-item--half .home-hero-item__content {
    gap: 30px;
  }
  .home-hero-item--half .home-hero-item__title {
    font-size: 64px;
  }
  .home-hero-item--half .home-hero-item__prefix {
    font-size: 28px;
  }
  .home-hero-item--half .home-hero-item__second-billing {
    font-size: 32px;
  }
  .home-hero-item--half .home-hero-item__third-billing {
    font-size: 26px;
  }
  .home-hero-item--half .home-hero-item__description {
    font-size: 20px;
  }
  .home-hero-item--half .home-hero-item__cta--link {
    font-size: 24px;
  }
  .home-hero-item--half .home-hero-item__footer {
    padding-top: 30px;
  }
}

/*  ==========================================================================
    Home Hero - Full Width
    ========================================================================== */
.home-hero-item--full.theme-default {
  --theme-body-text-color: white;
  --theme-body-text-color-inverse: black;
}
.home-hero-item--full .home-hero-item__media {
  position: absolute;
  inset: 0;
  width: 100%;
}
.home-hero-item--full .home-hero-item__media:before {
  position: absolute;
  content: "";
  background: linear-gradient(to top, rgba(0, 0, 0, var(--overlay-opacity)) 0%, transparent 75%);
  height: 100%;
  width: 100%;
  z-index: 3;
}
@media (min-width: 50em) {
  .home-hero-item--full .home-hero-item__media:before {
    background: linear-gradient(to right, rgba(0, 0, 0, var(--overlay-opacity)) 0%, transparent 50%);
  }
  .home-hero-item--full .home-hero-item__media:after {
    position: absolute;
    content: "";
    background: linear-gradient(to top, rgba(0, 0, 0, var(--overlay-opacity)), transparent);
    height: 300px;
    width: 100%;
    bottom: 0;
    left: 0;
    z-index: 3;
  }
}
.home-hero-item--full .home-hero-item__figure {
  width: 100%;
  height: 100%;
}
.home-hero-item--full .home-hero-item__intrinsic-ratio {
  position: relative;
  padding: 0;
  height: 100%;
}
.home-hero-item--full .home-hero-item__image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home-hero-item--full .video-container--youtube,
.home-hero-item--full .video-container--vimeo iframe {
  aspect-ratio: 9/16;
}
@media (min-width: 50em) {
  .home-hero-item--full .video-container--youtube,
  .home-hero-item--full .video-container--vimeo iframe {
    aspect-ratio: 16/9;
  }
}
@media (max-width: 49.99em) {
  .home-hero-item--full .home-hero-item__play-pause {
    top: 15px;
    bottom: unset;
  }
}
.home-hero-item--full .home-hero-item__wrapper {
  inset: 0;
  margin: auto;
  min-height: calc(96svh - var(--global-header-height, 76px));
}
@media (min-width: 50em) {
  .home-hero-item--full .home-hero-item__wrapper {
    min-height: calc(80svh - var(--global-header-height, 76px));
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.home-hero-item--full .home-hero-item__content {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
@media (min-width: 50em) {
  .home-hero-item--full .home-hero-item__content {
    height: 100%;
  }
}
@media (min-width: 72em) {
  .home-hero-item--full .home-hero-item__content {
    width: 50%;
  }
}

/*  ==========================================================================
    Home Hero - Left (default) / Center (full-width only) / Right (half-width only)
    ========================================================================== */
@media (min-width: 62.5em) {
  .home-hero-item--half.home-hero-item--right .home-hero-item__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.home-hero-item--full.home-hero-item--center .home-hero-item__wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.home-hero-item--full.home-hero-item--center .home-hero-item__content {
  text-align: center;
  margin: 0 auto;
}
.home-hero-item--full.home-hero-item--center .home-hero-item__body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home-hero-item--full.home-hero-item--center .home-hero-item__media:before {
  background: rgba(0, 0, 0, var(--overlay-opacity));
}
.home-hero-item--full.home-hero-item--center .home-hero-item__media:after {
  display: none;
}
.home-hero-item--full.home-hero-item--center .home-hero-item__footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.home-hero-item--full.home-hero-item--center-top .home-hero-item__wrapper {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (min-width: 62.5em) {
  .home-hero-item--full.home-hero-item--center-top .home-hero-item__wrapper {
    padding-top: 30px;
  }
}
.home-hero-item--full.home-hero-item--center-top .home-hero-item__content {
  text-align: center;
  margin: 0 auto;
}
.home-hero-item--full.home-hero-item--center-top .home-hero-item__body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home-hero-item--full.home-hero-item--center-top .home-hero-item__media:before {
  background: linear-gradient(to bottom, rgba(0, 0, 0, var(--overlay-opacity)), transparent 70%);
}
.home-hero-item--full.home-hero-item--center-top .home-hero-item__footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.home-hero-item--full.home-hero-item--center-bottom .home-hero-item__wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 62.5em) {
  .home-hero-item--full.home-hero-item--center-bottom .home-hero-item__wrapper {
    padding-bottom: 80px;
  }
}
.home-hero-item--full.home-hero-item--center-bottom .home-hero-item__content {
  text-align: center;
  margin: 0 auto;
}
.home-hero-item--full.home-hero-item--center-bottom .home-hero-item__body {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 50em) {
  .home-hero-item--full.home-hero-item--center-bottom .home-hero-item__media:before {
    background: linear-gradient(to top, rgba(0, 0, 0, var(--overlay-opacity)), transparent 70%);
  }
  .home-hero-item--full.home-hero-item--center-bottom .home-hero-item__media:after {
    display: none;
  }
}
.home-hero-item--full.home-hero-item--center-bottom .home-hero-item__footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/*  ==========================================================================
    Home Hero - Animation
    ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
  .home-hero__container .swiper-slide .home-hero-item__date,
  .home-hero__container .swiper-slide .home-hero-item__prefix-logo,
  .home-hero__container .swiper-slide .home-hero-item__series,
  .home-hero__container .swiper-slide .home-hero-item__prefix,
  .home-hero__container .swiper-slide .home-hero-item__suffix,
  .home-hero__container .swiper-slide .home-hero-item__title,
  .home-hero__container .swiper-slide .home-hero-item__second-billing,
  .home-hero__container .swiper-slide .home-hero-item__third-billing,
  .home-hero__container .swiper-slide .home-hero-item__description {
    opacity: 0;
    -webkit-transition: 250ms ease-in-out 1000ms;
    transition: 250ms ease-in-out 1000ms;
  }
  .home-hero__container .swiper-slide .home-hero-item__logo {
    overflow: hidden;
  }
  .home-hero__container .swiper-slide .home-hero-item__logo .o-icon {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: 250ms ease-in-out 1000ms;
    transition: 250ms ease-in-out 1000ms;
  }
  .home-hero__container .swiper-slide .home-hero-item__actions {
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    -webkit-transition: 250ms ease-in-out 1000ms;
    transition: 250ms ease-in-out 1000ms;
  }
  .home-hero__container .swiper-slide .home-hero-item__footer:after {
    width: 0;
  }
  .home-hero__container .swiper-slide .home-hero-item__media {
    opacity: 0;
    -webkit-transition: 500ms ease-in-out 1000ms;
    transition: 500ms ease-in-out 1000ms;
  }
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__date,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__prefix-logo,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__series,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__prefix,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__suffix,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__title,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__second-billing,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__third-billing,
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__description {
    opacity: 1;
    -webkit-transition: 500ms ease-in-out 500ms;
    transition: 500ms ease-in-out 500ms;
  }
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__logo .o-icon {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: 1000ms cubic-bezier(0.8, 0, 0.2, 1) 250ms;
    transition: 1000ms cubic-bezier(0.8, 0, 0.2, 1) 250ms;
  }
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__actions {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transition: 750ms cubic-bezier(0.1, 0.75, 0.65, 1) 750ms;
    transition: 750ms cubic-bezier(0.1, 0.75, 0.65, 1) 750ms;
  }
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__footer:after {
    width: 100%;
    -webkit-transition: 1000ms cubic-bezier(0.8, 0, 0.2, 1) 250ms;
    transition: 1000ms cubic-bezier(0.8, 0, 0.2, 1) 250ms;
  }
  .home-hero__container:not(.is-animating) .swiper-slide-active .home-hero-item__media {
    opacity: 1;
    -webkit-transition: 500ms ease-in-out;
    transition: 500ms ease-in-out;
  }
}
/*  ==========================================================================
    Image Gallery
    ========================================================================== */
.image-gallery {
  --image-height: 280px;
  position: relative;
  margin: var(--content-margin-small);
  background-color: #fff;
  color: #000;
  overflow: hidden;
}
@media (min-width: 50em) {
  .image-gallery {
    --image-height: 500px;
  }
}
@media (max-width: 62.49em) {
  .image-gallery {
    margin-bottom: 25px;
  }
}

.image-gallery__container {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .image-gallery__container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .image-gallery__container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.image-gallery__container {
  position: relative;
}

.image-gallery__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  margin-bottom: 25px;
}

.image-gallery__title {
  margin-bottom: 0;
  width: 100%;
}

.image-gallery__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 40px;
}
.image-gallery__actions > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}

.image-gallery__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .image-gallery__buttons {
    display: none;
  }
}

.image-gallery__button {
  background-color: transparent;
  color: rgba(0, 0, 0, 0.7);
  border: 2px solid rgba(0, 0, 0, 0.7);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .image-gallery__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.image-gallery__button.swiper-button-disabled {
  cursor: not-allowed;
}
.image-gallery__button .o-icon {
  width: 16px;
  height: 16px;
  color: rgba(0, 0, 0, 0.7);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.image-gallery__button:hover {
  background-color: rgba(0, 0, 0, 0.7);
  border-color: #4d4d4d;
}
.image-gallery__button:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.image-gallery__button--previous {
  margin-right: 0;
}
.image-gallery__button--previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}
@media (hover: hover) and (pointer: fine) {
  .image-gallery__button--previous:hover .o-icon {
    color: #fff;
  }
}

.image-gallery__button--next {
  margin-right: 15px;
}
.image-gallery__button--next .o-icon {
  margin-right: -2px;
}
@media (hover: hover) and (pointer: fine) {
  .image-gallery__button--next:hover .o-icon {
    color: #fff;
  }
}
@media (min-width: 62.5em) {
  .image-gallery__button--next {
    margin-right: 0;
  }
}

.image-gallery__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-item-align: center;
      align-self: center;
}

.image-gallery__content.swiper-container {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  list-style: none;
  height: 100%;
  width: 100%;
  padding: 0;
  z-index: 2;
}

.image-gallery__slides.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  z-index: 1;
}

.image-gallery__slide.swiper-slide {
  width: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid #000;
}
.image-gallery__slide.swiper-slide:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: 0;
}
@media (min-width: 50em) {
  .image-gallery__slide.swiper-slide {
    margin-right: 30px;
    padding-right: 30px;
  }
}

.image-gallery__zoom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  z-index: 3;
}
@media (max-width: 49.99em) {
  .image-gallery__zoom {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 16px;
  }
}

.image-gallery__info {
  display: none;
  margin-bottom: 0;
  padding-right: 20px;
  font-family: Apercu, sans-serif;
  font-weight: 700;
  font-size: var(--global-body-size-7);
}
@media (min-width: 32em) {
  .image-gallery__info {
    display: block;
  }
}

.image-gallery__fullscreen {
  position: fixed;
  top: 15px;
  right: 15px;
  font-size: 16px;
  font-weight: 700;
  background: none;
  padding: 0;
  margin: 0;
  border: 0;
  color: inherit;
  cursor: pointer;
  z-index: 3;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
@media (min-width: 62.5em) {
  .image-gallery__fullscreen {
    top: 30px;
  }
}
.image-gallery__fullscreen .open,
.image-gallery__fullscreen .close {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.image-gallery__fullscreen .open .o-icon,
.image-gallery__fullscreen .close .o-icon {
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.image-gallery__fullscreen .open {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.image-gallery__fullscreen .close {
  display: none;
}
.image-gallery__fullscreen .close .o-icon {
  position: relative;
  top: 1px;
  width: 30px;
  height: 30px;
}
@media (min-width: 50em) {
  .image-gallery__fullscreen .close .o-icon {
    width: 35px;
    height: 35px;
  }
}
@media (min-width: 50em) {
  .image-gallery__fullscreen {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    font-size: 18px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .image-gallery__fullscreen:hover .image-gallery__button {
    background-color: rgba(0, 0, 0, 0.7);
    border-color: #4d4d4d;
  }
  .image-gallery__fullscreen:hover .o-icon {
    scale: 1.1;
  }
}

.image-gallery__meta {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  font-size: 16px;
  margin-top: 15px;
}
@media (min-width: 50em) {
  .image-gallery__meta {
    margin-top: 25px;
  }
}
@media (min-width: 62.5em) {
  .image-gallery__meta {
    margin-top: 30px;
  }
}

.image-gallery__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.image-gallery__details {
  display: none;
}

.gallery-slide__caption {
  display: block;
  font-size: 16px;
  line-height: 1.2;
}

.gallery-slide__credit {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}

.image-gallery__length {
  margin-bottom: 0;
  font-weight: 700;
  font-size: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 50em) {
  .image-gallery__length {
    font-size: 18px;
  }
}
@media (min-width: 62.5em) {
  .image-gallery__length {
    margin-right: 25px;
    padding-right: 25px;
    border-right: 1px solid #000;
  }
}

@media (hover: hover) and (pointer: fine) {
  .image-gallery__body:hover .image-gallery__button {
    opacity: 1;
  }
  .image-gallery__body:hover .image-gallery__button.swiper-button-disabled {
    opacity: 0;
  }
  .image-gallery__body:hover .image-gallery__fullscreen {
    opacity: 1;
  }
}
.gallery-slide__inner {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 0;
}

.gallery-slide__media {
  position: relative;
}

.gallery-slide__image {
  height: var(--image-height);
  width: auto;
}

.gallery-slide__content {
  padding-top: 15px;
  width: 100%;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .gallery-slide__content {
    padding-top: 20px;
  }
}

.image-gallery--fullscreen .image-gallery__fullscreen {
  opacity: 1;
}
.image-gallery--fullscreen .image-gallery__fullscreen .open {
  display: none;
}
.image-gallery--fullscreen .image-gallery__fullscreen .close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.image-gallery--fullscreen .image-gallery__button {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.image-gallery--fullscreen .image-gallery__header {
  display: none;
  position: absolute;
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__header {
    display: block;
  }
}
.image-gallery--fullscreen .image-gallery__actions > * {
  height: initial;
  margin: 0;
  padding: 0;
  border: 0;
}
.image-gallery--fullscreen .image-gallery__container {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  background-color: #fff;
  width: 100%;
  max-width: none;
  padding: 0;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.image-gallery--fullscreen .image-gallery__title {
  display: none;
}
.image-gallery--fullscreen .image-gallery__body {
  position: static;
  background-color: #fff;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__body {
    width: calc(100% - 350px);
  }
}
.image-gallery--fullscreen .image-gallery__body:after {
  content: none;
}
.image-gallery--fullscreen .image-gallery__buttons {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 2;
}
.image-gallery--fullscreen .image-gallery__button--previous {
  top: auto;
  bottom: 20px;
  right: 90px;
  left: auto;
  -webkit-transform: none;
          transform: none;
}
.image-gallery--fullscreen .image-gallery__button--next {
  top: auto;
  bottom: 20px;
  right: 20px;
  left: auto;
  -webkit-transform: none;
          transform: none;
}
@media (min-width: 50em) {
  .image-gallery--fullscreen .image-gallery__slide .gallery-slide__inner {
    height: unset;
  }
}
.image-gallery--fullscreen .image-gallery__body:hover .image-gallery__button.swiper-button-disabled {
  opacity: 0.3;
}
.image-gallery--fullscreen .image-gallery__zoom {
  max-width: unset;
  position: fixed;
  top: 15px;
  right: 15px;
  bottom: unset;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__zoom {
    top: 0;
    right: 0;
  }
}
.image-gallery--fullscreen .image-gallery__info {
  display: none;
}
.image-gallery--fullscreen .image-gallery__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  color: #000;
  font-size: var(--global-body-size-5);
  border: 1px solid #000;
  border-width: 1px 0 0 0;
  padding: 20px 0;
  margin: 0 15px;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__meta {
    width: 350px;
    margin-top: 0;
    padding: 120px 30px 0;
    border-width: 0 0 0 1px;
    margin: 30px 0;
  }
}
.image-gallery--fullscreen .image-gallery__details {
  display: block;
  width: auto;
  padding-right: 60px;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__details {
    padding-right: 0;
  }
}
.image-gallery--fullscreen .image-gallery__description,
.image-gallery--fullscreen .image-gallery__length,
.image-gallery--fullscreen .gallery-slide__content {
  display: none;
}
.image-gallery--fullscreen .image-gallery__content.swiper-container {
  height: auto;
  max-width: 100%;
  overflow: hidden;
}
.image-gallery--fullscreen .image-gallery__slides.swiper-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 0;
}
@media (min-width: 42.5em) {
  .image-gallery--fullscreen .image-gallery__slides.swiper-wrapper {
    max-height: 80svh;
  }
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__slides.swiper-wrapper {
    max-height: unset;
  }
}
.image-gallery--fullscreen .image-gallery__slide.swiper-slide {
  height: auto;
  width: 100%;
  padding-right: 0;
  border-right: 0;
}
.image-gallery--fullscreen .image-gallery__position {
  margin: 0 0 40px;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .image-gallery__length {
    position: absolute;
    bottom: 40px;
    left: 40px;
    font-size: 18px;
  }
}
.image-gallery--fullscreen .gallery-slide__caption {
  display: block;
}
.image-gallery--fullscreen .gallery-slide__credit {
  display: block;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .gallery-slide__credit {
    margin-top: 10px;
  }
}
.image-gallery--fullscreen .gallery-slide {
  padding: 15px;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .gallery-slide {
    padding: 30px;
  }
}
.image-gallery--fullscreen .gallery-slide__media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 0;
  height: auto;
}
.image-gallery--fullscreen .gallery-slide__media .gallery-slide__image {
  position: relative;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 50svh;
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .gallery-slide__media .gallery-slide__image {
    max-height: 90svh;
  }
}
.image-gallery--fullscreen .gallery-slide__media--portrait .gallery-slide__image {
  width: auto;
  height: auto;
  max-height: 53svh;
}
@media (min-width: 24.375em) {
  .image-gallery--fullscreen .gallery-slide__media--portrait .gallery-slide__image {
    max-height: 60svh;
  }
}
@media (min-width: 62.5em) {
  .image-gallery--fullscreen .gallery-slide__media--portrait .gallery-slide__image {
    width: auto;
    height: calc(100svh - 30px);
    max-height: none;
  }
}

@media (max-width: 49.99em) {
  .image-gallery__body.image-gallery__body--show .image-gallery__slide.swiper-slide {
    height: auto;
    -ms-flex-negative: 1;
        flex-shrink: 1;
  }
}
@media (max-width: 49.99em) {
  .image-gallery__body.image-gallery__body--show .gallery-slide__content {
    position: relative;
    padding: 20px 0;
    display: block;
    background-color: transparent;
  }
}
@media (max-width: 49.99em) {
  .image-gallery--fullscreen .image-gallery__body.image-gallery__body--show .image-gallery__slide.swiper-slide {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media (max-width: 49.99em) {
  .image-gallery--fullscreen .image-gallery__body.image-gallery__body--show .gallery-slide__content {
    display: none;
  }
}

/*  ==========================================================================
	Image Wall
	========================================================================== */
.image-wall {
  position: relative;
  margin: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .image-wall {
    margin: var(--content-margin-small);
  }
}

@media (min-width: 62.5em) {
  .image-wall__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .image-wall__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .image-wall__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.image-wall__container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media (max-width: 49.99em) {
  .image-wall__container {
    max-width: 250px;
  }
}
@media (min-width: 62.5em) {
  .image-wall__container {
    width: 25%;
  }
}

.image-wall__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 25px;
}
@media (max-width: 49.99em) {
  .image-wall__header {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
@media (max-width: 62.49em) {
  .image-wall__header {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .image-wall__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .image-wall__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .image-wall__header {
    margin-bottom: 40px;
  }
}

.image-wall__title {
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .image-wall__title {
    font-size: 42px;
  }
}

.image-wall__content {
  width: 100%;
}
@media (min-width: 62.5em) {
  .image-wall__content {
    width: 58%;
    padding: 0 15px;
  }
  .image-wall__header:not(:has(.image-wall__title)) .image-wall__content {
    padding-left: 0;
  }
}

.image-wall__intro-text {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin-bottom: 15px;
  font-size: 18px;
  line-height: 1.3;
}
.image-wall__intro-text a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .image-wall__intro-text a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.image-wall__intro-text a:visited {
  color: inherit;
}
.image-wall__intro-text a:hover, .image-wall__intro-text a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

.image-wall__actions {
  display: none;
}
@media (min-width: 62.5em) {
  .image-wall__actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(15% - 15px);
    margin-left: 15px;
  }
  .image-wall__actions:only-child {
    margin-left: auto;
  }
  .image-wall__actions:only-child .image-wall__navigation {
    border-left: 0;
  }
}

.image-wall__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  border-left: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 8px;
  padding-top: 15px;
}

.image-wall__previous,
.image-wall__next {
  background-color: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
}
@media (min-width: 62.5em) {
  .image-wall__previous,
  .image-wall__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.image-wall__previous.swiper-button-disabled,
.image-wall__next.swiper-button-disabled {
  cursor: not-allowed;
}
.image-wall__previous .o-icon,
.image-wall__next .o-icon {
  width: 16px;
  height: 16px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.image-wall__previous:not(.swiper-button-disabled):hover .o-icon,
.image-wall__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.image-wall__previous {
  margin-right: 0;
}
.image-wall__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.image-wall__next {
  margin-right: 15px;
}
.image-wall__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .image-wall__next {
    margin-right: 0;
  }
}

@media (min-width: 62.5em) {
  .image-wall__custom-link {
    margin-bottom: -5px;
  }
}

.image-wall__btn .o-icon:only-child {
  margin-left: 0;
}

.image-wall__actions:has(.image-wall__custom-link) .image-wall__navigation {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.image-wall__actions:has(.image-wall__custom-link) .image-wall__navigation:after {
  height: 56px;
  width: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 62.5em) {
  .image-wall__actions:has(.image-wall__custom-link) .image-wall__navigation:after {
    content: "";
  }
}

@media (min-width: 62.5em) {
  .image-wall__actions:has(.image-wall__previous.swiper-button-disabled):has(.image-wall__next.swiper-button-disabled) {
    display: none;
  }
}

.image-wall__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .image-wall__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .image-wall__scroll {
    padding-left: 15px;
  }
}

.image-wall__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.image-wall__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media (min-width: 62.5em) {
  .image-wall__item {
    margin-right: 20px;
  }
  .image-wall__item:last-child {
    margin-right: 0;
  }
}

/*  ==========================================================================
	Image Wall - Media Item
	========================================================================== */
.media-item {
  display: inline-block;
}
.media-item:hover .media-item__cta .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.media-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: -webkit-min-content;
  max-width: -moz-min-content;
  max-width: min-content;
}

img.media-item__image--landscape[width], img.media-item__image--landscape[height] {
  max-width: 500px;
  max-height: 350px;
}
@media (min-width: 62.5em) {
  img.media-item__image--landscape[width], img.media-item__image--landscape[height] {
    max-width: 680px;
    max-height: 450px;
  }
}

img.media-item__image--smaller-landscape[width], img.media-item__image--smaller-landscape[height] {
  max-width: 400px;
}
@media (min-width: 62.5em) {
  img.media-item__image--smaller-landscape[width], img.media-item__image--smaller-landscape[height] {
    max-width: 500px;
  }
}

.media-item__image--full-height {
  max-height: 100%;
  width: auto;
}

.media-item__media {
  height: 350px;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (min-width: 62.5em) {
  .media-item__media {
    height: 450px;
  }
}

.media-item__image--portrait {
  height: 320px;
}
@media (min-width: 62.5em) {
  .media-item__image--portrait {
    height: 450px;
  }
}

.media-item__image--square {
  height: 320px;
  width: 320px;
}
@media (min-width: 62.5em) {
  .media-item__image--square {
    height: 450px;
    width: 450px;
  }
}

.media-item__video--portrait {
  width: 230px;
}
@media (min-width: 62.5em) {
  .media-item__video--portrait {
    width: 330px;
  }
}
.media-item__video--portrait .media-item__video {
  max-height: 320px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 62.5em) {
  .media-item__video--portrait .media-item__video {
    max-height: 450px;
  }
}

.media-item__video--square {
  width: 320px;
}
@media (min-width: 62.5em) {
  .media-item__video--square {
    width: 450px;
  }
}
.media-item__video--square .media-item__video {
  height: 320px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 62.5em) {
  .media-item__video--square .media-item__video {
    height: 450px;
  }
}

.media-item__video--landscape, .media-item__video--smaller-landscape {
  width: 500px;
}
@media (min-width: 62.5em) {
  .media-item__video--landscape, .media-item__video--smaller-landscape {
    width: 600px;
  }
}
.media-item__video--landscape .media-item__video, .media-item__video--smaller-landscape .media-item__video {
  max-height: 320px;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 62.5em) {
  .media-item__video--landscape .media-item__video, .media-item__video--smaller-landscape .media-item__video {
    max-height: 450px;
  }
}

.media-item__image {
  display: block;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: bottom;
     object-position: bottom;
}

.media-item__image--landscape, .media-item__image--smaller-landscape {
  height: inherit;
}

.media-item__info {
  max-width: 100%;
}

.media-item__title,
.media-item__description {
  overflow-wrap: break-word;
}

@media (max-width: 62.49em) {
  .media-item__title {
    font-size: 24px;
  }
}
@media (max-width: 49.99em) {
  .media-item__title {
    font-size: 18px;
  }
}

@media (min-width: 62.5em) {
  .media-item__description {
    font-size: 18px;
  }
}

/*  ==========================================================================
    Lot Block
    ========================================================================== */
.transport-info {
  padding: 30px 0;
}
@media (min-width: 50em) {
  .transport-info {
    padding: var(--content-margin-small);
  }
}

.transport-info__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .transport-info__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .transport-info__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.lot-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  border-top: 1px solid;
  padding: 25px 0;
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .lot-block {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 50px;
    padding: 30px 0;
  }
}

.lot-block__content {
  width: 100%;
}
@media (min-width: 50em) {
  .lot-block__content {
    width: calc(45% - 50px);
  }
}

.lot-block__title {
  margin-bottom: 15px;
}
@media (min-width: 62.5em) {
  .lot-block__title {
    margin-bottom: 20px;
  }
}

.lot-block__description {
  font-size: 18px;
}
.lot-block__description li {
  list-style-type: none;
  position: relative;
}
.lot-block__description li:before {
  content: "•";
  font-size: 20px;
  padding-right: 10px;
  position: absolute;
  right: 100%;
  top: 0;
}
@media (min-width: 62.5em) {
  .lot-block__description {
    font-size: 22px;
  }
  .lot-block__description li:before {
    top: 1px;
  }
}

.lot-block__media {
  position: relative;
  width: 100%;
}
@media (min-width: 50em) {
  .lot-block__media {
    width: 55%;
  }
}

.lot-block__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0;
}

.lot-block__intrinsic-ratio {
  position: relative;
  padding-bottom: 62.5%;
  height: 0;
}

.lot-block__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
}

/*  ==========================================================================
    Lot Header
    ========================================================================== */
.lot-header {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: #000;
}
@media (min-width: 62.5em) {
  .lot-header {
    padding: 40px 0;
  }
}
@media (min-width: 80em) {
  .lot-header {
    padding: 60px 0;
  }
}
.lot-header .bus-item__tags {
  margin: 5px 0;
}
.lot-header .bus-tag {
  background-color: #356129;
}
@media (min-width: 62.5em) {
  .lot-header .bus-tag {
    font-size: 13px;
  }
}

.lot-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  position: relative;
}
@media (min-width: 62.5em) {
  .lot-header__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 30px;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .lot-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .lot-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .lot-header__inner > * {
    width: 100%;
  }
}
@media (min-width: 80em) {
  .lot-header__inner {
    gap: 0 40px;
  }
}

.lot-header__media {
  position: relative;
  isolation: isolate;
}

.lot-header__figure {
  position: relative;
  margin-bottom: 0;
  z-index: -1;
}

.lot-header__intrinsic-ratio {
  position: relative;
  height: 0;
  padding-bottom: 66.6666666667%;
}

.lot-header__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
}

.lot-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  color: #fff;
  z-index: 2;
  padding: 20px 15px;
}
@media (min-width: 50em) {
  .lot-header__content {
    gap: 30px;
    padding: 40px;
  }
}
@media (min-width: 62.5em) {
  .lot-header__content {
    gap: 15px;
    padding: 0;
  }
}
@media (min-width: 80em) {
  .lot-header__content {
    gap: 30px;
  }
}

.lot-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.lot-header__breadcrumbs {
  color: rgba(255, 255, 255, 0.8);
}
.lot-header__breadcrumbs .o-icon {
  color: rgba(255, 255, 255, 0.8);
}

.lot-header__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.lot-header__title {
  margin-bottom: 0;
  text-wrap: balance;
  font-size: 42px;
}
@media (min-width: 50em) {
  .lot-header__title {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .lot-header__title {
    font-size: 32px;
  }
}
@media (min-width: 72em) {
  .lot-header__title {
    font-size: 42px;
  }
}
@media (min-width: 80em) {
  .lot-header__title {
    font-size: 64px;
  }
}

.lot-header__location {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .lot-header__location {
    font-size: 18px;
  }
}
@media (min-width: 62.5em) {
  .lot-header__location {
    font-size: 24px;
  }
}
@media (min-width: 80em) {
  .lot-header__location {
    font-size: 28px;
  }
}

.lot-header__description {
  font-size: 16px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .lot-header__description {
    text-wrap: pretty;
  }
}
@media (min-width: 62.5em) {
  .lot-header__description {
    font-size: 18px;
  }
}
@media (min-width: 80em) {
  .lot-header__description {
    font-size: 20px;
  }
}

.lot-header__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 15px;
}
.lot-header__footer .lot-header__cta--primary {
  background-color: #fff;
  color: #000;
  border-color: #fff;
}
.lot-header__footer .lot-header__cta--secondary:hover {
  background-color: #fff;
  color: #000;
  border-color: #fff;
}

/*  ==========================================================================
	Membership Levels Block
	========================================================================== */
.membership-levels {
  position: relative;
  margin: 30px 0;
}
@media (min-width: 50em) {
  .membership-levels {
    margin: var(--content-margin-small);
  }
}

.membership-levels__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .membership-levels__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .membership-levels__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.membership-levels__inner {
  padding-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.membership-levels__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  height: 2px;
  background-color: #000;
}
@media (min-width: 50em) {
  .membership-levels__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
  }
}
@media (min-width: 72em) {
  .membership-levels__inner {
    gap: 100px;
  }
}

.membership-levels__body {
  width: 100%;
}
@media (min-width: 50em) {
  .membership-levels__body {
    width: 25%;
  }
}

.membership-levels__title {
  margin-bottom: 20px;
}

.membership-levels__description {
  margin-bottom: 10px;
}
.membership-levels__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .membership-levels__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.membership-levels__description a:visited {
  color: inherit;
}
.membership-levels__description a:hover, .membership-levels__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

.membership-levels__items {
  width: 100%;
}
@media (min-width: 50em) {
  .membership-levels__items {
    width: calc(75% - 60px);
  }
}
@media (min-width: 72em) {
  .membership-levels__items {
    width: calc(75% - 100px);
  }
}

.membership-levels__item {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  position: relative;
}
.membership-levels__item:after {
  position: absolute;
  content: "";
  background-color: #000;
  height: 1px;
  width: 100%;
  top: -1px;
  left: 0;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.membership-levels__item:hover .o-icon--circle-plus {
  rotate: 45deg;
}
.membership-levels__item:first-child {
  border-top: none;
}

.membership-levels__title-wrapper {
  display: block;
}
@media (min-width: 32em) {
  .membership-levels__title-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.membership-levels__name {
  margin: 0;
  padding: 20px 0;
}
@media (max-width: 31.99em) {
  .membership-levels__name {
    padding-bottom: 0;
  }
}

.membership-levels__price {
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid rgba(0, 0, 0, 0.4);
}
@media (max-width: 31.99em) {
  .membership-levels__price {
    margin: 0;
    padding: 5px 0 20px;
    border: none;
    display: block;
  }
}
@media (min-width: 62.5em) {
  .membership-levels__price {
    font-size: 24px;
  }
}

.membership-levels__item__header {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  cursor: pointer;
}
.membership-levels__item__header .o-icon {
  width: 30px;
  height: 30px;
  -webkit-transition: rotate 0.2s ease-in-out;
  transition: rotate 0.2s ease-in-out;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 16px;
}
@media (min-width: 62.5em) {
  .membership-levels__item__header .o-icon {
    margin-top: 20px;
  }
}
.accordion__item[open] .membership-levels__item__header .o-icon {
  rotate: 45deg;
}

.membership-levels__content {
  padding-bottom: 20px;
}

.membership-levels__cta {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  padding-top: 20px;
}
@media (min-width: 50em) {
  .membership-levels__cta {
    margin-top: 30px;
    padding-bottom: 30px;
  }
}

.membership-levels__link.btn, .page-header__footer.page-header__cta--pill .membership-levels__link.page-header__cta--secondary, .page-header__footer.page-header__cta--pill .membership-levels__link.page-header__cta--primary, .artist-header__footer .membership-levels__link.favorite-artist__button, .home-hero-item__actions.home-hero-item__cta--pill .membership-levels__link.home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .membership-levels__link.home-hero-item__cta--secondary, .lot-header__footer .membership-levels__link.lot-header__cta--primary, .lot-header__footer .membership-levels__link.lot-header__cta--secondary {
  margin: 0;
}

.membership-levels__additional-cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.membership-levels__cta-divider {
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid rgba(0, 0, 0, 0.4);
}
@media (min-width: 32em) {
  .membership-levels__cta-divider {
    margin-left: 30px;
    padding-left: 30px;
  }
}

a.membership-levels__additional-link:not(.inline-button):not(.btn) {
  text-decoration: none;
}
a.membership-levels__additional-link:not(.inline-button):not(.btn):hover {
  text-decoration: none;
}

/*  ==========================================================================
    Membership Benefits
    ========================================================================== */
.membership-benefits {
  position: relative;
  padding: 30px 0;
}
@media (min-width: 50em) {
  .membership-benefits {
    padding: 60px 0;
  }
}

.membership-benefits__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .membership-benefits__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .membership-benefits__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.membership-benefits__header {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media (min-width: 50em) {
  .membership-benefits__header {
    margin-bottom: 30px;
  }
}

.membership-benefits__title {
  margin-bottom: 0;
  margin-right: auto;
}

.membership-benefits__description {
  margin-bottom: 0;
  font-size: 18px;
  max-width: 800px;
  line-height: 1.3;
}
.membership-benefits__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .membership-benefits__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.membership-benefits__description a:visited {
  color: inherit;
}
.membership-benefits__description a:hover, .membership-benefits__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (min-width: 50em) {
  .membership-benefits__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .membership-benefits__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .membership-benefits__description {
    font-size: 24px;
  }
}

.membership-benefits__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
}

/*  ==========================================================================
    Membership Benefit Item
    ========================================================================== */
.membership-benefits-item {
  width: 100%;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0;
}
@media (min-width: 42.5em) {
  .membership-benefits-item {
    width: calc(50% - 15px);
  }
}
@media (min-width: 62.5em) {
  .membership-benefits-item {
    width: calc(33.33% - 20px);
  }
}
.membership-benefits-item:hover .membership-benefits-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.membership-benefits-item:hover .btn-arrow .o-icon, .membership-benefits-item:hover .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .membership-benefits-item:hover .page-header__cta--primary .o-icon,
.membership-benefits-item:hover .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
.page-header__footer.page-header__cta--text .membership-benefits-item:hover .page-header__cta--secondary .o-icon, .membership-benefits-item:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .membership-benefits-item:hover .home-hero-item__cta--primary .o-icon,
.membership-benefits-item:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .membership-benefits-item:hover .home-hero-item__cta--secondary .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.membership-benefits-item__media {
  margin-bottom: 15px;
  width: 100%;
}

.membership-benefits-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
  overflow: hidden;
}

.membership-benefits-item__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.membership-benefits-item__image:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*  ==========================================================================
    Membership Benefit Item - Popover
    ========================================================================== */
.membership-benefits-popup {
  padding: 25px;
  border: none;
  max-width: 90%;
  width: 600px;
}
.membership-benefits-popup::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
.membership-benefits-popup::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
.membership-benefits-popup .membership-benefits-item__title {
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding-bottom: 15px;
  padding-right: 45px;
}

.membership-benefits-popup__close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  position: absolute;
  top: 16px;
  right: 24px;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  width: 38px;
  height: 38px;
  cursor: pointer;
}
.membership-benefits-popup__close .o-icon {
  width: 16px;
  height: 16px;
}
@media (min-width: 50em) {
  .membership-benefits-popup__close {
    width: 42px;
    height: 42px;
  }
  .membership-benefits-popup__close .o-icon {
    width: 18px;
    height: 18px;
  }
}

.membership-benefits-popup__sub-title {
  margin-top: 25px;
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .membership-benefits-popup__sub-title {
    margin-top: 40px;
  }
}

.membership-benefits-popup__levels {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
}

.membership-benefits-popup__level {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
}

.membership-benefits-popup__level-link {
  min-width: 100px;
}

@custom-media --small-viewport (width >=576px);
@custom-media --medium-small-viewport (width > 768px);
@custom-media --medium-viewport (width >=992px);
@custom-media --large-viewport (width >=1200px);
.glightbox-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999 !important;
  overflow: hidden;
  -ms-touch-action: none;
      touch-action: none;
  -webkit-text-size-adjust: 100%;
  -webkit-backface-visibility: hidden;
  outline: none;
  overflow: hidden;
}
.glightbox-container.inactive {
  display: none;
}
.glightbox-container .gcontainer {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: hidden;
}
.glightbox-container .gslider {
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  height: 100%;
  left: 0;
  top: 0;
  width: 100%;
  position: relative;
  overflow: hidden;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.glightbox-container .gslide {
  width: 100%;
  position: absolute;
  opacity: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  /* top: 0;
  left: 0;
  right: 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); */
}
.glightbox-container .gslide.current {
  opacity: 1;
  z-index: 99999;
  position: relative;
}
.glightbox-container .gslide.prev {
  opacity: 1;
  z-index: 9999;
}
.glightbox-container .gslide-inner-content {
  width: 100%;
}
.glightbox-container .ginner-container {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 100%;
  margin: auto;
  height: 100vh;
}
.glightbox-container .ginner-container.gvideo-container {
  width: 100%;
}
@media (--medium-small-viewport) {
  .glightbox-container .ginner-container {
    width: auto;
    height: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.glightbox-container .ginner-container.desc-bottom, .glightbox-container .ginner-container.desc-top {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.glightbox-container .ginner-container.desc-left, .glightbox-container .ginner-container.desc-right {
  max-width: 100% !important;
}
@media (--medium-small-viewport) {
  .glightbox-container .ginner-container.desc-top .gslide-description {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .glightbox-container .ginner-container.desc-top .gslide-image,
  .glightbox-container .ginner-container.desc-top .gslide-image img {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media (--medium-small-viewport) {
  .glightbox-container .ginner-container.desc-left .gslide-description {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  .glightbox-container .ginner-container.desc-left .gslide-image {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.gslide iframe,
.gslide video {
  outline: none !important;
  border: none;
  min-height: 165px;
  -webkit-overflow-scrolling: touch;
  -ms-touch-action: auto;
      touch-action: auto;
}

.gslide-image {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.gslide-image img {
  max-height: 100vh;
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  float: none;
  outline: none;
  border: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  max-width: 100vw;
  width: auto;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -ms-touch-action: none;
      touch-action: none;
  margin: auto;
  min-width: 200px;
}
@media (--medium-small-viewport) {
  .gslide-image img {
    max-height: 97vh;
    max-width: calc(100% - 20px);
    max-width: 100%;
  }
}
.desc-top .gslide-image img, .desc-bottom .gslide-image img {
  width: auto;
}
.desc-left .gslide-image img, .desc-right .gslide-image img {
  width: auto;
  max-width: 100%;
}
.gslide-image img.zoomable {
  position: relative;
}
@media (--medium-small-viewport) {
  .gslide-image img.zoomable {
    cursor: -webkit-zoom-in;
    cursor: zoom-in;
  }
  .zoomed .gslide-image img.zoomable {
    cursor: -webkit-grab;
    cursor: grab;
  }
}
.gslide-image img.dragging {
  cursor: -webkit-grabbing !important;
  cursor: grabbing !important;
  -webkit-transition: none;
  transition: none;
}

.gslide-video {
  width: 100%;
  max-width: 100%;
  position: relative;
  width: 100vh;
  max-width: 100vh;
  width: 100% !important;
  margin: auto;
}
.gslide-video .gvideo-wrapper {
  width: 100%;
  /* max-width: 160vmin; */
  margin: auto;
}
.gslide-video:before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.34);
  display: none;
}
.gslide-video.playing:before {
  display: none;
}
.gslide-video.fullscreen {
  max-width: 100% !important;
  min-width: 100%;
}
.gslide-video.fullscreen video {
  max-width: 100% !important;
  width: 100% !important;
}

.plyr--video .plyr__control:hover {
  opacity: 0.5;
  background-color: transparent;
}
.plyr--video .plyr__control:focus {
  background-color: transparent;
}

.plyr--video .plyr__control.plyr__control--overlaid, .plyr--video .plyr__control.plyr__control--overlaid:hover, .plyr--video .plyr__control.plyr__control--overlaid.plyr__tab-focus {
  opacity: 1;
  overflow: hidden;
  width: 84px;
  height: 84px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  border: 2px solid #fff;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: transparent;
}

.plyr--full-ui input[type=range] {
  color: var(--theme-color);
}

.gslide-inline {
  background: #fff;
  padding: 20px;
  text-align: left;
  max-height: calc(100vh - 40px);
  height: auto;
  overflow: auto;
  width: 90%;
  max-width: 600px;
  margin: auto;
}
.gslide-inline.gslide-media {
  width: 90%;
}
@media (--medium-small-viewport) {
  .gslide-inline {
    max-height: 95vh;
  }
}

.ginlined-content {
  overflow: auto;
  display: block !important;
  opacity: 1;
}

.gslide-external {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  min-width: 100%;
  background: #fff;
  padding: 0;
  overflow: auto;
  max-height: 62vh;
}
@media (--medium-small-viewport) {
  .gslide-external {
    max-height: 95vh;
  }
}

.gslide-media {
  display: block;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: auto;
}
.zoomed .gslide-media {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
.desc-top .gslide-media, .desc-bottom .gslide-media {
  margin: 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.gslide-media {
  /* Make the external brightcove video - full height */
}
.gslide-media.gslide-external {
  height: 100%;
}

.gslide-description {
  position: relative;
  display: none;
}
.gslide-description.description-left, .gslide-description.description-right {
  max-width: 100%;
}
@media (--medium-small-viewport) {
  .gslide-description.description-left, .gslide-description.description-right {
    max-width: 275px;
  }
}
.gslide-description.description-bottom, .gslide-description.description-top {
  margin: 0 auto;
  width: 100%;
}
.gslide-description p {
  margin-bottom: 12px;
}
.gslide-description p:last-child {
  margin-bottom: 0;
}
.zoomed .gslide-description {
  display: none;
}

/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/
.glightbox-mobile .glightbox-container .gslide-description {
  height: auto !important;
  width: 100%;
  background: transparent;
  position: absolute;
  bottom: 15px;
  padding: 19px 11px;
  max-width: 100vw !important;
  -webkit-box-ordinal-group: 3 !important;
      -ms-flex-order: 2 !important;
          order: 2 !important;
  max-height: 78vh;
  overflow: auto !important;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.75)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
  -webkit-transition: opacity 0.3s linear;
  transition: opacity 0.3s linear;
  padding-bottom: 50px;
}
.glightbox-mobile .glightbox-container .gslide-title {
  color: #fff;
  font-size: 1em;
}
.glightbox-mobile .glightbox-container .gslide-desc {
  color: #a1a1a1;
}
.glightbox-mobile .glightbox-container .gslide-desc a {
  color: #fff;
  font-weight: bold;
}
.glightbox-mobile .glightbox-container .gslide-desc * {
  color: inherit;
}
.glightbox-mobile .glightbox-container .gslide-desc .desc-more {
  color: #fff;
  opacity: 0.4;
}

.gdesc-open .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 0.4;
}
.gdesc-open .gdesc-inner {
  padding-bottom: 30px;
}

.gdesc-closed .gslide-media {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  opacity: 1;
}

.greset {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.gabsolute {
  position: absolute;
}

.grelative {
  position: relative;
}

.glightbox-desc {
  display: none !important;
}

.glightbox-open {
  overflow: hidden;
}
@media (--medium-small-viewport) {
  .glightbox-open {
    height: auto;
  }
}

.gloader {
  height: 25px;
  width: 25px;
  -webkit-animation: lightboxLoader 0.8s infinite linear;
          animation: lightboxLoader 0.8s infinite linear;
  border: 2px solid #fff;
  border-right-color: transparent;
  border-radius: 50%;
  position: absolute;
  display: block;
  z-index: 9999;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 47%;
}

.goverlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
  will-change: opacity;
}
.gprev,
.gnext,
.gclose {
  background-repeat: no-repeat;
  z-index: 99999;
  cursor: pointer;
  width: 26px;
  height: 44px;
  display: block;
  background-position: 0 0;
  border: none;
}
.gprev svg,
.gnext svg,
.gclose svg {
  display: block;
  width: 100%;
  height: auto;
}
.gprev.disabled,
.gnext.disabled,
.gclose.disabled {
  opacity: 0.1;
}
.gprev .garrow,
.gnext .garrow,
.gclose .garrow {
  stroke: #fff;
}

iframe.wait-autoplay {
  opacity: 0;
}

.glightbox-closing .gnext,
.glightbox-closing .gprev,
.glightbox-closing .gclose {
  opacity: 0 !important;
}

@media (--medium-small-viewport) {
  .glightbox-clean .gslide-media,
  .glightbox-modern .gslide-media {
    -webkit-box-shadow: 1px 2px 9px rgba(0, 0, 0, 0.65);
            box-shadow: 1px 2px 9px rgba(0, 0, 0, 0.65);
  }
}
.glightbox-clean .gslide-description,
.glightbox-modern .gslide-description {
  background: #fff;
}
.glightbox-clean .gdesc-inner,
.glightbox-modern .gdesc-inner {
  padding: 22px 20px;
}
.glightbox-clean .gslide-title,
.glightbox-modern .gslide-title {
  font-size: 1em;
  font-weight: normal;
  font-family: arial, sans-serif;
  color: #000;
  margin-bottom: 19px;
  line-height: 1.4em;
}
.glightbox-clean .gslide-desc,
.glightbox-modern .gslide-desc {
  font-size: 0.86em;
  margin-bottom: 0;
  font-family: arial, sans-serif;
  line-height: 1.4em;
}
.glightbox-clean .gslide-video,
.glightbox-modern .gslide-video {
  background: #000;
}
.glightbox-clean,
.glightbox-modern {
  /* .gprev,
  .gnext,
  .gclose{
      border: none;
      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGMAAAA2CAYAAADTeCfRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5NThDMEMwNzg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5NThDMEMwODg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1OEMwQzA1ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk1OEMwQzA2ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+htE8KwAAA9BJREFUeNrsm1tIFGEYhndDI4OSLgqkMrKjBXYwCjt40QkpL4pMyoqMgigIgm6iiy66KSwpj2vrucKgpINRRhYRooQkWYEWUkaWERokhVQXbu/QOyDhpjPzz3H/Dx7W1f2+753/3X9mnPnHHwqFfDKcEWPkEEgzZEgzpBkybDbjHLhvIP8GKLNhPILgksEaFaDKKWacAMdAn4Ean8F+kGOxGXFgDyjSmZ8L9oFpurKVU1uBnAr9jZMCah1hrQLBGkciyL7FGvNymXdZb2+RG3GGYo4LrHmINS9abEiZRkMu8PNXjPQVJV4Vc9SEgclm7WqLDSkd5RdBiBGizCihmMMmDkwWe1yz2JBy9g2E+ft5o7smkWZUUMwBCwYmg71u2nQMCZhphFEzaihmt4UDk86e9TYZUsj3OaKNMGJGHcVkWjwoChvZ+7HFfQvZt42vpaJ76Em6SzHbbDBCZR01NFvct519u8yorzXhEcWk2WiESiq1tFrUT901veZrnp1mNFHEWgcYoZJMTe0m98ljn3K+z+f7oB1mtLD5agcZoZJEbZ3Ab0J9deCrwpzSB6004xWbLnegESqJ1NgNok04aFeF+XtA5MF8pA90stkiBxuhkkCtvSBGQL2iEYz415Bys8yIAu/ZZKELjFCJp+Z+EGugTgHrVGq8ClEm2oxZ4CUYAHNcZIRKHOjj6ed8A8eISo15xUaPIcP9spFFk11ohMp0bkOHxrxa5lXo7Ksack9Pvn+YpTqLwS0QDZbxRo+bYgJoBZPAZtCiIVe5QzceZBroXwP8YKfWRH+YdVOx4AOYCOJBt0uMUAz4BGLAVNDjhXvg/bwF2UdTElywLVOoN5o/97hsRv/3HvgAv10fwVuQ6ODtUO45f6HmyaDXi6tDfoMZNKMdJDlwG2ZyN/qVs/mbl5fqDILZoAO8AMkO0j8XvONJhjKLf0TKuqkF4Dl4BlY6QLty1vcGdHE39SvSFrEtBc2gCWywUfcKfjE6eHIxGKkrCleBRvAApNmgOQU8BW2crRG/vDMV1JN0C/WmcmYqZizxeSyMLO/cBG6DOyDDAq3rwRPOyhSfB8PoWtst4DrJMlGnYnwDeMjZ4c0QdGGumhfIsk246LeVtetcfOFyVEQJ8nQv+AkqwThQIqjuDnAV1ILtPo9HlMBaB/kfewCMBfkG6ylL85VnJZSroLt8kRAmTLezOpfUD+W0WQvFnIzfpEePlaeO5oE1OvOVp56+R8KuaWiYZYYMG05tZUgzpBkypBnSDBnSDGmGDGmGDGmGNEOGNEOaIUOa4YH4I8AAM9m8BFEzyDIAAAAASUVORK5CYII=');
  } */
}
.glightbox-clean .gprev,
.glightbox-clean .gnext,
.glightbox-clean .gclose,
.glightbox-modern .gprev,
.glightbox-modern .gnext,
.glightbox-modern .gclose {
  background-color: rgba(0, 0, 0, 0.12);
}
.glightbox-clean .gprev path,
.glightbox-clean .gnext path,
.glightbox-clean .gclose path,
.glightbox-modern .gprev path,
.glightbox-modern .gnext path,
.glightbox-modern .gclose path {
  fill: #fff;
}
.glightbox-clean button:focus:not(.focused):not(.disabled),
.glightbox-modern button:focus:not(.focused):not(.disabled) {
  outline: none;
}
.glightbox-clean .gprev,
.glightbox-modern .gprev {
  position: absolute;
  top: -100%;
  left: 30px;
  width: 40px;
  height: 56px;
}
@media (--medium-small-viewport) {
  .glightbox-clean .gprev,
  .glightbox-modern .gprev {
    top: 45%;
  }
}
.glightbox-clean .gnext,
.glightbox-modern .gnext {
  position: absolute;
  top: -100%;
  right: 30px;
  width: 40px;
  height: 56px;
}
@media (--medium-small-viewport) {
  .glightbox-clean .gnext,
  .glightbox-modern .gnext {
    top: 45%;
  }
}
.glightbox-clean .gclose,
.glightbox-modern .gclose {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 5px;
  right: 10px;
  width: auto;
  gap: 5px;
  background-color: transparent;
}
@media (min-width: 50em) {
  .glightbox-clean .gclose,
  .glightbox-modern .gclose {
    top: 20px;
    right: 20px;
  }
}
.glightbox-clean .gclose:before,
.glightbox-modern .gclose:before {
  content: "";
  z-index: 20;
  position: absolute;
  top: 5px;
  right: 10px;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-mask-image: url("/assets/close-circle.svg");
          mask-image: url("/assets/close-circle.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: var(--theme-color-light);
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 50em) {
  .glightbox-clean .gclose:before,
  .glightbox-modern .gclose:before {
    top: 20px;
    right: 20px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .glightbox-clean .gclose:before:hover,
  .glightbox-modern .gclose:before:hover {
    background-color: #fff;
  }
}
.glightbox-clean .gclose:before,
.glightbox-modern .gclose:before {
  position: relative;
  right: unset !important;
  top: 1px !important;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.glightbox-clean .gclose:after,
.glightbox-modern .gclose:after {
  content: "Close";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
@media (min-width: 50em) {
  .glightbox-clean .gclose:after,
  .glightbox-modern .gclose:after {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .glightbox-clean .gclose:after,
  .glightbox-modern .gclose:after {
    font-size: 22px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .glightbox-clean .gclose:hover:before,
  .glightbox-modern .gclose:hover:before {
    background-color: #fff;
  }
  .glightbox-clean .gclose:hover:after,
  .glightbox-modern .gclose:hover:after {
    color: #fff;
  }
}
.glightbox-clean .gclose svg,
.glightbox-modern .gclose svg {
  display: none;
}

.gfadeIn {
  -webkit-animation: gfadeIn 0.5s ease;
          animation: gfadeIn 0.5s ease;
}

.gfadeOut {
  -webkit-animation: gfadeOut 0.5s ease;
          animation: gfadeOut 0.5s ease;
}

.gslideOutLeft {
  -webkit-animation: gslideOutLeft 0.3s ease;
          animation: gslideOutLeft 0.3s ease;
}

.gslideInLeft {
  -webkit-animation: gslideInLeft 0.3s ease;
          animation: gslideInLeft 0.3s ease;
}

.gslideOutRight {
  -webkit-animation: gslideOutRight 0.3s ease;
          animation: gslideOutRight 0.3s ease;
}

.gslideInRight {
  -webkit-animation: gslideInRight 0.3s ease;
          animation: gslideInRight 0.3s ease;
}

.gzoomIn {
  -webkit-animation: gzoomIn 0.5s ease;
          animation: gzoomIn 0.5s ease;
}

.gzoomOut {
  -webkit-animation: gzoomOut 0.5s ease;
          animation: gzoomOut 0.5s ease;
}

@-webkit-keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes lightboxLoader {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes gfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes gfadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes gfadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes gfadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes gslideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
            transform: translate3d(-60%, 0, 0);
  }
  100% {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-60%, 0, 0);
            transform: translate3d(-60%, 0, 0);
  }
  100% {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutLeft {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-60%, 0, 0);
            transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes gslideOutLeft {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-60%, 0, 0);
            transform: translate3d(-60%, 0, 0);
    opacity: 0;
    visibility: hidden;
  }
}
@-webkit-keyframes gslideInRight {
  0% {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
            transform: translate3d(60%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes gslideInRight {
  0% {
    opacity: 0;
    visibility: visible;
    -webkit-transform: translate3d(60%, 0, 0);
            transform: translate3d(60%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@-webkit-keyframes gslideOutRight {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(60%, 0, 0);
            transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@keyframes gslideOutRight {
  0% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(60%, 0, 0);
            transform: translate3d(60%, 0, 0);
    opacity: 0;
  }
}
@-webkit-keyframes gzoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 1;
  }
}
@keyframes gzoomIn {
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes gzoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
@keyframes gzoomOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
            transform: scale3d(0.3, 0.3, 0.3);
  }
  100% {
    opacity: 0;
  }
}
/*  ==========================================================================
    Newsletter Block
    ========================================================================== */
.newsletter {
  position: relative;
  padding: 30px 15px;
}

.newsletter__inner {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .newsletter__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .newsletter__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.package-block {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .package-block {
    padding: 60px 0;
  }
}

.package-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .package-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .package-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.package-block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.package-block__inner:hover .btn-arrow .o-icon, .package-block__inner:hover .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .package-block__inner:hover .page-header__cta--primary .o-icon,
.package-block__inner:hover .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
.page-header__footer.page-header__cta--text .package-block__inner:hover .page-header__cta--secondary .o-icon, .package-block__inner:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .package-block__inner:hover .home-hero-item__cta--primary .o-icon,
.package-block__inner:hover .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .package-block__inner:hover .home-hero-item__cta--secondary .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}
@media (min-width: 50em) {
  .package-block__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 25px;
  }
}
@media (min-width: 72em) {
  .package-block__inner {
    gap: 60px;
  }
}

.package-block__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 62.5em) {
  .package-block__media {
    width: 50%;
  }
}

.package-block__intrinsic-ratio {
  position: relative;
  padding-bottom: 60%;
  height: 0;
}

.package-block__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.package-block__content {
  width: 100%;
}
@media (min-width: 62.5em) {
  .package-block__content {
    width: 50%;
  }
}

.package-block__prefix {
  font-weight: 700;
  font-size: 20px;
}
@media (min-width: 72em) {
  .package-block__prefix {
    font-size: 28px;
  }
}

@media (max-width: 49.99em) {
  .package-block__title {
    font-size: 32px;
  }
}

.package-block__description {
  margin-top: 15px;
  line-height: 1.2;
  font-size: 18px;
}
@media (min-width: 72em) {
  .package-block__description {
    font-size: 24px;
  }
}

.package-block__cta {
  border-top: 1px solid;
  margin-top: 15px;
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

/*  ==========================================================================
    Page Item
    ========================================================================== */
.page-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.page-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  height: 100%;
  width: 100%;
}

.page-item__media {
  margin-bottom: 0;
}

.page-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 50%;
  height: 0;
  overflow: hidden;
}

.page-item__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.page-item:hover .page-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.page-item__info, .page-item__content {
  height: 100%;
}

.page-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.page-item__title {
  font-size: 24px;
  margin-bottom: 10px;
  position: relative;
}
@media (min-width: 50em) {
  .page-item__title {
    font-size: 32px;
    margin-bottom: 10px;
  }
}

.page-item__description {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 10px;
}
@media (min-width: 50em) {
  .page-item__description {
    font-size: 18px;
  }
}

.page-item__cta {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
}
.page-item:hover .page-item__cta .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

/*  ==========================================================================
    Page List Item
    ========================================================================== */
.page-list-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media (min-width: 62.5em) {
  .page-list-item:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor;
    z-index: 2;
  }
}
@media (max-width: 62.49em) {
  .page-list-item {
    margin-bottom: 20px;
  }
}

.page-list-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  height: 100%;
  width: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media (max-width: 62.49em) {
  .page-list-item__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 62.5em) {
  .page-list-item__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.page-list-item__media {
  margin-bottom: 0;
}
@media (max-width: 62.49em) {
  .page-list-item__media {
    width: 50%;
  }
}

.page-list-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
  overflow: hidden;
}

.page-list-item__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.page-list-item__image:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

@media (max-width: 62.49em) {
  .page-list-item__info {
    width: 50%;
  }
}

@media (min-width: 62.5em) {
  .page-list-item__info, .page-list-item__content {
    height: 100%;
  }
}

.page-list-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (max-width: 49.99em) {
  .page-list-item__link {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.page-list__item .btn-arrow .o-icon, .page-list__item .page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon, .page-header__footer.page-header__cta--text .page-list__item .page-header__cta--primary .o-icon,
.page-list__item .page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon,
.page-header__footer.page-header__cta--text .page-list__item .page-header__cta--secondary .o-icon, .page-list__item .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--primary .o-icon, .home-hero-item__actions.home-hero-item__cta--link .page-list__item .home-hero-item__cta--primary .o-icon,
.page-list__item .home-hero-item__actions.home-hero-item__cta--link .home-hero-item__cta--secondary .o-icon,
.home-hero-item__actions.home-hero-item__cta--link .page-list__item .home-hero-item__cta--secondary .o-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.page-list-item__title {
  position: relative;
  margin-bottom: 0;
  font-size: 18px;
}
@media (min-width: 50em) {
  .page-list-item__title {
    font-size: 32px;
  }
}

.page-list-item__description {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 10px;
}
@media (min-width: 50em) {
  .page-list-item__description {
    font-size: 18px;
  }
}

@media (min-width: 50em) {
  .page-list-item__wrapper {
    margin-bottom: 40px;
  }
}

.page-list-item__list {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
}

.page-list-item__list-link {
  font-weight: 700;
  color: color-mix(in srgb, var(--theme-body-text-color) 60%, transparent);
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  font-size: 14px;
}
@media (min-width: 50em) {
  .page-list-item__list-link {
    font-size: 18px;
  }
}
.page-list-item__list-link .o-icon {
  width: 14px;
  height: 14px;
  margin-left: 5px;
  opacity: 0;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}
@media (min-width: 50em) {
  .page-list-item__list-link .o-icon {
    width: 16px;
    height: 16px;
  }
}
.page-list-item__list-link:hover {
  color: var(--theme-body-text-color);
}
.page-list-item__list-link:hover .o-icon {
  opacity: 1;
}

/*  ==========================================================================
    page List
    ========================================================================== */
.page-list {
  position: relative;
  padding: 30px 0;
  overflow: hidden;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .page-list {
    padding: var(--content-margin-small);
  }
}

.page-list__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .page-list__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .page-list__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (min-width: 50em) {
  .page-list__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 60px;
  }
}

.page-list__title {
  margin-bottom: 20px;
}

.page-list__description {
  font-size: 18px;
  text-wrap: pretty;
}
.page-list__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .page-list__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.page-list__description a:visited {
  color: inherit;
}
.page-list__description a:hover, .page-list__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.page-list__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .page-list__description {
    max-width: 780px;
  }
}
@media (min-width: 62.5em) {
  .page-list__description {
    font-size: 24px;
  }
}

.page-list__cta {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 49.99em) {
  .page-list__cta {
    border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
    padding-top: 15px;
    margin-top: 20px;
  }
}

.page-list__list {
  margin-top: 30px;
}
@media (min-width: 62.5em) {
  .page-list__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px 20px;
  }
}

.page-list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-right: 12px;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media (min-width: 62.5em) {
  .page-list__item {
    width: calc(100% - 20px);
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  }
}

/*  ==========================================================================
	Page Scroller
	========================================================================== */
.page-scroller {
  position: relative;
  margin: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .page-scroller {
    margin: var(--content-margin-small);
  }
}

@media (min-width: 62.5em) {
  .page-scroller__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .page-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .page-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 62.49em) {
  .page-scroller__constrained {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .page-scroller__constrained {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .page-scroller__constrained {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.page-scroller__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 25px 0;
  border-top: 2px solid #000;
}
@media (max-width: 62.49em) {
  .page-scroller__header {
    padding: 15px 0;
  }
}

.page-scroller__title {
  margin-bottom: 0;
}

.page-scroller__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.page-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}

.page-scroller__previous,
.page-scroller__next {
  background-color: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
}
@media (min-width: 62.5em) {
  .page-scroller__previous,
  .page-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.page-scroller__previous.swiper-button-disabled,
.page-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.page-scroller__previous .o-icon,
.page-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.page-scroller__previous:not(.swiper-button-disabled):hover .o-icon,
.page-scroller__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.page-scroller__previous {
  margin-right: 0;
}
.page-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.page-scroller__next {
  margin-right: 15px;
}
.page-scroller__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .page-scroller__next {
    margin-right: 0;
  }
}

@media (min-width: 62.5em) {
  .page-scroller__custom-link {
    margin-bottom: -5px;
  }
}

.page-scroller__actions:has(.page-scroller__custom-link) .page-scroller__navigation {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.page-scroller__actions:has(.page-scroller__custom-link) .page-scroller__navigation:after {
  height: 56px;
  width: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 62.5em) {
  .page-scroller__actions:has(.page-scroller__custom-link) .page-scroller__navigation:after {
    content: "";
  }
}

.page-scroller__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .page-scroller__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .page-scroller__scroll {
    padding-left: 15px;
  }
}

.page-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.page-scroller__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 300px;
  padding-right: 12px;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border-right: 1px solid rgba(0, 0, 0, 0.4);
}
@media (min-width: 62.5em) {
  .page-scroller__item {
    width: calc(33.3% - 27px);
    padding-right: 20px;
    margin-right: 20px;
  }
  .page-scroller__item:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: 0;
  }
}

/*  ==========================================================================
    Pull Quote Block
    ========================================================================== */
.pull-quote {
  position: relative;
  padding: 30px 0;
  background-color: #000;
}
@media (min-width: 62.5em) {
  .pull-quote {
    padding: 60px 0;
  }
}

.pull-quote__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .pull-quote__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .pull-quote__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.pull-quote__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 62.5em) {
  .pull-quote__inner {
    gap: 60px;
  }
}

.pull-quote__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  height: auto;
  width: 100%;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.quote__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 50em) {
  .quote__body {
    gap: 30px;
  }
}

.quote {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 30px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #000;
  color: #fff;
  width: 100%;
  position: relative;
  z-index: 2;
}
@media (min-width: 50em) {
  .quote {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
@media (min-width: 72em) {
  .quote {
    gap: 60px;
  }
}
@media (min-width: 80em) {
  .quote {
    gap: 80px;
  }
}

.quote__body {
  width: 100%;
}

.quote__text {
  color: #fff;
  font-family: Apercu, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.05em;
  margin: 0;
  padding-bottom: 0;
  text-wrap: pretty;
  max-width: 900px;
}
.quote__text p:first-child:before {
  content: "“";
}
.quote__text p:last-child {
  margin-bottom: 0;
}
.quote__text p:last-child:after {
  content: "”";
}
@media (min-width: 50em) {
  .quote__text {
    letter-spacing: -0.03em;
    line-height: 1.1;
    font-size: 32px;
  }
}
@media (min-width: 72em) {
  .quote__text {
    font-size: 42px;
  }
}

.quote__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0;
  padding-top: 15px;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 18px;
  line-height: 1.3;
  width: 100%;
}
@media (min-width: 50em) {
  .quote__meta {
    display: block;
  }
}
@media (min-width: 62.5em) {
  .quote__meta {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .quote__meta {
    font-size: 24px;
  }
}

.quote__attribution {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: 700;
}

@media (min-width: 50em) {
  .quote__attribution-subtext:before {
    content: ", ";
  }
}

.pull-quote .swiper-pagination-bullets {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.pull-quote .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: #fff;
  opacity: 0.5;
  cursor: pointer;
  border: none;
  margin: 0;
}
.pull-quote .swiper-pagination-bullet-active {
  opacity: 1;
}
.pull-quote .swiper-fade.swiper-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}
.pull-quote .swiper-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.pull-quote .swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}
.pull-quote .swiper-fade .swiper-slide-active, .pull-quote .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}
.pull-quote .swiper-slide-invisible-blank {
  visibility: hidden;
}

.quote__media {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 50em) {
  .quote__media {
    width: 300px;
  }
}
@media (min-width: 62.5em) {
  .quote__media {
    width: 430px;
  }
}

.quote__intrinsic-ratio {
  position: relative;
  height: 0;
  padding-bottom: 70%;
  overflow: hidden;
}
@media (min-width: 50em) {
  .quote__intrinsic-ratio {
    padding-bottom: 71.4285714286%;
  }
}

.quote__image {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*  ==========================================================================
    Pull Quote Block - Multiple (w/ pagination)
    ========================================================================== */
@media (min-width: 62.5em) {
  .pull-quote--multiple {
    padding-bottom: 30px;
  }
}

/*  ==========================================================================
    Pull Quote Block - Image
    ========================================================================== */
.quote--image .quote__text {
  max-width: 740px;
}
@media (min-width: 50em) {
  .quote--image .quote__text {
    font-size: 24px;
  }
}
@media (min-width: 62.5em) {
  .quote--image .quote__text {
    font-size: 32px;
  }
}
@media (min-width: 80em) {
  .quote--image .quote__text {
    font-size: 42px;
  }
}
@media (min-width: 72em) {
  .quote--image .quote__text--long {
    font-size: 26px;
  }
}

@media (min-width: 50em) {
  .quote--image-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

/*  ==========================================================================
    Pull Quote Block - Light Theme
    ========================================================================== */
.pull-quote--light {
  background-color: #fff;
}
.pull-quote--light .quote {
  color: #000;
  background-color: #fff;
}
.pull-quote--light .quote__body {
  position: relative;
  padding-left: 15px;
  max-width: 890px;
  margin: 0 auto;
}
@media (min-width: 50em) {
  .pull-quote--light .quote__body {
    padding-left: 25px;
  }
}
@media (min-width: 72em) {
  .pull-quote--light .quote__body {
    padding-left: 0;
  }
}
.pull-quote--light .quote__body:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 6px;
  background-color: #09F;
  left: -15px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 72em) {
  .pull-quote--light .quote__body:before {
    left: -50px;
  }
}
.pull-quote--light .quote__text {
  color: #000;
  max-width: 890px;
  font-size: 24px;
}
@media (min-width: 50em) {
  .pull-quote--light .quote__text {
    font-size: 32px;
  }
}
.pull-quote--light .quote__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 0;
}
.pull-quote--light .quote__attribution {
  margin-bottom: 4px;
  font-size: 20px;
}
@media (min-width: 50em) {
  .pull-quote--light .quote__attribution {
    font-size: 24px;
  }
}
.pull-quote--light .quote__attribution-subtext {
  font-size: 16px;
}
.pull-quote--light .quote__attribution-subtext::before {
  display: none;
}
@media (min-width: 50em) {
  .pull-quote--light .quote__attribution-subtext {
    font-size: 18px;
  }
}
.pull-quote--light .swiper-pagination-bullet {
  background-color: #000;
}
.pull-quote--light .quote--image .quote__body {
  padding-left: 0;
  max-width: 100%;
}
.pull-quote--light .quote--image .quote__body:before {
  display: none;
}

/*  ==========================================================================
    Rich Text
    ========================================================================== */
.rich-text {
  margin: 30px 0;
}
@media (min-width: 50em) {
  .rich-text {
    margin: 60px 0;
  }
}

.rich-text__inner {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .rich-text__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .rich-text__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*  ==========================================================================
    Search Inline
    ========================================================================== */
.search-inline {
  padding: 15px;
  background-color: var(--theme-color);
  color: #000;
  overflow: hidden;
}
@media (min-width: 50em) {
  .search-inline {
    padding: 40px 20px;
  }
}
@media (min-width: 62.5em) {
  .search-inline {
    padding: 60px 0;
  }
}
.search-inline + .at-a-glance, .search-inline + .well-block {
  padding-top: 0;
}

@media (min-width: 50em) {
  .search-inline__inner {
    width: 100%;
    max-width: 920px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .search-inline__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .search-inline__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.search-inline__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
  padding: 20px;
}
@media (min-width: 50em) {
  .search-inline__body {
    padding: 30px 20px;
    margin: 0 -20px;
  }
}
@media (min-width: 62.5em) {
  .search-inline__body {
    padding: 40px;
    margin: 0 -40px;
  }
}

.search-inline__title {
  font-size: 24px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .search-inline__title {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .search-inline__title {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .search-inline__title {
    font-size: 32px;
  }
}

.search-inline__description {
  font-size: 16px;
}
@media (min-width: 62.5em) {
  .search-inline__description {
    font-size: 18px;
  }
}

.search-inline__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.search-inline__search-input {
  margin: 0;
  width: 350px;
  max-width: calc(100% - 150px);
  border-radius: 5px 0 0 5px;
  border-right: none;
}

.search-inline__search-submit {
  border-radius: 0 5px 5px 0;
}

.stats-panel {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
}

.stats-panel__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .stats-panel__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .stats-panel__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.stats-panel__title {
  margin-bottom: 20px;
}
@media (max-width: 49.99em) {
  .stats-panel__title {
    font-size: 32px;
    margin-bottom: 15px;
  }
}

.stats-panel__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 20px 0;
}
@media (min-width: 50em) {
  .stats-panel__list:has(:nth-child(2)) > * {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
  }
  .stats-panel__list:has(:nth-child(3)) > * {
    -ms-flex-preferred-size: 33.33%;
        flex-basis: 33.33%;
  }
  .stats-panel__list:has(:nth-child(4)) > * {
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
  }
  .stats-panel__list:has(:nth-child(5)) > * {
    -ms-flex-preferred-size: 20%;
        flex-basis: 20%;
  }
  .stats-panel__list:has(:nth-child(6)) > * {
    -ms-flex-preferred-size: 33.33%;
        flex-basis: 33.33%;
  }
  .stats-panel__list:has(:nth-child(6)) .stats-panel__item:nth-child(4) {
    border-left: 1px solid;
  }
}

.stats-panel__item {
  border-right: 1px solid;
  padding: 30px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
.stats-panel__item:first-child {
  border-left: 1px solid;
}
.stats-panel__item:nth-child(3), .stats-panel__item:nth-child(5) {
  border-left: 1px solid;
}
@media (min-width: 50em) {
  .stats-panel__item {
    text-align: center;
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
  }
  .stats-panel__item:nth-child(3), .stats-panel__item:nth-child(5) {
    border-left: none;
  }
}

.stats-panel__value {
  display: block;
  font-size: 36px;
  line-height: 0.9;
  font-weight: 700;
}
@media (min-width: 50em) {
  .stats-panel__value {
    font-size: 48px;
  }
}
@media (min-width: 72em) {
  .stats-panel__value {
    font-size: 64px;
  }
}

.stats-panel__label {
  display: block;
  font-size: 16px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .stats-panel__label {
    font-size: 18px;
  }
}

/* ==========================================================================
   Swiper
   ========================================================================== */
.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

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

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

/* ==========================================================================
   Pagination
   ========================================================================== */
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination.swiper-pagination-bullets {
  text-align: center;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 3;
  width: 100%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0 calc(10px / 2);
  display: inline-block;
  border-radius: 100%;
  background: transparent;
  border: 1px solid #000;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  background-color: #000;
}

/* ==========================================================================
   Slider nav
   ========================================================================== */
.swiper-button {
  position: absolute;
  top: 0%;
  z-index: 2;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-indent: -999999px;
  overflow: hidden;
  width: 50px;
  height: 50px;
  opacity: 0.6;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  margin: 0;
  padding: 0;
}
@media (min-width: 50em) {
  .swiper-button {
    top: 30%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media (min-width: 59em) {
  .swiper-button {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.swiper-button-disabled {
  opacity: 0.2;
  cursor: not-allowed;
}

.swiper-button__prev {
  background: rgba(255, 255, 255, 0.4) url("images/navigate-before.svg") no-repeat center center;
  background-size: 100%;
  left: 15px;
}

.swiper-button__next {
  background: rgba(255, 255, 255, 0.4) url("images/navigate-next.svg") no-repeat center center;
  background-size: 100%;
  right: 15px;
}

@media (min-width: 50em) {
  .swiper-button__prev {
    left: 0;
    background: url("images/navigate-before.svg") no-repeat;
    background-size: 100%;
  }
  .swiper-button__next {
    right: 0;
    background: url("images/navigate-next.svg") no-repeat;
    background-size: 100%;
  }
}
@media (min-width: 72em) {
  .swiper-button__prev {
    left: 40px;
  }
  .swiper-button__next {
    right: 40px;
  }
}
.swiper-scrollbar {
  z-index: 50;
  height: 5px;
  margin: 20px 0 0;
  position: sticky;
  left: 0;
  display: none;
}
@media (min-width: 62.5em) {
  .swiper-scrollbar {
    display: block;
  }
}

.swiper-scrollbar-drag {
  height: 5px;
  position: relative;
  background: var(--theme-highlight-color);
  left: 0;
  top: 0;
}

/* ==========================================================================
   Scroller nav
   ========================================================================== */
.scroller__buttons {
  position: absolute;
  right: 0;
  bottom: 0;
}

.scroller__button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}

.scroller__button {
  display: block;
  text-indent: -999999px;
  overflow: hidden;
  display: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
}
@media (min-width: 59em) {
  .scroller__button {
    display: inline-block;
  }
}

.scroller__button--previous {
  background: url("images/navigate-before.svg") no-repeat center center;
  background-size: 100%;
}

.scroller__button--next {
  background: url("images/navigate-next.svg") no-repeat center center;
  background-size: 100%;
}

/*  ==========================================================================
    Themes and Gradients
    ========================================================================== */
.theme-firework {
  --theme-color: #EB008C;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-firework) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-teal {
  --theme-color: #0D826C;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-teal) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-peach {
  --theme-color: #F1AF98;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-peach) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-tangerine {
  --theme-color: #F38A24;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-tangerine) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-daisy {
  --theme-color: #FFF200;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-daisy) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-grass {
  --theme-color: #9BC354;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-grass) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-turquoise {
  --theme-color: #2FBCB6;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-turquoise) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-toyon {
  --theme-color: #B30003;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-toyon) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-berry {
  --theme-color: #7C136C;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-berry) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-darkgreen {
  --theme-color: #356129;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-darkgreen) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-twilight {
  --theme-color: #212E86;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-twilight) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-green {
  --theme-color: #1D6615;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-green) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-lime {
  --theme-color: #B0D235;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-lime) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-lilac {
  --theme-color: #EDC8FC;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-lilac) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-sky {
  --theme-color: #C5EFF7;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-sky) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-melon {
  --theme-color: #E8F9C0;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-melon) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-sugarbush {
  --theme-color: #7E0A6D;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-sugarbush) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-hbpurple {
  --theme-color: #92288F;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-hbpurple) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-red {
  --theme-color: #EE343F;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-red) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-manzanita {
  --theme-color: #792900;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-manzanita) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-azure {
  --theme-color: #5697F8;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-azure) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-chartreuse {
  --theme-color: #DDF439;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-chartreuse) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-monarch {
  --theme-color: #F7941F;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-monarch) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-canary {
  --theme-color: #FFF200;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-canary) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-pink {
  --theme-color: #FF8EAD;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-pink) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-blue {
  --theme-color: #09F;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-blue) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-glass {
  --theme-color: #E7F8FF;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-glass) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-powder {
  --theme-color: #C1E8F9;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-powder) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-cornflower {
  --theme-color: #9DB5D8;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-cornflower) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-bluestone {
  --theme-color: #656F8D;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-bluestone) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-pacific {
  --theme-color: #093F6C;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-pacific) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-midnight {
  --theme-color: #051A3A;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-midnight) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-leaf {
  --theme-color: #DEF5D8;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-leaf) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-spruce {
  --theme-color: #1E421C;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-spruce) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-magenta {
  --theme-color: #A70B4E;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-magenta) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-rosewood {
  --theme-color: #731705;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-rosewood) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-basoon {
  --theme-color: #4D072D;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-basoon) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-orchid {
  --theme-color: #EAC0FF;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-orchid) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-cement {
  --theme-color: #CCC6AB;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-cement) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-ivory {
  --theme-color: #FEF2E3;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-ivory) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-sunlight {
  --theme-color: #FFE77B;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-sunlight) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-ballet {
  --theme-color: #FFD1CA;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-ballet) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-maple {
  --theme-color: #A74E0B;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-maple) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-fir {
  --theme-color: #695700;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-fir) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-fountain {
  --theme-color: #406F80;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-fountain) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-fountain-light {
  --theme-color: #D9E2E6;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-fountain-light) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-skylight {
  --theme-color: #CBFFFC;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-skylight) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-rose {
  --theme-color: #C98392;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-rose) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-coral {
  --theme-color: #FF6D50;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-coral) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-royal {
  --theme-color: #000268;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-royal) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-garden {
  --theme-color: #334B26;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-garden) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-steel {
  --theme-color: #A9AEC1;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-steel) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-pinkball {
  --theme-color: #FFD1C4;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-pinkball) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-wildflower {
  --theme-color: #FFA428;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-wildflower) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-coffeeberry {
  --theme-color: #9D2C00;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-coffeeberry) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-yellow {
  --theme-color: #FFD400;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-yellow) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-cream {
  --theme-color: #FFF7D8;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-cream) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-tan {
  --theme-color: #FFEBBC;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-tan) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-goldenrod {
  --theme-color: #FBB400;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-goldenrod) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-pumpkin {
  --theme-color: #FF7719;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-pumpkin) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-sepia {
  --theme-color: #AC4900;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-sepia) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-sykamore {
  --theme-color: #113E11;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-sykamore) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-brown {
  --theme-color: #762516;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-brown) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-black-90 {
  --theme-color: rgba(0, 0, 0, 0.9);
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-black-90) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-fordpurple {
  --theme-color: #944C9D;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-fordpurple) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-fordfuchsia {
  --theme-color: #DC3DA1;
  --theme-body-text-color: #fff;
  --theme-body-text-color-inverse: #000;
}

.home-hero__container:has(.swiper-slide-active.theme-fordfuchsia) {
  --pagination-color: #fff;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-hbcoral {
  --theme-color: #F26D63;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-hbcoral) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-hbblue {
  --theme-color: #2AAEE9;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-hbblue) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-hborchid {
  --theme-color: #E9C1FF;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-hborchid) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-wdch-stone {
  --theme-color: #D9E2E6;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-wdch-stone) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-ford-sage {
  --theme-color: #B1BDB1;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-ford-sage) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.theme-white {
  --theme-color: #fff;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

.home-hero__container:has(.swiper-slide-active.theme-white) {
  --pagination-color: #000;
}

.home-hero__container:has(.swiper-slide-active.home-hero-item--full.theme-default) {
  --pagination-color: #fff;
}

.brand-green {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-lime {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-lilac {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-firework {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-sky {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-melon {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-sugarbush {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-purple {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-red {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-manzanita {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-azure {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-chartreuse {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-monarch {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-canary {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-pink {
  --brand-color: ;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #fff;
}

.brand-laphil {
  --brand-color: #09F;
  --brand-body-text-color: #000;
  --brand-body-text-color-inverse: #000;
}

.brand-wdch {
  --brand-color: #406F80;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-hb {
  --brand-color: #92288F;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-ford {
  --brand-color: #113E11;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-lap {
  --brand-color: #093F6C;
  --brand-body-text-color: #fff;
  --brand-body-text-color-inverse: #000;
}

.brand-yola {
  --brand-color: #FFD400;
  --brand-body-text-color: #000;
  --brand-body-text-color-inverse: #000;
}

/*  ==========================================================================
    Video Block
	========================================================================== */
.video-block {
  position: relative;
}

/*  ==========================================================================
    Video Gallery
    ========================================================================== */
.video-gallery {
  background-color: #000;
  color: #fff;
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .video-gallery {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .video-gallery {
    padding: 60px 0;
  }
}

.video-gallery__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .video-gallery__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .video-gallery__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.video-gallery__header {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (min-width: 62.5em) {
  .video-gallery__header {
    margin-bottom: 25px;
  }
}

.video-gallery__header-content {
  max-width: 800px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.video-gallery__title {
  margin: 0;
}

.video-gallery__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .video-gallery__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.video-gallery__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -15px;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 62.5em) {
  .video-gallery__list {
    margin: 0 -25px;
  }
}

.video-gallery__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .video-gallery__navigation {
    display: none;
  }
}

.video-gallery__previous,
.video-gallery__next {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .video-gallery__previous,
  .video-gallery__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.video-gallery__previous.swiper-button-disabled,
.video-gallery__next.swiper-button-disabled {
  cursor: not-allowed;
}
.video-gallery__previous .o-icon,
.video-gallery__next .o-icon {
  width: 16px;
  height: 16px;
  color: #fff;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.video-gallery__previous:hover,
.video-gallery__next:hover {
  background-color: #fff;
  border-color: #fff;
}
.video-gallery__previous:hover .o-icon,
.video-gallery__next:hover .o-icon {
  color: #000;
}
.video-gallery__previous:not(.swiper-button-disabled):hover .o-icon,
.video-gallery__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.video-gallery__previous {
  margin-right: 0;
}
.video-gallery__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.video-gallery__next {
  margin-right: 15px;
}
.video-gallery__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .video-gallery__next {
    margin-right: 0;
  }
}

/*  ==========================================================================
    Video Gallery - Items
    ========================================================================== */
.video-gallery__list-item {
  width: 350px;
  min-width: 350px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 62.5em) {
  .video-gallery__list-item {
    width: 33.33%;
    min-width: 33.33%;
  }
}
.video-gallery__list-item:last-child .video-item {
  border: none;
}

.video-gallery .video-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  width: 100%;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  padding: 0 15px;
}
@media (min-width: 62.5em) {
  .video-gallery .video-item {
    padding: 0 25px;
  }
}
.video-gallery .video-item .video-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.video-gallery .video-item .video-item__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.video-gallery .video-item .video-item__title {
  line-height: 1.1;
  margin-bottom: 0;
  text-wrap: pretty;
  font-size: 18px;
}
@media (min-width: 50em) {
  .video-gallery .video-item .video-item__title {
    font-size: 20px;
  }
}
.video-gallery .video-item .video-item__prefix {
  font-size: 14px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .video-gallery .video-item .video-item__prefix {
    font-size: 14px;
  }
}
.video-gallery .video-item .video-item__description {
  text-wrap: pretty;
}
.video-gallery .video-item .video-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .video-gallery .video-item .video-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.video-gallery .video-item .video-item__description a:visited {
  color: inherit;
}
.video-gallery .video-item .video-item__description a:hover, .video-gallery .video-item .video-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.video-gallery .video-item .video-item__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .video-gallery .video-item .video-item__description {
    font-size: 18px;
  }
}
.video-gallery .video-item .video-item__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-top: 15px;
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 50em) {
  .video-gallery .video-item .video-item__cta {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .video-gallery .video-item .video-item__cta {
    font-size: 22px;
  }
}
.video-gallery .video-item .video-item__media {
  display: block;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.06);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
.video-gallery .video-item .video-item__media:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.5)));
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
  z-index: 3;
}
@-webkit-keyframes pulse {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 0.1;
  }
}
@keyframes pulse {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 0.1;
  }
}
.video-gallery .video-item .video-item__media:has(.video-item__image[src]) {
  -webkit-animation: none;
          animation: none;
}
.video-gallery .video-item .video-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  opacity: 0;
  z-index: 2;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
.video-gallery .video-item .video-item__image[src] {
  opacity: 1;
}
.video-gallery .video-item .video-item__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  left: 15px;
  bottom: 15px;
  padding: 0;
  background-color: transparent;
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  z-index: 3;
}
.video-gallery .video-item .video-item__icon .o-icon {
  position: relative;
  left: 2px;
  width: 100%;
  height: 100%;
}
.video-gallery .video-item .video-item__image[src] ~ .video-item__icon {
  opacity: 1;
}
.video-gallery .video-item .video-item__preview {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  pointer-events: none;
  overflow: hidden;
  z-index: 2;
}
.video-gallery .video-item .video-item__preview video {
  -o-object-fit: cover;
     object-fit: cover;
  min-width: 100%;
  min-height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .video-gallery .video-item .video-item__media:has(.video-item__image[src]):hover .video-item__preview {
    opacity: 1;
  }
}

/*  ==========================================================================
    Well Block
    ========================================================================== */
.well-block {
  padding: 15px;
  background-color: var(--theme-color);
  overflow: hidden;
}
@media (min-width: 50em) {
  .well-block {
    padding: 40px 20px;
  }
}
@media (min-width: 62.5em) {
  .well-block {
    padding: 60px 0;
  }
}
.well-block + .fact-block {
  padding-top: 0;
}

@media (min-width: 50em) {
  .well-block__inner {
    width: 100%;
    max-width: 920px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .well-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .well-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.well-block__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
  color: #000;
  padding: 20px;
}
@media (min-width: 50em) {
  .well-block__body {
    padding: 30px 20px;
    margin: 0 -20px;
  }
}
@media (min-width: 62.5em) {
  .well-block__body {
    padding: 40px;
    margin: 0 -40px;
  }
}

.well-block__title {
  font-size: 24px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .well-block__title {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .well-block__title {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .well-block__title {
    font-size: 32px;
  }
}

/*  ==========================================================================
	Event Booking
	========================================================================== */
.event-booking {
  border-top: 2px solid;
  padding-top: 20px;
}
@media (min-width: 50em) {
  .event-booking {
    margin-top: 20px;
  }
}

.event-booking__header {
  margin-bottom: 20px;
}

.event-booking__event-date {
  font-size: 20px;
  margin: 0;
  text-transform: uppercase;
}

.event-booking__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 49.99em) {
  .event-booking__inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.event-booking__inner .btn--external {
  padding-right: 50px;
}
@media (min-width: 62.5em) {
  .event-booking__inner .btn--external {
    padding-right: 64px;
  }
}

.event-booking__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  padding-top: 15px;
  margin-top: 20px;
}

.event-booking__price-description,
.event-booking__gate-time {
  margin-bottom: 0;
  font-size: 16px;
}
@media (min-width: 50em) {
  .event-booking__price-description,
  .event-booking__gate-time {
    font-size: 18px;
  }
}

.event-booking__price-description + .event-booking__gate-time {
  border-left: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  margin-left: 10px;
  padding-left: 10px;
}

@media (min-width: 50em) {
  .event-booking__inner .btn, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--secondary, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--primary, .event-booking__inner .artist-header__footer .favorite-artist__button, .artist-header__footer .event-booking__inner .favorite-artist__button, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--primary, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--secondary, .event-booking__inner .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-booking__inner .lot-header__cta--primary, .event-booking__inner .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-booking__inner .lot-header__cta--secondary {
    font-size: 16px;
  }
}
@media (min-width: 62.5em) {
  .event-booking__inner .btn, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--secondary, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--primary, .event-booking__inner .artist-header__footer .favorite-artist__button, .artist-header__footer .event-booking__inner .favorite-artist__button, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--primary, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--secondary, .event-booking__inner .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-booking__inner .lot-header__cta--primary, .event-booking__inner .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-booking__inner .lot-header__cta--secondary {
    font-size: 20px;
  }
}

@media (max-width: 49.99em) {
  .event-booking__inner .btn-theme-fill, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--primary, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--primary, .event-booking__inner .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-booking__inner .lot-header__cta--primary, .event-booking__inner .btn-theme-outline, .event-booking__inner .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-booking__inner .page-header__cta--secondary, .event-booking__inner .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .home-hero-item__cta--secondary, .event-booking__inner .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-booking__inner .lot-header__cta--secondary {
    width: calc(50% - 15px);
    max-width: 250px;
  }
}

.event-booking__inner .event-package-popup__ctas .btn, .event-booking__inner .event-package-popup__ctas .page-header__footer.page-header__cta--pill .page-header__cta--secondary, .page-header__footer.page-header__cta--pill .event-booking__inner .event-package-popup__ctas .page-header__cta--secondary, .event-booking__inner .event-package-popup__ctas .page-header__footer.page-header__cta--pill .page-header__cta--primary, .page-header__footer.page-header__cta--pill .event-booking__inner .event-package-popup__ctas .page-header__cta--primary, .event-booking__inner .event-package-popup__ctas .artist-header__footer .favorite-artist__button, .artist-header__footer .event-booking__inner .event-package-popup__ctas .favorite-artist__button, .event-booking__inner .event-package-popup__ctas .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--primary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .event-package-popup__ctas .home-hero-item__cta--primary, .event-booking__inner .event-package-popup__ctas .home-hero-item__actions.home-hero-item__cta--pill .home-hero-item__cta--secondary, .home-hero-item__actions.home-hero-item__cta--pill .event-booking__inner .event-package-popup__ctas .home-hero-item__cta--secondary, .event-booking__inner .event-package-popup__ctas .lot-header__footer .lot-header__cta--primary, .lot-header__footer .event-booking__inner .event-package-popup__ctas .lot-header__cta--primary, .event-booking__inner .event-package-popup__ctas .lot-header__footer .lot-header__cta--secondary, .lot-header__footer .event-booking__inner .event-package-popup__ctas .lot-header__cta--secondary {
  font-size: var(--global-button-size-small);
}

@media (max-width: 49.99em) {
  .event-booking__promo-code {
    text-align: center;
  }
}
.event-booking__promo-code .promo-code__prompt {
  text-decoration: underline;
  font-size: 16px;
}
@media (min-width: 50em) {
  .event-booking__promo-code .promo-code__prompt {
    font-size: 18px;
  }
}

.event-booking__information {
  padding: 16px;
  background-color: rgba(255, 255, 255, 0.6);
  color: #000;
  margin-top: 20px;
}

.event-booking__message, .event-booking__date {
  font-size: 16px;
  margin: 0;
}
@media (min-width: 50em) {
  .event-booking__message, .event-booking__date {
    font-size: 18px;
  }
}

.event-booking__message p {
  margin: 0;
}
.event-booking__message p + p {
  margin-top: 0.75em;
}

.event-booking__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
  margin: 5px 0 0;
}
.event-booking__date .o-icon {
  width: 16px;
  height: 16px;
}
@media (min-width: 50em) {
  .event-booking__date {
    font-size: 16px;
  }
}

.promo-container {
  width: 100%;
  position: relative;
}
@media (min-width: 50em) {
  .promo-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.promo-container__close {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}
@media (max-width: 49.99em) {
  .promo-container__close {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media (min-width: 50em) {
  .promo-container__close {
    height: 40px;
  }
}

.promo-container__close .o-icon {
  color: var(--theme-body-text-color);
  width: 18px;
  height: 18px;
}
@media (min-width: 50em) {
  .promo-container__close .o-icon {
    width: 24px;
    height: 24px;
  }
}

.promo-container__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 15px;
}

.promo-container__label {
  width: 100%;
  font-size: 14px;
  font-weight: bold;
  margin: 0 0 5px;
  text-align: left;
}

.promo-container__input {
  height: 40px;
  border: none;
  border-radius: 6px;
  padding: 0 10px;
}

.promo-container__submit {
  background: #000;
  color: #fff;
  border: none;
  border-radius: 30px;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 700;
  height: 40px;
  line-height: 1;
  cursor: pointer;
}

.promo-container__error {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.promo-container__error p {
  margin-bottom: 0;
}

/*  ==========================================================================
	Loader
	========================================================================== */
.loader {
  --size: 24px;
  --gutter: 30px;
  --bg-color: #000;
  --fg-color: #fff;
  --animation-time: 1s;
}
.loader--size-small {
  --size: 16px;
}
.loader--size-large {
  --size: 32px;
}
.loader--gutter-none {
  --gutter: 0;
}
.loader--gutter-xsmall {
  --gutter: 5px;
}
.loader--gutter-small {
  --gutter: 15px;
}
.loader--gutter-mediun {
  --gutter: 30px;
}
.loader--gutter-large {
  --gutter: 60px;
}
.loader--theme-light {
  --bg-color: #fff;
  --fg-color: #000;
}
.loader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: var(--gutter) 0;
}

.loader__wrapper {
  background-color: var(--bg-color);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc(var(--size) * 0.5);
  padding: calc(var(--size) * 0.5);
  position: relative;
  border-radius: calc(var(--size) * 30);
}

.loader__label {
  margin-bottom: unset;
  font-size: calc(var(--size) * 0.8);
  font-weight: 300;
  letter-spacing: 0.01em;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--fg-color), color-mix(in srgb, var(--fg-color), transparent 80%), var(--fg-color));
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  background-size: 200% 100%;
  -webkit-animation: shimmer calc(var(--animation-time) * 4) linear infinite;
          animation: shimmer calc(var(--animation-time) * 4) linear infinite;
  line-height: 1;
}

.loader__spinner {
  position: relative;
  width: calc(var(--size) * 0.8);
  height: calc(var(--size) * 0.8);
}

.loader__bar {
  width: calc(var(--size) * 0.8);
  height: calc(var(--size) * 0.8);
  border: calc(var(--size) * 0.1) solid;
  border-color: var(--fg-color) transparent transparent transparent;
  border-radius: 50%;
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-animation: rotation var(--animation-time) linear infinite;
          animation: rotation var(--animation-time) linear infinite;
  position: absolute;
  top: 0;
  left: 0;
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
/*  ==========================================================================
    Favorites
    ========================================================================== */
.favorites-header {
  background-color: #FFE77B;
  color: #000;
  padding: 30px 0;
}
@media (min-width: 50em) {
  .favorites-header {
    padding: 60px 0;
  }
}

.favorites-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .favorites-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .favorites-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .favorites-header__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.favorites-header__title {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 0;
  font-size: 42px;
}
@media (min-width: 50em) {
  .favorites-header__title {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .favorites-header__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .favorites-header__title {
    font-size: 64px;
  }
}

.favorites-header__description {
  font-size: 16px;
  text-wrap: pretty;
  margin-top: 15px;
  padding-top: 15px;
  border: solid color-mix(in srgb, currentColor 30%, transparent);
  border-width: 1px 0 0;
}
.favorites-header__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .favorites-header__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.favorites-header__description a:visited {
  color: inherit;
}
.favorites-header__description a:hover, .favorites-header__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.favorites-header__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .favorites-header__description {
    font-size: 18px;
    margin: 0 0 0 30px;
    padding: 0 0 0 30px;
    border-width: 0 0 0 1px;
  }
}
@media (min-width: 62.5em) {
  .favorites-header__description {
    margin: 0 0 0 40px;
    padding: 0 0 0 40px;
    font-size: 24px;
  }
}

.favorite-event__button,
.favorite-instance__button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 7px;
  border-radius: 100%;
  border: 1.5px solid;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: relative;
  cursor: pointer;
  width: 36px;
  height: 36px;
}
.favorite-event__button .o-icon,
.favorite-instance__button .o-icon {
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.favorite-event__button:hover,
.favorite-instance__button:hover {
  background-color: #000;
  border-color: #000;
}
.favorite-event__button:hover .o-icon,
.favorite-instance__button:hover .o-icon {
  color: #fff;
}
.favorite-event__button[disabled],
.favorite-instance__button[disabled] {
  cursor: default;
  cursor: not-allowed;
  opacity: 0.25;
}

.favorite-artist__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  color: inherit;
  cursor: pointer;
}
.favorite-artist__button .o-icon {
  width: 24px;
  height: 20px;
  margin-top: -3px;
}
@media (min-width: 50em) {
  .favorite-artist__button {
    font-size: 16px;
  }
  .favorite-artist__button .o-icon {
    width: 26px;
    height: 22px;
  }
}

.favorite-event__button--remove,
.favorite-instance__button--remove {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

.favorite-event__button--active,
.favorite-instance__button--active {
  background-color: #000;
}
.favorite-event__button--active .o-icon,
.favorite-instance__button--active .o-icon {
  fill: #fff;
}

.favorite-dialog .dialog__inner {
  position: relative;
  padding: 40px;
  max-width: 90%;
}
@media (min-width: 42.5em) {
  .favorite-dialog .dialog__inner {
    max-width: 650px;
  }
}
@media (min-width: 50em) {
  .favorite-dialog .dialog__inner {
    padding: 50px 60px;
  }
}
.favorite-dialog .dialog__close {
  border: none;
  border-radius: 50%;
  background-color: #000;
  color: #fff;
  width: 38px;
  height: 38px;
  cursor: pointer;
  position: absolute;
  top: 15px;
  right: 15px;
}
.favorite-dialog .dialog__close .o-icon {
  width: 16px;
  height: 16px;
}
@media (min-width: 50em) {
  .favorite-dialog .dialog__close {
    width: 42px;
    height: 42px;
  }
  .favorite-dialog .dialog__close .o-icon {
    width: 18px;
    height: 18px;
  }
}
.favorite-dialog .dialog__title {
  font-size: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  margin-bottom: 25px;
}
.favorite-dialog .heart-icon__container {
  background-color: #000;
  border-radius: 50%;
}
.favorite-dialog .heart-icon__container .o-icon {
  width: 30px;
  height: 30px;
  padding: 7px;
  color: #fff;
}
@media (min-width: 50em) {
  .favorite-dialog .heart-icon__container {
    font-size: 36px;
  }
  .favorite-dialog .heart-icon__container .o-icon {
    width: 36px;
    height: 36px;
    padding: 8px;
  }
}
.favorite-dialog .dialog__body p {
  margin: 0;
}
.favorite-dialog .dialog__body a {
  text-decoration: underline;
}
.favorite-dialog .dialog__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 15px;
  margin-top: 20px;
}

.favorite-dialog__list {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.favorite-dialog__item {
  padding: 10px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

/*  ==========================================================================
	Promo Code
	========================================================================== */
/*  ==========================================================================
    Feature Scroller
    ========================================================================== */
.feature-scroller {
  position: relative;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .feature-scroller {
    padding: 60px 0;
  }
}

.feature-scroller:last-child {
  margin-bottom: 0;
}

@media (min-width: 62.5em) {
  .feature-scroller__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .feature-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .feature-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.feature-scroller__header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "title" "description" "actions";
  gap: 15px;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .feature-scroller__header {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "title actions" "description description";
  }
}
@media (min-width: 50em) {
  .feature-scroller__header {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-areas: "title actions" "description actions";
    margin-bottom: 30px;
  }
}
@media (max-width: 62.49em) {
  .feature-scroller__header {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .feature-scroller__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .feature-scroller__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.feature-scroller__title,
.feature-scroller__actions {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.feature-scroller__title {
  grid-area: title;
  margin-bottom: 0;
  margin-right: auto;
}

.feature-scroller__description {
  grid-area: description;
  margin-bottom: 0;
  font-size: 18px;
  max-width: 800px;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .feature-scroller__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .feature-scroller__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .feature-scroller__description {
    font-size: 24px;
  }
}

.feature-scroller__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  grid-area: actions;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .feature-scroller__actions {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 0;
  }
}

.feature-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .feature-scroller__navigation {
    display: none;
  }
}

.feature-scroller__previous,
.feature-scroller__next {
  background-color: transparent;
  color: var(--theme-body-text-color);
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .feature-scroller__previous,
  .feature-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.feature-scroller__previous.swiper-button-disabled,
.feature-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.feature-scroller__previous .o-icon,
.feature-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  color: var(--theme-body-text-color);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.feature-scroller__previous:hover,
.feature-scroller__next:hover {
  background-color: var(--theme-body-text-color);
  border-color: var(--theme-body-text-color);
}
.feature-scroller__previous:hover .o-icon,
.feature-scroller__next:hover .o-icon {
  color: var(--theme-body-text-color-inverse);
}
.feature-scroller__previous:not(.swiper-button-disabled):hover .o-icon,
.feature-scroller__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.feature-scroller__previous {
  margin-right: 0;
}
.feature-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.feature-scroller__next {
  margin-right: 15px;
}
.feature-scroller__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .feature-scroller__next {
    margin-right: 0;
  }
}

@media (min-width: 62.5em) {
  .feature-scroller__custom-link {
    margin-bottom: -5px;
  }
}

.feature-scroller__actions:has(.feature-scroller__custom-link) .feature-scroller__navigation {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.feature-scroller__actions:has(.feature-scroller__custom-link) .feature-scroller__navigation:after {
  height: 56px;
  width: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 62.5em) {
  .feature-scroller__actions:has(.feature-scroller__custom-link) .feature-scroller__navigation:after {
    content: "";
  }
}

.feature-scroller__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .feature-scroller__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .feature-scroller__scroll {
    padding-left: 15px;
  }
}

.feature-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.feature-scroller__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 85%;
  padding-right: 12px;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.feature-scroller__item:not(:last-child) {
  border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
}
@media (min-width: 32em) {
  .feature-scroller__item {
    width: 350px;
  }
}
@media (min-width: 62.5em) {
  .feature-scroller__item {
    width: calc(33.3% - 27px);
    padding-right: 20px;
    margin-right: 20px;
  }
  .feature-scroller__item:last-child {
    padding-right: 0;
  }
}

/*  ==========================================================================
    Feature Card Item
    ========================================================================== */
.feature-card-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  position: relative;
  color: var(--theme-body-text-color);
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  .feature-card-item--linked:hover .feature-card-item__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .feature-card-item--linked:hover .feature-card-item__cta .o-icon {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

.feature-card-item__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
@media (min-width: 50em) {
  .feature-card-item__details {
    max-width: 650px;
    margin: 0 auto;
  }
}
@media (min-width: 62.5em) {
  .feature-card-item__details {
    max-width: none;
    margin: 0;
  }
}
.feature-card-item__details .feature-popup-btn {
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  background-color: transparent;
  border: none;
}

.feature-card-item__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.feature-card-item__prefix,
.feature-card-item__suffix {
  display: block;
  line-height: 1.2;
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 50em) {
  .feature-card-item__prefix,
  .feature-card-item__suffix {
    font-size: 18px;
  }
}

.feature-card-item__title {
  margin-bottom: 0;
  font-size: 24px;
}
@media (min-width: 50em) {
  .feature-card-item__title {
    font-size: 28px;
  }
}
@media (min-width: 62.5em) {
  .feature-card-item__title {
    font-size: 32px;
  }
}
.feature-card-item__title a {
  font-weight: 700;
}

.feature-card-item__description {
  font-size: 16px;
  line-height: 1.4;
}
.feature-card-item__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .feature-card-item__description {
    font-size: 18px;
  }
}

.feature-card-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .feature-card-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.feature-card-item__description a:visited {
  color: inherit;
}
.feature-card-item__description a:hover, .feature-card-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

.feature-card-item__action {
  margin-top: auto;
}

.feature-card-item__cta {
  display: block;
  color: var(--theme-body-text-color);
  text-align: left;
  padding-top: 15px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  width: 100%;
}

/*  ==========================================================================
    Feature Panel - Image
    ========================================================================== */
.feature-card-item__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.feature-card-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 50%;
  height: 0;
}

.feature-card-item__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1), -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
}

/*  ==========================================================================
    Experiences
    ========================================================================== */
.experiences {
  position: relative;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .experiences {
    padding: 60px 0;
  }
}

.experiences:last-child {
  margin-bottom: 0;
}

@media (min-width: 62.5em) {
  .experiences__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .experiences__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .experiences__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.experiences__header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "title" "description" "actions";
  gap: 15px;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .experiences__header {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "title actions" "description description";
  }
}
@media (min-width: 50em) {
  .experiences__header {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-areas: "title actions" "description actions";
    margin-bottom: 30px;
  }
}
@media (max-width: 62.49em) {
  .experiences__header {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .experiences__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .experiences__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.experiences__title,
.experiences__actions {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.experiences__title {
  grid-area: title;
  margin-bottom: 0;
  margin-right: auto;
}

.experiences__description {
  grid-area: description;
  margin-bottom: 0;
  font-size: 18px;
  max-width: 800px;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .experiences__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .experiences__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .experiences__description {
    font-size: 24px;
  }
}

.experiences__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  grid-area: actions;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .experiences__actions {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 0;
  }
}

.experiences__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .experiences__navigation {
    display: none;
  }
}

.experiences__previous,
.experiences__next {
  background-color: transparent;
  color: var(--theme-body-text-color);
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .experiences__previous,
  .experiences__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.experiences__previous.swiper-button-disabled,
.experiences__next.swiper-button-disabled {
  cursor: not-allowed;
}
.experiences__previous .o-icon,
.experiences__next .o-icon {
  width: 16px;
  height: 16px;
  color: var(--theme-body-text-color);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.experiences__previous:hover,
.experiences__next:hover {
  background-color: var(--theme-body-text-color);
  border-color: var(--theme-body-text-color);
}
.experiences__previous:hover .o-icon,
.experiences__next:hover .o-icon {
  color: var(--theme-body-text-color-inverse);
}
.experiences__previous:not(.swiper-button-disabled):hover .o-icon,
.experiences__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.experiences__previous {
  margin-right: 0;
}
.experiences__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.experiences__next {
  margin-right: 15px;
}
.experiences__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .experiences__next {
    margin-right: 0;
  }
}

@media (min-width: 62.5em) {
  .experiences__custom-link {
    margin-bottom: -5px;
  }
}

.experiences__actions:has(.experiences__custom-link) .experiences__navigation {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.experiences__actions:has(.experiences__custom-link) .experiences__navigation:after {
  height: 56px;
  width: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 62.5em) {
  .experiences__actions:has(.experiences__custom-link) .experiences__navigation:after {
    content: "";
  }
}

.experiences__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .experiences__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .experiences__scroll {
    padding-left: 15px;
  }
}

.experiences__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.experiences__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 85%;
  padding-right: 12px;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.experiences__item:not(:last-child) {
  border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
}
@media (min-width: 32em) {
  .experiences__item {
    width: 350px;
  }
}
@media (min-width: 62.5em) {
  .experiences__item {
    width: calc(33.3% - 27px);
    padding-right: 20px;
    margin-right: 20px;
  }
  .experiences__item:last-child {
    padding-right: 0;
  }
}

@media (min-width: 62.5em) {
  .experiences__item--half {
    width: calc(50% - 20px);
  }
  .experiences__item--half .experience-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
  .experiences__item--half .experience-item__media, .experiences__item--half .experience-item__details {
    width: calc(50% - 20px);
  }
  .experiences__item--half .experience-item__intrinsic-ratio {
    padding-bottom: 66.6666666667%;
  }
}

/*  ==========================================================================
    Experience Item
    ========================================================================== */
.experience-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  position: relative;
  color: var(--theme-body-text-color);
  width: 100%;
}

@media (hover: hover) and (pointer: fine) {
  a.experience-item:hover .experience-item__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  a.experience-item:hover .experience-item__cta .o-icon {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

.experience-item__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
}
@media (min-width: 50em) {
  .experience-item__details {
    max-width: 650px;
    margin: 0 auto;
  }
}
@media (min-width: 62.5em) {
  .experience-item__details {
    max-width: none;
    margin: 0;
  }
}
.experience-item__details .feature-popup-btn {
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  background-color: transparent;
  border: none;
}

.experience-item__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}

.experience-item__prefix,
.experience-item__suffix {
  display: block;
  line-height: 1.2;
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 50em) {
  .experience-item__prefix,
  .experience-item__suffix {
    font-size: 18px;
  }
}

.experience-item__title {
  margin-bottom: 0;
  font-size: 24px;
}
@media (min-width: 50em) {
  .experience-item__title {
    font-size: 28px;
  }
}
@media (min-width: 62.5em) {
  .experience-item__title {
    font-size: 32px;
  }
}

.experience-item__description {
  font-size: 16px;
  line-height: 1.4;
}
.experience-item__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .experience-item__description {
    font-size: 18px;
  }
}

.experience-item__action {
  margin-top: auto;
}

.experience-item__cta {
  display: block;
  color: var(--theme-body-text-color);
  text-align: left;
  padding-top: 15px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  width: 100%;
}

/*  ==========================================================================
    Feature Panel - Image
    ========================================================================== */
.experience-item__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.experience-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 50%;
  height: 0;
}

.experience-item__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1), -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
}

/*  ==========================================================================
    Column Info Panel
    ========================================================================== */
.column-info-panel {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
}
@media (min-width: 50em) {
  .column-info-panel {
    padding: 60px 0;
  }
}
.column-info-panel.theme-white {
  padding: 0;
  margin: 30px 0;
}
@media (min-width: 50em) {
  .column-info-panel.theme-white {
    margin: 60px 0;
  }
}

.column-info-panel__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .column-info-panel__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .column-info-panel__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.column-info-panel__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}
@media (min-width: 50em) {
  .column-info-panel__inner {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 40px;
    grid-template-areas: "header cta" "list list";
  }
  .column-info-panel__inner:not(:has(.column-info-panel__header)) {
    grid-template-columns: 1fr;
    grid-template-areas: "cta" "list";
    gap: 0 40px;
  }
  .column-info-panel__inner .column-info-panel__cta {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
@media (min-width: 62.5em) {
  .column-info-panel__inner {
    gap: 60px;
  }
}

.column-info-panel__header {
  grid-area: header;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.column-info-panel__title {
  margin-bottom: 0;
}

.column-info-panel__description {
  margin-bottom: 0;
  font-size: 18px;
}
@media (min-width: 50em) {
  .column-info-panel__description {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .column-info-panel__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .column-info-panel__description {
    font-size: 24px;
  }
}

.column-info-panel__cta {
  grid-area: cta;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.column-info-panel__list {
  display: grid;
  grid-area: list;
  gap: 25px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .column-info-panel__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 40px;
  }
  .column-info-panel--1 .column-info-panel__list {
    grid-template-columns: 1fr;
  }
  .column-info-panel--2 .column-info-panel__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .column-info-panel--2 .column-info-panel__list .column-info-item__description {
    text-wrap: balance;
  }
}
@media (min-width: 50em) {
  .column-info-panel--3 .column-info-panel__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 62.5em) {
  .column-info-panel__list {
    gap: 40px;
  }
}
@media (min-width: 80em) {
  .column-info-panel__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.column-info-item__title {
  font-size: 18px;
  text-wrap: pretty;
  line-height: 1.1;
}
@media (min-width: 50em) {
  .column-info-item__title {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .column-info-item__title {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .column-info-item__title {
    font-size: 24px;
  }
}

.column-info-item__description {
  text-wrap: pretty;
  font-size: 14px;
}
.column-info-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .column-info-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.column-info-item__description a:visited {
  color: inherit;
}
.column-info-item__description a:hover, .column-info-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.column-info-item__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .column-info-item__description {
    font-size: 16px;
  }
}

/*  ==========================================================================
    Featured Orchestra Members
    ========================================================================== */
.featured-orchestra-members {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .featured-orchestra-members {
    padding: 60px 0;
  }
}

.featured-orchestra-members__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .featured-orchestra-members__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .featured-orchestra-members__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.featured-orchestra-members__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 50em) {
  .featured-orchestra-members__inner {
    gap: 30px;
  }
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__inner {
    gap: 40px;
  }
}

.featured-orchestra-members__header {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
}
@media (min-width: 50em) {
  .featured-orchestra-members__header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.featured-orchestra-members__title {
  margin-bottom: 0;
  text-wrap: pretty;
}

.featured-orchestra-members__scroll-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}

.featured-orchestra-members__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .featured-orchestra-members__actions {
    display: none;
  }
}

.featured-orchestra-members__cta {
  display: block;
  margin-top: 4px;
}

@media (max-width: 62.49em) {
  .featured-orchestra-members__cta--desktop {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
}

.featured-orchestra-members__previous,
.featured-orchestra-members__next {
  background-color: transparent;
  color: var(--theme-body-text-color);
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__previous,
  .featured-orchestra-members__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.featured-orchestra-members__previous.swiper-button-disabled,
.featured-orchestra-members__next.swiper-button-disabled {
  cursor: not-allowed;
}
.featured-orchestra-members__previous .o-icon,
.featured-orchestra-members__next .o-icon {
  width: 16px;
  height: 16px;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.featured-orchestra-members__previous:not(.swiper-button-disabled):hover,
.featured-orchestra-members__next:not(.swiper-button-disabled):hover {
  background-color: var(--theme-body-text-color);
}
.featured-orchestra-members__previous:not(.swiper-button-disabled):hover .o-icon,
.featured-orchestra-members__next:not(.swiper-button-disabled):hover .o-icon {
  color: var(--theme-body-text-color-inverse);
}
.featured-orchestra-members.theme-white .featured-orchestra-members__previous:not(.swiper-button-disabled):hover .o-icon,
.featured-orchestra-members.theme-white .featured-orchestra-members__next:not(.swiper-button-disabled):hover .o-icon {
  color: #fff;
}

.featured-orchestra-members__previous {
  margin-right: 0;
}
.featured-orchestra-members__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.featured-orchestra-members__next {
  margin-right: 15px;
}
.featured-orchestra-members__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__next {
    margin-right: 0;
  }
}

.featured-orchestra-members__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .featured-orchestra-members__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 -40px;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .featured-orchestra-members__scroll {
    margin: 0 -15px;
    padding-left: 15px;
  }
}

.featured-orchestra-members__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}
.featured-orchestra-members__list .member-item__bio {
  display: none;
}

.featured-orchestra-members__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 310px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid var(--theme-body-text-color);
}
.featured-orchestra-members__item:last-child {
  border-right: 0;
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__item {
    width: calc(25% - 23px);
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item {
    width: calc(25% - 38px);
    padding-right: 25px;
    margin-right: 25px;
  }
}
.featured-orchestra-members__item .member-item {
  width: 100%;
}

.featured-orchestra-members__item--desktop {
  display: none;
}
.featured-orchestra-members__item--desktop .member-item__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 40px;
}
.featured-orchestra-members__item--desktop .member-item__inner > * {
  width: 50%;
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__header {
    gap: 15px;
  }
}
.featured-orchestra-members__item--desktop .member-item__body {
  display: block;
  height: auto;
  position: relative;
}
.featured-orchestra-members__item--desktop .member-item__body:before {
  position: absolute;
  content: "";
  height: 1px;
  width: 100%;
  background-color: var(--theme-body-text-color);
  left: 0;
  top: 0;
}
.featured-orchestra-members__item--desktop .member-item__content {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15px;
  padding: 25px 0;
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__item--desktop .member-item__content {
    gap: 20px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__content {
    gap: 25px;
  }
}
.featured-orchestra-members__item--desktop .member-item__name {
  font-size: 26px;
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__item--desktop .member-item__name {
    font-size: 32px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__name {
    font-size: 36px;
  }
}
@media (min-width: 80em) {
  .featured-orchestra-members__item--desktop .member-item__name {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__item--desktop .member-item__role {
    font-size: 20px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__role {
    font-size: 24px;
  }
}
@media (min-width: 62.5em) {
  .featured-orchestra-members__item--desktop .member-item__chair {
    font-size: 18px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__chair {
    font-size: 20px;
    padding: 15px 0 12px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__footer {
    gap: 20px;
  }
}
@media (min-width: 72em) {
  .featured-orchestra-members__item--desktop .member-item__cta {
    font-size: 24px;
  }
}

@media (min-width: 50em) {
  .featured-orchestra-members__item--desktop {
    display: block;
  }
  .featured-orchestra-members__item--mobile {
    display: none;
  }
}
/*  ==========================================================================
    Member Item
    ========================================================================== */
.member-item {
  width: 100%;
}

.member-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  height: 100%;
}

.member-item__media {
  width: 100%;
}

.member-item__intrinsic-ratio {
  position: relative;
  height: 0;
  padding-bottom: 71.4285714286%;
  overflow: hidden;
}

.member-item__image {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
  transition: transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1), -webkit-transform 500ms cubic-bezier(0.1, 0.75, 0.65, 1);
}
@media (hover: hover) and (pointer: fine) {
  a.member-item:hover .member-item__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.member-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

.member-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 30px;
  height: 100%;
  width: 100%;
}

.member-item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.member-item__name {
  margin-bottom: 0;
  text-wrap: pretty;
  font-size: 20px;
}

.member-item__bio {
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 0;
  text-wrap: pretty;
}
@media (min-width: 62.5em) {
  .member-item__bio {
    font-size: 18px;
  }
}
@media (min-width: 72em) {
  .member-item__bio {
    font-size: 20px;
  }
}
@media (min-width: 80em) {
  .member-item__bio {
    font-size: 24px;
  }
}

.member-item__role {
  margin-bottom: 0;
  font-size: 14px;
}
@media (min-width: 50em) {
  .member-item__role {
    font-size: 18px;
  }
}

.member-item__other-positions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.member-item__other-position {
  font-size: 14px;
  margin-top: -5px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .member-item__other-position {
    font-size: 18px;
  }
}

.member-item__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.member-item__chair {
  font-size: 16px;
  text-wrap: pretty;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 0 7px;
  border: solid color-mix(in srgb, var(--theme-body-text-color) 20%, transparent);
  border-width: 1px 0 1px 0;
}

.member-item__cta {
  font-size: 18px;
}
@media (hover: hover) and (pointer: fine) {
  a.member-item:hover .member-item__cta .o-icon {
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}

/*  ==========================================================================
    Watch And Listen Header
    ========================================================================== */
.watch-and-listen-header {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 25px 0;
}
@media (min-width: 50em) {
  .watch-and-listen-header {
    padding: 40px 0;
  }
}

.watch-and-listen-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .watch-and-listen-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .watch-and-listen-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.watch-and-listen-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width: 62.5em) {
  .watch-and-listen-header__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 64px;
    padding-bottom: 64px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px;
  }
}

.watch-and-listen-header__title {
  margin: 0;
  font-size: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 50em) {
  .watch-and-listen-header__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .watch-and-listen-header__title {
    font-size: 64px;
  }
}

.watch-and-listen-header__subtitle {
  font-weight: 500;
}

.watch-and-listen-header__location-switcher {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: rgb(from var(--theme-body-text-color) r g b/0.1);
  padding: 5px;
  border-radius: 30px;
  gap: 2.5px;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 480px;
}

.watch-and-listen-header__location-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 5px;
  border: 0;
  font-size: 14px;
  font-weight: 700;
  background-color: transparent;
  color: var(--theme-body-text-color);
  cursor: pointer;
  white-space: nowrap;
  width: 33.33%;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}
.watch-and-listen-header__location-tab.is-active {
  color: var(--theme-body-text-color-inverse);
  cursor: auto;
}
@media (min-width: 32em) {
  .watch-and-listen-header__location-tab {
    padding: 10px 20px;
    font-size: 16px;
  }
}
.watch-and-listen-header__location-switcher--2 .watch-and-listen-header__location-tab {
  width: 50%;
}
.watch-and-listen-header__location-switcher--3 .watch-and-listen-header__location-tab {
  width: 33.3%;
}
.watch-and-listen-header__location-switcher--4 .watch-and-listen-header__location-tab {
  width: 25%;
}

.watch-and-listen-header__location-indicator {
  position: absolute;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  inset: 5px;
  background-color: var(--theme-body-text-color);
  border-radius: 30px;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: -1;
}
.watch-and-listen-header__location-switcher--2 .watch-and-listen-header__location-indicator {
  width: calc(50% - 6.25px);
}
.watch-and-listen-header__location-switcher--3 .watch-and-listen-header__location-indicator {
  width: calc(33.33% - 5px);
}
.watch-and-listen-header__location-switcher--4 .watch-and-listen-header__location-indicator {
  width: calc(25% - 4.375px);
}

.watch-and-listen-header__location-switcher--2 .watch-and-listen-header__location-tab:nth-child(2).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(100% + 2.5px));
          transform: translateX(calc(100% + 2.5px));
}

.watch-and-listen-header__location-switcher--3 .watch-and-listen-header__location-tab:nth-child(2).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(100% + 2.5px));
          transform: translateX(calc(100% + 2.5px));
}
.watch-and-listen-header__location-switcher--3 .watch-and-listen-header__location-tab:nth-child(3).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(200% + 5px));
          transform: translateX(calc(200% + 5px));
}

.watch-and-listen-header__location-switcher--4 .watch-and-listen-header__location-tab:nth-child(2).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(100% + 2.5px));
          transform: translateX(calc(100% + 2.5px));
}
.watch-and-listen-header__location-switcher--4 .watch-and-listen-header__location-tab:nth-child(3).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(200% + 5px));
          transform: translateX(calc(200% + 5px));
}
.watch-and-listen-header__location-switcher--4 .watch-and-listen-header__location-tab:nth-child(4).is-active ~ .watch-and-listen-header__location-indicator {
  -webkit-transform: translateX(calc(300% + 7.5px));
          transform: translateX(calc(300% + 7.5px));
}

.watch-and-listen-header__filters {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 15px;
}

.watch-and-listen-header__select {
  position: relative;
}
.watch-and-listen-header__select select {
  width: 100%;
  border: 1px solid transparent;
  background: rgb(from var(--theme-body-text-color) r g b/0.1);
  padding: 10px 55px 10px 20px;
  border-radius: 30px;
  font-size: 16px;
  font-weight: 700;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: var(--theme-body-text-color);
  position: relative;
  cursor: pointer;
}
.watch-and-listen-header__select:after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 21px;
  height: 20px;
  pointer-events: none;
  background-color: var(--theme-body-text-color);
  -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE1MDk2XzE3ODA0KSI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMV8xNTA5Nl8xNzgwNCkiPgo8cGF0aCBkPSJNMTkuOTg0NiA5Ljk5NjE0QzE5Ljk4NDYgMTUuNDk2NyAxNS40OTY3IDE5Ljk4NDYgOS45ODg0OCAxOS45ODQ2QzQuNDg3OTIgMTkuOTg0NiAwIDE1LjQ5NjcgMCA5Ljk5NjE0QzAgNC40ODc5MiA0LjQ4NzkyIDAgOS45ODg0OCAwQzE1LjQ5NjcgMCAxOS45ODQ2IDQuNDg3OTIgMTkuOTg0NiA5Ljk5NjE0Wk00Ljk5NDI1IDguMDA5MjJDNC43NDg3NSA4LjI3MDAzIDQuNzU2NDIgOC42Njg5NyA1LjAyNDkzIDguOTUyODNMOS4xMzY5MSAxMy4yNzE5QzkuNjgxNjUgMTMuODU1IDEwLjMxODQgMTMuODQ3MyAxMC44NzA3IDEzLjI3MTlMMTQuOTc1MSA4Ljk1MjgzQzE1LjI0MzYgOC42Njg5NyAxNS4yNTg5IDguMjYyMzcgMTUuMDA1OCA4LjAwOTIyQzE0LjcyOTYgNy43NDA2OCAxNC4zMDc2IDcuNzI1MzYgMTQuMDU0NSA4LjAwMTU2TDEwLjAwMzggMTIuMjU5M0w1Ljk0NTUzIDguMDAxNTZDNS42OTIzNiA3LjcyNTM2IDUuMjYyNzUgNy43MzMwMiA0Ljk5NDI1IDguMDA5MjJaIiBmaWxsPSJibGFjayIvPgo8L2c+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTUwOTZfMTc4MDQiPgo8cmVjdCB3aWR0aD0iMjAuMjE0OCIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPGNsaXBQYXRoIGlkPSJjbGlwMV8xNTA5Nl8xNzgwNCI+CjxyZWN0IHdpZHRoPSIyMC4yMTQ4IiBoZWlnaHQ9IjIwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
          mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzE1MDk2XzE3ODA0KSI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMV8xNTA5Nl8xNzgwNCkiPgo8cGF0aCBkPSJNMTkuOTg0NiA5Ljk5NjE0QzE5Ljk4NDYgMTUuNDk2NyAxNS40OTY3IDE5Ljk4NDYgOS45ODg0OCAxOS45ODQ2QzQuNDg3OTIgMTkuOTg0NiAwIDE1LjQ5NjcgMCA5Ljk5NjE0QzAgNC40ODc5MiA0LjQ4NzkyIDAgOS45ODg0OCAwQzE1LjQ5NjcgMCAxOS45ODQ2IDQuNDg3OTIgMTkuOTg0NiA5Ljk5NjE0Wk00Ljk5NDI1IDguMDA5MjJDNC43NDg3NSA4LjI3MDAzIDQuNzU2NDIgOC42Njg5NyA1LjAyNDkzIDguOTUyODNMOS4xMzY5MSAxMy4yNzE5QzkuNjgxNjUgMTMuODU1IDEwLjMxODQgMTMuODQ3MyAxMC44NzA3IDEzLjI3MTlMMTQuOTc1MSA4Ljk1MjgzQzE1LjI0MzYgOC42Njg5NyAxNS4yNTg5IDguMjYyMzcgMTUuMDA1OCA4LjAwOTIyQzE0LjcyOTYgNy43NDA2OCAxNC4zMDc2IDcuNzI1MzYgMTQuMDU0NSA4LjAwMTU2TDEwLjAwMzggMTIuMjU5M0w1Ljk0NTUzIDguMDAxNTZDNS42OTIzNiA3LjcyNTM2IDUuMjYyNzUgNy43MzMwMiA0Ljk5NDI1IDguMDA5MjJaIiBmaWxsPSJibGFjayIvPgo8L2c+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDBfMTUwOTZfMTc4MDQiPgo8cmVjdCB3aWR0aD0iMjAuMjE0OCIgaGVpZ2h0PSIyMCIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPGNsaXBQYXRoIGlkPSJjbGlwMV8xNTA5Nl8xNzgwNCI+CjxyZWN0IHdpZHRoPSIyMC4yMTQ4IiBoZWlnaHQ9IjIwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}

/*  ==========================================================================
    Watch And Listen Page Feature
    ========================================================================== */
.page-featured-articles .content-blocks .element:first-child.watch-and-listen-feature-item {
  padding-top: 0;
}

/*  ==========================================================================
    Watch And Listen Feature
    ========================================================================== */
.watch-and-listen-feature {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .watch-and-listen-feature {
    padding: var(--content-margin-small);
  }
}

.watch-and-listen-feature__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .watch-and-listen-feature__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .watch-and-listen-feature__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.watch-and-listen-feature__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px;
}
@media (min-width: 50em) {
  .watch-and-listen-feature__header {
    margin-bottom: 24px;
  }
}

.watch-and-listen-feature__title {
  margin: 0;
}
@media (min-width: 50em) {
  .watch-and-listen-feature__title {
    font-size: 42px;
  }
}

.watch-and-listen-feature__container {
  margin: 0 -20px;
}
.watch-and-listen-feature__container::-webkit-scrollbar {
  display: none;
}
@media (min-width: 50em) {
  .watch-and-listen-feature__container {
    margin: 0 -40px;
    padding-left: 20px;
  }
}
@media (min-width: 62.5em) {
  .watch-and-listen-feature__container {
    margin: 0 -20px;
    padding-left: 0;
  }
}
@media (max-width: 62.49em) {
  .watch-and-listen-feature__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.watch-and-listen-feature__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

/*  ==========================================================================
    Watch And Listen Feature Item
    ========================================================================== */
button.watch-and-listen-item {
  background-color: transparent;
  border: none;
  border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  cursor: pointer;
  color: var(--theme-body-text-color);
}

.watch-and-listen-item {
  width: 350px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  padding: 0 20px;
}
@media (min-width: 62.5em) {
  .watch-and-listen-item {
    width: 25%;
  }
}

.watch-and-listen-item:last-child {
  border-right: none;
}

.watch-and-listen-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  padding: 15px 0;
}

.watch-and-listen-item__category {
  font-size: 14px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  border-radius: 30px;
  line-height: 1;
}
.watch-and-listen-item__category .o-icon {
  width: 12px;
  height: 12px;
}

.watch-and-listen-item__prefix {
  margin: 0;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.03em;
  font-size: 16px;
}

.watch-and-listen-item__title {
  font-size: 20px;
  margin-bottom: 0;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .watch-and-listen-item__title {
    font-size: 20px;
  }
}

.watch-and-listen-item__description {
  font-size: 18px;
  margin: 0;
}

.watch-and-listen-item__media {
  overflow: hidden;
}

.watch-and-listen-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 60%;
  height: 0;
  overflow: hidden;
}

.watch-and-listen-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.watch-and-listen-item:hover .watch-and-listen-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.watch-and-listen-item--large:hover .watch-and-listen-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

/*  ==========================================================================
    Watch And Listen Feature Item - Large
    ========================================================================== */
.watch-and-listen-item--large {
  width: 100%;
  border-right: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 48px;
}
@media (max-width: 49.99em) {
  .watch-and-listen-item--large {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media (min-width: 50em) {
  .watch-and-listen-item--large {
    gap: 40px;
  }
}
.watch-and-listen-item--large .watch-and-listen-item__content {
  width: 100%;
  padding: 20px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 50em) {
  .watch-and-listen-item--large .watch-and-listen-item__content {
    width: calc(40% - 20px);
    border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  }
}
.watch-and-listen-item--large .watch-and-listen-item__media {
  width: 100%;
}
@media (min-width: 50em) {
  .watch-and-listen-item--large .watch-and-listen-item__media {
    width: calc(60% - 20px);
  }
}
.watch-and-listen-item--large .watch-and-listen-item__title {
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
}
@media (min-width: 50em) {
  .watch-and-listen-item--large .watch-and-listen-item__title {
    font-size: 28px;
    line-height: 1;
  }
}
@media (min-width: 62.5em) {
  .watch-and-listen-item--large .watch-and-listen-item__title {
    font-size: 42px;
  }
}
.watch-and-listen-item--large .watch-and-listen-item__prefix {
  font-weight: 700;
  font-size: 16px;
  display: block;
  margin-bottom: 5px;
}
@media (min-width: 50em) {
  .watch-and-listen-item--large .watch-and-listen-item__prefix {
    font-size: 24px;
  }
}

/*  ==========================================================================
    Watch And Listen Feature Item Block
    ========================================================================== */
.watch-and-listen-feature-item {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
}
@media (min-width: 50em) {
  .watch-and-listen-feature-item {
    padding: var(--content-margin-small);
  }
}
.watch-and-listen-feature-item .watch-and-listen-item--large {
  margin-bottom: 0;
}

.watch-and-listen-feature-item__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .watch-and-listen-feature-item__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .watch-and-listen-feature-item__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.watch-and-listen-feature-item__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 50em) {
  .watch-and-listen-feature-item__inner {
    gap: 48px;
  }
}

.watch-and-listen-feature-item__title {
  margin: 0;
}
@media (min-width: 50em) {
  .watch-and-listen-feature-item__title {
    font-size: 42px;
  }
}

/*  ==========================================================================
    Watch And Listen Scroller
    ========================================================================== */
.watch-and-listen-scroller {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .watch-and-listen-scroller {
    padding: var(--content-margin-small);
  }
}

.watch-and-listen-scroller--loading {
  padding: 0;
}
@media (min-width: 50em) {
  .watch-and-listen-scroller--loading {
    padding: 0;
  }
}

.watch-and-listen-scroller__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .watch-and-listen-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .watch-and-listen-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.watch-and-listen-scroller__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px;
}
@media (min-width: 50em) {
  .watch-and-listen-scroller__header {
    margin-bottom: 24px;
  }
}

.watch-and-listen-scroller__title {
  margin: 0;
}
@media (min-width: 50em) {
  .watch-and-listen-scroller__title {
    font-size: 42px;
  }
}

.watch-and-listen-scroller__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .watch-and-listen-scroller__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.watch-and-listen-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -20px;
  -webkit-overflow-scrolling: touch;
}

.watch-and-listen-scroller-item {
  width: 350px;
}
@media (min-width: 62.5em) {
  .watch-and-listen-scroller-item {
    width: 33.33%;
  }
}

.watch-and-listen-scroller__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.watch-and-listen-scroller__buttons:has(.watch-and-listen-scroller__cta) .watch-and-listen-scroller__navigation {
  border-right: 1px solid;
  padding-right: 15px;
  margin-right: 15px;
}

.watch-and-listen-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .watch-and-listen-scroller__navigation {
    display: none;
  }
}

.watch-and-listen-scroller__previous,
.watch-and-listen-scroller__next {
  background-color: transparent;
  color: var(--theme-body-text-color);
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .watch-and-listen-scroller__previous,
  .watch-and-listen-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.watch-and-listen-scroller__previous.swiper-button-disabled,
.watch-and-listen-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.watch-and-listen-scroller__previous .o-icon,
.watch-and-listen-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  color: var(--theme-body-text-color);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.watch-and-listen-scroller__previous:hover,
.watch-and-listen-scroller__next:hover {
  background-color: var(--theme-body-text-color);
  border-color: var(--theme-body-text-color);
}
.watch-and-listen-scroller__previous:hover .o-icon,
.watch-and-listen-scroller__next:hover .o-icon {
  color: var(--theme-body-text-color-inverse);
}
.watch-and-listen-scroller__previous:not(.swiper-button-disabled):hover .o-icon,
.watch-and-listen-scroller__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.watch-and-listen-scroller__previous {
  margin-right: 0;
}
.watch-and-listen-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.watch-and-listen-scroller__next {
  margin-right: 15px;
}
.watch-and-listen-scroller__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .watch-and-listen-scroller__next {
    margin-right: 0;
  }
}

/*  ==========================================================================
    Feature Grid
    ========================================================================== */
.feature-grid {
  position: relative;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .feature-grid {
    padding: 60px 0;
  }
}

.feature-grid:last-child {
  margin-bottom: 0;
}

.feature-grid__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .feature-grid__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .feature-grid__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.feature-grid__header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas: "title" "description" "actions";
  gap: 15px;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .feature-grid__header {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    grid-template-areas: "title actions" "description description";
  }
}
@media (min-width: 50em) {
  .feature-grid__header {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    grid-template-areas: "title actions" "description actions";
    margin-bottom: 30px;
  }
}

.feature-grid__title,
.feature-grid__actions {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.feature-grid__title {
  grid-area: title;
  margin-bottom: 0;
  margin-right: auto;
}

.feature-grid__description {
  grid-area: description;
  margin-bottom: 0;
  font-size: 18px;
  max-width: 800px;
  line-height: 1.3;
}
@media (min-width: 50em) {
  .feature-grid__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .feature-grid__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .feature-grid__description {
    font-size: 24px;
  }
}

.feature-grid__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  grid-area: actions;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .feature-grid__actions {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 0;
  }
}

.feature-grid__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .feature-grid__navigation {
    display: none;
  }
}

@media (min-width: 62.5em) {
  .feature-grid__custom-link {
    margin-bottom: -5px;
  }
}

.feature-grid__actions:has(.feature-grid__custom-link) .feature-grid__navigation {
  position: relative;
  padding-right: 15px;
  margin-right: 15px;
}
.feature-grid__actions:has(.feature-grid__custom-link) .feature-grid__navigation:after {
  height: 56px;
  width: 1px;
  background-color: #000;
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media (min-width: 62.5em) {
  .feature-grid__actions:has(.feature-grid__custom-link) .feature-grid__navigation:after {
    content: "";
  }
}

.feature-grid__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px 20px;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 42.5em) {
  .feature-grid__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 62.5em) {
  .feature-grid__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 20px;
  }
}

.feature-grid__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

/*  ==========================================================================
	Search Page
	========================================================================== */
.site-search {
  position: relative;
  z-index: 2;
}
.site-search .event-scroller {
  background: #E7F8FF;
  padding: 0 0 30px;
  margin: 0;
}
@media (min-width: 50em) {
  .site-search .event-scroller {
    padding: var(--content-margin-small);
    padding-top: 0;
    margin: 0;
  }
}

.site-search__header {
  background-color: #E7F8FF;
  padding-top: 20px;
  text-align: center;
}
@media (min-width: 32em) {
  .site-search__header {
    padding-top: 40px;
  }
}

.site-search__inner {
  width: 100%;
  max-width: 1360px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .site-search__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .site-search__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.site-search__inner {
  position: relative;
}

.site-search__title {
  font-weight: 600;
  margin-bottom: 20px;
}

.site-search__form {
  padding-bottom: 20px;
}

.search-form {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 450px;
  padding: 0 15px;
}

.search-form__input {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 0 80px 0 20px;
  border: none;
  height: auto;
  font-size: 16px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  border-radius: 30px/30px;
}
.search-autosuggest.is-active .search-form__input {
  border-radius: 30px 30px 0 0/30px;
}

.search-form__button {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 30px;
  background-color: transparent;
  border: none;
  z-index: 2;
  padding: 0;
}
.search-form__button .o-icon {
  width: 25px;
  height: 25px;
}

.site-search__nav {
  padding-bottom: 10px;
}
@media (min-width: 42.5em) {
  .site-search__nav {
    gap: 0 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.search-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 42.5em) {
  .search-nav {
    gap: 0 40px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.search-nav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  font-size: 16px;
  font-weight: 500;
  opacity: 0.8;
  text-decoration: none;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}
@media (min-width: 50em) {
  .search-nav__link {
    font-size: 18px;
  }
}
.search-nav__link:after {
  position: absolute;
  content: "";
  height: 4px;
  width: 100%;
  left: 0;
  bottom: -11px;
  background-color: #4d4d4d;
  opacity: 0;
  -webkit-transform: scaleY(0);
          transform: scaleY(0);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition: opacity 1s ease, -webkit-transform 0.4s ease;
  transition: opacity 1s ease, -webkit-transform 0.4s ease;
  transition: transform 0.4s ease, opacity 1s ease;
  transition: transform 0.4s ease, opacity 1s ease, -webkit-transform 0.4s ease;
}
@media (min-width: 42.5em) {
  .search-nav__link:after {
    bottom: -10px;
  }
}
.search-nav__link.search-nav__link--current, .search-nav__link:hover {
  opacity: 1;
}
.search-nav__link.search-nav__link--current:after, .search-nav__link:hover:after {
  opacity: 1;
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}

.search-nav__link--current {
  cursor: default;
}

.search-nav__link--disabled {
  pointer-events: none;
  cursor: default;
}

.search-nav__link-results {
  color: #000;
  font-size: 12px;
}

.site-search__totals {
  text-align: center;
  padding: 20px 0;
  font-size: 18px;
  background: #E7F8FF;
}

.site-search__results {
  width: 100%;
  max-width: 1000px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .site-search__results {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .site-search__results {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.site-search__results {
  position: relative;
  margin-top: 60px;
}
@media (min-width: 62.5em) {
  .site-search__results {
    margin-top: 80px;
  }
}

.search-result {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  margin: 20px 0;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.search-result:last-child {
  border-bottom: none;
}
@media (min-width: 42.5em) {
  .search-result {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 50em) {
  .search-result {
    margin: 40px 0;
    padding-bottom: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .search-result:hover, .search-result:focus {
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
  }
}

.search-result__type {
  margin: 0 0 5px;
  color: rgba(0, 0, 0, 0.6);
}

.search-result__title {
  margin-bottom: 0;
  line-height: 1.1;
}

.search-result__date {
  color: #334B26;
  margin-bottom: 0;
  text-transform: uppercase;
}

.search-result__description {
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.6);
}

.search-result__media {
  position: relative;
  margin-bottom: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 42.5em) {
  .search-result__media {
    margin-right: 20px;
    margin-bottom: 0;
  }
}

.search-result__image {
  width: 100%;
  height: 53vw;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media (min-width: 42.5em) {
  .search-result__image {
    width: 250px;
    height: 170px;
  }
}

.search-result__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

/* ==========================================================================
   Navigation: Pagination
   ========================================================================== */
.pagination {
  width: 100%;
  margin-bottom: 30px;
}

.pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 5px;
}

.pagination__link,
.pagination__current {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 40px;
  width: 40px;
  font-size: 18px;
}

.pagination__current {
  font-weight: 700;
}

@media (max-width: 31.99em) {
  .pagination__item--next,
  .pagination__item--prev {
    display: none;
  }
}
.pagination__item--next .o-icon,
.pagination__item--prev .o-icon {
  width: 20px;
  height: 20px;
}

.pagination__item--prev .pagination__link .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.pagination__item--disabled {
  opacity: 0.25;
  pointer-events: none;
  cursor: not-allowed;
}

/*  ==========================================================================
	Search Autosuggest
	========================================================================== */
.search-autosuggest {
  position: relative;
}

.search-autosuggest__results {
  background: #ffffff;
  position: absolute;
  left: 0;
  z-index: 999;
  width: 100%;
  border-radius: 0 0 3px 3px;
  overflow: hidden;
  -webkit-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  display: none;
  font-size: 0;
}
.search-form .search-autosuggest__results {
  width: calc(100% - 15px * 2);
  margin-left: 15px;
  margin-right: 15px;
}
.is-active .search-autosuggest__results {
  display: initial;
}

.search-autosuggest__list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0;
}

.search-autosuggest__link {
  padding: 15px 20px;
  display: block;
  font-size: 14px;
  text-decoration: none;
  text-align: left;
}
.is-selected .search-autosuggest__link {
  background-color: #F3F3F3;
}

/*  ==========================================================================
    Grouped Info Block
    ========================================================================== */
.grouped-info {
  margin: var(--content-margin-small);
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .grouped-info {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .grouped-info {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.grouped-info__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-top: 20px;
  border-top: 2px solid #000;
}
@media (min-width: 50em) {
  .grouped-info__inner {
    grid-template-columns: 280px 1fr;
    padding-top: 30px;
  }
}
@media (min-width: 59em) {
  .grouped-info__inner {
    grid-template-columns: 330px 1fr;
  }
}
@media (min-width: 72em) {
  .grouped-info__inner {
    grid-template-columns: 375px 1fr;
  }
}

@media (min-width: 50em) {
  .grouped-info__title {
    margin-bottom: 20px;
  }
}

.grouped-info__description p:last-child {
  margin-bottom: 0;
}
.grouped-info__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .grouped-info__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.grouped-info__description a:visited {
  color: inherit;
}
.grouped-info__description a:hover, .grouped-info__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (min-width: 62.5em) {
  .grouped-info__description {
    max-width: 300px;
  }
}

.grouped-info__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .grouped-info__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 50em) {
  .grouped-info__list {
    gap: 20px;
  }
  .grouped-info__list .grouped-info-item:nth-child(-n+2) {
    border-top: 0;
    padding-top: 0;
  }
}
@media (min-width: 80em) {
  .grouped-info__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
  }
  .grouped-info__list .grouped-info-item:nth-child(-n+3) {
    border-top: 0;
    padding-top: 0;
  }
}

.grouped-info-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding-top: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.grouped-info-item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.grouped-info-item__heading {
  margin-bottom: 0;
  font-size: 18px;
}
@media (min-width: 50em) {
  .grouped-info-item__heading {
    font-size: 20px;
  }
}
@media (min-width: 72em) {
  .grouped-info-item__heading {
    font-size: 24px;
  }
}

.grouped-info-item__subheading {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 0;
  line-height: 1.2;
}
@media (min-width: 50em) {
  .grouped-info-item__subheading {
    font-size: 16px;
  }
}

.grouped-info-item__description {
  font-size: 14px;
}
@media (min-width: 50em) {
  .grouped-info-item__description {
    font-size: 16px;
  }
}
.grouped-info-item__description p:last-child {
  margin-bottom: 0;
}
.grouped-info-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .grouped-info-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.grouped-info-item__description a:visited {
  color: inherit;
}
.grouped-info-item__description a:hover, .grouped-info-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}

/*  ==========================================================================
    Grouped Info Block - Half Width
    ========================================================================== */
@media (max-width: 31.99em) {
  .grouped-info--half .grouped-info__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/*  ==========================================================================
    Favorites Block
    ========================================================================== */
.favorites-block {
  color: #000;
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .favorites-block {
    padding: var(--content-margin-small);
  }
}

.favorites-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .favorites-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .favorites-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.favorites-block__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .favorites-block__header {
    margin-bottom: 25px;
  }
}

.favorites-block__title {
  margin: 0;
}
@media (min-width: 50em) {
  .favorites-block__title {
    font-size: 42px;
  }
}

.favorites-block__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .favorites-block__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.favorites-block__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.favorites-block__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.favorites-block__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
}
@media (max-width: 62.49em) {
  .favorites-block__navigation {
    display: none;
  }
}

.favorites-block__previous,
.favorites-block__next {
  background-color: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .favorites-block__previous,
  .favorites-block__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.favorites-block__previous.swiper-button-disabled,
.favorites-block__next.swiper-button-disabled {
  cursor: not-allowed;
}
.favorites-block__previous .o-icon,
.favorites-block__next .o-icon {
  width: 16px;
  height: 16px;
  color: #000;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.favorites-block__previous:hover,
.favorites-block__next:hover {
  background-color: #000;
  border-color: #000;
}
.favorites-block__previous:hover .o-icon,
.favorites-block__next:hover .o-icon {
  color: #fff;
}
.favorites-block__previous:not(.swiper-button-disabled):hover .o-icon,
.favorites-block__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.favorites-block__previous {
  margin-right: 0;
}
.favorites-block__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.favorites-block__next {
  margin-right: 15px;
}
.favorites-block__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .favorites-block__next {
    margin-right: 0;
  }
}

.favorites-block__btn {
  margin-top: 10px;
}

/*  ==========================================================================
    Favorotes Block - Item
    ========================================================================== */
.favorites-block__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 310px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid color-mix(in srgb, currentColor 40%, transparent);
}
.favorites-block__item:last-child {
  border-right: 0;
}
@media (min-width: 62.5em) {
  .favorites-block__item {
    width: calc(33.3% - 20px);
  }
}

/*  ==========================================================================
    Favorites Block - Artists
    ========================================================================== */
.favorites-block--artists {
  background-color: #F8F8F8;
}
@media (min-width: 72em) {
  .favorites-block--artists .favorites-block__item {
    width: calc(25% - 38px);
    padding-right: 25px;
    margin-right: 25px;
  }
}

/*  ==========================================================================
    Favorites Block - Empty
    ========================================================================== */
.favorites-block--empty p {
  font-size: var(--global-body-text);
}
.favorites-block--empty p:last-child {
  margin-bottom: 0;
}

/*  ==========================================================================
    Related People Scroller
    ========================================================================== */
.related-people-scroller {
  background-color: #000;
  color: #fff;
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .related-people-scroller {
    padding: var(--content-margin-small);
  }
}
.page--artist .content-blocks:has(+ .related-people-scroller) {
  margin-bottom: 0 !important;
}

.related-people-scroller__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .related-people-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .related-people-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.related-people-scroller__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .related-people-scroller__header {
    margin-bottom: 25px;
  }
}

.related-people-scroller__title {
  margin: 0;
}
@media (min-width: 50em) {
  .related-people-scroller__title {
    font-size: 42px;
  }
}

.related-people-scroller__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .related-people-scroller__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 -40px;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .related-people-scroller__container {
    margin: 0 -15px;
    padding-left: 15px;
  }
}

.related-people-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.related-people-scroller__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.related-people-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
}
@media (max-width: 62.49em) {
  .related-people-scroller__navigation {
    display: none;
  }
}

.related-people-scroller__previous,
.related-people-scroller__next {
  background-color: transparent;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .related-people-scroller__previous,
  .related-people-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.related-people-scroller__previous.swiper-button-disabled,
.related-people-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.related-people-scroller__previous .o-icon,
.related-people-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  color: #fff;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.related-people-scroller__previous:hover,
.related-people-scroller__next:hover {
  background-color: #fff;
  border-color: #fff;
}
.related-people-scroller__previous:hover .o-icon,
.related-people-scroller__next:hover .o-icon {
  color: #000;
}
.related-people-scroller__previous:not(.swiper-button-disabled):hover .o-icon,
.related-people-scroller__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.related-people-scroller__previous {
  margin-right: 0;
}
.related-people-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.related-people-scroller__next {
  margin-right: 15px;
}
.related-people-scroller__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .related-people-scroller__next {
    margin-right: 0;
  }
}

@media (min-width: 62.5em) {
  .related-people-scroller__navigation + .related-people-scroller__cta {
    height: 40px;
    padding-left: 15px;
    margin-left: 15px;
    border-left: 1px solid;
  }
}
.related-people-scroller__cta .o-icon {
  color: #fff;
}

/*  ==========================================================================
    Related People Scroller - Item
    ========================================================================== */
.related-people-scroller__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 310px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-right: 15px;
  padding-right: 15px;
  border-right: 1px solid color-mix(in srgb, #fff 40%, transparent);
}
.related-people-scroller__item:last-child {
  border-right: 0;
}
@media (min-width: 62.5em) {
  .related-people-scroller__item {
    width: calc(33.3% - 20px);
  }
}
@media (min-width: 72em) {
  .related-people-scroller__item {
    width: calc(25% - 38px);
    padding-right: 25px;
    margin-right: 25px;
  }
}

.related-people-item__link {
  display: block;
  width: 100%;
}

.related-people-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.related-people-item:last-child {
  border-right: none;
}

.related-people-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5px;
  padding: 15px 0;
}

.related-people-item__title {
  line-height: 1.3;
  margin-bottom: 0;
}

.related-people-item__other-positions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.related-people-item__other-position {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .related-people-item__other-position {
    font-size: 16px;
  }
}
.related-people-item__other-position:not(:last-child) {
  position: relative;
  margin-right: 10px;
  padding-right: 10px;
}
.related-people-item__other-position:not(:last-child):before {
  position: absolute;
  content: "";
  height: 21px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  top: 0;
  bottom: 0;
  right: -1px;
  margin: auto;
}

.related-people-item__media {
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.2);
}
.related-people-item__media .o-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 50%;
  color: #000;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}

.related-people-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 83.3333333333%;
  height: 0;
  overflow: hidden;
}

.related-people-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.related-people-item:hover .related-people-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.related-people-item__footer {
  border-top: 1px solid color-mix(in srgb, currentColor 40%, transparent);
  padding-top: 15px;
  margin-top: auto;
}

/*  ==========================================================================
    Image
    ========================================================================== */
.image-block {
  margin: var(--content-margin-small);
}

.image-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .image-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .image-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.image-block__media {
  position: relative;
}

.image-block__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 0;
}

.image-block__intrinsic-ratio {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}

.image-block__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
}

.image-block__figcaption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: end;
      align-self: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  text-align: right;
  text-wrap: pretty;
  margin-top: 15px;
  max-width: 800px;
  gap: 5px;
}

.image-block__caption {
  line-height: 1.2;
  max-width: 600px;
  font-size: 16px;
}
@media (min-width: 50em) {
  .image-block__caption {
    font-size: 18px;
  }
}

.image-block__credit {
  font-size: 14px;
}
@media (min-width: 50em) {
  .image-block__credit {
    font-size: 16px;
  }
}

/*  ==========================================================================
    Image - Full Width
    ========================================================================== */
@media (min-width: 72em) {
  .image-block--full .image-block__inner, .image-block--parallax .image-block__inner {
    padding: 0;
    max-width: none;
  }
  .image-block--full .image-block__figcaption, .image-block--parallax .image-block__figcaption {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 72em) and (min-width: 50em) {
  .image-block--full .image-block__figcaption, .image-block--parallax .image-block__figcaption {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 72em) and (min-width: 100em) {
  .image-block--full .image-block__figcaption, .image-block--parallax .image-block__figcaption {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.image-block--full .image-block__full-image, .image-block--parallax .image-block__full-image {
  height: 0;
  background-size: cover;
  background-position: center;
  padding-bottom: 56.25%;
}
@media (min-width: 72em) {
  .image-block--full .image-block__full-image, .image-block--parallax .image-block__full-image {
    padding-bottom: 33.3333333333%;
  }
}
@media (min-width: 106em) {
  .image-block--full .image-block__full-image, .image-block--parallax .image-block__full-image {
    padding-bottom: 50%;
  }
}

/*  ==========================================================================
    Image - Parallax
    ========================================================================== */
@media (min-width: 72em) {
  .image-block--parallax .image-block__full-image {
    background-attachment: fixed;
  }
}

/*  ==========================================================================
    Image - Left + Right Align
    ========================================================================== */
.content-blocks:has(.text-content + .image-block--left) > *:not(.event-sticky),
.content-blocks:has(.text-content + .image-block--right) > *:not(.event-sticky) {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media (min-width: 50em) {
  .content-blocks:has(.text-content + .image-block--left) > *:not(.event-sticky),
  .content-blocks:has(.text-content + .image-block--right) > *:not(.event-sticky) {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--left),
  .content-blocks:has(.text-content + .image-block--right) {
    --padding: 40px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 60px 0;
    gap: 60px var(--padding);
  }
  .content-blocks:has(.text-content + .image-block--left) > *:not(.event-sticky),
  .content-blocks:has(.text-content + .image-block--right) > *:not(.event-sticky) {
    margin: 0;
    width: 100%;
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--left,
  .content-blocks:has(.text-content + .image-block--left) .image-block--right,
  .content-blocks:has(.text-content + .image-block--left) .text-content:has(+ .image-block--left),
  .content-blocks:has(.text-content + .image-block--left) .text-content:has(+ .image-block--right),
  .content-blocks:has(.text-content + .image-block--right) .image-block--left,
  .content-blocks:has(.text-content + .image-block--right) .image-block--right,
  .content-blocks:has(.text-content + .image-block--right) .text-content:has(+ .image-block--left),
  .content-blocks:has(.text-content + .image-block--right) .text-content:has(+ .image-block--right) {
    width: calc(50% - var(--padding) / 2);
    max-width: calc(720px - var(--padding) / 2);
    margin: 0;
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--right .image-block__inner,
  .content-blocks:has(.text-content + .image-block--right) .image-block--right .image-block__inner {
    padding-left: 0;
  }
  .content-blocks:has(.text-content + .image-block--left) .text-content:has(+ .image-block--right) .text-content__inner,
  .content-blocks:has(.text-content + .image-block--right) .text-content:has(+ .image-block--right) .text-content__inner {
    padding-right: 0;
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--left .image-block__intrinsic-ratio,
  .content-blocks:has(.text-content + .image-block--left) .image-block--right .image-block__intrinsic-ratio,
  .content-blocks:has(.text-content + .image-block--right) .image-block--left .image-block__intrinsic-ratio,
  .content-blocks:has(.text-content + .image-block--right) .image-block--right .image-block__intrinsic-ratio {
    padding-bottom: 100%;
  }
}
@media (min-width: 72em) {
  .content-blocks:has(.text-content + .image-block--left),
  .content-blocks:has(.text-content + .image-block--right) {
    gap: 100px var(--padding);
    margin: 100px 0;
  }
}
@media (min-width: 80em) {
  .content-blocks:has(.text-content + .image-block--left),
  .content-blocks:has(.text-content + .image-block--right) {
    --padding: 80px;
  }
}

@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--left) .text-content:has(+ .image-block--left) {
    translate: calc(100% + var(--padding));
  }
  .content-blocks:has(.text-content + .image-block--left) .text-content:has(+ .image-block--left) .text-content__inner {
    padding-left: 0;
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--left {
    translate: calc(-100% - var(--padding));
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--left .image-block__figcaption {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-item-align: start;
        align-self: flex-start;
    text-align: left;
  }
  .content-blocks:has(.text-content + .image-block--left) .image-block--left .image-block__inner {
    padding-right: 0;
  }
}

/*  ==========================================================================
    Image - Portrait
    ========================================================================== */
.image-block--portrait .image-block__inner {
  max-width: 1000px;
}
.image-block--portrait .image-block__image {
  position: unset;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
@media (min-width: 30em) {
  .image-block--portrait .image-block__figcaption {
    margin-inline: auto;
    text-align: center;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .image-block--portrait .image-block__image {
    max-width: initial;
  }
}

@media (min-width: 62.5em) {
  .image-block--portrait.image-block--center .image-block__image {
    max-width: 600px;
  }
}

@media (min-width: 62.5em) {
  .image-block--portrait.image-block--left .image-block__image,
  .image-block--portrait.image-block--left .image-block__figcaption {
    margin-left: 0;
    text-align: left;
  }
}

@media (min-width: 62.5em) {
  .image-block--portrait.image-block--right .image-block__image,
  .image-block--portrait.image-block--right .image-block__figcaption {
    margin-right: 0;
    text-align: right;
  }
}

/*  ==========================================================================
    Image - Video
    ========================================================================== */
.image-block__video {
  position: relative;
  overflow: hidden;
}
.image-block__video .video-container {
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.image-block__video .video-container.is-loaded {
  opacity: 1;
}
.image-block__video .video-container iframe,
.image-block__video .video-container video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border: 0;
}
.image-block__video .page-header__play-pause {
  -webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}

.image-block--full .image-block__video--full, .image-block--parallax .image-block__video--full {
  height: 0;
  padding-bottom: 56.25%;
}
@media (min-width: 72em) {
  .image-block--full .image-block__video--full, .image-block--parallax .image-block__video--full {
    padding-bottom: 33.3333333333%;
  }
}
@media (min-width: 106em) {
  .image-block--full .image-block__video--full, .image-block--parallax .image-block__video--full {
    padding-bottom: 50%;
  }
}

.image-block--portrait .image-block__video--portrait {
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

/*  ==========================================================================
    Image - 30% and 70% width
    ========================================================================== */
@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--30) .image-block--30 {
    width: calc(30% - var(--padding) * 0.3);
    max-width: calc(432px - var(--padding) * 0.3);
    margin: 0;
  }
  .content-blocks:has(.text-content + .image-block--30) .text-content:has(+ .image-block--30) {
    width: calc(70% - var(--padding) * 0.7);
    max-width: calc(1008px - var(--padding) * 0.7);
    margin: 0;
  }
}

@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--70) .image-block--70 {
    width: calc(70% - var(--padding) * 0.7);
    max-width: calc(1008px - var(--padding) * 0.7);
    margin: 0;
  }
  .content-blocks:has(.text-content + .image-block--70) .text-content:has(+ .image-block--70) {
    width: calc(30% - var(--padding) * 0.3);
    max-width: calc(432px - var(--padding) * 0.3);
    margin: 0;
  }
}

@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--left.image-block--30) .image-block--left.image-block--30 {
    translate: calc(-233.3333333333% - var(--padding));
  }
  .content-blocks:has(.text-content + .image-block--left.image-block--30) .text-content:has(+ .image-block--left.image-block--30) {
    translate: calc(42.8571428571% + var(--padding));
  }
}

@media (min-width: 62.5em) {
  .content-blocks:has(.text-content + .image-block--left.image-block--70) .image-block--left.image-block--70 {
    translate: calc(-42.8571428571% - var(--padding));
  }
  .content-blocks:has(.text-content + .image-block--left.image-block--70) .text-content:has(+ .image-block--left.image-block--70) {
    translate: calc(233.3333333333% + var(--padding));
  }
}

/*  ==========================================================================
    Text Content Block
    ========================================================================== */
.text-content {
  position: relative;
  margin: var(--content-margin-small);
}
.text-content:first-child {
  margin-top: 40px;
}
@media (min-width: 59em) {
  .text-content:first-child {
    margin-top: 60px;
  }
}
.text-content:last-child:not(.element:last-child) {
  margin-bottom: 0;
  padding-bottom: 0;
}
.text-content[class*=theme-] {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: var(--content-margin);
  margin: 0;
}
.text-content[class*=theme-]:first-child {
  padding-top: 40px;
}
@media (min-width: 59em) {
  .text-content[class*=theme-]:first-child {
    padding-top: 60px;
  }
}
.text-content[class*=theme-] .text-content__cta {
  background-color: var(--theme-body-text-color);
  border-color: var(--theme-body-text-color);
  color: var(--theme-body-text-color-inverse);
}
@media (hover: hover) and (pointer: fine) {
  .text-content[class*=theme-] .text-content__cta:hover {
    background-color: transparent;
    border-color: var(--theme-body-text-color);
    color: var(--theme-body-text-color);
  }
}
.text-content img {
  max-width: 100%;
  height: auto;
  display: block;
}
.text-content table p {
  text-align: left;
}

.artist-bio:has(+ .content-blocks .text-content:first-child) {
  margin-bottom: var(--global-body-text);
}

.artist-bio:has(+ .content-blocks .text-content--more-only:first-child) {
  margin-bottom: 0;
}

.artist-bio + .content-blocks .text-content:first-child {
  margin-top: 0;
}

.text-content__inner {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .text-content__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .text-content__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.text-content__inner--left {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .text-content__inner--left {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .text-content__inner--left {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.text-content__inner--left .text-content__body {
  max-width: 880px;
}

.text-content__toggle,
.text-content__cta {
  margin: var(--global-body-text) 0 0;
}

.text-content__toggle {
  color: #000;
  border: 0;
  padding: 0;
}
.text-content__toggle .o-icon {
  rotate: 90deg;
  -webkit-transition: rotate 0.4s ease;
  transition: rotate 0.4s ease;
}
.text-content__toggle:hover .o-icon {
  -webkit-transform: none;
          transform: none;
}
.text-content__toggle.is-toggled .o-icon {
  rotate: 270deg;
}

.text-content__more {
  margin: var(--global-body-text) 0 0;
  display: none;
}
.text-content__more.is-toggled {
  display: block;
}

.text-content__cta {
  background-color: #000;
  border-color: #000;
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .text-content__cta:hover {
    background-color: transparent;
    border-color: #000;
    color: #000;
  }
}

.text-content__title {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .text-content__title {
    margin-bottom: 30px;
  }
}

/*  ==========================================================================
    Text Content Block - Multi-Layout
    ========================================================================== */
.text-content__col--right {
  margin-top: var(--global-body-text);
}

@media (min-width: 50em) {
  .text-content--50-50 .text-content__inner,
  .text-content--70-30 .text-content__inner,
  .text-content--30-70 .text-content__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .text-content--50-50 .text-content__inner,
  .text-content--70-30 .text-content__inner,
  .text-content--30-70 .text-content__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .text-content--50-50 .text-content__inner,
  .text-content--70-30 .text-content__inner,
  .text-content--30-70 .text-content__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .text-content--50-50 .text-content__columns,
  .text-content--70-30 .text-content__columns,
  .text-content--30-70 .text-content__columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 30px;
  }
  .text-content--50-50 .text-content__col--left,
  .text-content--50-50 .text-content__col--right {
    width: 50%;
  }
  .text-content--70-30 .text-content__col--left {
    width: 70%;
  }
  .text-content--70-30 .text-content__col--right {
    width: 30%;
  }
  .text-content--30-70 .text-content__col--left {
    width: 30%;
  }
  .text-content--30-70 .text-content__col--right {
    width: 70%;
  }
  .text-content__col--right {
    margin-top: 0;
  }
}
@media (min-width: 62.5em) {
  .text-content--50-50 .text-content__columns,
  .text-content--70-30 .text-content__columns,
  .text-content--30-70 .text-content__columns {
    gap: 60px;
  }
}
/*  ==========================================================================
    Artist Header
    ========================================================================== */
.artist-header {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .artist-header {
    padding: 30px 0;
  }
}
@media (min-width: 62.5em) {
  .artist-header {
    padding: 40px 0;
  }
}

.artist-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 20px;
}
@media (min-width: 50em) {
  .artist-header__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
  .artist-header__inner > * {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media (min-width: 50em) {
  .artist-header__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .artist-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .artist-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.artist-header__media {
  width: 100%;
  position: relative;
}

.artist-header__intrinsic-ratio {
  position: relative;
  padding-bottom: 75%;
  height: 0;
}

.artist-header__image {
  position: absolute;
  right: 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.artist-header__figcaption {
  font-size: 16px;
  padding-top: 10px;
  width: 100%;
}
@media (max-width: 49.99em) {
  .artist-header__figcaption {
    position: absolute;
    bottom: 0;
    padding: 30px 15px 15px;
    font-weight: 700;
    color: #fff;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.4)));
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.4));
  }
}

.artist-header__body {
  padding: 0 15px;
}
@media (min-width: 50em) {
  .artist-header__body {
    padding: 0;
  }
}

.artist-header__title {
  font-size: 42px;
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .artist-header__title {
    font-size: 32px;
  }
}
@media (min-width: 62.5em) {
  .artist-header__title {
    font-size: 42px;
  }
}
@media (min-width: 72em) {
  .artist-header__title {
    font-size: 64px;
    margin-bottom: 25px;
  }
}

.artist-header__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.artist-header__role {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 5px;
  line-height: 1.1;
}
@media (min-width: 50em) {
  .artist-header__role {
    margin-bottom: 10px;
  }
}
@media (min-width: 62.5em) {
  .artist-header__role {
    font-size: 26px;
  }
}
@media (min-width: 72em) {
  .artist-header__role {
    font-size: 32px;
  }
}

.artist-header__other-positions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.artist-header__other-position {
  font-weight: 700;
  font-size: 18px;
}
@media (min-width: 50em) {
  .artist-header__other-position {
    font-size: 20px;
  }
}
.artist-header__other-position:not(:last-child) {
  position: relative;
  margin-right: 15px;
  padding-right: 15px;
}
.artist-header__other-position:not(:last-child):before {
  position: absolute;
  content: "";
  height: 17px;
  width: 1px;
  border-left: 1px solid rgba(0, 0, 0, 0.3);
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}

.artist-header__chair, .artist-header__member {
  font-size: 18px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .artist-header__chair, .artist-header__member {
    font-size: 20px;
  }
}

.artist-header__footer {
  position: relative;
  margin-top: 15px;
}
.artist-header__footer:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
}
.artist-header__footer .favorite-artist__button {
  margin-top: 20px;
}
@media (min-width: 50em) {
  .artist-header__footer .favorite-artist__button {
    margin-top: 25px;
  }
}
@media (min-width: 62.5em) {
  .artist-header__footer .favorite-artist__button {
    margin-top: 30px;
  }
}
@media (min-width: 50em) {
  .artist-header__footer {
    margin-top: 20px;
  }
}
@media (min-width: 62.5em) {
  .artist-header__footer {
    margin-top: 30px;
  }
}

.artist-header__breadcrumbs {
  margin-bottom: 15px;
}
@media (min-width: 50em) {
  .artist-header__breadcrumbs {
    margin-bottom: 20px;
  }
}
@media (min-width: 62.5em) {
  .artist-header__breadcrumbs {
    margin-bottom: 40px;
  }
}

/*  ==========================================================================
    Artist Header - Animation
    ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
  .artist-header__breadcrumbs,
  .artist-header__title,
  .artist-header__role,
  .artist-header__other-positions,
  .artist-header__chair,
  .artist-header__member {
    opacity: 0;
    -webkit-animation: fade-in 500ms ease-in-out 750ms;
            animation: fade-in 500ms ease-in-out 750ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
  .artist-header__media {
    opacity: 0;
    -webkit-animation: fade-in 500ms ease-in-out 500ms;
            animation: fade-in 500ms ease-in-out 500ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
  .artist-header__footer {
    overflow: hidden;
  }
  .artist-header__footer .favorite-artist__button {
    opacity: 0;
    -webkit-animation: fade-in 500ms ease-in-out 1000ms;
            animation: fade-in 500ms ease-in-out 1000ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
  .artist-header__footer:after {
    width: 0;
    -webkit-animation: width-grow 750ms ease-in-out 500ms;
            animation: width-grow 750ms ease-in-out 500ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
  }
}
/*  ==========================================================================
    Breadcrumb
    ========================================================================== */
.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-weight: 700;
  font-size: 16px;
}
.breadcrumb .o-icon {
  width: 15px;
  height: 15px;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media (min-width: 50em) {
  .breadcrumb {
    font-size: 18px;
  }
  .breadcrumb .o-icon {
    width: 18px;
    height: 18px;
  }
}
.breadcrumb:hover .o-icon {
  -webkit-transform: translateX(-5px);
          transform: translateX(-5px);
}

/*  ==========================================================================
	Calendar
	========================================================================== */
.package-list {
  position: relative;
  padding: 30px 0;
}

.package-list__inner {
  width: 100%;
  position: relative;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .package-list__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .package-list__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.package-list__header {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (min-width: 62.5em) {
  .package-list__header {
    margin-bottom: 30px;
    max-width: calc(100% - 450px);
  }
}

@media (max-width: 49.99em) {
  .package-list__title {
    font-size: 34px;
    margin: 0;
  }
}

@media (max-width: 62.49em) {
  .package-list__sort {
    display: none;
  }
}

@media (min-width: 62.5em) {
  .package-list__sort-label {
    font-size: 20px;
    font-weight: 700;
  }
}

.package-list__sort #sort-by {
  border: 1px solid transparent;
  background: #fff;
  padding: 10px 30px 10px 15px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 700;
  border: 2px solid #000;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMTIuMDA0MSAxOC4zMDc3QzEyLjI0MzIgMTguMzA3NyAxMi40NDExIDE4LjIxNyAxMi42MDYgMTguMDQzOUwyMC43NjA5IDkuNTY3NDVDMjAuOTE3NSA5LjQxMDc5IDIxIDkuMjEyOSAyMSA4Ljk4MjAyQzIxIDguNTIwMjcgMjAuNjUzNyA4LjE1NzQ3IDIwLjE4MzcgOC4xNTc0N0MxOS45NjExIDguMTU3NDcgMTkuNzU0OSA4LjI0ODE3IDE5LjYwNjUgOC4zOTY1OUwxMi4wMDQxIDE2LjI5NThMNC40MDk5OCA4LjM5NjU5QzQuMjYxNTIgOC4yNDgxNyA0LjA2MzY2IDguMTU3NDcgMy44MzI4MSA4LjE1NzQ3QzMuMzYyNzkgOC4xNTc0NyAzLjAwODIzIDguNTIwMjcgMy4wMDgyMyA4Ljk4MjAyQzMuMDA4MjMgOS4yMTI5IDMuMDk4OTMgOS40MTA3OSAzLjI0NzMyIDkuNTY3NDVMMTEuNDAyMiAxOC4wNDM5QzExLjU3NTQgMTguMjE3IDExLjc3MzIgMTguMzA3NyAxMi4wMDQxIDE4LjMwNzdaIiAvPgo8L3N2Zz4K);
  background-position: calc(100% - 10px) 9px;
  background-repeat: no-repeat;
  background-size: 18px;
  margin-left: 15px;
}

@media (min-width: 62.5em) {
  .package-list__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 60px;
  }
}

.package-list__main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 62.5em) {
  .package-list__main {
    max-width: calc(100% - 450px);
  }
}

@media (max-width: 62.49em) {
  .package-list__sidebar {
    display: none;
  }
}
@media (min-width: 62.5em) {
  .package-list__sidebar {
    -ms-flex-item-align: start;
        align-self: flex-start;
    position: sticky;
    top: 0;
    background-color: transparent;
    height: auto;
    width: 450px;
    max-height: calc(100vh - var(--global-header-height, 0px));
    overflow: hidden auto;
  }
}

.package-list__filters {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  position: fixed;
  bottom: 20px;
  left: 20px;
  border-radius: 30px;
  color: #fff;
  background-color: #000;
  padding: 10px 15px;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 15px;
  font-weight: 700;
}
.package-list__filters .o-icon {
  width: 24px;
  height: 24px;
  margin-top: -1px;
}
@media (min-width: 62.5em) {
  .package-list__filters {
    display: none;
  }
}

.package-list__item:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 25px;
}

/*  ==========================================================================
	Package Item
	========================================================================== */
.package-item {
  padding-bottom: 25px;
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto auto;
  grid-template-areas: "image" "body";
}
@media (min-width: 50em) {
  .package-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2);
    margin-bottom: 25px;
  }
}
@media (min-width: 72em) {
  .package-item {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto;
    grid-template-areas: "image body";
  }
}

.package-item__media {
  width: 100%;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media (min-width: 72em) {
  .package-item__media {
    width: 360px;
    padding-right: 15px;
    margin-right: 15px;
  }
}

.package-item__intrinsic-ratio {
  position: relative;
  height: 0;
  padding-bottom: 55.5555555556%;
  overflow: hidden;
}

.package-item__image {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.package-item__caption {
  font-style: italic;
  font-size: 14px;
  margin-top: 5px;
}

.package-item__title a {
  font-weight: bold;
}
@media (max-width: 49.99em) {
  .package-item__title {
    font-size: 24px;
  }
}

.package-item__description {
  font-size: 18px;
}
@media (max-width: 49.99em) {
  .package-item__description {
    margin-bottom: 5px;
  }
}

.package-item__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.package-item__meta:has(.package-item__price-from) .package-item__quantity {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  padding-right: 15px;
  margin-right: 15px;
}

.package-item__quantity {
  font-weight: 700;
}
@media (max-width: 49.99em) {
  .package-item__quantity {
    margin: 0;
  }
}
@media (min-width: 62.5em) {
  .package-item__quantity {
    font-size: 18px;
  }
}

.package-item__price-from {
  font-weight: 700;
}
@media (max-width: 49.99em) {
  .package-item__price-from {
    margin: 0;
  }
}
@media (min-width: 62.5em) {
  .package-item__price-from {
    font-size: 18px;
  }
}

.package-item__events {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 15px;
  margin-top: 15px;
}
.package-item__events summary {
  cursor: pointer;
  list-style: none;
}
.package-item__events summary::marker {
  content: "";
}
.package-item__events summary::-webkit-details-marker {
  display: none;
}
.package-item__events .package-item__hide-events {
  display: none;
}

.package-item__show-events, .package-item__hide-events {
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .package-item__show-events, .package-item__hide-events {
    font-size: 18px;
  }
}
.package-item__show-events .o-icon, .package-item__hide-events .o-icon {
  width: 20px;
  height: 20px;
  margin-left: 5px;
  margin-top: -3px;
}

.package-item__show-events .o-icon {
  rotate: 45deg;
}

.package-item__events[open] .package-item__show-events {
  display: none;
}
.package-item__events[open] .package-item__hide-events {
  display: initial;
}

.package-item__event-list {
  list-style: none;
  margin: 0;
  padding: 20px 0 0;
}

.package-item__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 15px;
  margin-top: 15px;
}
@media (min-width: 62.5em) {
  .package-item__actions {
    gap: 10px;
  }
}

.package-item__event-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.package-item__event-item:last-child {
  border: none;
}

.package-item-event__date {
  text-transform: uppercase;
  margin: 0 0 5px;
}
@media (min-width: 62.5em) {
  .package-item-event__date {
    font-size: 16px;
  }
}

.package-item-event__title {
  font-weight: 700;
  margin: 0;
}
@media (min-width: 62.5em) {
  .package-item-event__title {
    font-size: 20px;
  }
}

/*  ==========================================================================
	Three Column Links Block
	========================================================================== */
.program-block {
  padding: 30px 0;
}
@media (min-width: 50em) {
  .program-block {
    padding: var(--content-margin-small);
  }
}

.program-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .program-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .program-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.program-block__title {
  margin-bottom: 0;
}
@media (max-width: 58.99em) {
  .program-block__title {
    font-size: 36px;
  }
}

.program-block__intro {
  font-size: 16px;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .program-block__intro {
    font-size: 18px;
  }
}
.program-block__intro p:last-child {
  margin-bottom: 0;
}

.program-block__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-top: 15px;
  border-top: 2px solid #000;
}
@media (min-width: 59em) {
  .program-block__body {
    padding-top: 30px;
  }
}
@media (min-width: 62.5em) {
  .program-block__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
    padding-top: 40px;
  }
}

.program-block__content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media (max-width: 62.49em) {
  .program-block__content {
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 10px;
  }
}
@media (min-width: 62.5em) {
  .program-block__content {
    width: 30%;
  }
}

.program-block__duration {
  font-weight: 700;
}

.program-block__list {
  width: 100%;
}
@media (min-width: 62.5em) {
  .program-block__list {
    width: 70%;
  }
}

/*  ==========================================================================
	Program Section
	========================================================================== */
.program-section {
  margin-bottom: 50px;
}
.program-section:last-child {
  margin-bottom: 0;
}

.program-section__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  border-bottom: 1px solid;
  margin-bottom: 25px;
  padding-bottom: 10px;
}
@media (min-width: 50em) {
  .program-section__header {
    font-size: 20px;
  }
}

/*  ==========================================================================
	Program Item
	========================================================================== */
.program-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  padding-bottom: 15px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 15px;
}
@media (min-width: 42.5em) {
  .program-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
  }
}

.program-item__header {
  width: 100%;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
}
@media (min-width: 42.5em) {
  .program-item__header {
    width: calc(30% - 20px);
    margin-top: 4px;
  }
}
@media (min-width: 62.5em) {
  .program-item__header {
    width: calc(26% - 20px);
  }
}

@media (min-width: 42.5em) {
  .program-item__header--indent {
    margin-left: 30%;
  }
}

.program-item__body {
  width: 100%;
}
@media (min-width: 42.5em) {
  .program-item__body {
    width: calc(55% - 20px);
  }
}

.program-item__duration {
  width: 100%;
}
@media (min-width: 42.5em) {
  .program-item__duration {
    width: 15%;
    text-align: right;
  }
}

.program-item__intro a {
  font-weight: 700;
  color: #093F6C;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.program-item__intro a:hover {
  color: #051A3A;
}

.program-item__header-tag {
  font-weight: 400;
}

.program-item__composer,
.program-item__arranger {
  font-weight: 700;
}

.program-item__arranger-wrapper {
  display: block;
  font-size: 16px;
}

.program-item__composer--link,
.program-item__arranger--link {
  color: #093F6C;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.program-item__composer--link p,
.program-item__arranger--link p {
  margin-bottom: 0;
}
.program-item__composer--link:hover,
.program-item__arranger--link:hover {
  color: #051A3A;
}

.program-item__piece {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
@media (min-width: 62.5em) {
  .program-item__piece {
    font-size: 18px;
  }
}

.program-item__title--link {
  color: #093F6C;
  font-weight: 700;
}

.program-item__audio {
  margin-bottom: 0;
}

.program-item__audio-button {
  cursor: pointer;
  border: none;
  background-color: transparent;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: #093F6C;
  font-size: 16px;
  text-align: left;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.program-item__audio-button .o-icon {
  width: 24px;
  height: 24px;
}
.program-item__audio-button p {
  margin: 0;
}
@media (min-width: 50em) {
  .program-item__audio-button {
    font-size: 18px;
  }
}
.program-item__audio-button:hover {
  color: #051A3A;
}

.program-item__duration {
  margin-left: auto;
  font-weight: 700;
}

.program-item__underwriting {
  margin: 15px 0 20px;
}
.program-item__underwriting h3, .program-item__underwriting h4 {
  margin: 0;
  font-weight: 700;
}
.program-item__underwriting p {
  margin: 0 0 5px;
  line-height: 1.3;
  padding-left: 15px;
}
.program-item__underwriting a {
  color: #093F6C;
  font-weight: 700;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.program-item__underwriting a:hover {
  color: #051A3A;
}

.program-item__artists {
  color: #484848;
  font-size: 14px;
  margin-top: 15px;
}
.program-item__artists a {
  color: #093F6C;
  font-weight: 700;
  font-size: 16px;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.program-item__artists a:hover {
  color: #051A3A;
}
.program-item__artists p {
  margin-bottom: 4px;
}

/*  ==========================================================================
	Three Column Links Block
	========================================================================== */
.three-column-links {
  position: relative;
  padding: 30px 0;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .three-column-links {
    padding: var(--content-margin-small);
  }
}

.three-column-links__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .three-column-links__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .three-column-links__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.three-column-links__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 50em) {
  .three-column-links__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px;
  }
}
@media (min-width: 62.5em) {
  .three-column-links__inner {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
@media (min-width: 72em) {
  .three-column-links__inner {
    gap: 50px;
  }
}

/*  ==========================================================================
	Three Column Links - Content
	========================================================================== */
.three-column-links__content {
  width: 100%;
  border-top: 2px solid;
  padding-top: 15px;
}
@media (min-width: 62.5em) {
  .three-column-links__content {
    width: 33.33%;
    padding-top: 25px;
  }
}

@media (max-width: 49.99em) {
  .three-column-links__title {
    font-size: 34px;
  }
}

.three-column-links__description p {
  margin: 0;
}
@media (min-width: 50em) {
  .three-column-links__description p {
    font-size: 18px;
  }
}

/*  ==========================================================================
	Three Column Links - Links
	========================================================================== */
.three-column-links__links {
  width: 100%;
  border-top: 2px solid;
  padding-top: 15px;
}
@media (min-width: 50em) {
  .three-column-links__links {
    width: calc(50% - 20px);
  }
}
@media (min-width: 62.5em) {
  .three-column-links__links {
    width: 33.33%;
  }
}

.three-column-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 25px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 2px solid;
  margin-bottom: 15px;
  padding-bottom: 15px;
}
@media (max-width: 49.99em) {
  .three-column-link:last-child {
    margin-bottom: 0;
    border-bottom: none;
  }
}
.three-column-link:hover .three-column-link__icon .o-icon {
  -webkit-transform: translateX(5px);
          transform: translateX(5px);
}

.three-column-link__title {
  font-size: 24px;
}

.three-column-link__description p {
  margin: 0;
}

.three-column-link__icon .o-icon {
  width: 25px;
  height: 25px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

/*  ==========================================================================
	Three Column Links - Image
	========================================================================== */
.three-column-links__image-wrapper {
  width: 100%;
}
@media (min-width: 50em) {
  .three-column-links__image-wrapper {
    width: calc(50% - 20px);
  }
}
@media (min-width: 62.5em) {
  .three-column-links__image-wrapper {
    width: 33.33%;
  }
}

.three-column-links__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.three-column-links__intrinsic-ratio {
  position: relative;
  padding-bottom: 80%;
  height: 0;
}

.three-column-links__image {
  height: 100%;
  width: 100%;
  position: absolute;
  right: 0;
  top: 0;
}

/* ==========================================================================
    Newsletter Signup Block
    ========================================================================== */
.newsletter-signup {
  margin: 30px 0;
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .newsletter-signup {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .newsletter-signup {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .newsletter-signup {
    margin: var(--content-margin-small);
    margin-left: auto;
    margin-right: auto;
  }
}
.newsletter-signup.theme-white input[type=email].newsletter-signup__input {
  border: 1px solid rgba(0, 0, 0, 0.15);
}
.newsletter-signup.theme-black-90 .newsletter-signup__btn {
  background-color: rgba(255, 255, 255, 0.9);
  color: #000;
}

.newsletter-signup__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding: 25px 15px;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .newsletter-signup__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    padding: 25px;
  }
  .newsletter-signup__inner > * {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.newsletter-signup__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.newsletter-signup__title {
  margin-bottom: 0;
}

.newsletter-signup__description {
  margin-bottom: 15px;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .newsletter-signup__description {
    font-size: 18px;
  }
}
@media (min-width: 62.5em) {
  .newsletter-signup__description {
    font-size: 20px;
  }
}

input[type=email].newsletter-signup__input {
  border-radius: 3px 0 0 3px;
  border: none;
  padding: 15px 10px;
  width: calc(100% - 100px);
  font-weight: 700;
  font-size: 18px;
}
input[type=email].newsletter-signup__input::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
input[type=email].newsletter-signup__input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
input[type=email].newsletter-signup__input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
input[type=email].newsletter-signup__input::-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.3);
}
input[type=email].newsletter-signup__input::placeholder {
  color: rgba(0, 0, 0, 0.3);
}

.newsletter-signup__btn {
  width: 100px;
  border: none;
  background-color: #000;
  color: #fff;
  border-radius: 0 3px 3px 0;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
}

.newsletter-signup__message {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 14px;
}
.newsletter-signup__message--has-message {
  margin-top: 10px;
}

/*  ==========================================================================
    Watch & Listen Categories Block
    ========================================================================== */
.watch-and-listen-categories {
  position: relative;
  margin: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .watch-and-listen-categories {
    margin: var(--content-margin-small);
  }
}

@media (min-width: 62.5em) {
  .watch-and-listen-categories__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .watch-and-listen-categories__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .watch-and-listen-categories__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.watch-and-listen-categories__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 25px;
}
@media (max-width: 62.49em) {
  .watch-and-listen-categories__header {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .watch-and-listen-categories__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .watch-and-listen-categories__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.watch-and-listen-categories__title {
  margin-bottom: 0;
}

.watch-and-listen-categories__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.watch-and-listen-categories__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}

.watch-and-listen-categories__previous,
.watch-and-listen-categories__next {
  background-color: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
}
@media (min-width: 62.5em) {
  .watch-and-listen-categories__previous,
  .watch-and-listen-categories__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.watch-and-listen-categories__previous.swiper-button-disabled,
.watch-and-listen-categories__next.swiper-button-disabled {
  cursor: not-allowed;
}
.watch-and-listen-categories__previous .o-icon,
.watch-and-listen-categories__next .o-icon {
  width: 16px;
  height: 16px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.watch-and-listen-categories__previous:not(.swiper-button-disabled):hover .o-icon,
.watch-and-listen-categories__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.watch-and-listen-categories__previous {
  margin-right: 0;
}
.watch-and-listen-categories__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.watch-and-listen-categories__next {
  margin-right: 15px;
}
.watch-and-listen-categories__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .watch-and-listen-categories__next {
    margin-right: 0;
  }
}

.watch-and-listen-categories__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .watch-and-listen-categories__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 15px;
  }
}

.watch-and-listen-categories__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.watch-and-listen-categories__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 300px;
  margin-right: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: relative;
}
.watch-and-listen-categories__item:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.watch-and-listen-categories__item:hover:after {
  background: rgba(0, 0, 0, 0.4);
}
@media (min-width: 62.5em) {
  .watch-and-listen-categories__item {
    width: calc(25% - 15px * 3 / 4);
  }
  .watch-and-listen-categories__item:last-child {
    padding-right: 0;
  }
}

.watch-and-listen-categories__label {
  position: absolute;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-weight: 700;
  z-index: 2;
  font-size: 20px;
}
@media (min-width: 80em) {
  .watch-and-listen-categories__label {
    font-size: 24px;
  }
}

.watch-and-listen-categories__media {
  width: 100%;
  margin: 0;
  z-index: 0;
  overflow: hidden;
}

.watch-and-listen-categories__intrinsic-ratio {
  position: relative;
  padding-bottom: 44.4444444444%;
  height: 0;
}

.watch-and-listen-categories__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.2s ease-in;
  transition: -webkit-transform 0.2s ease-in;
  transition: transform 0.2s ease-in;
  transition: transform 0.2s ease-in, -webkit-transform 0.2s ease-in;
}
.watch-and-listen-categories__item:hover .watch-and-listen-categories__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.membership-levels-benefits {
  --col-size: 30vw;
  position: relative;
  margin: var(--content-margin-small);
}
@media (min-width: 32em) {
  .membership-levels-benefits {
    --col-size: 24vw;
  }
}
@media (min-width: 42.5em) {
  .membership-levels-benefits {
    --col-size: 18vw;
  }
}
@media (min-width: 50em) {
  .membership-levels-benefits {
    --col-size: 12vw;
  }
}
@media (min-width: 80em) {
  .membership-levels-benefits {
    --col-size: 140px;
  }
}

.membership-levels-benefits__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .membership-levels-benefits__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .membership-levels-benefits__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.membership-levels-benefits__inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.membership-levels-benefits__header {
  background-color: #C1E8F9;
  padding-top: 60px;
  padding-bottom: 60px;
  margin-bottom: 20px;
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__header {
    margin-bottom: 30px;
  }
}
.membership-levels-benefits__header .membership-levels-benefits__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__header .membership-levels-benefits__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 60px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.membership-levels-benefits__media {
  width: 100%;
  position: relative;
  overflow: hidden;
  margin-bottom: 30px;
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__media {
    width: 50%;
    margin-bottom: 0px;
  }
}

.membership-levels-benefits__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
}
@media (min-width: 50em) {
  .membership-levels-benefits__intrinsic-ratio {
    padding-bottom: 50%;
  }
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__intrinsic-ratio {
    padding-bottom: 66.6666666667%;
  }
}

.membership-levels-benefits__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.membership-levels-benefits__info {
  width: 100%;
}
@media (min-width: 50em) {
  .membership-levels-benefits__info {
    max-width: 650px;
    margin: 0 auto;
  }
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__info {
    width: 50%;
    max-width: auto;
    margin: 0;
    padding: 40px 0;
  }
}

.membership-levels-benefits__title {
  margin-bottom: 20px;
}
@media (max-width: 49.99em) {
  .membership-levels-benefits__title {
    font-size: 32px;
    margin-bottom: 15px;
  }
}

.membership-levels-benefits__description {
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 1.4;
}
@media (min-width: 72em) {
  .membership-levels-benefits__description {
    font-size: 24px;
  }
}

.membership-levels-benefits__table {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 80em) {
  .membership-levels-benefits__table {
    margin-left: 0;
    margin-right: 0;
  }
}

.membership-levels-benefits__row:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
@media (min-width: 80em) {
  .membership-levels-benefits__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .membership-levels-benefits__row:nth-child(even) {
    background-color: #F8F8F8;
  }
}

.membership-levels-benefits__row--header {
  background-color: #fff;
  position: sticky;
  top: 0;
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__row--header {
    padding-bottom: 15px;
  }
}
.membership-levels-benefits__row--header.is-stuck {
  -webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 0 rgba(0, 0, 0, 0.05);
}

.membership-levels-benefits__left-column {
  width: 100%;
}
@media (min-width: 80em) {
  .membership-levels-benefits__left-column {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.membership-levels-benefits__tab-list {
  --tab-count: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  margin-bottom: 15px;
  gap: 2.5px;
}
@media (min-width: 80em) {
  .membership-levels-benefits__tab-list {
    -ms-flex-item-align: start;
        align-self: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: 5px;
    margin-bottom: 20px;
  }
}
.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(2)) {
  --tab-count: 2;
}
.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(3)) {
  --tab-count: 3;
}
.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(4)) {
  --tab-count: 4;
}
.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(5)) {
  --tab-count: 5;
}
.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(6)) {
  --tab-count: 6;
}

.membership-levels-benefits__tab-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  z-index: 2;
}
.membership-levels-benefits__tab-item:has(input:checked) {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.membership-levels-benefits__tab-item:has(input:focus) {
  -webkit-box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
          box-shadow: 0 0 0 3px #000, 0 0 0 5px yellow;
}

.membership-levels-benefits__level-tag {
  font-size: 20px;
  margin: 15px;
  display: none;
}
@media (min-width: 80em) {
  .membership-levels-benefits__level-tag {
    display: block;
  }
}

.membership-levels-benefits__tab-radio {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.membership-levels-benefits__tab-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  background-color: transparent;
  -webkit-box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.025);
          box-shadow: inset 0 -2px 3px rgba(0, 0, 0, 0.025);
  gap: 2.5px;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
  cursor: pointer;
  width: 100%;
}
.membership-levels-benefits__tab-label strong {
  font-size: 14px;
  line-height: 1;
}
.membership-levels-benefits__tab-label span {
  font-size: 12px;
  line-height: 1;
}
@media (min-width: 80em) {
  .membership-levels-benefits__tab-label {
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 10px 30px;
    border-radius: 30px;
  }
  .membership-levels-benefits__tab-label strong {
    font-size: 16px;
  }
  .membership-levels-benefits__tab-label span {
    font-size: 14px;
  }
}
.membership-levels-benefits__tab-item:has(input:checked) .membership-levels-benefits__tab-label {
  background-color: transparent;
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #fff;
}

.membership-levels-benefits__tab-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: calc((100% - (var(--tab-count) - 1) * 2.5px) / var(--tab-count));
  height: 100%;
  background-color: #083F6C;
  border-radius: 30px;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: 1;
}
@media (min-width: 80em) {
  .membership-levels-benefits__tab-indicator {
    top: 5px;
    left: 5px;
    width: calc((100% - 10px - (var(--tab-count) - 1) * 2.5px) / var(--tab-count));
    height: calc(100% - 10px);
  }
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(1) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(0 * (100% + 2.5px)));
          transform: translateX(calc(0 * (100% + 2.5px)));
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(2) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(1 * (100% + 2.5px)));
          transform: translateX(calc(1 * (100% + 2.5px)));
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(3) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(2 * (100% + 2.5px)));
          transform: translateX(calc(2 * (100% + 2.5px)));
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(4) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(3 * (100% + 2.5px)));
          transform: translateX(calc(3 * (100% + 2.5px)));
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(5) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(4 * (100% + 2.5px)));
          transform: translateX(calc(4 * (100% + 2.5px)));
}

.membership-levels-benefits__tab-list:has(.membership-levels-benefits__tab-item:nth-child(6) input:checked) .membership-levels-benefits__tab-indicator {
  -webkit-transform: translateX(calc(5 * (100% + 2.5px)));
          transform: translateX(calc(5 * (100% + 2.5px)));
}

.membership-levels-benefits__right-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.membership-levels-benefits__scroll {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.membership-levels-benefits__scroll::-webkit-scrollbar {
  display: none;
}

.membership-levels-benefits__level-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

.membership-levels-benefits__level-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 var(--col-size);
          flex: 1 1 var(--col-size);
  min-width: var(--col-size);
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  font-weight: 700;
}
.membership-levels-benefits__level-item .o-icon {
  width: 16px;
  height: 16px;
}

.membership-levels-benefits__select-level {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  font: inherit;
  height: auto;
  line-height: normal;
  overflow: visible;
  padding: 0;
  margin: 0;
  width: auto;
  color: inherit;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0;
  border-top: 1px solid #F4F4F4;
  border-bottom: 1px solid #F4F4F4;
  border-left: 1px solid #F4F4F4;
  gap: 2.5px;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
  cursor: pointer;
}
.membership-levels-benefits__select-level strong {
  font-size: 16px;
  line-height: 1;
}
.membership-levels-benefits__select-level span {
  font-size: 14px;
  line-height: 1;
}
@media (min-width: 80em) {
  .membership-levels-benefits__select-level {
    padding: 20px 15px;
  }
}
.membership-levels-benefits__level-item:first-child .membership-levels-benefits__select-level {
  border-left: none;
}
@media (min-width: 80em) {
  .membership-levels-benefits__level-item:first-child .membership-levels-benefits__select-level {
    border-left: 1px solid #F4F4F4;
  }
}
@media (min-width: 80em) {
  .membership-levels-benefits__level-item:last-child .membership-levels-benefits__select-level {
    border-right: 1px solid #F4F4F4;
  }
}
.membership-levels-benefits__level-item--selected .membership-levels-benefits__select-level {
  border-color: #083F6C;
  background-color: #083F6C;
  color: #fff;
}

.membership-levels-benefits__benefit {
  background-color: #F8F8F8;
  padding: 15px 20px;
}
@media (min-width: 80em) {
  .membership-levels-benefits__benefit {
    padding: 20px;
    background-color: transparent;
  }
}

.membership-levels-benefits__benefit p {
  margin-bottom: 0;
}

.membership-levels-benefits__button {
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.membership-levels-benefits__button .o-icon {
  width: 24px;
  height: 24px;
  color: #083F6C;
}

.membership-levels-benefits__popup {
  width: calc(100% - 30px);
  max-width: 800px;
  border: none;
  padding: 40px;
}
.membership-levels-benefits__popup::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
.membership-levels-benefits__popup::backdrop {
  background-color: rgba(0, 0, 0, 0.4);
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__popup p {
    font-size: 18px;
  }
}
.membership-levels-benefits__popup .o-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 30px;
  height: 30px;
}

.membership-levels-benefits__popup-close {
  border: none;
  background-color: transparent;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
}
.membership-levels-benefits__popup-close .o-icon {
  width: 30px;
  height: 30px;
}

.membership-levels-benefits__row--benefit .membership-levels-benefits__level-list {
  height: 100%;
}
.membership-levels-benefits__row--benefit .membership-levels-benefits__level-item {
  padding: 12px 5px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}
.membership-levels-benefits__row--benefit .membership-levels-benefits__level-item--selected {
  background-color: #E7F7FF;
}
.membership-levels-benefits__row--benefit .membership-levels-benefits__left-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 40px;
}
@media (max-width: 79.99em) {
  .membership-levels-benefits__row--benefit .membership-levels-benefits__left-column {
    background-color: #F8F8F8;
    padding-right: 15px;
  }
}

.membership-levels-benefits__details {
  max-width: 920px;
  margin-top: 20px;
}
@media (max-width: 79.99em) {
  .membership-levels-benefits__details {
    margin-top: 30px;
  }
}

.membership-levels-benefits__form {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px;
}
@media (min-width: 42.5em) {
  .membership-levels-benefits__form {
    bottom: 20px;
    margin-left: 0;
    margin-right: 0;
  }
}

.membership-levels-benefits__form-inner {
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: 30px;
  backdrop-filter: blur(20px);
  -webkit-box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
          box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  padding: 15px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  pointer-events: all;
}
@media (max-width: 42.49em) {
  .membership-levels-benefits__form-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px;
  }
}
@media (min-width: 42.5em) {
  .membership-levels-benefits__form-inner {
    width: auto;
    border-radius: 40px;
  }
}

@media (min-width: 62.5em) {
  .membership-levels-benefits__prompt {
    font-size: 18px;
  }
}

.membership-levels-benefits__text {
  border: none;
  background: transparent;
  color: #fff;
  width: 55px;
  field-sizing: content;
  font-weight: bold;
}
.membership-levels-benefits__text:focus-visible {
  outline: none;
}

input[type=number].membership-levels-benefits__text {
  font-size: 18px;
}

.membership-levels-benefits__field {
  font-weight: 700;
  margin-left: 5px;
  font-size: 18px;
}
.membership-levels-benefits__field input::-webkit-outer-spin-button,
.membership-levels-benefits__field input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.membership-levels-benefits__field input[type=number] {
  -moz-appearance: textfield;
}

.membership-levels-benefits__submit {
  background-color: #fff;
  color: #000;
  padding: 10px 40px 10px 15px;
  border: 1px solid #fff;
  border-radius: 30px;
  font-weight: 700;
  line-height: 1;
  position: relative;
  font-size: 16px;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  cursor: pointer;
}
.membership-levels-benefits__submit .o-icon {
  position: absolute;
  right: 10px;
  width: 20px;
  height: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.membership-levels-benefits__submit:hover {
  background: transparent;
  color: #fff;
}

.membership-levels-benefits__benefit {
  font-weight: 700;
}
@media (min-width: 62.5em) {
  .membership-levels-benefits__benefit {
    font-size: 18px;
  }
}

/*  ==========================================================================
    Visit Panel
    ========================================================================== */
.visit-panel {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
}
@media (min-width: 50em) {
  .visit-panel {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .visit-panel {
    padding: 60px 0;
  }
}

.visit-panel__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .visit-panel__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .visit-panel__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.visit-panel__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 62.5em) {
  .visit-panel__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.visit-panel__header {
  padding-top: 20px;
  border-top: 2px solid;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (min-width: 72em) {
  .visit-panel__header {
    padding-top: 30px;
  }
}

.visit-panel__prefix {
  font-size: 24px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .visit-panel__prefix {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .visit-panel__prefix {
    font-size: 22px;
  }
}
@media (min-width: 80em) {
  .visit-panel__prefix {
    font-size: 28px;
  }
}

.visit-panel__title {
  font-size: 34px;
  margin-bottom: 15px;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .visit-panel__title {
    font-size: 36px;
  }
}
@media (min-width: 62.5em) {
  .visit-panel__title {
    font-size: 28px;
  }
}
@media (min-width: 80em) {
  .visit-panel__title {
    font-size: 48px;
  }
}

.visit-panel__address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 18px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .visit-panel__address {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .visit-panel__address {
    font-size: 18px;
  }
}
@media (min-width: 72em) {
  .visit-panel__address {
    font-size: 24px;
  }
}

.visit-panel__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 10px 15px;
  margin: 0;
  padding: 15px 0;
  list-style: none;
  border: solid;
  border-width: 2px 0 2px 0;
}
@media (min-width: 62.5em) {
  .visit-panel__links {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 400px;
    gap: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media (min-width: 72em) {
  .visit-panel__links {
    padding: 20px 0;
  }
}

.visit-panel__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  .visit-panel__link:hover .visit-panel__icon,
  .visit-panel__link:hover .visit-panel__icon-image {
    scale: 1.1;
  }
}
.visit-panel__link:not(:last-child) {
  position: relative;
}
@media (min-width: 50em) {
  .visit-panel__link {
    font-size: 18px;
  }
}
@media (min-width: 62.5em) {
  .visit-panel__link {
    padding: 10px 0;
  }
}

.visit-panel__icon {
  position: relative;
  height: 18px;
  width: 18px;
  -webkit-transition: scale 0.4s ease;
  transition: scale 0.4s ease;
}
@media (min-width: 50em) {
  .visit-panel__icon {
    height: 20px;
    width: 20px;
  }
}
.visit-panel__icon .o-icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.visit-panel__icon-image {
  height: 18px;
  width: auto;
  -webkit-transition: scale 0.4s ease;
  transition: scale 0.4s ease;
}
@media (min-width: 50em) {
  .visit-panel__icon-image {
    height: 20px;
  }
}

.visit-panel__media {
  position: relative;
  width: 100%;
}

.visit-panel__intrinsic-ratio {
  position: relative;
  padding-bottom: 50%;
  height: 0;
}
@media (min-width: 62.5em) {
  .visit-panel__intrinsic-ratio {
    padding-bottom: 41.6666666667%;
  }
}

.visit-panel__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
}

.visit-panel__divider {
  width: 1px;
  height: 30px;
  background-color: var(--theme-body-text-color);
  opacity: 0.2;
}

/*  ==========================================================================
    Visit Panel - Image
    ========================================================================== */
.visit-panel--image .visit-panel__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 62.5em) {
  .visit-panel--image .visit-panel__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .visit-panel--image .visit-panel__inner .visit-panel__media {
    width: 55%;
  }
  .visit-panel--image .visit-panel__inner .visit-panel__body {
    width: 45%;
  }
}
@media (min-width: 72em) {
  .visit-panel--image .visit-panel__inner {
    gap: 40px;
  }
  .visit-panel--image .visit-panel__inner .visit-panel__media {
    width: 60%;
  }
  .visit-panel--image .visit-panel__inner .visit-panel__body {
    width: 40%;
  }
}
.visit-panel--image .visit-panel__body {
  gap: 30px;
}
@media (min-width: 62.5em) {
  .visit-panel--image .visit-panel__body {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.visit-panel--image .visit-panel__links {
  width: unset;
}
@media (min-width: 62.5em) {
  .visit-panel--image .visit-panel__links {
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 10px 15px;
  }
}
.visit-panel--image .visit-panel__link {
  padding-top: 0;
  padding-bottom: 0;
  border: none;
}

.visit-panel__guest-note {
  margin-top: -10px;
}
@media (min-width: 62.5em) {
  .visit-panel__guest-note {
    font-size: 18px;
  }
}

/*  ==========================================================================
    Page Header
    ========================================================================== */
.page-header {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--theme-color);
  -webkit-box-shadow: 0 0 0 100vmax var(--theme-color);
          box-shadow: 0 0 0 100vmax var(--theme-color);
  clip-path: inset(0 -100vmax);
  padding: 20px 0;
}

.page-header__media {
  position: relative;
  isolation: isolate;
}

.page-header__figure {
  position: relative;
  margin-bottom: 0;
  z-index: -1;
}

.page-header__intrinsic-ratio {
  position: relative;
  padding-bottom: 150%;
  height: 0;
}
@media (min-width: 62.5em) {
  .page-header__intrinsic-ratio {
    padding-bottom: 41.6666666667%;
  }
}

.page-header__image {
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: opacity 0.3s ease-in-out 0.2s;
  transition: opacity 0.3s ease-in-out 0.2s;
}

.page-header__image--auto-height {
  position: relative;
}

.page-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  gap: 20px;
  color: var(--theme-body-text-color);
  z-index: 2;
}
@media (min-width: 50em) {
  .page-header__content {
    gap: 30px;
  }
}
.page-header__content:not(:has(.page-header__footer)) .page-header__body {
  padding-bottom: 30px;
  border-bottom: 2px solid var(--theme-body-text-color);
}

.page-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

.page-header__breadcrumbs .o-icon {
  color: currentColor;
}

.page-header__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.page-header__title {
  margin-bottom: 0;
  text-wrap: balance;
  font-size: 42px;
}
@media (min-width: 50em) {
  .page-header__title {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .page-header__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .page-header__title {
    font-size: 68px;
  }
}

.page-header__title-logo .o-icon {
  width: 200px;
  height: 61px;
}
@media (min-width: 50em) {
  .page-header__title-logo .o-icon {
    width: 292px;
    height: 89.5px;
  }
}
@media (min-width: 62.5em) {
  .page-header__title-logo .o-icon {
    width: 384px;
    height: 118px;
  }
}

.page-header__prefix {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .page-header__prefix {
    font-size: 22px;
  }
}
@media (min-width: 62.5em) {
  .page-header__prefix {
    font-size: 24px;
  }
}
@media (min-width: 72em) {
  .page-header__prefix {
    font-size: 28px;
  }
}

.page-header__prefix-logo {
  padding-bottom: 5px;
}
.page-header__prefix-logo .o-icon {
  width: 76px;
  height: 20px;
}
@media (min-width: 50em) {
  .page-header__prefix-logo .o-icon {
    width: 91.5px;
    height: 24px;
  }
}
@media (min-width: 62.5em) {
  .page-header__prefix-logo .o-icon {
    width: 107px;
    height: 28px;
  }
}

.page-header__description {
  font-size: 16px;
  margin-bottom: 0;
  max-width: 800px;
}
.page-header__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .page-header__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.page-header__description a:visited {
  color: inherit;
}
.page-header__description a:hover, .page-header__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (min-width: 50em) {
  .page-header__description {
    font-size: 18px;
    text-wrap: pretty;
  }
}
@media (min-width: 62.5em) {
  .page-header__description {
    font-size: 20px;
  }
}

.page-header__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 20px;
  border-top: 2px solid;
}
.page-header__footer.page-header__cta--pill {
  gap: 10px 15px;
}
.page-header__footer.page-header__cta--pill .o-icon {
  display: none;
}
.page-header__footer.page-header__cta--text {
  gap: 20px;
}
.page-header__footer.page-header__cta--text .page-header__cta--primary .o-icon,
.page-header__footer.page-header__cta--text .page-header__cta--secondary .o-icon {
  color: inherit;
}
@media (min-width: 50em) {
  .page-header__footer {
    padding-top: 30px;
  }
  .page-header__footer.page-header__cta--text {
    gap: 30px;
  }
}

.page-header__play-pause {
  position: absolute;
  bottom: 15px;
  right: 15px;
  border: 3px solid;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.2s ease-in-out 3.5s;
  transition: 0.2s ease-in-out 3.5s;
  z-index: 3;
}
.is-loaded .page-header__play-pause {
  opacity: 1;
  visibility: visible;
}
.page-header__play-pause .o-icon {
  width: 15px;
  height: 15px;
}
.page-header__play-pause .o-icon--play {
  margin-left: 2px;
}

/*  ==========================================================================
    Page Header - Video
    ========================================================================== */
.page-header--video.is-loaded .page-header__image {
  opacity: 0;
}

.page-header__media--video {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: -1;
}
.page-header__media--video .video-container {
  opacity: 0;
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
.page-header__media--video .video-container.is-loaded {
  opacity: 1;
}
.page-header__media--video .video-container iframe,
.page-header__media--video .video-container video {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 0;
  height: 100%;
  width: auto;
  aspect-ratio: 16/9;
  max-width: none;
}
@media (min-width: 50em) {
  .page-header__media--video .video-container iframe,
  .page-header__media--video .video-container video {
    width: 100%;
    height: auto;
  }
}
.page-header__media--video .video-container video {
  aspect-ratio: initial;
}
.page-header--half .page-header__media--video .video-container iframe,
.page-header--half .page-header__media--video .video-container video {
  width: auto;
  height: 100%;
}
@media (min-width: 62.5em) {
  .page-header--half .page-header__media--video .video-container iframe,
  .page-header--half .page-header__media--video .video-container video {
    width: 120%;
    height: auto;
  }
}

/*  ==========================================================================
    Page Header - Half Width
    ========================================================================== */
.page-header--half {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding: 0;
}
.page-header--half .page-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.page-header--half .page-header__intrinsic-ratio {
  padding-bottom: 66.6666666667%;
}
.page-header--half .video-container--youtube,
.page-header--half .video-container--vimeo iframe {
  width: 120%;
}
.page-header--half .page-header__content {
  padding: 20px 15px;
}
@media (min-width: 50em) {
  .page-header--half .page-header__content {
    padding: 40px;
  }
}
@media (min-width: 62.5em) {
  .page-header--half {
    padding: 40px 0;
  }
  .page-header--half .page-header__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 30px;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .page-header--half .page-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .page-header--half .page-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 62.5em) {
  .page-header--half .page-header__inner > * {
    width: 100%;
  }
  .page-header--half .page-header__content {
    padding: 0;
    gap: 15px;
  }
  .page-header--half .page-header__title {
    font-size: 32px;
  }
  .page-header--half .page-header__title-logo .o-icon {
    width: 292px;
    height: 89.5px;
  }
  .page-header--half .page-header__prefix {
    font-size: 20px;
  }
  .page-header--half .page-header__prefix-logo .o-icon {
    width: 91.5px;
    height: 24px;
  }
  .page-header--half .page-header__description {
    font-size: 18px;
  }
  .page-header--half .page-header__footer {
    padding-top: 15px;
  }
  .page-header--half .page-header__cta--text {
    font-size: 20px;
  }
}
@media (min-width: 72em) {
  .page-header--half .page-header__title {
    font-size: 42px;
  }
  .page-header--half .page-header__prefix {
    font-size: 24px;
  }
}
@media (min-width: 80em) {
  .page-header--half {
    padding: 60px 0;
  }
  .page-header--half .page-header__inner {
    gap: 0 40px;
  }
  .page-header--half .page-header__content {
    gap: 30px;
  }
  .page-header--half .page-header__title {
    font-size: 64px;
  }
  .page-header--half .page-header__title-logo .o-icon {
    width: 384px;
    height: 118px;
  }
  .page-header--half .page-header__prefix {
    font-size: 28px;
  }
  .page-header--half .page-header__prefix-logo .o-icon {
    width: 107px;
    height: 28px;
  }
  .page-header--half .page-header__description {
    font-size: 20px;
  }
  .page-header--half .page-header__cta--text {
    font-size: 24px;
  }
  .page-header--half .page-header__footer {
    padding-top: 30px;
  }
}
@media (min-width: 100em) {
  .page-header--half .page-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*  ==========================================================================
    Page Header - Full Width
    ========================================================================== */
.page-header--full {
  padding: 20px 0;
}
.page-header--full .page-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .page-header--full .page-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .page-header--full .page-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media (min-width: 50em) {
  .page-header--full {
    padding: 60px 0;
  }
}
@media (min-width: 62.5em) {
  .page-header--full {
    padding: 80px 0;
  }
}
@media (min-width: 72em) {
  .page-header--full {
    padding: 150px 0;
  }
}
.page-header--full .page-header__media {
  position: absolute;
  inset: 0;
}
.page-header--full .page-header__media:before {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, left bottom, left top, from(black), to(transparent));
  background: linear-gradient(to top, black, transparent);
  height: 100%;
  width: 100%;
  z-index: 3;
}
.page-header--full .page-header__figure {
  width: 100%;
  height: 100%;
}
.page-header--full .page-header__intrinsic-ratio {
  position: relative;
  padding: 0;
  height: 100%;
}
.page-header--full .page-header__image {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-header--full .video-container--youtube,
.page-header--full .video-container--vimeo iframe {
  aspect-ratio: 9/16;
}
@media (min-width: 50em) {
  .page-header--full .video-container--youtube,
  .page-header--full .video-container--vimeo iframe {
    aspect-ratio: 16/9;
  }
}
@media (max-width: 49.99em) {
  .page-header--full .page-header__play-pause {
    top: 15px;
    bottom: unset;
  }
}
.page-header--full .page-header__inner {
  inset: 0;
  margin: auto;
}
.page-header--full .page-header__content {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 50em) {
  .page-header--full .page-header__content {
    height: 100%;
  }
}
@media (min-width: 72em) {
  .page-header--full .page-header__content {
    width: 50%;
  }
}

/*  ==========================================================================
    Page Header - Image
    ========================================================================== */
.page-header--image.page-header--full .page-header__content {
  color: #fff;
}
.page-header--image.page-header--full .page-header__content .page-header__body {
  border-color: #fff;
}
.page-header--image.page-header--full .page-header__inner {
  min-height: 500px;
}
@media (min-width: 50em) {
  .page-header--image.page-header--full .page-header__inner {
    min-height: auto;
  }
}

/*  ==========================================================================
    Page Header - No Image
    ========================================================================== */
.page-header--no-image {
  padding: 40px 0;
}
@media (min-width: 50em) {
  .page-header--no-image {
    padding: 60px 0;
  }
}
@media (min-width: 62.5em) {
  .page-header--no-image {
    padding: 80px 0;
  }
}
.page-header--no-image .page-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .page-header--no-image .page-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .page-header--no-image .page-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.page-header--no-image .page-header__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.page-header--no-image.page-header--narrow .page-header__inner {
  width: 100%;
  max-width: 920px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .page-header--no-image.page-header--narrow .page-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .page-header--no-image.page-header--narrow .page-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*  ==========================================================================
    Sponsors
    ========================================================================== */
.sponsors-block {
  position: relative;
  padding: var(--content-margin);
  background-color: #F3F3F3;
}

.sponsors-block--white {
  background-color: #fff;
}

.sponsors-block__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .sponsors-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .sponsors-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.sponsors-block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media (min-width: 59em) {
  .sponsors-block__inner {
    gap: 60px;
  }
}

.sponsors-block__title {
  margin-bottom: 0;
}

.sponsors-block__list {
  display: grid;
}
@media (min-width: 32em) {
  .sponsors-block__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
  }
}
@media (min-width: 50em) {
  .sponsors-block__list {
    gap: 30px 0;
  }
}
@media (min-width: 62.5em) {
  .sponsors-block__list {
    grid-template-columns: repeat(4, 1fr);
  }
}

/*  ==========================================================================
    Sponsors - Item
    ========================================================================== */
.sponsors-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
  text-align: center;
  padding: 30px;
  position: relative;
}
.sponsors-item:before, .sponsors-item:after {
  position: absolute;
  content: "";
  background-color: #CBCBCB;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -1px;
}
@media (max-width: 31.99em) {
  .sponsors-item:last-child:before {
    display: none;
  }
}
.sponsors-item:after {
  display: none;
}
@media (min-width: 50em) {
  .sponsors-item:before {
    bottom: 0;
    left: 0;
    height: 100%;
    width: 1px;
  }
  .sponsors-item:after {
    display: block;
    bottom: 0;
    left: unset;
    right: -1px;
    height: 100%;
    width: 1px;
  }
}
@media (min-width: 62.5em) {
  .sponsors-item {
    padding: 0;
  }
}

.sponsors-item__image-container,
.sponsors-item__description:only-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}

.sponsors-item__image-container--text {
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .sponsors-item__image-container--text {
    font-size: 22px;
  }
}
.sponsors-item__image-container--text + .sponsors-item__description {
  margin-top: -10px;
}

img.sponsors-item__image {
  display: block;
  margin: 0 auto;
  width: auto;
  height: auto;
  max-height: 40px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
@media (min-width: 62.5em) {
  img.sponsors-item__image {
    max-height: 60px;
    max-width: 160px;
  }
}

.sponsors-item__description {
  text-align: center;
  text-wrap: balance;
  margin: 0 auto 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  max-width: 250px;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.sponsors-item__description:only-child {
  height: 100%;
}
@media (min-width: 50em) {
  .sponsors-item__description:only-child {
    font-size: 16px;
  }
}
@media (min-width: 62.5em) {
  .sponsors-item__description {
    padding: 0 30px;
  }
  .sponsors-item__description:only-child {
    font-size: 18px;
    height: 100%;
    min-height: 160px;
  }
}

/*  ==========================================================================
    Spotify Embed
    ========================================================================== */
.spotify-embed {
  padding: 30px 0;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .spotify-embed {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .spotify-embed {
    padding: 60px 0;
  }
}

.spotify-embed__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .spotify-embed__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .spotify-embed__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.spotify-embed__inner {
  position: relative;
  padding-top: 20px;
}
@media (min-width: 50em) {
  .spotify-embed__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 40px;
  }
}
@media (min-width: 50em) {
  .spotify-embed--with-content .spotify-embed__inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px;
  }
}
@media (min-width: 62.5em) {
  .spotify-embed--with-content .spotify-embed__inner {
    gap: 60px;
  }
}
.spotify-embed__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  height: 1px;
  background-color: var(--theme-body-text-color);
}

.spotify-embed__content {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .spotify-embed__content {
    margin-bottom: 0;
    width: 30%;
  }
}

.spotify-embed__prefix {
  font-weight: 700;
  font-size: 20px;
}
@media (min-width: 72em) {
  .spotify-embed__prefix {
    font-size: 28px;
  }
}

.spotify-embed__description p {
  margin: 0;
}
@media (min-width: 50em) {
  .spotify-embed__description p {
    font-size: 18px;
  }
}

.spotify-embed__oembed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 50em) {
  .spotify-embed__oembed {
    width: 70%;
  }
}

/*  ==========================================================================
    SoundCloud Embed
    ========================================================================== */
.soundcloud-embed {
  padding: 30px 0;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .soundcloud-embed {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .soundcloud-embed {
    padding: 60px 0;
  }
}

.soundcloud-embed__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .soundcloud-embed__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .soundcloud-embed__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.soundcloud-embed__inner {
  position: relative;
  padding-top: 20px;
}
@media (min-width: 50em) {
  .soundcloud-embed__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 40px;
  }
}
@media (min-width: 50em) {
  .soundcloud-embed--with-content .soundcloud-embed__inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 20px;
  }
}
@media (min-width: 62.5em) {
  .soundcloud-embed--with-content .soundcloud-embed__inner {
    gap: 60px;
  }
}
.soundcloud-embed__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 15px;
  right: 15px;
  height: 1px;
  background-color: var(--theme-body-text-color);
}

.soundcloud-embed__content {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .soundcloud-embed__content {
    margin-bottom: 0;
    width: 30%;
  }
}

.soundcloud-embed__prefix {
  font-weight: 700;
  font-size: 20px;
}
@media (min-width: 72em) {
  .soundcloud-embed__prefix {
    font-size: 28px;
  }
}

.soundcloud-embed__description p {
  margin: 0;
}
@media (min-width: 50em) {
  .soundcloud-embed__description p {
    font-size: 18px;
  }
}

.soundcloud-embed__oembed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 50em) {
  .soundcloud-embed__oembed {
    width: 70%;
  }
}

.video-modal {
  --aspect-ratio: 1.7777777778;
  --padding: 40px;
  margin: auto;
  padding: 0;
  border: 0;
  background-color: transparent;
  max-width: none;
  max-height: none;
  overflow: visible;
}
@media (min-width: 62.5em) {
  .video-modal {
    --padding: 100px;
  }
}
@media (min-width: 80em) {
  .video-modal {
    --padding: 200px;
  }
}

.video-modal[open] {
  display: grid;
  place-items: center;
}

.video-modal::-ms-backdrop {
  will-change: backdrop-filter, background-color, overlay;
  backdrop-filter: blur(0);
  background-color: rgba(0, 0, 0, 0);
  -ms-transition: backdrop-filter 250ms ease, background-color 250ms ease;
  transition: backdrop-filter 250ms ease, background-color 250ms ease;
}

.video-modal::backdrop {
  will-change: backdrop-filter, background-color, overlay;
  backdrop-filter: blur(0);
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: backdrop-filter 250ms ease, background-color 250ms ease;
  transition: backdrop-filter 250ms ease, background-color 250ms ease;
}

.video-modal[open]::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.9);
}

.video-modal[open]::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.9);
}
@starting-style {
  .video-modal[open]::-ms-backdrop {
    backdrop-filter: blur(0);
    background-color: rgba(0, 0, 0, 0);
  }
  .video-modal[open]::backdrop {
    backdrop-filter: blur(0);
    background-color: rgba(0, 0, 0, 0);
  }
}

.video-modal__loader svg {
  width: 24px;
  height: 24px;
  color: #fff;
  -webkit-animation: video-modal-rotate 1000ms linear 0s infinite normal none;
          animation: video-modal-rotate 1000ms linear 0s infinite normal none;
}
@-webkit-keyframes video-modal-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes video-modal-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.video-modal__title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.video-modal__close {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  background: transparent;
  border: none;
  border-radius: 100%;
  top: -45px;
  right: 0;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 5px;
  background-color: #fff;
  color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-out 0.4s, display 0.4s ease-out allow-discrete 0.4s;
  transition: opacity 0.4s ease-out 0.4s, display 0.4s ease-out allow-discrete 0.4s;
  will-change: opacity, display;
  cursor: pointer;
  z-index: 3;
}
.video-modal--active .video-modal__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}
@starting-style {
  .video-modal--active .video-modal__close {
    opacity: 0;
  }
}
.video-modal--active .video-modal__close:hover {
  opacity: 1;
}
@media (min-width: 62.5em) {
  .video-modal__close {
    right: auto;
    bottom: auto;
    left: calc(100% + 10px);
    top: 0;
  }
}

.video-modal__media {
  will-change: opacity, transform, display, overlay;
  opacity: 0;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  -webkit-transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out, -webkit-transform 300ms ease-out;
  aspect-ratio: var(--aspect-ratio);
}
.video-modal--landscape .video-modal__media {
  width: min(100vw - var(--padding), (100svh - var(--padding)) * var(--aspect-ratio));
}
.video-modal--portrait .video-modal__media {
  height: min(100svh - var(--padding), (100vw - var(--padding)) / var(--aspect-ratio));
}
.video-modal--square .video-modal__media {
  width: min(100vw - var(--padding), 100svh - var(--padding));
}
.video-modal--active .video-modal__media {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.video-modal__media iframe,
.video-modal__media video {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: 0;
}

.video-modal--portrait .video-modal__close {
  left: calc(100% + 10px);
  top: 0;
}

.image-modal {
  --aspect-ratio: 1.7777777778;
  --padding: 40px;
  margin: auto;
  padding: 0;
  border: 0;
  background-color: transparent;
  max-width: none;
  max-height: none;
  overflow: visible;
}
@media (min-width: 62.5em) {
  .image-modal {
    --padding: 100px;
  }
}
@media (min-width: 80em) {
  .image-modal {
    --padding: 200px;
  }
}

.image-modal[open] {
  display: grid;
  place-items: center;
}

.image-modal::-ms-backdrop {
  will-change: backdrop-filter, background-color, overlay;
  backdrop-filter: blur(0);
  background-color: rgba(0, 0, 0, 0);
  -ms-transition: backdrop-filter 250ms ease, background-color 250ms ease;
  transition: backdrop-filter 250ms ease, background-color 250ms ease;
}

.image-modal::backdrop {
  will-change: backdrop-filter, background-color, overlay;
  backdrop-filter: blur(0);
  background-color: rgba(0, 0, 0, 0);
  -webkit-transition: backdrop-filter 250ms ease, background-color 250ms ease;
  transition: backdrop-filter 250ms ease, background-color 250ms ease;
}

.image-modal[open]::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.9);
}

.image-modal[open]::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.9);
}
@starting-style {
  .image-modal[open]::-ms-backdrop {
    backdrop-filter: blur(0);
    background-color: rgba(0, 0, 0, 0);
  }
  .image-modal[open]::backdrop {
    backdrop-filter: blur(0);
    background-color: rgba(0, 0, 0, 0);
  }
}

.image-modal__loader svg {
  width: 24px;
  height: 24px;
  color: #fff;
  -webkit-animation: image-modal-rotate 1000ms linear 0s infinite normal none;
          animation: image-modal-rotate 1000ms linear 0s infinite normal none;
}
@-webkit-keyframes image-modal-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes image-modal-rotate {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.image-modal__title {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.image-modal__close {
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  background: transparent;
  border: none;
  border-radius: 100%;
  top: -45px;
  right: 0;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 5px;
  background-color: #fff;
  color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease-out 0.4s, display 0.4s ease-out allow-discrete 0.4s;
  transition: opacity 0.4s ease-out 0.4s, display 0.4s ease-out allow-discrete 0.4s;
  will-change: opacity, display;
  cursor: pointer;
  z-index: 3;
}
.image-modal--active .image-modal__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
}
@starting-style {
  .image-modal--active .image-modal__close {
    opacity: 0;
  }
}
.image-modal--active .image-modal__close:hover {
  opacity: 1;
}
@media (min-width: 62.5em) {
  .image-modal__close {
    right: auto;
    bottom: auto;
    left: calc(100% + 10px);
    top: 0;
  }
}

.image-modal__media {
  will-change: opacity, transform, display, overlay;
  opacity: 0;
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  -webkit-transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, -webkit-transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out;
  transition: opacity 300ms ease-out, transform 300ms ease-out, -webkit-transform 300ms ease-out;
  aspect-ratio: var(--aspect-ratio);
}
.image-modal--landscape .image-modal__media {
  width: min(100vw - var(--padding), (100svh - var(--padding)) * var(--aspect-ratio));
}
.image-modal--portrait .image-modal__media {
  height: min(100svh - var(--padding), (100vw - var(--padding)) / var(--aspect-ratio));
}
.image-modal--square .image-modal__media {
  width: min(100vw - var(--padding), 100svh - var(--padding));
}
.image-modal--active .image-modal__media {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.image-modal__image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0;
  margin: 0;
  border: 0;
}

.image-modal--portrait .image-modal__close {
  left: calc(100% + 10px);
  top: 0;
}

/*  ==========================================================================
    Embed Video
    ========================================================================== */
.embed-video {
  position: relative;
  padding: 30px 0;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
}
@media (min-width: 50em) {
  .embed-video {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .embed-video {
    padding: 60px 0;
  }
}

.embed-video__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .embed-video__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .embed-video__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/*  ==========================================================================
    Embed Video - Video Item
    ========================================================================== */
.embed-video .video-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
}
@media (min-width: 50em) {
  .embed-video .video-item {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 60px;
  }
}
.embed-video .video-item .video-item__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
.embed-video .video-item .video-item__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
.embed-video .video-item .video-item__title {
  line-height: 1.1;
  margin-bottom: 0;
  text-wrap: pretty;
}
.embed-video .video-item .video-item__prefix {
  font-size: 18px;
  font-weight: 700;
}
@media (min-width: 50em) {
  .embed-video .video-item .video-item__prefix {
    font-size: 20px;
  }
}
.embed-video .video-item .video-item__description {
  text-wrap: pretty;
}
.embed-video .video-item .video-item__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .embed-video .video-item .video-item__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.embed-video .video-item .video-item__description a:visited {
  color: inherit;
}
.embed-video .video-item .video-item__description a:hover, .embed-video .video-item .video-item__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.embed-video .video-item .video-item__description p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .embed-video .video-item .video-item__description {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .embed-video .video-item .video-item__description {
    font-size: 24px;
  }
}
.embed-video .video-item .video-item__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-top: 15px;
  font-weight: 700;
  font-size: 16px;
}
@media (min-width: 50em) {
  .embed-video .video-item .video-item__cta {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .embed-video .video-item .video-item__cta {
    font-size: 22px;
  }
}
.embed-video .video-item .video-item__media {
  display: block;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.06);
  -webkit-animation: pulse 1.5s ease-in-out infinite;
          animation: pulse 1.5s ease-in-out infinite;
}
.embed-video .video-item .video-item__media:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.5)));
  background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
  z-index: 3;
}
@keyframes pulse {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 0.1;
  }
}
.embed-video .video-item .video-item__media:has(.video-item__image[src]) {
  -webkit-animation: none;
          animation: none;
}
.embed-video .video-item .video-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  opacity: 0;
  z-index: 2;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  -o-object-fit: cover;
     object-fit: cover;
}
.embed-video .video-item .video-item__image[src] {
  opacity: 1;
}
.embed-video .video-item .video-item__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  left: 15px;
  bottom: 15px;
  padding: 0;
  background-color: transparent;
  color: #fff;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
  z-index: 3;
}
.embed-video .video-item .video-item__icon .o-icon {
  position: relative;
  left: 2px;
  width: 100%;
  height: 100%;
}
.embed-video .video-item .video-item__image[src] ~ .video-item__icon {
  opacity: 1;
}
.embed-video .video-item .video-item__preview {
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  pointer-events: none;
  overflow: hidden;
  z-index: 2;
}
.embed-video .video-item .video-item__preview video {
  -o-object-fit: cover;
     object-fit: cover;
  min-width: 100%;
  min-height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .embed-video .video-item .video-item__media:has(.video-item__image[src]):hover .video-item__preview {
    opacity: 1;
  }
}

/*  ==========================================================================
    Embed Video - Right-aligned Video
    ========================================================================== */
@media (min-width: 50em) {
  .embed-video--right .video-item .video-item__media {
    grid-column: 2;
    grid-row: 1;
  }
}

/*  ==========================================================================
    Embed Video - Center-aligned Video
    ========================================================================== */
@media (min-width: 50em) {
  .embed-video--center .video-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/*  ==========================================================================
    Fact Block
    ========================================================================== */
.fact-block {
  padding: 15px;
  background-color: var(--theme-color);
  overflow: hidden;
}
@media (min-width: 50em) {
  .fact-block {
    padding: 40px 20px;
  }
}
@media (min-width: 62.5em) {
  .fact-block {
    padding: 60px 0;
  }
}
.fact-block + .well-block {
  padding-top: 0;
}

@media (min-width: 50em) {
  .fact-block__inner {
    width: 100%;
    max-width: 920px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .fact-block__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .fact-block__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.fact-block__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
  color: #000;
  padding: 20px;
}
@media (min-width: 50em) {
  .fact-block__body {
    padding: 30px 20px;
    margin: 0 -20px;
  }
}
@media (min-width: 62.5em) {
  .fact-block__body {
    padding: 40px;
    margin: 0 -40px;
  }
}

.fact-block__title {
  font-size: 24px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .fact-block__title {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .fact-block__title {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .fact-block__title {
    font-size: 32px;
  }
}

.fact-block__list {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .fact-block__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

.fact-block__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.fact-block__content {
  font-size: 18px;
  line-height: 1.4;
  text-wrap: pretty;
}
.fact-block__content a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .fact-block__content a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.fact-block__content a:visited {
  color: inherit;
}
.fact-block__content a:hover, .fact-block__content a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.fact-block__content p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .fact-block__content {
    font-size: 20px;
  }
}

.fact-block__icon {
  height: 22px;
  width: auto;
}
@media (min-width: 50em) {
  .fact-block__icon {
    height: 25px;
  }
}

/*  ==========================================================================
    At a Glance Block
    ========================================================================== */
.at-a-glance {
  padding: 15px;
  background-color: var(--theme-color);
  color: #000;
  overflow: hidden;
}
@media (min-width: 50em) {
  .at-a-glance {
    padding: 40px 20px;
  }
}
@media (min-width: 62.5em) {
  .at-a-glance {
    padding: 60px 0;
  }
}
.at-a-glance + .fact-block, .at-a-glance + .well-block {
  padding-top: 0;
}

@media (min-width: 50em) {
  .at-a-glance__inner {
    width: 100%;
    max-width: 920px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 50em) and (min-width: 50em) {
  .at-a-glance__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 50em) and (min-width: 100em) {
  .at-a-glance__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.at-a-glance__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
  padding: 20px;
}
@media (min-width: 50em) {
  .at-a-glance__body {
    padding: 30px 20px;
    margin: 0 -20px;
  }
}
@media (min-width: 62.5em) {
  .at-a-glance__body {
    padding: 40px;
    margin: 0 -40px;
  }
}

.at-a-glance__title {
  font-size: 24px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .at-a-glance__title {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .at-a-glance__title {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .at-a-glance__title {
    font-size: 32px;
  }
}

.at-a-glance__list {
  display: grid;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .at-a-glance__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
}

.at-a-glance__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.at-a-glance__lede {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .at-a-glance__lede {
    font-size: 20px;
  }
}

.at-a-glance__content {
  font-size: 18px;
  line-height: 1.4;
  text-wrap: pretty;
}
.at-a-glance__content p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .at-a-glance__content {
    font-size: 20px;
  }
}

/*  ==========================================================================
    Work page - At a Glance Block
    ========================================================================== */
.works-glance {
  margin: var(--content-margin-small);
  margin-bottom: 0;
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .works-glance {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .works-glance {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.works-glance__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 59em) {
  .works-glance__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 30px;
  }
}
@media (min-width: 62.5em) {
  .works-glance__inner {
    gap: 40px;
  }
}
@media (min-width: 80em) {
  .works-glance__inner {
    gap: 60px;
  }
}

.works-glance__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  background-color: #fff;
}
@media (min-width: 50em) {
  .works-glance__body {
    padding-right: 20px;
  }
}
@media (min-width: 59em) {
  .works-glance__body {
    width: 65%;
  }
}
@media (min-width: 62.5em) {
  .works-glance__body {
    padding-right: 40px;
  }
}
@media (min-width: 80em) {
  .works-glance__body {
    width: 70%;
  }
}

.works-glance__title {
  font-size: 36px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .works-glance__title {
    font-size: 42px;
  }
}
@media (min-width: 62.5em) {
  .works-glance__title {
    font-size: 48px;
  }
}

.works-glance__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 32em) {
  .works-glance__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}

.works-glance__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.works-glance__lede {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .works-glance__lede {
    font-size: 24px;
  }
}

.works-glance__content {
  font-size: 20px;
  line-height: 1.4;
  text-wrap: pretty;
}
.works-glance__content p:last-child {
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .works-glance__content {
    font-size: 24px;
  }
}

.works-glance__media-title {
  font-size: 26px;
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .works-glance__media-title {
    font-size: 28px;
  }
}
@media (min-width: 62.5em) {
  .works-glance__media-title {
    font-size: 36px;
    margin-bottom: 25px;
  }
}

.works-glance__media {
  width: 100%;
}
@media (min-width: 59em) {
  .works-glance__media {
    width: 35%;
  }
}
@media (min-width: 80em) {
  .works-glance__media {
    width: 30%;
  }
}

.works-glance__spotify iframe {
  height: 200px;
}

/*  ==========================================================================
    Series Header
    ========================================================================== */
.series-header {
  position: relative;
  overflow: hidden;
  background-color: var(--theme-color);
  padding: 40px 0;
}
@media (min-width: 50em) {
  .series-header {
    padding: 60px 0;
  }
}
@media (min-width: 62.5em) {
  .series-header {
    padding: 80px 0;
  }
}

.series-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .series-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .series-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.series-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  position: relative;
}
@media (min-width: 50em) {
  .series-header__inner {
    gap: 30px;
  }
}

.series-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  color: var(--theme-body-text-color);
  z-index: 2;
}
@media (min-width: 50em) {
  .series-header__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 30px;
  }
}
@media (min-width: 62.5em) {
  .series-header__content {
    gap: 40px;
  }
}
@media (min-width: 80em) {
  .series-header__content {
    gap: 60px;
  }
}

.series-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  width: 100%;
}
@media (min-width: 50em) {
  .series-header__body {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 50%;
  }
}
.series-header__body .series-booking {
  display: none;
}
@media (min-width: 50em) {
  .series-header__body .series-booking {
    display: block;
  }
}
@media (min-width: 50em) {
  .series-header__body .series-booking__inner {
    border-top: 1px solid;
    margin-top: 20px;
    padding-top: 40px;
  }
}

.series-header__breadcrumbs {
  color: var(--theme-body-text-color);
}
.series-header__breadcrumbs .o-icon {
  color: var(--theme-body-text-color);
}

.series-header__title {
  margin-bottom: 0;
  line-height: 1;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 15px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media (max-width: 62.49em) {
  .series-header__title {
    font-size: 42px;
  }
}
@media (min-width: 62.5em) {
  .series-header__title {
    font-size: 52px;
    max-width: 600px;
  }
}
@media (min-width: 72em) {
  .series-header__title {
    font-size: 64px;
    max-width: 700px;
  }
}
.series-header__title p {
  margin: 0;
}

.series-header__code {
  font-weight: 400;
  font-size: 24px;
}
@media (min-width: 62.5em) {
  .series-header__code {
    font-size: 32px;
  }
}

.series-header__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .series-header__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.series-header__description a:visited {
  color: inherit;
}
.series-header__description a:hover, .series-header__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (max-width: 49.99em) {
  .series-header__description p {
    margin-bottom: 0;
  }
}
@media (min-width: 62.5em) {
  .series-header__description {
    font-size: 18px;
  }
}

.series-header__info {
  width: 100%;
}
@media (min-width: 50em) {
  .series-header__info {
    width: 50%;
  }
}

.series-header__item {
  border-top: 1px solid;
  padding: 10px 0;
}
.series-header__item:last-child {
  border-bottom: 1px solid;
}
@media (min-width: 50em) {
  .series-header__item {
    padding: 20px 0;
  }
}

.series-header__tag {
  margin: 0 0 10px;
  line-height: 1;
}
@media (min-width: 50em) {
  .series-header__tag {
    margin: 0 0 5px;
  }
}

.series-header__item-title {
  margin: 0;
}

/*  ==========================================================================
    Series Header Bar
    ========================================================================== */
.series-header-bar {
  background-color: var(--theme-color);
  padding: 20px 15px 15px;
  left: 0;
  right: 0;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: var(--theme-body-text-color);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media (max-width: 49.99em) {
  .series-header-bar {
    top: 0;
    position: sticky;
  }
}
@media (min-width: 50em) {
  .series-header-bar {
    display: none;
    top: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
    position: fixed;
  }
}
.series-header-bar.is-visible {
  display: block;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@starting-style {
  .series-header-bar.is-visible {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

.series-header-bar__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .series-header-bar__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .series-header-bar__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.series-header-bar__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 49.99em) {
  .series-header-bar__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.series-header-bar__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}

.series-header-bar__title {
  font-size: 26px;
  margin-bottom: 0;
}
@media (max-width: 49.99em) {
  .series-header-bar__title {
    display: none;
  }
}
@media (min-width: 62.5em) {
  .series-header-bar__title {
    font-size: 32px;
  }
}

.series-header-bar__code {
  font-weight: 400;
  font-size: 22px;
}
@media (min-width: 62.5em) {
  .series-header-bar__code {
    font-size: 26px;
  }
}

.series-header-bar__copy {
  margin: 0;
}
@media (min-width: 50em) {
  .series-header-bar__copy {
    text-transform: uppercase;
  }
}

.series-header-bar__copy--mobile {
  display: inline-block;
}
@media (min-width: 50em) {
  .series-header-bar__copy--mobile {
    display: none;
  }
}

.series-header-bar__copy--desktop {
  display: none;
}
@media (min-width: 50em) {
  .series-header-bar__copy--desktop {
    display: inline-block;
  }
}

.series-header-bar__divider {
  font-size: 20px;
}

/*  ==========================================================================
    Series List
    ========================================================================== */
.series-list {
  position: relative;
  overflow: hidden;
  padding: 25px 0;
}
@media (min-width: 50em) {
  .series-list {
    padding: 60px 0;
  }
}
@media (min-width: 62.5em) {
  .series-list {
    padding: 80px 0;
  }
}

.series-list__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .series-list__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .series-list__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.series-list__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 25px;
  position: relative;
}

.series-list__title {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px 15px;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media (max-width: 49.99em) {
  .series-list__title {
    font-size: 34px;
  }
}

.series-list__count {
  font-size: 18px;
  font-weight: 400;
}
@media (min-width: 50em) {
  .series-list__count {
    font-size: 28px;
  }
}

.series-list__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 50em) {
  .series-list__items {
    gap: 40px;
  }
}
@media (min-width: 62.5em) {
  .series-list__items {
    gap: 80px;
  }
}

/*  ==========================================================================
    Series Item
    ========================================================================== */
.series-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 50em) {
  .series-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 30px;
  }
}

.series-item__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}
@media (min-width: 62.5em) {
  .series-item__media {
    width: 40%;
  }
}

.series-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 80%;
  height: 0;
}

.series-item__image {
  height: 100%;
  position: absolute;
  right: 0;
  width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.series-item__content {
  width: 100%;
}
@media (min-width: 50em) {
  .series-item__content {
    border-top: 1px solid rgba(0, 0, 0, 0.4);
    padding-top: 15px;
  }
}
@media (min-width: 62.5em) {
  .series-item__content {
    width: 60%;
  }
}

.series-item__date {
  text-transform: uppercase;
}
@media (min-width: 62.5em) {
  .series-item__date {
    font-size: 18px;
  }
}

.series-item__title a {
  font-weight: 700;
}

@media (min-width: 62.5em) {
  .series-item__description {
    font-size: 18px;
  }
}

.series-item__lists {
  margin: 25px 0 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 50em) {
  .series-item__lists {
    gap: 40px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.series-item__list-wrapper {
  width: 100%;
}
@media (min-width: 50em) {
  .series-item__list-wrapper {
    width: 50%;
  }
}

.series-item__list-title {
  font-weight: bold;
}
@media (min-width: 50em) {
  .series-item__list-title {
    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
    padding-bottom: 10px;
  }
}
@media (min-width: 62.5em) {
  .series-item__list-title {
    font-size: 22px;
  }
}

.series-item__list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.series-list-item {
  margin-bottom: 15px;
}

.series-list-item__header {
  margin-bottom: 0;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  line-height: 1.3;
}
@media (min-width: 42.5em) {
  .series-list-item__header {
    margin-top: 4px;
  }
}

.series-list-item__composer,
.series-list-item__arranger {
  font-weight: 700;
}

.series-list-item__composer--link,
.series-list-item__arranger--link {
  color: #093F6C;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.series-list-item__composer--link p,
.series-list-item__arranger--link p {
  margin-bottom: 0;
}
.series-list-item__composer--link:hover,
.series-list-item__arranger--link:hover {
  color: #051A3A;
}

.series-list-item__piece {
  gap: 15px;
}
@media (min-width: 62.5em) {
  .series-list-item__piece {
    font-size: 16px;
  }
}

.series-list-item__title {
  text-wrap: pretty;
}

.series-list-item__title--link {
  color: #093F6C;
}

.series-list-item__underwriting {
  margin: 5px 0 0;
}
.series-list-item__underwriting h3, .series-list-item__underwriting h4 {
  margin: 0;
  font-weight: 700;
}
.series-list-item__underwriting p {
  margin: 0 0 5px;
  line-height: 1.3;
}
.series-list-item__underwriting a {
  color: #093F6C;
  font-weight: 700;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}
.series-list-item__underwriting a:hover {
  color: #051A3A;
}

.series-item__artist {
  margin-bottom: 2px;
}

.series-item__artist-role {
  font-style: italic;
}

.series-item__footer {
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.series-item__summary {
  cursor: pointer;
  list-style: none;
}
@media (min-width: 50em) {
  .series-item__summary {
    display: none;
  }
}
.series-item__summary::marker {
  content: "";
}
.series-item__summary::-webkit-details-marker {
  display: none;
}
.series-item__summary .o-icon {
  width: 18px;
  height: 18px;
  rotate: 45deg;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  margin-left: 5px;
}

.series-item__tag {
  font-size: 18px;
  font-weight: 700;
}

@media (max-width: 49.99em) {
  .series-item__details {
    padding: 15px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.4);
  }
}

.series-item__details[open] .series-item__tag .o-icon {
  rotate: 90deg;
}

/*  ==========================================================================
    Transport Location Scroller
    ========================================================================== */
.transport-location-scroller {
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .transport-location-scroller {
    padding: var(--content-margin-small);
  }
}

.transport-location-scroller__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .transport-location-scroller__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .transport-location-scroller__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.transport-location-scroller__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 16px;
}
@media (min-width: 50em) {
  .transport-location-scroller__header {
    margin-bottom: 24px;
  }
}

.transport-location-scroller__title {
  margin: 0;
}
@media (min-width: 50em) {
  .transport-location-scroller__title {
    font-size: 42px;
  }
}

.transport-location-scroller__container::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .transport-location-scroller__container {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

.transport-location-scroller__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -20px;
  -webkit-overflow-scrolling: touch;
}

.transport-location-scroller-item {
  width: 350px;
}
@media (min-width: 62.5em) {
  .transport-location-scroller-item {
    width: 33.33%;
  }
}

.transport-location-scroller__buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 0 auto;
}

.transport-location-scroller__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .transport-location-scroller__navigation {
    display: none;
  }
}
.transport-location-scroller__navigation .with-border {
  padding-right: 15px;
  margin-right: 15px;
  border-right: 1px solid;
}

.transport-location-scroller__previous,
.transport-location-scroller__next {
  background-color: transparent;
  color: var(--theme-body-text-color);
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .transport-location-scroller__previous,
  .transport-location-scroller__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.transport-location-scroller__previous .o-icon,
.transport-location-scroller__next .o-icon {
  width: 16px;
  height: 16px;
  color: #000;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.transport-location-scroller__previous:hover,
.transport-location-scroller__next:hover {
  background-color: #000;
  border-color: #fff;
}
.transport-location-scroller__previous:hover .o-icon,
.transport-location-scroller__next:hover .o-icon {
  color: #fff;
  opacity: 1;
}
.transport-location-scroller__previous.swiper-button-disabled,
.transport-location-scroller__next.swiper-button-disabled {
  cursor: not-allowed;
}
.transport-location-scroller__previous.swiper-button-disabled:hover,
.transport-location-scroller__next.swiper-button-disabled:hover {
  background-color: #fff;
}
.transport-location-scroller__previous.swiper-button-disabled:hover .o-icon,
.transport-location-scroller__next.swiper-button-disabled:hover .o-icon {
  color: #000;
}

.transport-location-scroller__previous {
  margin-right: 0;
}
.transport-location-scroller__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.transport-location-scroller__next {
  margin-right: 15px;
}
.transport-location-scroller__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .transport-location-scroller__next {
    margin-right: 0;
  }
}

/*  ==========================================================================
    Transport Location Item
    ========================================================================== */
.transport-location-item {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 40%, transparent);
  padding: 0 20px;
  width: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 62.5em) {
  .transport-location-item {
    width: 33.33%;
  }
}

.transport-location-item:last-child {
  border-right: none;
}

.transport-location-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 16px 0;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.transport-location-item__title {
  line-height: 1.3;
  margin: 0;
}

.transport-location-item__location {
  font-weight: 700;
  margin: 0;
}
@media (min-width: 62.5em) {
  .transport-location-item__location {
    font-size: 18px;
  }
}

.transport-location-item__media {
  overflow: hidden;
}

.transport-location-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
  overflow: hidden;
}

.transport-location-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
}

.transport-location-item__footer {
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 5px;
  margin: auto 0 0;
}

.bus-item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.transport-location-item .bus-item__tags {
  margin-bottom: 25px;
}

.transport-location-item .bus-tag {
  background-color: #356129;
}

/*  ==========================================================================
    Piece Header
    ========================================================================== */
.piece-header {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--theme-color);
  padding: 30px 0;
}
@media (min-width: 50em) {
  .piece-header {
    padding: 40px 0;
  }
}
@media (min-width: 62.5em) {
  .piece-header {
    padding: 60px 0;
  }
}

.piece-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .piece-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .piece-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.piece-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  position: relative;
}
@media (min-width: 50em) {
  .piece-header__inner {
    gap: 30px;
  }
}

.piece-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  color: var(--theme-body-text-color);
  z-index: 2;
}
@media (min-width: 50em) {
  .piece-header__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 30px;
  }
  .piece-header__content .piece-header__titles {
    width: 65%;
  }
  .piece-header__content .piece-header__body {
    width: 35%;
  }
}
@media (min-width: 62.5em) {
  .piece-header__content {
    gap: 40px;
  }
}
@media (min-width: 80em) {
  .piece-header__content {
    gap: 60px;
  }
  .piece-header__content .piece-header__titles {
    width: 70%;
  }
  .piece-header__content .piece-header__body {
    width: 30%;
  }
}

.piece-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media (min-width: 50em) {
  .piece-header__body {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.piece-header__breadcrumbs .o-icon {
  color: currentColor;
}

.piece-header__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 20px;
}
@media (min-width: 62.5em) {
  .piece-header__titles {
    min-height: 150px;
  }
}
@media (min-width: 80em) {
  .piece-header__titles {
    min-height: 200px;
  }
}
.piece-header__titles:has(+ .piece-header__body) {
  padding: 0 0 20px;
  border: solid rgba(0, 0, 0, 0.2);
  border-width: 0 0 1px;
}
@media (min-width: 50em) {
  .piece-header__titles:has(+ .piece-header__body) {
    padding: 0 30px 0 0;
    border-width: 0 1px 0 0;
  }
}
@media (min-width: 62.5em) {
  .piece-header__titles:has(+ .piece-header__body) {
    padding-right: 40px;
  }
}
@media (min-width: 80em) {
  .piece-header__titles:has(+ .piece-header__body) {
    padding-right: 60px;
  }
}

.piece-header__title {
  margin-bottom: 0;
  line-height: 1;
  font-size: 42px;
  font-weight: 700;
}
@media (min-width: 59em) {
  .piece-header__title {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .piece-header__title {
    font-size: 52px;
    max-width: 600px;
  }
}
@media (min-width: 72em) {
  .piece-header__title {
    font-size: 64px;
    max-width: 700px;
  }
}

.piece-header__composers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.piece-header__composer {
  font-size: 18px;
  font-weight: 700;
  text-wrap: pretty;
  line-height: 1;
}
@media (min-width: 50em) {
  .piece-header__composer {
    font-size: 22px;
  }
}
@media (min-width: 62.5em) {
  .piece-header__composer {
    font-size: 24px;
  }
}
@media (min-width: 72em) {
  .piece-header__composer {
    font-size: 32px;
  }
}
.piece-header__composer a {
  color: #093F6C;
  font-weight: 700;
}

.piece-header__arrangers {
  margin-bottom: 0;
  font-size: 16px;
  text-wrap: pretty;
  margin-top: calc(15px / -2);
}
@media (min-width: 50em) {
  .piece-header__arrangers {
    font-size: 18px;
  }
}
@media (min-width: 62.5em) {
  .piece-header__arrangers {
    font-size: 24px;
  }
}

.piece-header__arranger {
  font-weight: 700;
}

a.piece-header__arranger {
  color: #093F6C;
}

.piece-header__credit, .piece-header__movements {
  margin-bottom: 0;
  font-size: 18px;
  text-wrap: pretty;
}
@media (min-width: 50em) {
  .piece-header__credit, .piece-header__movements {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .piece-header__credit, .piece-header__movements {
    font-size: 24px;
  }
}
.piece-header__credit p, .piece-header__movements p {
  margin-bottom: 0;
}

.piece-header__credit--bold {
  font-weight: 700;
}

/*  ==========================================================================
    Piece Notes Block
    ========================================================================== */
.piece-notes {
  margin: var(--content-margin-small);
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .piece-notes {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .piece-notes {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.piece-notes__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  padding-top: 20px;
  border-top: 2px solid #000;
}
@media (min-width: 50em) {
  .piece-notes__inner {
    grid-template-columns: 300px 1fr;
    padding-top: 30px;
  }
}
@media (min-width: 59em) {
  .piece-notes__inner {
    grid-template-columns: 330px 1fr;
  }
}
@media (min-width: 72em) {
  .piece-notes__inner {
    grid-template-columns: 375px 1fr;
  }
}

.piece-notes__title {
  margin-bottom: 20px;
}
@media (min-width: 50em) {
  .piece-notes__title {
    margin-bottom: 30px;
  }
}

.piece-notes__body {
  margin: 0;
  padding: 0;
  list-style: none;
}

.piece-notes__tabs {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: rgba(0, 0, 0, 0.1);
  padding: 5px;
  border-radius: 30px;
  gap: 2.5px;
  position: relative;
  isolation: isolate;
}
@media (max-width: 42.49em) {
  .piece-notes__tabs {
    width: 100%;
  }
  .piece-notes__tabs .piece-notes__tab {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.piece-notes__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 15px;
  border: 0;
  font-weight: 700;
  background-color: transparent;
  color: #000;
  cursor: pointer;
  width: 145px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}

.piece-notes__tab.is-active {
  color: #fff;
}

.piece-notes__tab-indicator {
  position: absolute;
  width: calc(50% - 5px);
  height: calc(100% - 10px);
  inset: 5px;
  background-color: #000;
  border-radius: 30px;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: -1;
}
.piece-notes__tab.is-active + .piece-notes__tab-indicator {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.piece-notes .search-autosuggest {
  max-width: none;
  padding: 0;
}
.piece-notes .search-autosuggest__results {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
}

.piece-notes__inner--column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.piece-notes__inner--column .piece-notes__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 50em) {
  .piece-notes__inner--column .piece-notes__header {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: absolute;
    top: 25px;
    right: 0;
  }
}
.piece-notes__inner--column .piece-notes__panel a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .piece-notes__inner--column .piece-notes__panel a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.piece-notes__inner--column .piece-notes__panel a:visited {
  color: inherit;
}
.piece-notes__inner--column .piece-notes__panel a:hover, .piece-notes__inner--column .piece-notes__panel a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
.piece-notes__inner--column .piece-notes__panel ul {
  list-style: none;
}
.piece-notes__inner--column .piece-notes__panel li {
  position: relative;
  padding-left: 20px;
}
@media (min-width: 50em) {
  .piece-notes__inner--column .piece-notes__panel li {
    font-size: 26px;
  }
}
@media (min-width: 62.5em) {
  .piece-notes__inner--column .piece-notes__panel li {
    font-size: 32px;
  }
}
.piece-notes__inner--column .piece-notes__panel li:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #000;
  display: inline-block;
  vertical-align: center;
  position: absolute;
  top: 9px;
  left: 0;
}
@media (min-width: 50em) {
  .piece-notes__inner--column .piece-notes__panel li:before {
    top: 15px;
  }
}
@media (min-width: 62.5em) {
  .piece-notes__inner--column .piece-notes__panel li:before {
    top: 17px;
  }
}

.piece-notes__panel-content--contained {
  max-width: 880px;
}

.piece-notes__panel-content--more {
  margin: var(--global-body-text) 0 0;
  display: none;
}
.piece-notes__panel-content--more.is-toggled {
  display: block;
}

.piece-notes__toggle {
  margin-top: 20px;
}
.piece-notes__toggle .o-icon {
  rotate: 90deg;
}
.piece-notes__toggle.is-toggled {
  display: none;
}

/*  ==========================================================================
    Featured Artist
    ========================================================================== */
.featured-artist {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  padding: 30px 0;
}
@media (min-width: 50em) {
  .featured-artist {
    padding: var(--content-margin-small);
  }
}

.featured-artist__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .featured-artist__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .featured-artist__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.featured-artist__inner {
  display: grid;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (min-width: 50em) {
  .featured-artist__inner {
    gap: 30px;
  }
}
@media (min-width: 59em) {
  .featured-artist__inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media (min-width: 62.5em) {
  .featured-artist__inner {
    gap: 60px;
  }
}

.featured-artist__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 20px;
}
@media (min-width: 72em) {
  .featured-artist__body {
    gap: 30px;
  }
}
@media (min-width: 80em) {
  .featured-artist__body {
    gap: 40px;
  }
}

.featured-artist__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.featured-artist__name {
  margin-bottom: 0;
  text-wrap: pretty;
}
@media (min-width: 59em) {
  .featured-artist__name {
    font-size: 28px;
  }
}
@media (min-width: 72em) {
  .featured-artist__name {
    font-size: 36px;
  }
}
@media (min-width: 80em) {
  .featured-artist__name {
    font-size: 48px;
  }
}

.featured-artist__role {
  font-size: 18px;
}
@media (min-width: 59em) {
  .featured-artist__role {
    font-size: 20px;
  }
}

.featured-artist__media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 120px;
  height: 120px;
}
@media (min-width: 50em) {
  .featured-artist__media {
    width: 190px;
    height: 190px;
  }
}

.featured-artist__intrinsic-ratio {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
}

.featured-artist__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
}

.featured-artist__works .pieces__header {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 30%, transparent);
}
@media (min-width: 50em) {
  .featured-artist__works .pieces__header {
    margin-top: 30px;
    padding-top: 30px;
  }
}
@media (min-width: 62.5em) {
  .featured-artist__works .pieces__header {
    margin-top: 40px;
    padding-top: 40px;
  }
}
.featured-artist__works .pieces__title {
  font-size: 22px;
}
@media (min-width: 50em) {
  .featured-artist__works .pieces__title {
    font-size: 26px;
  }
}
@media (min-width: 72em) {
  .featured-artist__works .pieces__title {
    font-size: 32px;
  }
}
@media (min-width: 80em) {
  .featured-artist__works .pieces__title {
    font-size: 42px;
  }
}

/*  ==========================================================================
    Pieces Block
    ========================================================================== */
.pieces-block {
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  position: relative;
  padding: 30px 0;
}
@media (min-width: 50em) {
  .pieces-block {
    padding: var(--content-margin-small);
  }
}

/*  ==========================================================================
    Pieces
    ========================================================================== */
.pieces {
  overflow: hidden;
}

.pieces__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .pieces__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .pieces__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.pieces__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 5px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  margin-bottom: 25px;
}
@media (min-width: 50em) {
  .pieces__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
    margin-bottom: 30px;
  }
}
@media (min-width: 72em) {
  .pieces__header {
    margin-bottom: 40px;
  }
}

.pieces__title {
  margin-bottom: 0;
}

.pieces__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
}
@media (max-width: 62.49em) {
  .pieces__navigation {
    display: none;
  }
}

.pieces__previous,
.pieces__next {
  background-color: transparent;
  border: 2px solid var(--theme-body-text-color);
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .pieces__previous,
  .pieces__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.pieces__previous.swiper-button-disabled,
.pieces__next.swiper-button-disabled {
  cursor: not-allowed;
}
.pieces__previous .o-icon,
.pieces__next .o-icon {
  width: 16px;
  height: 16px;
  color: var(--theme-body-text-color);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.pieces__previous:not(.swiper-button-disabled):hover,
.pieces__next:not(.swiper-button-disabled):hover {
  background-color: var(--theme-body-text-color);
  border-color: var(--theme-body-text-color);
}
.pieces__previous:not(.swiper-button-disabled):hover .o-icon,
.pieces__next:not(.swiper-button-disabled):hover .o-icon {
  color: var(--theme-body-text-color-inverse);
}

.pieces__previous {
  margin-right: 0;
}
.pieces__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.pieces__next {
  margin-right: 15px;
}
.pieces__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .pieces__next {
    margin-right: 0;
  }
}

.pieces__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .pieces__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    margin: 0 -40px;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .pieces__scroll {
    margin: 0 -15px;
    padding-left: 15px;
  }
}

.pieces__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
  gap: 15px;
}
@media (min-width: 62.5em) {
  .pieces__list {
    gap: 0;
  }
}

/*  ==========================================================================
    Pieces - List Layout
    ========================================================================== */
@media (max-width: 31.99em) {
  .pieces--list .pieces__scroll {
    margin: 0;
    padding: 0;
  }
  .pieces--list .pieces__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .pieces--list .piece {
    width: 100%;
  }
}

/*  ==========================================================================
    Piece
    ========================================================================== */
.piece {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px 15px 10px;
  border-radius: 10px;
  width: 250px;
  background-color: color-mix(in srgb, var(--theme-body-text-color-inverse) 25%, transparent);
}
@media (min-width: 50em) {
  .piece {
    gap: 20px;
  }
}
@media (min-width: 62.5em) {
  .piece {
    --spacing: 20px;
    width: calc(25% - var(--spacing) * 3 / 4);
    margin-right: var(--spacing);
  }
  .piece:last-child {
    margin-right: 0;
  }
}

.piece__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}

.piece__title {
  font-size: 16px;
  margin-bottom: 0;
  text-wrap: pretty;
}

.piece__composers {
  margin-bottom: 0;
  font-size: 14px;
}

.piece__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
  padding-top: 10px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 20%, transparent);
}

.piece__url,
.piece__audio-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 700;
  color: inherit;
  text-align: left;
}
.piece__url .o-icon,
.piece__audio-button .o-icon {
  width: 14px;
  height: 14px;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media (hover: hover) and (pointer: fine) {
  .piece__url:hover .o-icon,
  .piece__audio-button:hover .o-icon {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}

.piece__audio-button {
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}
.piece__audio-button p {
  margin: 0;
}
@media (hover: hover) and (pointer: fine) {
  .piece__audio-button:hover .o-icon {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.piece__audio-item {
  width: 0;
  height: 0;
}

.piece__audio--inline {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.piece__audio--inline .o-icon--pause-circle {
  display: none;
}
.piece__audio--inline.is-active .o-icon--play-circle {
  display: none;
}
.piece__audio--inline.is-active .o-icon--pause-circle {
  display: inline-block;
}

/*  ==========================================================================
    Account Menu
    ========================================================================== */
.account-menu__popup {
  margin-top: var(--global-top-bar-height, 45px);
  margin-right: 0;
  padding: 40px 30px 30px;
  border: 0;
  background-color: #fff;
  -webkit-box-shadow: -1px 1px 20px rgba(0, 0, 0, 0.3);
          box-shadow: -1px 1px 20px rgba(0, 0, 0, 0.3);
}

.account-menu__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.account-menu__btn {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.account-menu__btn .o-icon--chevron {
  width: 10px;
  height: 10px;
  rotate: 90deg;
  margin-left: -2px;
  -webkit-transition: rotate 0.4s ease;
  transition: rotate 0.4s ease;
}
.account-menu__btn.is-active .o-icon--chevron {
  rotate: 270deg;
}

.account-menu__heading {
  font-size: 18px;
  margin-bottom: 0;
}

.account-menu-upcoming__link svg {
  width: 15px;
  height: 15px;
}

.account-menu-upcoming__image {
  width: 100%;
  height: auto;
}

.account-menu__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 300px;
  margin-right: 40px;
  padding-right: 40px;
  border-right: 1px solid rgba(0, 0, 0, 0.3);
}

.account-menu__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  margin-bottom: 10px;
}
.account-menu__header a {
  font-size: 14px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.8);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.account-menu__header a:hover {
  text-decoration: underline;
  color: #000;
}

.account-menu__list {
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

.account-menu__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 700;
  padding: 10px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: relative;
}
.account-menu__link .o-icon {
  width: 20px;
  height: 20px;
  color: #000;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease 0.1s;
  transition: opacity 0.4s ease 0.1s;
}
.account-menu__link:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  top: -1px;
  left: 0;
  background-color: #000;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.account-menu__link:hover {
  color: #000;
  text-decoration: none;
}
.account-menu__link:hover .o-icon {
  opacity: 1;
}
.account-menu__link:hover:after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}

.account-menu__upcoming {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 300px;
}
.account-menu__upcoming .account-menu__header {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #000;
}

.account-menu-upcoming {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
  padding-bottom: 15px;
}

.account-menu-upcoming__date {
  font-size: 12px;
  text-transform: uppercase;
}

.account-menu-upcoming__title {
  font-size: 20px;
  margin-bottom: 0;
}

.account-menu-upcoming__prefix,
.account-menu-upcoming__suffix {
  display: block;
  font-size: 14px;
  font-weight: 700;
}

.account-menu-upcoming__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  margin-top: 5px;
}

.account-menu-upcoming__venue {
  font-size: 12px;
  text-transform: uppercase;
}

.account-menu-upcoming__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 700;
  color: rgba(0, 0, 0, 0.8);
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.account-menu-upcoming__link:hover {
  color: #000;
  text-decoration: underline;
}

.account-menu-upcoming--inactive {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.account-menu-upcoming--inactive .account-menu-upcoming__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #F8F8F8;
  height: 100%;
}
.account-menu-upcoming--inactive .account-menu-upcoming__body p {
  color: rgba(0, 0, 0, 0.8);
  font-weight: 700;
  font-size: 14px;
}

.account-menu--logged-in {
  display: none;
}

.user-logged-in .account-menu--logged-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.user-logged-in .account-menu--logged-out {
  display: none;
}

.basket-timer {
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #09F;
  color: #fff;
}

.basket-timer__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .basket-timer__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .basket-timer__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.basket-timer__inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.basket-timer__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.basket-timer__icon .o-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.basket-timer__message {
  margin: 0;
  font-size: 14px;
}

.basket-timer__button {
  color: #fff;
  font-size: 14px;
}
.basket-timer__button:hover {
  color: #fff;
}

.basket-timer__explanation {
  background-color: #000;
  color: #fff;
  font-size: 14px;
  max-width: 380px;
  padding: 15px;
  border: none;
}
.basket-timer__explanation p {
  margin-bottom: 0;
}

/*  ==========================================================================
    Orchestra Roster
    ========================================================================== */
.orchestra-roster {
  background-color: #E7F8FF;
}

.orchestra-roster__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .orchestra-roster__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .orchestra-roster__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.orchestra-roster__inner {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (min-width: 50em) {
  .orchestra-roster__inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.orchestra-roster__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
  background-color: #E7F8FF;
  margin: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 100px;
  z-index: 7;
}
@media (min-width: 32em) {
  .orchestra-roster__header {
    margin-right: 0;
  }
}

.orchestra-roster__view {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: #cfdfe5;
  border-radius: 30px;
  isolation: isolate;
  max-width: 300px;
}

.orchestra-roster__view--sticky {
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 5;
  -webkit-transform: translateY(calc(100% + 30px));
          transform: translateY(calc(100% + 30px));
  background-color: rgba(231, 248, 255, 0.7);
  backdrop-filter: blur(2px) contrast(0.5);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.orchestra-roster__view--sticky.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.orchestra-roster__view-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
  gap: 2.5px;
  cursor: pointer;
  width: 50%;
  font-weight: 700;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 15px 30px;
  border: 0;
  border-radius: 30px;
  white-space: nowrap;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
  z-index: 2;
}
.orchestra-roster__view-btn.is-checked {
  color: #fff;
}

.orchestra-roster__view-indicator {
  position: absolute;
  width: calc(50% - 5px);
  height: calc(100% - 10px);
  inset: 5px;
  background-color: #000;
  border-radius: 30px;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: -1;
}

.orchestra-roster__view:has(#orchestra-roster-view-name.is-checked) .orchestra-roster__view-indicator {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.orchestra-roster__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 32em) {
  .orchestra-roster__body {
    margin-top: -65px;
  }
}
@media (min-width: 50em) {
  .orchestra-roster__body {
    margin-top: -71px;
  }
}

.orchestra-roster-groups--instrument + .orchestra-roster-groups--instrument,
.orchestra-roster-groups--name + .orchestra-roster-groups--name {
  margin-top: 30px;
}
@media (min-width: 50em) {
  .orchestra-roster-groups--instrument + .orchestra-roster-groups--instrument,
  .orchestra-roster-groups--name + .orchestra-roster-groups--name {
    margin-top: 60px;
  }
}

/*  ==========================================================================
    Orchestra Roster - By Instrument
    ========================================================================== */
.orchestra-roster-groups--instrument .orchestra-roster-groups__heading {
  top: 0;
}

.orchestra-roster-groups__item .orchestra-roster-item__header .o-icon {
  width: 26px;
  height: 26px;
  -webkit-transition: rotate 0.4s ease;
  transition: rotate 0.4s ease;
}
.orchestra-roster-groups__item[open] .orchestra-roster-item__header {
  border-color: transparent;
}
.orchestra-roster-groups__item[open] .orchestra-roster-item__header .o-icon {
  rotate: 45deg;
}

.orchestra-roster-groups__heading {
  background-color: #E7F8FF;
  position: sticky;
  top: 70px;
  margin-bottom: 0;
  padding: 30px 0 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  z-index: 5;
}

.orchestra-roster-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 30px;
  margin-bottom: 60px;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media (min-width: 50em) {
  .orchestra-roster-item__content {
    gap: 40px 30px;
  }
}
@media (min-width: 62.5em) {
  .orchestra-roster-item__content {
    gap: 60px 30px;
  }
}

.orchestra-roster-item__content .orchestra-item {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 100%;
}
@media (min-width: 32em) {
  .orchestra-roster-item__content .orchestra-item {
    width: calc(50% - 31px);
    padding-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
  .orchestra-roster-item__content .orchestra-item:nth-child(2n) {
    padding-right: 0;
    border-right: none;
  }
}
@media (min-width: 62.5em) {
  .orchestra-roster-item__content .orchestra-item {
    width: calc(25% - 46px);
  }
  .orchestra-roster-item__content .orchestra-item:nth-child(2n) {
    padding-right: 30px;
    border-right: 1px solid rgba(0, 0, 0, 0.4);
  }
  .orchestra-roster-item__content .orchestra-item:nth-child(4n) {
    padding-right: 0;
    border-right: none;
  }
}

.orchestra-roster-item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding: 15px 0;
  cursor: pointer;
  -webkit-transition: border-color 0.4s ease;
  transition: border-color 0.4s ease;
}

.orchestra-roster-item__name {
  margin-bottom: 0;
}

/*  ==========================================================================
    Orchestra Roster - By Alphabet
    ========================================================================== */
.orchestra-roster-groups--name {
  scroll-margin-top: -140px;
}
.orchestra-roster-groups--name .orchestra-roster-groups__heading {
  top: 60px;
  margin-bottom: 30px;
}
.orchestra-roster-groups--name .orchestra-roster-item__content {
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .orchestra-roster-groups--name {
    scroll-margin-top: -160px;
  }
  .orchestra-roster-groups--name .orchestra-roster-groups__heading {
    top: 40px;
  }
}
@media (min-width: 80em) {
  .orchestra-roster-groups--name {
    scroll-margin-top: -160px;
  }
  .orchestra-roster-groups--name .orchestra-roster-groups__heading {
    top: 60px;
  }
}

.orchestra-roster__sticky {
  position: sticky;
  top: 0;
  margin-top: 15px;
  padding-top: 15px;
  background-color: #E7F8FF;
  z-index: 6;
}
@media (min-width: 32em) {
  .orchestra-roster__sticky {
    margin-top: 80px;
  }
}

.orchestra-roster__alphabet {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  list-style: none;
  padding: 0;
}
.orchestra-roster__alphabet::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .orchestra-roster__alphabet {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.orchestra-roster__letter,
.orchestra-roster__letter a,
.orchestra-roster__letter span {
  width: 50px;
  height: 50px;
}
.orchestra-roster__letter a,
.orchestra-roster__letter span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #000;
  font-weight: 700;
}
.orchestra-roster__letter span {
  opacity: 0.2;
  pointer-events: none;
}
.orchestra-roster__letter a {
  position: relative;
  background-color: rgba(0, 0, 0, 0.1);
  isolation: isolate;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.orchestra-roster__letter a:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: -1;
  -webkit-transform: scaleY(0.05);
          transform: scaleY(0.05);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  -webkit-transition: inherit;
  transition: inherit;
}
.orchestra-roster__letter a:hover {
  color: #fff;
}
.orchestra-roster__letter a:hover:before {
  -webkit-transform: scaleY(1);
          transform: scaleY(1);
}
@media (min-width: 62.5em) {
  .orchestra-roster__letter,
  .orchestra-roster__letter a,
  .orchestra-roster__letter span {
    width: 100%;
    height: unset;
    aspect-ratio: 1;
  }
}

/*  ==========================================================================
    Orchestra - Item
    ========================================================================== */
.orchestra-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}

.orchestra-item:last-child {
  border-right: none;
}

.orchestra-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 5px;
  padding: 15px 0;
}

.orchestra-item__link {
  display: block;
  width: 100%;
}

.orchestra-item__title {
  line-height: 1.3;
  margin-bottom: 0;
}

.orchestra-item__other-positions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  margin: 0;
  list-style: none;
}

.orchestra-item__other-position {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .orchestra-item__other-position {
    font-size: 16px;
  }
}
.orchestra-item__other-position:not(:last-child) {
  position: relative;
  margin-right: 10px;
  padding-right: 10px;
}
.orchestra-item__other-position:not(:last-child):before {
  position: absolute;
  content: "";
  height: 21px;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
  top: 0;
  bottom: 0;
  right: -1px;
  margin: auto;
}

.orchestra-item__media {
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.07);
}
.orchestra-item__media .o-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  height: 50%;
  opacity: 0.1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}

.orchestra-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 83.3333333333%;
  height: 0;
  overflow: hidden;
}

.orchestra-item__image {
  width: 100%;
  height: 100%;
  position: absolute;
  right: 0;
  z-index: 2;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}
.orchestra-item:hover .orchestra-item__image {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.orchestra-item__footer {
  border-top: 1px solid color-mix(in srgb, currentColor 40%, transparent);
  padding-top: 15px;
  margin-top: auto;
}

/*  ==========================================================================
    Artist Highlight Block
    ========================================================================== */
.artist-highlight {
  position: relative;
  background-color: #fff;
  color: #000;
  padding: 30px 0;
  overflow: hidden;
}
@media (min-width: 50em) {
  .artist-highlight {
    padding: 60px 0;
  }
}

.artist-highlight:last-child {
  margin-bottom: 0;
}

@media (min-width: 62.5em) {
  .artist-highlight__inner {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 62.5em) and (min-width: 50em) {
  .artist-highlight__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 62.5em) and (min-width: 100em) {
  .artist-highlight__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.artist-highlight__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .artist-highlight__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 50em) {
  .artist-highlight__header {
    gap: 40px;
    margin-bottom: 30px;
  }
}
@media (max-width: 62.49em) {
  .artist-highlight__header {
    width: 100%;
    max-width: 1440px;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 62.49em) and (min-width: 50em) {
  .artist-highlight__header {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (max-width: 62.49em) and (min-width: 100em) {
  .artist-highlight__header {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.artist-highlight__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.artist-highlight__title {
  margin-bottom: 0;
}

.artist-highlight__description {
  margin-bottom: 0;
  font-size: 18px;
  max-width: 1000px;
  line-height: 1.3;
}
.artist-highlight__description a {
  text-decoration: none;
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor)), -webkit-gradient(linear, left top, left bottom, from(currentColor), to(currentColor));
  background: linear-gradient(to bottom, currentColor 0%, currentColor 100%), linear-gradient(to bottom, currentColor 0%, currentColor 100%);
  background-position: 0 100%, 100% 100%;
  background-repeat: no-repeat, no-repeat;
  background-size: 100% 0.1em, 0 0.1em;
  text-decoration: none;
  -webkit-transition: background-size 0.2s ease-in-out;
  transition: background-size 0.2s ease-in-out;
  border-bottom: 0;
  padding-bottom: 0.05em;
}
@media (min-width: 50em) {
  .artist-highlight__description a {
    padding-bottom: 0.1em;
  }
}
@keyframes ButtonLine {
  0% {
    background-size: 100% 0.1em, 0 0.1em;
  }
  50% {
    background-size: 0 0.1em, 0 0.1em;
  }
  100% {
    background-size: 0 0.1em, 100% 0.1em;
  }
}
.artist-highlight__description a:visited {
  color: inherit;
}
.artist-highlight__description a:hover, .artist-highlight__description a:focus {
  -webkit-animation-name: ButtonLine;
          animation-name: ButtonLine;
  -webkit-animation-duration: 0.75s;
          animation-duration: 0.75s;
}
@media (min-width: 50em) {
  .artist-highlight__description {
    font-size: 20px;
    text-wrap: balance;
  }
}
@media (min-width: 62.5em) {
  .artist-highlight__description {
    font-size: 22px;
  }
}
@media (min-width: 72em) {
  .artist-highlight__description {
    font-size: 24px;
  }
}

.artist-highlight__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  margin-bottom: 20px;
}
@media (min-width: 32em) {
  .artist-highlight__actions {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 0;
  }
}

.artist-highlight__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 8px;
}
@media (max-width: 62.49em) {
  .artist-highlight__navigation {
    display: none;
  }
}

.artist-highlight__previous,
.artist-highlight__next {
  background-color: transparent;
  color: #000;
  border: 2px solid #000;
  border-radius: 100%;
  padding: 0;
  cursor: pointer;
  display: none;
  width: 34px;
  height: 34px;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
@media (min-width: 62.5em) {
  .artist-highlight__previous,
  .artist-highlight__next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.artist-highlight__previous.swiper-button-disabled,
.artist-highlight__next.swiper-button-disabled {
  cursor: not-allowed;
}
.artist-highlight__previous .o-icon,
.artist-highlight__next .o-icon {
  width: 16px;
  height: 16px;
  color: #000;
  -webkit-transition: color 0.4s ease;
  transition: color 0.4s ease;
}
.artist-highlight__previous:hover,
.artist-highlight__next:hover {
  background-color: #000;
  border-color: #000;
}
.artist-highlight__previous:hover .o-icon,
.artist-highlight__next:hover .o-icon {
  color: #fff;
}
.artist-highlight__previous:not(.swiper-button-disabled):hover .o-icon,
.artist-highlight__next:not(.swiper-button-disabled):hover .o-icon {
  opacity: 0.7;
}

.artist-highlight__previous {
  margin-right: 0;
}
.artist-highlight__previous .o-icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  margin-left: -2px;
}

.artist-highlight__next {
  margin-right: 15px;
}
.artist-highlight__next .o-icon {
  margin-right: -2px;
}
@media (min-width: 62.5em) {
  .artist-highlight__next {
    margin-right: 0;
  }
}

.artist-highlight__scroll::-webkit-scrollbar {
  display: none;
}
@media (max-width: 62.49em) {
  .artist-highlight__scroll {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-left: 40px;
  }
}
@media (max-width: 49.99em) {
  .artist-highlight__scroll {
    padding-left: 15px;
  }
}

.artist-highlight__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-overflow-scrolling: touch;
}

.artist-highlight__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 85%;
  padding-right: 12px;
  margin-right: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
.artist-highlight__item:not(:last-child) {
  border-right: 1px solid color-mix(in srgb, #000 40%, transparent);
}
@media (min-width: 32em) {
  .artist-highlight__item {
    width: 350px;
  }
}
@media (min-width: 62.5em) {
  .artist-highlight__item {
    width: calc(33.3% - 27px);
    padding-right: 20px;
    margin-right: 20px;
  }
  .artist-highlight__item:last-child {
    padding-right: 0;
    margin-right: 0;
  }
}

/*  ==========================================================================
    Artist Highlight Item
    ========================================================================== */
.artist-highlight-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  position: relative;
  color: #000;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .artist-highlight-item:hover .artist-highlight-item__image {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

.artist-highlight-item__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.artist-highlight-item__title {
  margin-bottom: 0;
  font-size: 24px;
}
@media (min-width: 50em) {
  .artist-highlight-item__title {
    font-size: 28px;
  }
}
@media (min-width: 62.5em) {
  .artist-highlight-item__title {
    font-size: 32px;
  }
}

.artist-highlight-item__footer {
  margin-top: 10px;
  padding: 10px 0 5px;
  border: solid rgba(0, 0, 0, 0.2);
  border-width: 1px 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.artist-highlight-item__event-title {
  font-weight: 700;
  text-wrap: pretty;
  line-height: 1.2;
}

/*  ==========================================================================
    Feature Panel - Image
    ========================================================================== */
.artist-highlight-item__media {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.artist-highlight-item__intrinsic-ratio {
  position: relative;
  padding-bottom: 66.6666666667%;
  height: 0;
}

.artist-highlight-item__image {
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

/*  ==========================================================================
    Event Header Sticky
    ========================================================================== */
.event-header-sticky {
  display: none;
  background-color: var(--theme-color);
  color: var(--theme-body-text-color);
  position: fixed;
  top: 0;
  left: 0;
  padding: 10px 0;
  width: 100%;
  -webkit-box-shadow: 0 4px 13px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 13px rgba(0, 0, 0, 0.15);
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  transition-behavior: allow-discrete;
  z-index: 5;
}
@media (min-width: 50em) {
  .event-header-sticky {
    padding: 15px 0;
  }
}
.event-header-sticky.is-visible {
  display: block;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@starting-style {
  .event-header-sticky.is-visible {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

.event-header-sticky__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .event-header-sticky__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .event-header-sticky__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.event-header-sticky__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 60px;
}

.event-header-sticky__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
}
@media (max-width: 49.99em) {
  .event-header-sticky__body {
    display: none;
  }
}

.event-header-sticky__title {
  font-size: 26px;
  margin-bottom: 0;
}
@media (min-width: 62.5em) {
  .event-header-sticky__title {
    font-size: 32px;
  }
}

.event-header-sticky__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px;
}
@media (max-width: 49.99em) {
  .event-header-sticky__actions {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.event-header-sticky__actions .btn--external {
  padding-right: 50px;
}
@media (min-width: 62.5em) {
  .event-header-sticky__actions .btn--external {
    padding-right: 64px;
  }
}

.event-header-sticky__meta {
  font-size: 16px;
  text-transform: uppercase;
}

.event-header-sticky__venue {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 15px;
  padding-left: 15px;
  border-left: 1px solid;
  height: 100%;
}

/*  ==========================================================================
    Bus Timetables
    ========================================================================== */
.bus-timetables {
  margin: 30px 0;
}
@media (min-width: 62.5em) {
  .bus-timetables {
    margin: var(--content-margin-small);
  }
}

.text-content:has(+ .bus-timetables) {
  margin-bottom: 40px;
}
@media (min-width: 62.5em) {
  .text-content:has(+ .bus-timetables) {
    margin-bottom: 60px;
  }
}

.bus-timetables__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .bus-timetables__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .bus-timetables__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.bus-timetables__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 42.5em) {
  .bus-timetables__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (min-width: 62.5em) {
  .bus-timetables__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 72em) {
  .bus-timetables__list {
    gap: 40px;
  }
}

/*  ==========================================================================
    Bus Timetable
    ========================================================================== */
.bus-timetable {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  padding: 20px 20px 10px;
  background-color: #F8F8F8;
}
@media (min-width: 50em) {
  .bus-timetable {
    padding: 30px 30px 20px;
  }
}

.bus-timetable__header {
  border-bottom: 1px solid #DAD6D6;
}

.bus-timetable__title {
  font-size: 24px;
}

.bus-timetable__description {
  font-size: 16px;
  text-wrap: pretty;
}
.bus-timetable__description p:last-child {
  margin-bottom: 0;
}

.bus-timetable__address {
  margin-bottom: 10px;
  line-height: 1.3;
  font-size: 14px;
  font-weight: 500;
}

.bus-timetable__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin: 0 0 15px;
  padding: 0;
  list-style: none;
}
.bus-timetable__tags .bus-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 3px;
  color: #fff;
  background-color: #EB008C;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.bus-timetable__tags .bus-tag .o-icon {
  width: 14px;
  height: 14px;
}

.bus-timetable__times {
  margin-bottom: 0;
  width: 100%;
  border-collapse: collapse;
  overflow: hidden;
}

.bus-timetable__times-heading {
  padding: 5px 0 15px;
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  text-wrap: pretty;
}
.bus-timetable__times-heading:last-child {
  text-align: right;
  padding-left: 15px;
}

.bus-timetable__times-row + .bus-timetable__times-row,
.bus-timetable__times-body .bus-timetable__times-row:first-child {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
}

.bus-timetable__times-cell {
  padding: 10px 0;
}
.bus-timetable__times-cell:last-child {
  text-align: right;
}

/*  ==========================================================================
    Transportation Header
    ========================================================================== */
.transportation-header {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--theme-color);
  padding: 40px 0;
}
@media (min-width: 50em) {
  .transportation-header {
    padding: 60px 0;
  }
}
@media (min-width: 62.5em) {
  .transportation-header {
    padding: 80px 0;
  }
}

.transportation-header__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .transportation-header__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .transportation-header__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.transportation-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  position: relative;
}

.transportation-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  color: var(--theme-body-text-color);
  z-index: 2;
}
@media (min-width: 62.5em) {
  .transportation-header__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
  }
}
@media (min-width: 72em) {
  .transportation-header__content {
    gap: 60px;
  }
}

.transportation-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}
@media (min-width: 62.5em) {
  .transportation-header__body {
    width: 70%;
  }
}

.transportation-header__breadcrumbs .o-icon {
  color: currentColor;
}

.transportation-header__titles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media (min-width: 62.5em) {
  .transportation-header__titles {
    width: 30%;
    padding-right: 30px;
    border-right: 1px solid color-mix(in srgb, var(--theme-body-text-color) 20%, transparent);
    min-width: 350px;
  }
}
@media (min-width: 72em) {
  .transportation-header__titles {
    padding-right: 40px;
    min-width: 400px;
  }
}

.transportation-header__title {
  margin-bottom: 0;
  text-wrap: balance;
  font-size: 42px;
}
@media (min-width: 50em) {
  .transportation-header__title {
    font-size: 48px;
  }
}
@media (min-width: 62.5em) {
  .transportation-header__title {
    font-size: 58px;
  }
}
@media (min-width: 72em) {
  .transportation-header__title {
    font-size: 68px;
  }
}

.transportation-header__description {
  font-size: var(--global-body-text);
  text-wrap: pretty;
  margin-bottom: 0;
}

.transportation-header__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 30px;
  padding-top: 20px;
  border-top: 1px solid color-mix(in srgb, var(--theme-body-text-color) 20%, transparent);
}

/*  ==========================================================================
    Transportation Map
    ========================================================================== */
.transportation-map {
  margin: 20px 0 40px;
}

.transportation-map__inner {
  width: 100%;
  max-width: 1440px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .transportation-map__inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .transportation-map__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.transportation-map__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (min-width: 50em) {
  .transportation-map__inner {
    gap: 30px;
  }
}

.transportation-map__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 15px 30px;
}
@media (min-width: 42.5em) {
  .transportation-map__header {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.transportation-map__zip,
.transportation-popover__search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  max-width: 420px;
}
.transportation-map__zip input,
.transportation-popover__search input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: solid #DAD6D6;
  border-width: 1px 0 1px 1px;
  border-radius: 3px 0 0 3px;
  padding: 15px 15px 12px 10px;
  font-size: 16px;
  outline: none;
  background: transparent;
}
.transportation-map__zip button[type=submit],
.transportation-popover__search button[type=submit] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 48px;
  height: auto;
  padding-right: 8px;
  border: 0;
  border-radius: 0 30px 30px 0;
  background-color: #000;
  color: #fff;
  cursor: pointer;
}
.transportation-map__zip button[type=submit] .o-icon,
.transportation-popover__search button[type=submit] .o-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.transportation-map__location-switcher {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background-color: rgba(0, 0, 0, 0.1);
  padding: 5px;
  border-radius: 30px;
  gap: 2.5px;
  position: relative;
  isolation: isolate;
  width: 100%;
  max-width: 360px;
}

.transportation-map__location-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 5px;
  border: 0;
  font-size: 14px;
  font-weight: 700;
  background-color: transparent;
  color: #000;
  cursor: pointer;
  white-space: nowrap;
  width: 33.33%;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease;
}
.transportation-map__location-tab.is-active {
  color: #fff;
}
@media (min-width: 32em) {
  .transportation-map__location-tab {
    padding: 10px 20px;
    font-size: 16px;
  }
}

.transportation-map__location-indicator {
  position: absolute;
  width: calc(33.33% - 3px);
  height: calc(100% - 10px);
  inset: 5px;
  background-color: #000;
  border-radius: 30px;
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  z-index: -1;
}
.transportation-map__location-tab:nth-child(2).is-active ~ .transportation-map__location-indicator {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}
.transportation-map__location-tab:nth-child(3).is-active ~ .transportation-map__location-indicator {
  -webkit-transform: translateX(200%);
          transform: translateX(200%);
}

.transportation-map__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 20px;
}
@media (min-width: 50em) {
  .transportation-map__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .transportation-map__body .transportation-map__buses,
  .transportation-map__body .transportation-map__map {
    width: 50%;
  }
}
@media (min-width: 62.5em) {
  .transportation-map__body {
    gap: 40px;
  }
  .transportation-map__body .transportation-map__buses {
    width: 40%;
  }
  .transportation-map__body .transportation-map__map {
    width: 60%;
  }
}

.transportation-map__bus-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.transportation-map__map {
  position: sticky;
  top: 0;
  margin: -15px 0;
  padding: 15px 0;
  background-color: #fff;
}
@media (min-width: 50em) {
  .transportation-map__map {
    margin: 0;
    padding: 0;
    top: 20px;
  }
}
@media (min-width: 62.5em) {
  .transportation-map__map {
    top: 40px;
  }
}

.transportation-map__loader {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.transportation-map__embed {
  border: 1px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  aspect-ratio: 4/3;
}
@media (min-width: 50em) {
  .transportation-map__embed {
    aspect-ratio: 1;
  }
}

.transportation-map__buses {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.transportation-map__bus-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
}

/*  ==========================================================================
    Transportation Map - Popover
    ========================================================================== */
.transportation-popover {
  height: 100%;
  width: 480px;
  max-width: 100%;
  left: auto;
  padding: 0 15px 20px;
  border: 0;
  background-color: #EBEBEB;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  transition-behavior: allow-discrete;
}
.transportation-popover:popover-open {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
@starting-style {
  .transportation-popover:popover-open {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

.transportation-popover__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: sticky;
  top: 0;
  padding: 20px 0 0;
  background-color: #EBEBEB;
  -webkit-box-shadow: 0px 0px 18px 20px #EBEBEB;
          box-shadow: 0px 0px 18px 20px #EBEBEB;
}

.transportation-popover__title {
  font-size: 26px;
  margin-bottom: 0;
}

.transportation-popover__close {
  background: none;
  padding: 0;
  border: 0;
  cursor: pointer;
}
.transportation-popover__close .o-icon {
  width: 20px;
  height: 20px;
}

.transportation-popover__search {
  margin: 20px 0;
  max-width: 100%;
}
.transportation-popover__search input {
  background-color: #fff;
  border-color: transparent;
}

.transportation-popover__events,
.transportation-popover__more-events {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.transportation-popover__more-events {
  display: none;
}
.transportation-popover__more-events.is-toggled {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.transportation-popover__more-events.is-toggled + .transportation-popover__view-all {
  display: none;
}

.transportation-popover__view-all {
  font-size: 14px;
  font-weight: 700;
  text-align: left;
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.transportation-popover__view-all:hover {
  text-decoration: underline;
}

.transportation-popover__events--upcoming {
  margin-top: 40px;
}
.transportation-popover__events--upcoming .transportation-event__tags {
  display: none;
}

.transportation-popover__heading {
  font-size: 20px;
}

/*  ==========================================================================
    Transportation Map - Bus Filter
    ========================================================================== */
.bus-filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}

.bus-filter__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bus-filter__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.bus-filter__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.bus-filter__btn .o-icon {
  width: 7px;
  height: 7px;
  padding: 3px;
  color: #000;
  background-color: transparent;
  border: 1px solid #000;
  border-radius: 100%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
@media (hover: hover) and (pointer: fine) {
  .bus-filter__btn:hover .o-icon {
    background-color: #92288F;
    border-color: #92288F;
    color: #fff;
  }
}

.bus-filter__btn--remove .o-icon {
  rotate: 45deg;
  width: 8px;
  height: 8px;
}

.bus-filter__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  padding: 15px;
  background-color: #92288F;
  color: #fff;
}
@media (min-width: 50em) {
  .bus-filter__body {
    padding: 20px;
  }
}
@media (min-width: 62.5em) {
  .bus-filter__body {
    padding: 30px;
  }
}

.bus-filter__content {
  width: 100%;
}

.bus-filter__title {
  font-size: 18px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .bus-filter__title {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .bus-filter__title {
    font-size: 24px;
  }
}

.bus-filter__date {
  font-size: 12px;
  text-transform: uppercase;
}

.bus-filter__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px 15px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.bus-filter__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
}
.bus-filter__time .o-icon {
  width: 14px;
  height: 14px;
}

.bus-filter__image {
  width: 100px;
  height: auto;
}

/*  ==========================================================================
    Transportation Map - Bus Item
    ========================================================================== */
.bus-item {
  background-color: #F8F8F8;
  padding: 20px 15px;
}
@media (min-width: 50em) {
  .bus-item {
    padding: 20px;
  }
}
@media (min-width: 62.5em) {
  .bus-item {
    padding: 30px;
  }
}
.bus-item.is-hidden, .bus-item.is-removed {
  display: none;
}

.bus-item--bowl-shuttle.is-active .bus-tag,
.bus-item--bowl-shuttle:hover .bus-tag {
  background-color: #356129;
}

.bus-item--park-ride.is-active .bus-tag,
.bus-item--park-ride:hover .bus-tag {
  background-color: #EB008C;
}

.bus-item__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 3px;
}
@media (min-width: 62.5em) {
  .bus-item__header {
    margin-bottom: 5px;
  }
}

.bus-item__title {
  font-size: 18px;
  margin-bottom: 0;
}
@media (min-width: 50em) {
  .bus-item__title {
    font-size: 20px;
  }
}
@media (min-width: 62.5em) {
  .bus-item__title {
    font-size: 24px;
  }
}

.bus-item__miles {
  font-size: 16px;
  font-weight: 700;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.bus-item__address {
  font-weight: 700;
  font-size: 14px;
}

.bus-item__description {
  font-size: 16px;
  margin: 15px 0;
  padding: 15px 0;
  border: solid #DAD6D6;
  border-width: 1px 0;
  text-wrap: pretty;
}

.bus-item__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.bus-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 5px 10px;
  border-radius: 3px;
  color: #fff;
  background-color: #000;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  -webkit-transition: background-color 0.4s ease;
  transition: background-color 0.4s ease;
}
.bus-tag .o-icon {
  width: 14px;
  height: 14px;
}

.bus-item__ctas {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.bus-item__cta {
  font-size: 16px;
}
@media (min-width: 62.5em) {
  .bus-item__cta {
    font-size: 18px;
  }
}
.bus-item__cta .o-icon {
  width: 18px;
  height: 18px;
}

/*  ==========================================================================
    Transportation Event
    ========================================================================== */
.transportation-event {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 15px;
  padding: 15px;
  background-color: #fff;
}

.transportation-event__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
}

.transportation-event__title {
  font-size: 18px;
  margin-bottom: 0;
  text-align: left;
}
@media (min-width: 50em) {
  .transportation-event__title {
    font-size: 20px;
  }
}

.transportation-event__date {
  font-size: 12px;
  text-transform: uppercase;
  margin-bottom: 4px;
}

.transportation-event__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px 15px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  width: 100%;
}

.transportation-event__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 14px;
}
.transportation-event__time .o-icon {
  width: 14px;
  height: 14px;
}

.transportation-event__tags {
  margin-top: 15px;
}

.transportation-event__tags--bowl-shuttle .bus-tag {
  background-color: #356129;
}

.transportation-event__tags--park-ride .bus-tag {
  background-color: #EB008C;
}

.transportation-event__image {
  width: 100px;
  height: auto;
}

/*  ==========================================================================
	Animation
	========================================================================== */
@-webkit-keyframes fade-down-title {
  from {
    opacity: 0;
    -webkit-transform: translateY(-75px);
            transform: translateY(-75px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fade-down-title {
  from {
    opacity: 0;
    -webkit-transform: translateY(-75px);
            transform: translateY(-75px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fade-down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fade-down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fade-up {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fade-up {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes split-reveal {
  from {
    -webkit-mask-position: 50% 50%, 50% 50%;
            mask-position: 50% 50%, 50% 50%;
  }
  to {
    -webkit-mask-position: 0% 0%, 100% 100%;
            mask-position: 0% 0%, 100% 100%;
  }
}
@keyframes split-reveal {
  from {
    -webkit-mask-position: 50% 50%, 50% 50%;
            mask-position: 50% 50%, 50% 50%;
  }
  to {
    -webkit-mask-position: 0% 0%, 100% 100%;
            mask-position: 0% 0%, 100% 100%;
  }
}
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes width-grow {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@keyframes width-grow {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
@-webkit-keyframes move-up {
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes move-up {
  from {
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes move-down {
  from {
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes move-down {
  from {
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px);
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
.followed-artist {
  text-transform: uppercase;
  color: #000;
}
.artist-program-artist .followed-artist {
  font-size: 12px;
}
.artist-item__header .followed-artist {
  font-size: 13px;
}

/* ==========================================================================
   Widgets
   ========================================================================== */
/* ==========================================================================
   Utilities
   ========================================================================== */
/* ==========================================================================
   Utilities: Visibility
   ========================================================================== */
/**
 * JS helpers
 */
.no-js .u-visible-js, .supports-js .u-hidden-js {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.supports-js .u-hidden-js {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/**
 * Hide from browsers, but not screenreaders
 */
.visually-hidden, .u-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/**
 * Hide from both screenreaders and browsers: h5bp.com/u
 */
[hidden], .u-hidden {
  display: none !important;
  visibility: hidden;
}

/**
 * Hide visually and from screenreaders, but maintain layout
 */
.u-invisible {
  visibility: hidden;
}

/**
 * Image Replacement
 */
.u-ir {
  display: block;
  text-indent: -999999px;
  overflow: hidden;
}

/*  ==========================================================================
	Dialog
	========================================================================== */
.dialog {
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
}
.dialog::-ms-backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.dialog::backdrop {
  backdrop-filter: blur(4px);
  background-color: rgba(0, 0, 0, 0.8);
}
.dialog[open] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.dialog__inner {
  background-color: #fff;
  padding: 30px;
}

.dialog__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.dialog__close {
  background: transparent;
  border: none;
  cursor: pointer;
}

.o-icon {
  width: 30px;
  height: 30px;
}
@media (min-width: 50em) {
  .o-icon {
    width: 40px;
    height: 40px;
  }
}

@media (min-width: 50em) {
  .dialog__body {
    font-size: 18px;
  }
}

/* ==========================================================================
   Utilities: Layout
   ========================================================================== */
.u-constrained {
  width: 100%;
  max-width: 1640px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 50em) {
  .u-constrained {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media (min-width: 100em) {
  .u-constrained {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.u-fullwidth {
  display: block;
  width: 100%;
}

.u-inset {
  padding-top: 16px;
  padding-bottom: 16px;
}

.u-padded {
  padding: 16px;
}

.u-ratio {
  position: relative;
  height: 0;
  /*  Maintain layout, based on 4:3 aspect-ratio */
  padding-bottom: 75%;
}

.u-ratio--5-3 {
  /*  Maintain layout, based on 5:3 aspect-ratio */
  padding-bottom: 60%;
}

.u-ratio--16-9 {
  /*  Maintain layout, based on 5:3 aspect-ratio */
  padding-bottom: 56.25%;
}

.u-ratio--square {
  /*  Maintain layout, based on square aspect-ratio */
  padding-bottom: 100%;
}

.u-button-reset {
  padding: 0;
  border: 0;
  outline: none;
  background: transparent;
}

/* ==========================================================================
   Utilities: Tones
   ========================================================================== */
.u-tone-primary {
  color: #09F;
}

.u-tone-bg-tint {
  color: contrasting(, , #000);
  border-color: currentColor;
}

.u-tone-bg-primary {
  color: contrasting(#09F, , #000);
  background-color: #09F;
  border-color: currentColor;
  color: #fff;
}

.u-tone-bg-dark {
  color: contrasting(, , #000);
  border-color: currentColor;
  color: #fff;
}

/* ==========================================================================
   Utilities: Text
   ========================================================================== */
.u-font-scale-display-1 {
  font-size: 16px;
}

.u-font-scale-display-2 {
  font-size: 18px;
}

.u-font-scale-display-3 {
  font-size: 20px;
}

.u-font-scale-display-4 {
  font-size: 22px;
}

.u-font-scale-display-5 {
  font-size: 24px;
}

.u-font-scale-display-6 {
  font-size: 26px;
}

.u-font-scale-display-7 {
  font-size: 28px;
}

.u-font-scale-display-8 {
  font-size: 32px;
}

.u-font-scale-display-9 {
  font-size: 36px;
}

.u-font-scale-display-10 {
  font-size: 42px;
}

.u-font-scale-display-11 {
  font-size: 48px;
}

.u-font-scale-display-12 {
  font-size: 58px;
}

.u-font-scale-display-13 {
  font-size: 64px;
}

.u-font-scale-display-14 {
  font-size: 74px;
}

.u-font-scale-display-15 {
  font-size: 90px;
}

.u-font-scale-display-16 {
  font-size: 96px;
}

.u-font-scale-body-1 {
  font-size: 8px;
}

.u-font-scale-body-2 {
  font-size: 10px;
}

.u-font-scale-body-3 {
  font-size: 12px;
}

.u-font-scale-body-4 {
  font-size: 14px;
}

.u-font-scale-body-5 {
  font-size: 16px;
}

.u-font-scale-body-6 {
  font-size: 18px;
}

.u-font-scale-body-7 {
  font-size: 20px;
}

.u-font-scale-body-8 {
  font-size: 22px;
}

.u-font-scale-body-9 {
  font-size: 24px;
}

.u-font-scale-body-10 {
  font-size: 26px;
}

.u-font-scale-body-11 {
  font-size: 28px;
}

.u-font-scale-body-12 {
  font-size: 32px;
}

.u-font-scale-caption-1 {
  font-size: 11px;
}

.u-font-scale-caption-2 {
  font-size: 12px;
}

.u-font-scale-caption-3 {
  font-size: 14px;
}

.u-font-scale-caption-4 {
  font-size: 16px;
}

.u-font-scale-monospace-1 {
  font-size: 14px;
}

.u-font-scale-monospace-2 {
  font-size: 16px;
}

.u-block-link {
  display: block;
  height: 100%;
}

.u-list-unstyled {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* ==========================================================================
   Print (inlined for performance)
   ========================================================================== */
/* ==========================================================================
   Print
   ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important;
  }
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
   * Don't show links for images, or javascript/internal links
   */
  a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group; /* h5bp.com/t */
  }
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}
:root {
  --theme-color: #09F;
  --theme-body-text-color: #000;
  --theme-body-text-color-inverse: #fff;
}

/* ------------------------------------*\
    #ANNOTATIONS
\*------------------------------------ */
/**
 * Annotated elements styles
 * 1) Annotation styles that appear inside the iframe
 * 2) For elements in the DOM that have an annotation, we want to
 * provide styles that help the user understand that annotations are available.
 * We do this with some cursor helpers and a
 */
.pl-has-annotation {
  cursor: help !important;
  outline: 1px dotted #808080;
  outline-offset: -4px;
  -webkit-transition: -webkit-box-shadow 0.2s ease;
  transition: -webkit-box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.pl-has-annotation a,
.pl-has-annotation input {
  cursor: help !important;
}
.pl-has-annotation:hover {
  -webkit-box-shadow: 0 0 3px #808080;
          box-shadow: 0 0 3px #808080;
}
.pl-has-annotation.active {
  -webkit-box-shadow: inset 0 0 6px #4d4d4d;
          box-shadow: inset 0 0 6px #4d4d4d;
  outline: 1px dotted #808080;
  outline-offset: -1px;
}

/*# sourceMappingURL=style-phil.css.map */