html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

* {
  box-sizing: border-box; }

*:before,
*:after {
  box-sizing: border-box; }

.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; }

.hidden {
  display: none !important; }

textarea,
input,
button,
select {
  font-family: inherit;
  font-size: inherit;
  text-align: inherit;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none; }

input,
textarea,
input::placeholder,
textarea::placeholder {
  background: inherit;
  color: inherit;
  border: none;
  padding: 0;
  outline: inherit;
  opacity: 1; }

textarea {
  resize: none; }

input:not([type="submit"]),
textarea {
  display: block;
  width: 100%;
  border-radius: 0; }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none; }

input[type="number"] {
  -moz-appearance: textfield; }

select {
  background: none;
  width: 100%;
  cursor: pointer;
  border: none;
  outline: none;
  border-radius: 0;
  color: var(--fg);
  margin: 0;
  padding: 0; }

select option {
  color: var(--fg);
  margin: 0;
  padding: 0;
  background: var(--bg); }

select:focus {
  outline: none; }

ul,
li {
  text-decoration: none;
  list-style: none; }

/* Input Elements */
button,
input[type="submit"],
input[type="reset"],
div[role="button"] {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
  -webkit-appearance: none;
  border-radius: 0; }

input[type="button"],
input[type="button"]:focus {
  outline: none; }

a:link,
a:visited,
a:link span,
a:visited span {
  color: inherit;
  cursor: pointer;
  text-decoration: none; }

@font-face {
  font-family: 'OldschoolGrotesk';
  src: url("../fonts/OldschoolGroteskCompact-Book.woff2") format("woff2"), url("../fonts/OldschoolGroteskCompact-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'OldschoolGrotesk Heavy';
  src: url("../fonts/OldschoolGroteskCompact_W-Heavy.woff2") format("woff2"), url("../fonts/OldschoolGroteskCompact_W-Heavy.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

/* Root Elements */
:root {
  --Fb: 1rem;
  --brown: #3E2A27;
  --white: #FFFFFF;
  --off-white: #F7F7F7;
  --grey: #9A908F;
  --blue: #028CF4;
  --fg: var(--brown);
  --bg: var(--off-white);
  --pGap: 25px;
  --Pm: 45px;
  --Pg: 150px;
  --negPg: -150px;
  --Ps: 15px;
  --Ph: calc(0.5 * var(--Pm));
  --Pq: calc(0.2 * var(--Ph));
  --Pd: calc(2 * var(--Pm));
  --Hh: 70px;
  --Hs: calc(100vh - var(--Hh));
  --Wf: calc(100% + (2 * var(--Pm)));
  --Wg: calc(100% + var(--Pm));
  --Ml: calc(-1 * var(--Pm));
  --fxxl: clamp(35px, 8vw, 100px);
  --fxl: 65px;
  --fl: 50px;
  --fm: 45px;
  --fsm: 30px;
  --fpm: 24px;
  --fp: 18px;
  --fs: 15px;
  --fxs: 14px;
  --size: var(--fs); }
  @media screen and (max-width: 999px) {
    :root {
      --fxl: 30px;
      --fl: 24px;
      --fm: 30px;
      --fsm: 20px;
      --fpm: 16px;
      --fp: 18px;
      --fs: 15px;
      --pGap: 15px;
      --Pm: 20px;
      --Pg: 40px;
      --negPg: -40px;
      --Ps: 10px; } }
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'OldschoolGrotesk', Helvetica, sans-serif;
  overflow-x: hidden;
  height: auto;
  background-color: var(--bg);
  color: var(--fg); }

body.no-scroll {
  position: fixed;
  width: 100%;
  overflow: hidden; }

main {
  min-height: 100vh; }

.fxxl {
  font-size: var(--fxxl);
  line-height: 1;
  font-family: 'OldschoolGrotesk Heavy', Helvetica, sans-serif;
  letter-spacing: 1px; }

.fxl {
  font-size: var(--fxl);
  font-family: 'OldschoolGrotesk Heavy', Helvetica, sans-serif;
  line-height: 116.667%; }

.fl {
  font-size: var(--fl);
  font-family: 'OldschoolGrotesk Heavy', Helvetica, sans-serif;
  line-height: 116.667%; }

.fm {
  font-size: var(--fm);
  line-height: 116.667%; }

.fsm {
  font-size: var(--fsm);
  line-height: 116.667%; }

.fpm {
  font-size: var(--fpm);
  line-height: 105%; }

.fp, html {
  font-size: var(--fp);
  line-height: 116.667%; }

.fs {
  font-size: var(--fs);
  line-height: 116.667%; }

.fxs {
  font-size: var(--fxs);
  line-height: 1; }

.italic, em {
  font-style: italic; }

.bold {
  font-family: 'OldschoolGrotesk Heavy', Helvetica, sans-serif; }

strong {
  font-weight: 600; }

.upcase {
  text-transform: uppercase; }

.trans-opacity {
  transition: opacity 0.2s ease; }
  .trans-opacity:hover {
    opacity: 0.8; }

.pxg, [data-template="page"] .media-block, [data-template="article"] .media-block {
  padding-right: var(--Pg);
  padding-left: var(--Pg); }

.pyg {
  padding-top: var(--Pg);
  padding-bottom: var(--Pg); }

.pbg {
  padding-bottom: var(--Pg); }

.py {
  padding-top: var(--Pm);
  padding-bottom: var(--Pm); }

.px {
  padding-left: var(--Pm);
  padding-right: var(--Pm); }

.pyd {
  padding-top: var(--Pd);
  padding-bottom: var(--Pd); }

.pt {
  padding-top: var(--Pm); }

.pr {
  padding-right: var(--Pm); }

.pl {
  padding-left: var(--Pm); }

.pb {
  padding-bottom: var(--Pm); }

.pys {
  padding-top: var(--Ph);
  padding-bottom: var(--Ph); }

.pxs {
  padding-left: var(--Ph);
  padding-right: var(--Ph); }

.pts {
  padding-top: var(--Ph); }

.prs {
  padding-right: var(--Ph); }

.pls {
  padding-left: var(--Ph); }

.pbs {
  padding-bottom: var(--Ph); }

.page-top {
  padding-top: 120px; }

.visaully-hidden {
  visibility: hidden;
  position: absolute;
  z-index: -10;
  display: none; }

.enter {
  opacity: 0;
  transition: opacity 1s ease 0.2s; }

.enter.entered {
  opacity: 1; }

/* Details Elements */
summary,
summary:focus {
  outline: none;
  list-style-type: none;
  position: relative;
  cursor: pointer;
  transition: all 0.3s; }

details summary::marker,
details summary::-webkit-details-marker {
  content: "";
  visibility: hidden;
  position: absolute;
  z-index: -10;
  list-style-type: none;
  display: none; }

summary > * {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between; }

summary > *::after {
  content: "+";
  margin-left: var(--Pm); }

@media (hover: hover) and (pointer: fine) {
  details summary:hover {
    opacity: 0.5; } }

details[open] summary > *::after {
  content: "-"; }

details[open] summary ~ * {
  animation: appear 0.4s ease-in;
  -webkit-animation: appear 0.4s ease-in; }

details.closing summary ~ * {
  animation: close 0.4s ease-out; }

@keyframes appear {
  0% {
    opacity: 0;
    max-height: 0; }
  100% {
    opacity: 1;
    max-height: calc(var(--vh, 1vh) * 100); } }

@keyframes close {
  0% {
    opacity: 1;
    max-height: calc(var(--vh, 1vh) * 100); }
  100% {
    opacity: 0;
    max-height: 0; } }

/* Image/Video Elements */
.aspectholder > * {
  display: block; }

.vsc-controller {
  height: 0 !important;
  width: 0 !important;
  object-fit: unset !important; }

.grid-12, [data-template="page"] .media-block, [data-template="article"] .media-block {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pm);
  row-gap: var(--Pm);
  width: 100%; }

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pm);
  row-gap: var(--Pm);
  width: 100%; }

.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pm);
  row-gap: var(--Pm);
  width: 100%; }

.center-heading {
  text-align: center; }

.p-gutter {
  padding-left: var(--Pg);
  padding-right: var(--Pg); }

.p-gutter-y {
  padding-top: var(--Pg);
  padding-bottom: var(--Pg); }

[data-template="home"] header {
  background-color: var(--blue); }
  [data-template="home"] header.scrolled {
    background-color: var(--bg); }

[data-template="event"] header {
  position: relative;
  background-color: var(--blue); }

header {
  padding: 0 var(--Ph);
  background-color: var(--bg);
  min-height: 70px;
  position: sticky;
  top: 0;
  width: 100vw;
  z-index: 110;
  transition: background-color 0.5s ease 1.3s; }
  header.active {
    background-color: var(--blue) !important;
    transition: background-color 1s ease; }
  header.fixed {
    background-color: var(--blue) !important;
    transition: background-color 0.5s ease; }
  header .header-inner {
    padding: 15px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    border-bottom: var(--brown) 1px solid; }
  header .menu-item {
    flex: 1;
    display: flex; }
    header .menu-item.center {
      justify-content: center;
      align-items: center; }
  header .menu-toggle {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    column-gap: var(--Ps); }
    header .menu-toggle .text {
      height: 20px;
      width: 50px;
      overflow: hidden;
      position: relative; }
      header .menu-toggle .text .menu {
        position: absolute;
        top: 0;
        left: 0;
        transition: top 0.5s ease-in-out 0.2s; }
      header .menu-toggle .text .close {
        position: absolute;
        top: 100%;
        left: 0;
        transition: top 0.5s ease-in-out 0.2s; }
    header .menu-toggle .burger {
      position: relative;
      height: 9px;
      width: 63px; }
      header .menu-toggle .burger span {
        position: absolute;
        width: 100%;
        height: 1px;
        background-color: var(--brown);
        transition: top 0.5s ease  0.4s, transform 0.5s ease; }
        header .menu-toggle .burger span:first-of-type {
          top: 0; }
        header .menu-toggle .burger span:last-of-type {
          top: 100%; }
    header .menu-toggle.active .text {
      height: 20px;
      width: 50px;
      overflow: hidden;
      position: relative; }
      header .menu-toggle.active .text .menu {
        top: -100%; }
      header .menu-toggle.active .text .close {
        top: 0; }
    header .menu-toggle.active .burger span {
      transition: top 0.5s ease, transform 0.5s ease 0.4s; }
    header .menu-toggle.active .burger span:first-of-type {
      top: 50% !important;
      left: 0%;
      transform: rotate(10deg); }
    header .menu-toggle.active .burger span:last-of-type {
      top: 50%;
      left: 0%;
      transform: rotate(-10deg); }
  header .header-menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    column-gap: var(--Ph);
    align-items: center; }
    header .header-menu span {
      pointer-events: none; }
    header .header-menu .header-cta {
      display: inline-block;
      min-width: 80px;
      /* Reserve space */
      height: 20px; }
      header .header-menu .header-cta .aspectholder {
        display: none; }
    header .header-menu .search {
      position: relative;
      overflow: hidden;
      width: 100px;
      height: 30px;
      height: 20px;
      width: 70px;
      overflow: hidden;
      position: relative; }
      header .header-menu .search .tsearch {
        position: absolute;
        top: 0;
        left: 0;
        transition: top 0.5s ease-in-out 0.2s; }
      header .header-menu .search .tclose {
        position: absolute;
        top: 100%;
        left: 0;
        transition: top 0.5s ease-in-out 0.2s; }
      header .header-menu .search.active .tsearch {
        top: -100%; }
      header .header-menu .search.active .tclose {
        top: 0; }
      header .header-menu .search svg {
        display: none; }

.footer-form {
  background-color: var(--brown);
  position: relative;
  color: var(--off-white);
  padding: 0 var(--Ph);
  padding-top: var(--Ph);
  display: flex;
  flex-direction: column;
  row-gap: var(--Pg);
  z-index: 10; }
  .footer-form .footer-form-text {
    display: flex;
    column-gap: var(--Pm); }
    .footer-form .footer-form-text .message {
      max-width: 320px;
      padding-top: 3px; }
  .footer-form #mc-embedded-subscribe-form {
    margin: 0 !important;
    text-transform: uppercase !important; }
  .footer-form #mc_embed_signup_scroll {
    display: flex;
    width: 100%;
    align-items: center; }
  .footer-form input[data-com-onepassword-filled="dark"] {
    background-color: transparent !important; }
  .footer-form #mc_embed_signup div#mce-responses {
    width: unset; }
  .footer-form #mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {
    border: none; }
  .footer-form #mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {
    display: none !important; }
  .footer-form #mc_embed_signup .mc-field-group input {
    display: block;
    width: 100%;
    padding: 0;
    text-indent: 0%;
    background-color: var(--brown) !important; }
    .footer-form #mc_embed_signup .mc-field-group input::placeholder {
      opacity: 0.5 !important; }
  .footer-form #mc_embed_signup input {
    border: none !important; }
  .footer-form #mc_embed_signup .button {
    clear: both;
    background-color: transparent;
    border: 0 none;
    border-radius: unset;
    transition: all 0.23s ease-in-out 0s;
    color: var(--off-white);
    cursor: pointer;
    display: inline-block;
    font-size: unset;
    font-weight: normal;
    height: auto;
    line-height: unset;
    margin: unset;
    padding: unset;
    text-align: center;
    text-decoration: none;
    vertical-align: top;
    white-space: nowrap;
    width: unset;
    width: -moz-fit-content; }
    .footer-form #mc_embed_signup .button:hover {
      opacity: 0.5; }
  .footer-form #mc_embed_signup .button:hover {
    background-color: transparent; }
  .footer-form [aria-hidden="true"] {
    display: block; }
  .footer-form #mc_embed_signup .mc-field-group {
    clear: left;
    position: relative;
    padding-bottom: unset;
    min-height: unset;
    min-width: fit-content;
    display: grid;
    width: 100%; }
  .footer-form #mc_embed_signup div#mce-responses {
    float: left;
    top: -1.4em;
    padding: 0;
    overflow: hidden;
    width: auto;
    margin: 0;
    height: fit-content;
    clear: both; }
  .footer-form #mc_embed_signup #mce-success-response {
    color: var(--off-white);
    opacity: 0.5;
    display: none; }
  .footer-form #mc_embed_signup div.response {
    margin: 0;
    padding: 0;
    font-weight: bold;
    float: left;
    top: 0;
    z-index: 1;
    width: 80%; }

@media screen and (max-width: 900px) {
  .footer-form {
    padding-top: var(--Pm); }
    .footer-form-text {
      flex-direction: column; }
      .footer-form-text .fsm {
        font-size: 18px !important; }
    .footer-form #mc_embed_signup_scroll.fxl {
      font-size: var(--fsm) !important; }
    .footer-form #mc-embedded-subscribe svg {
      width: 34px;
      height: 16px; } }

footer {
  padding: var(--Ph) var(--Ph) 40px var(--Ph);
  background-color: var(--brown);
  color: var(--off-white);
  display: flex;
  flex-direction: column;
  row-gap: var(--Pm);
  position: relative;
  z-index: 12; }
  footer .acknowledgement {
    padding: var(--Ph) 0;
    border-top: 1px solid var(--off-white);
    border-bottom: 1px solid var(--off-white);
    color: var(--off-white);
    text-align: center; }
  footer .contacts-hours-socials .contacts {
    grid-column: span 2; }
  footer .contacts-hours-socials .hours {
    grid-column: span 3; }
  footer .contacts-hours-socials .socials {
    grid-column: 11/13;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start; }
  footer .contacts-hours-socials .item {
    display: flex;
    flex-direction: column;
    row-gap: var(--Ph); }
  footer .contacts-hours-socials .hours-times {
    display: flex;
    flex-direction: column; }
    footer .contacts-hours-socials .hours-times-item {
      display: flex;
      flex-direction: row;
      column-gap: var(--Ph); }
    footer .contacts-hours-socials .hours-times .day {
      display: block;
      width: 50px; }
  footer .contacts-hours-socials .socials-socials {
    display: flex;
    flex-direction: column;
    row-gap: 16px; }
    footer .contacts-hours-socials .socials-socials-links {
      display: flex;
      flex-direction: row;
      column-gap: 3px; }
      footer .contacts-hours-socials .socials-socials-links a {
        display: block;
        width: 50px;
        height: 50px;
        border-radius: 100px;
        background: var(--off-white);
        color: var(--brown);
        line-height: 1;
        display: flex;
        justify-content: center;
        align-items: center; }
  footer .footer-svg {
    width: calc(100vw - 50px); }
    footer .footer-svg svg {
      width: 100%;
      height: 100%; }
      footer .footer-svg svg path {
        fill: var(--blue); }

section {
  background-color: var(--bg);
  color: var(--fg); }

.menu-overlay {
  background-color: var(--blue);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
  width: 100vw;
  height: 100dvh;
  transform: translateY(103vh);
  box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: var(--Hh) var(--pGap) var(--pGap) var(--pGap); }
  .menu-overlay .menu-overlay-main .main-menu {
    display: flex;
    flex-direction: column;
    padding: var(--Hh) 0;
    width: 30vw;
    row-gap: var(--Ps);
    position: relative; }
    .menu-overlay .menu-overlay-main .main-menu a, .menu-overlay .menu-overlay-main .main-menu p {
      opacity: 0;
      transform: translateY(3vh);
      line-height: 1;
      transition: color 0.1s ease;
      position: relative;
      overflow: hidden;
      width: fit-content;
      max-width: 30vw; }
      @media not all and (hover: none) {
        .menu-overlay .menu-overlay-main .main-menu a:hover, .menu-overlay .menu-overlay-main .main-menu p:hover {
          color: var(--off-white); } }
      .menu-overlay .menu-overlay-main .main-menu a.active, .menu-overlay .menu-overlay-main .main-menu p.active {
        color: var(--off-white); }
    .menu-overlay .menu-overlay-main .main-menu .sub-menus {
      position: absolute;
      left: 100%;
      top: var(--Hh);
      width: fit-content;
      display: flex;
      flex-direction: column;
      row-gap: 8px;
      opacity: 0;
      transition: opacity 0.3s ease;
      pointer-events: none; }
      .menu-overlay .menu-overlay-main .main-menu .sub-menus.active {
        opacity: 1;
        pointer-events: all; }
      .menu-overlay .menu-overlay-main .main-menu .sub-menus a {
        white-space: nowrap; }
  .menu-overlay .menu-overlay-footer .main-menu {
    display: flex;
    flex-direction: row;
    column-gap: var(--pGap); }
    .menu-overlay .menu-overlay-footer .main-menu * {
      font-size: var(--fpm) !important;
      text-transform: unset;
      font-family: 'OldschoolGrotesk', Helvetica, sans-serif; }
    .menu-overlay .menu-overlay-footer .main-menu a {
      opacity: 0;
      transform: translateY(3vh);
      line-height: 1;
      transition: color 0.1s ease;
      position: relative;
      overflow: hidden;
      width: fit-content;
      max-width: 30vw; }
      .menu-overlay .menu-overlay-footer .main-menu a:hover {
        color: var(--off-white); }

.search-modal {
  position: fixed;
  z-index: 100;
  top: var(--Hh);
  width: 100%;
  background-color: var(--blue);
  padding: 5px var(--Ph);
  padding-bottom: 0;
  transform: translateY(-200%);
  transition: transform 0.7s ease; }
  .search-modal.active {
    transform: translateY(0%); }
  .search-modal input {
    line-height: 1;
    height: var(--Hh);
    border-bottom: 1px solid var(--brown); }
    .search-modal input::placeholder {
      opacity: 0.5; }
  .search-modal .search-info {
    padding: calc(var(--Ph) / 2) 0;
    border-bottom: 1px solid var(--brown);
    display: none; }
  .search-modal .search-results {
    height: 0;
    overflow: scroll;
    display: flex;
    flex-direction: column;
    row-gap: var(--Ph);
    -ms-overflow-style: none;
    /* Internet Explorer 10+ */
    scrollbar-width: none;
    /* Firefox */ }
    .search-modal .search-results::-webkit-scrollbar {
      display: none;
      /* Safari and Chrome */ }
    .search-modal .search-results.active {
      height: calc(100vh - (var(--Hh) * 2));
      padding: var(--Ph) 0 70px; }
    .search-modal .search-results .search-result {
      display: flex;
      flex-direction: row;
      padding-bottom: var(--Ph);
      border-bottom: 1px solid var(--brown); }
      .search-modal .search-results .search-result .aspectholder {
        grid-column: span 2;
        height: auto; }
        .search-modal .search-results .search-result .aspectholder * {
          width: 100%;
          object-fit: cover; }
      .search-modal .search-results .search-result .main-data {
        grid-column: span 8;
        display: flex;
        flex-direction: column;
        row-gap: 10px;
        transition: color 0.3s ease; }
      .search-modal .search-results .search-result .pill-holder {
        grid-column: span 2;
        display: flex;
        align-items: center;
        justify-content: flex-end; }
        .search-modal .search-results .search-result .pill-holder .pill {
          background-color: transparent; }
      .search-modal .search-results .search-result:hover .pill-holder .pill {
        background-color: var(--brown);
        color: var(--white); }
      .search-modal .search-results .search-result:hover .main-data {
        color: var(--off-white); }
    .search-modal .search-results .search-result.event .excerpt {
      display: none; }
    .search-modal .search-results .search-result.article .date {
      display: none; }

.mobile-close {
  display: none; }

@media screen and (max-width: 900px) {
  .mobile-close {
    position: absolute;
    top: 19px;
    right: 0;
    display: block; }
  .search-modal {
    z-index: 130;
    top: 0; }
  .search-modal .search-results.active {
    padding: var(--Ph) 0 100px 0;
    height: 90vh; }
  .search-modal .search-results {
    row-gap: var(--Pm); }
  .search-modal .search-results .search-result {
    padding-bottom: var(--Pm);
    border-bottom: 1px solid var(--brown); }
  .search-modal .search-results .search-result .aspectholder {
    display: none; }
  .search-modal .search-results .search-result .main-data {
    grid-column: 1 / 10;
    row-gap: 4px; }
  .search-modal .search-results .search-result .pill-holder {
    grid-column: 10 / 13; }
    .search-modal .search-results .search-result .pill-holder:after {
      content: url(../graphics/arrow.svg); }
    .search-modal .search-results .search-result .pill-holder .pill {
      display: none; } }

.popup-signup {
  transform: translateX(120%);
  position: fixed;
  bottom: var(--Ph);
  right: var(--Ph);
  height: auto;
  padding: var(--Ph);
  width: calc(100vw - (2 * var(--Ph)));
  max-width: 400px;
  background-color: var(--brown);
  color: var(--white);
  z-index: 20;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  row-gap: var(--Ph);
  transition: transform 0.5s ease;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3); }
  .popup-signup.show {
    transform: translateX(0); }
  .popup-signup-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center; }
  .popup-signup #mc_embed_signup {
    background: transparent !important;
    clear: left;
    font: unset !important;
    width: 100% !important; }
  .popup-signup #mc_embed_signup .cred {
    padding-top: var(--Ph); }
  .popup-signup #mc_embed_signup h2 {
    color: #fff;
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center; }
  .popup-signup .mc-field-group span.upcase {
    opacity: 0.6;
    display: block;
    padding-bottom: 10px; }
  .popup-signup .mc-field-group ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    /* grid-template-columns: repeat(3, 1fr); */
    gap: 10px;
    flex-wrap: wrap; }
  .popup-signup .mc-field-group ul li {
    display: flex;
    justify-content: center;
    align-items: center; }
  .popup-signup .mc-field-group input[type="checkbox"] {
    display: none; }
  .popup-signup .mc-field-group label {
    border: 1px solid var(--white);
    padding: 8px 16px 6px;
    border-radius: 5px;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.15s ease; }
    .popup-signup .mc-field-group label:hover {
      opacity: 1; }
  .popup-signup #mc_embed_signup .mc-field-group.input-group label {
    display: inline-block; }
  .popup-signup #mc_embed_signup .mc-field-group.input-group ul li {
    padding: 0 !important; }
  .popup-signup #mc_embed_signup .mc-field-group.input-group input {
    display: none !important; }
  .popup-signup .mc-field-group input[type="checkbox"]:checked + label {
    opacity: 1; }
  .popup-signup #mc_embed_signup .mc-field-group.fxs {
    display: flex !important;
    padding-bottom: 0 !important; }
  .popup-signup .popup-signup .mc-field-group ul {
    gap: 4px !important; }
  .popup-signup .mc-field-group.submit-group {
    display: flex;
    flex-direction: row;
    border-bottom: 1px solid var(--white);
    align-items: flex-end; }
  .popup-signup #mc_embed_signup input,
  .popup-signup .popup-signup .mc-field-group input[type="email"] {
    border: none !important; }
  .popup-signup #mc_embed_signup .button {
    background-color: transparent !important; }
  .popup-signup #mc_embed_signup .button:hover {
    opacity: 0.6;
    background-color: transparent !important; }
  .popup-signup ::placeholder {
    opacity: 0.6; }
  .popup-signup .mc-field-group input[type="email"] {
    width: 100%;
    padding: 8px 0 6px;
    border-radius: 0;
    border: none;
    margin-top: 10px;
    background: var(--brown); }
  .popup-signup #mc-embedded-subscribe {
    color: #fff;
    padding: 8px 0 6px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    width: 100%;
    transition: background-color 0.3s ease; }
  .popup-signup .privacy-links {
    margin-top: 15px;
    font-size: 12px;
    color: #ccc;
    text-align: center; }
  .popup-signup .privacy-links a {
    text-decoration: none; }
  .popup-signup .cred a {
    text-decoration: underline; }
  .popup-signup #mce-success-response, .popup-signup #mce-error-response {
    padding-top: 8px; }
  .popup-signup #mce-responses {
    padding-left: 0px !important;
    padding-right: 0px !important;
    margin-left: 0px !important;
    margin-right: 0px !important; }
  .popup-signup #mc_embed_signup #mce-success-response,
  .popup-signup #mc_embed_signup div.response {
    color: unset !important;
    font-weight: unset !important;
    width: 100% !important; }
  .popup-signup .close-popup {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    cursor: pointer; }
    .popup-signup .close-popup svg {
      rotate: 45deg; }
      .popup-signup .close-popup svg path {
        stroke: var(--white); }

.type-badge {
  border: 1px solid var(--fg);
  padding: 8px 16px 6px;
  border-radius: 5px; }

.link-row {
  display: flex;
  flex-direction: row;
  column-gap: var(--Ph);
  justify-content: center;
  align-items: center; }

.pill {
  padding: 20px 30px 19px;
  text-align: center;
  border: 1px solid var(--fg);
  background-color: var(--bg);
  color: var(--fg);
  display: block;
  line-height: 1;
  font-family: 'OldschoolGrotesk Heavy', Helvetica, sans-serif;
  transition: all 0.3s ease;
  min-width: 146px;
  width: fit-content;
  height: fit-content; }
  .pill:hover {
    background-color: var(--fg);
    color: var(--bg); }
  .pill.fill {
    background-color: var(--fg);
    color: var(--bg); }
    .pill.fill:hover {
      background-color: var(--bg);
      color: var(--fg); }

.arrow-btn {
  display: flex;
  column-gap: 10px;
  transition: opacity 0.2s ease; }
  .arrow-btn:hover {
    opacity: 0.5; }

.card-event {
  width: 100%;
  text-align: center;
  position: relative; }
  .card-event.hide {
    display: none !important; }
  .card-event.show {
    display: block; }
  .card-event .card-badge {
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 1;
    padding: 6px 8px 4px;
    background-color: var(--blue); }
  .card-event .aspectholder {
    width: 100%; }
    .card-event .aspectholder * {
      width: 100%;
      object-fit: cover;
      transition: transform 0.5s ease; }
  .card-event-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: var(--Ph); }
    .card-event-data .fm {
      line-height: 1; }
  .card-event:hover .aspectholder * {
    transform: scale(1.01); }

.card-article {
  width: 100%;
  text-align: left; }
  .card-article .aspectholder {
    width: 100%;
    aspect-ratio: 1.3;
    overflow: hidden; }
    .card-article .aspectholder * {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease; }
  .card-article-data {
    display: flex;
    flex-direction: column;
    row-gap: var(--Ps); }
  .card-article:hover .aspectholder * {
    transform: scale(1.02); }
  .card-article:hover .pill {
    background-color: var(--fg);
    color: var(--bg); }

.breadcrumbs {
  display: flex;
  justify-content: flex-start !important;
  position: relative !important; }
  .breadcrumbs.article {
    position: absolute !important;
    background-color: transparent;
    color: var(--bg); }

.media-block .aspectholder {
  width: 100%; }
  .media-block .aspectholder * {
    width: 100%;
    object-fit: cover; }

.media-block svg {
  width: 100%;
  height: 100%; }
  .media-block svg path {
    fill: var(--fg); }

.hero-block {
  text-align: center; }
  .hero-block .aspectholder {
    width: 100%; }
    .hero-block .aspectholder * {
      width: 100%; }
  .hero-block-event-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: var(--Ph);
    min-height: 300px; }
    .hero-block-event-data .fxxl {
      text-align: center; }

.brand-hero-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative; }
  .brand-hero-block .aspectholder {
    width: 100vw;
    aspect-ratio: 16/7; }
    .brand-hero-block .aspectholder * {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .brand-hero-block-data {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: var(--Ph);
    text-align: center; }
    .brand-hero-block-data .fxxl {
      text-align: center;
      max-width: 600px; }
  .brand-hero-block .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--brown);
    opacity: 0.5;
    z-index: 1; }
  .brand-hero-block.overlay .aspectholder {
    aspect-ratio: 16/9; }
  .brand-hero-block.overlay .brand-hero-block-data {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    color: var(--bg);
    width: 100%; }
    .brand-hero-block.overlay .brand-hero-block-data .pill {
      background-color: transparent;
      color: var(--bg);
      border-color: var(--bg); }
      .brand-hero-block.overlay .brand-hero-block-data .pill:hover {
        background-color: var(--bg);
        color: var(--brown); }
  .brand-hero-block.overlay.short .aspectholder {
    aspect-ratio: 18/7; }

.heading-block .fsm {
  grid-column: 3/11; }

.text-block {
  row-gap: var(--Ps); }
  .text-block-list, .text-block-text, .text-block-heading {
    grid-column: 4/10; }
  .text-block-list {
    display: flex;
    flex-direction: column; }
    .text-block-list-item {
      padding: var(--Ps) 0;
      border-top: 1px solid var(--fg);
      display: flex;
      flex-direction: row;
      row-gap: var(--Ph); }
      .text-block-list-item:first-of-type {
        border: none; }
      .text-block-list-item span {
        display: block;
        flex: 2; }
      .text-block-list-item .upcase {
        flex: 1; }
  .text-block .cta-holder {
    grid-column: 4/10;
    display: flex;
    align-items: center;
    justify-content: center; }

.media-block .caption {
  padding-top: 12px;
  color: var(--grey);
  text-align: center; }

[data-template="page"] .media-block, [data-template="article"] .media-block {
  row-gap: 0;
  padding-bottom: var(--Pm); }
  [data-template="page"] .media-block .aspectholder, [data-template="page"] .media-block .caption, [data-template="article"] .media-block .aspectholder, [data-template="article"] .media-block .caption {
    grid-column: 3/11; }

.accordians-block-inner {
  grid-column: 4/10; }
  .accordians-block-inner details {
    padding: 15px 0;
    border-bottom: 1px solid var(--fg); }
    .accordians-block-inner details:first-of-type {
      border-top: 1px solid var(--fg); }
    .accordians-block-inner details summary {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      width: 100%; }
      .accordians-block-inner details summary svg {
        transition: rotate 0.2s ease; }
      .accordians-block-inner details summary * {
        width: fit-content; }
    .accordians-block-inner details div {
      padding-top: 15px; }
    .accordians-block-inner details[open] summary svg {
      rotate: 45deg; }

.map-block {
  row-gap: var(--Ps); }
  .map-block .heading {
    grid-column: 4/10; }

.map {
  grid-column: 4/10;
  aspect-ratio: 16/12; }
  .map .mapboxgl-ctrl-attrib, .map .mapboxgl-ctrl-bottom-left {
    display: none; }
  .map .mapboxgl-ctrl-group:not(:empty) {
    box-shadow: none; }
  .map .mapboxgl-ctrl-compass {
    display: none; }
  .map .mapboxgl-ctrl.mapboxgl-ctrl-group {
    background-color: var(--blue);
    /* Example: change background color */
    border-radius: 0;
    /* Example: add rounded corners */ }
  .map .marker {
    width: 21px;
    height: 21px;
    background-color: var(--blue);
    border-radius: 200px; }

.feature-articles-block .link-row {
  padding-top: var(--Pg); }

.feature-events-grid-block {
  position: relative; }
  .feature-events-grid-block .swiper-container .swiper-btns {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    column-gap: 25px; }
    .feature-events-grid-block .swiper-container .swiper-btns .prev {
      rotate: 180deg; }
    .feature-events-grid-block .swiper-container .swiper-btns button {
      width: 30px;
      height: 30px;
      display: flex;
      align-items: center;
      justify-content: center; }
      .feature-events-grid-block .swiper-container .swiper-btns button svg {
        width: 30px;
        height: 30px; }
    .feature-events-grid-block .swiper-container .swiper-btns .swiper-button-disabled {
      opacity: 0.5;
      pointer-events: none; }
  .feature-events-grid-block .link-row.bottom {
    padding: var(--Pg) 0 var(--Ph) 0;
    position: relative; }
  .feature-events-grid-block .hr {
    position: absolute;
    bottom: 0;
    width: calc(100vw - var(--Pm));
    height: 1px;
    background-color: var(--fg);
    left: var(--Ph);
    bottom: var(--Pm); }

.media-text-block {
  display: flex;
  flex-direction: row;
  margin: var(--Ph); }
  .media-text-block.true {
    flex-direction: row-reverse; }
  .media-text-block .aspectholder {
    aspect-ratio: 6/5;
    flex: 3; }
    .media-text-block .aspectholder * {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .media-text-block-text {
    flex: 7;
    text-align: center;
    padding: var(--Pm);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: var(--Ph); }
    .media-text-block-text .pill:hover {
      background-color: var(--off-white);
      color: var(--brown); }

.newsletter-block .wrapper {
  width: 100%;
  height: calc(100% - 1px);
  overflow: hidden; }

.newsletter-grid {
  position: relative; }
  .newsletter-grid .line {
    position: absolute;
    height: 100%;
    width: 1px;
    background-color: var(--fg);
    display: block;
    top: 0; }
    .newsletter-grid .line.one {
      left: 33.33334%; }
    .newsletter-grid .line.two {
      left: 66.66666667%; }

.newsletter-item {
  width: calc(33.33333334%); }
  .newsletter-item.no-border .line {
    display: none !important; }
  @media screen and (min-width: 989px) {
    .newsletter-item:nth-child(1) .newsletter-item-inner, .newsletter-item:nth-child(2) .newsletter-item-inner, .newsletter-item:nth-child(3) .newsletter-item-inner {
      padding-top: 0 !important; } }
  .newsletter-item-inner {
    position: relative;
    width: 100%;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: var(--Ph);
    padding: var(--Ph);
    text-align: center; }
    .newsletter-item-inner.true .aspectholder * {
      border-radius: 20px; }
    .newsletter-item-inner .aspectholder {
      width: 100%; }
      .newsletter-item-inner .aspectholder * {
        width: 100%; }
    .newsletter-item-inner .iframe {
      width: 100%;
      aspect-ratio: 16/9; }
      .newsletter-item-inner .iframe * {
        width: 100%;
        aspect-ratio: 16/9; }
    .newsletter-item-inner .pill {
      margin-top: var(--Pm);
      display: block; }
    .newsletter-item-inner .underline {
      text-decoration: underline; }
      .newsletter-item-inner .underline:hover {
        text-decoration: none; }
    .newsletter-item-inner .line {
      position: absolute;
      height: 1px;
      width: calc(100% - var(--Pm));
      left: var(--Ph);
      background-color: var(--fg);
      display: block;
      inset: unset;
      bottom: 0; }

.calendar-container {
  display: flex;
  gap: 25px;
  flex-direction: column; }

.month-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center; }

.calender-swiper {
  position: relative; }
  .calender-swiper .buttons {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    width: 100%;
    z-index: 10; }
    .calender-swiper .buttons .cal-prev {
      flex: 1; }
      .calender-swiper .buttons .cal-prev svg {
        rotate: 180deg; }
    .calender-swiper .buttons .current-month {
      text-align: center;
      justify-content: center; }
    .calender-swiper .buttons .cal-next {
      text-align: right;
      justify-content: flex-end; }
    .calender-swiper .buttons .current-month, .calender-swiper .buttons .cal-prev, .calender-swiper .buttons .cal-next {
      flex: 1;
      display: flex;
      align-items: flex-start;
      column-gap: 10px; }
    .calender-swiper .buttons .cal-prev svg, .calender-swiper .buttons .cal-next svg {
      width: 30px;
      height: 30px; }
    .calender-swiper .buttons .btn.swiper-button-disabled {
      opacity: 0;
      pointer-events: none; }
  .calender-swiper .month-container {
    overflow: hidden; }

.day {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  width: 100%; }
  .day.past-day .swiper-wrapper {
    opacity: 0.5; }
  .day-number {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%; }
    .day-number .swiper-pagination-bullets {
      width: fit-content;
      display: flex;
      flex-direction: row;
      column-gap: 4px; }
    .day-number .swiper-pagination-bullet {
      width: 12px;
      height: 12px;
      margin: 0 !important; }
      .day-number .swiper-pagination-bullet-active {
        background: var(--blue); }
  .day-events {
    width: 100%; }
    .day-events .swiper-wrapper {
      width: 100%; }
      .day-events .swiper-wrapper .placeholder:first-of-type {
        width: 100%;
        height: 100%; }
        .day-events .swiper-wrapper .placeholder:first-of-type .tile {
          width: 100%;
          height: 100%;
          aspect-ratio: 1;
          background-color: #028bf42b; }
        .day-events .swiper-wrapper .placeholder:first-of-type .calender-event-title {
          height: 45px; }
      .day-events .swiper-wrapper .swiper-slide, .day-events .swiper-wrapper .swiper-unset {
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 5px; }
        .day-events .swiper-wrapper .swiper-slide .aspectholder, .day-events .swiper-wrapper .swiper-unset .aspectholder {
          width: 100%;
          height: 100%;
          aspect-ratio: 1;
          background-color: #028bf42b; }
          .day-events .swiper-wrapper .swiper-slide .aspectholder *, .day-events .swiper-wrapper .swiper-unset .aspectholder * {
            width: 100%;
            height: 100%;
            object-fit: cover; }

.days-header {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 5px;
  font-weight: bold; }

.days-grid {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(6, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--pGap);
  row-gap: var(--pGap);
  width: 100%;
  width: 100%;
  padding: var(--pGap);
  padding-bottom: var(--Pd);
  align-items: flex-start; }

.events-page .events-grid {
  min-height: 110vh; }

.events-page .events-filters .filter-item {
  position: relative; }
  .events-page .events-filters .filter-item-btn {
    border-bottom: 1px solid var(--fg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 9px;
    width: 100%;
    cursor: pointer;
    position: relative; }
    .events-page .events-filters .filter-item-btn span {
      transition: color 0.2s ease; }
    .events-page .events-filters .filter-item-btn:hover span {
      color: var(--blue); }
    .events-page .events-filters .filter-item-btn svg {
      transition: rotate 0.2s ease; }
    .events-page .events-filters .filter-item-btn .inner {
      overflow: hidden;
      height: 35px; }
      .events-page .events-filters .filter-item-btn .inner span {
        color: var(--blue); }
  .events-page .events-filters .filter-item-drop {
    height: 0;
    overflow: hidden;
    position: absolute;
    z-index: 2;
    width: 100%;
    background-color: var(--bg); }
    .events-page .events-filters .filter-item-drop-inner {
      display: flex;
      flex-direction: column;
      row-gap: 9px;
      border: 1px solid var(--fg);
      border-top: 0;
      padding: 16px; }
      .events-page .events-filters .filter-item-drop-inner .hr {
        margin-top: 10px;
        margin-bottom: 10px;
        width: calc(100% - 0);
        height: 1px;
        background-color: var(--fg); }
      .events-page .events-filters .filter-item-drop-inner a, .events-page .events-filters .filter-item-drop-inner button {
        transition: color 0.2s ease;
        display: flex;
        justify-content: space-between;
        align-items: center; }
        .events-page .events-filters .filter-item-drop-inner a:hover, .events-page .events-filters .filter-item-drop-inner a.active, .events-page .events-filters .filter-item-drop-inner button:hover, .events-page .events-filters .filter-item-drop-inner button.active {
          color: var(--blue); }
        .events-page .events-filters .filter-item-drop-inner a.active:after, .events-page .events-filters .filter-item-drop-inner button.active:after {
          content: url("../graphics/plus.svg");
          position: relative;
          right: 0;
          font-family: Arial, Helvetica, sans-serif;
          rotate: 45deg; }
  .events-page .events-filters .filter-item.active .filter-item-drop {
    height: fit-content; }
  .events-page .events-filters .filter-item.active .filter-item-btn svg {
    rotate: 45deg; }

.event-ticket-link {
  position: absolute;
  top: calc(var(--Hh) + var(--Ph));
  z-index: 10;
  background-color: transparent;
  display: flex;
  justify-content: flex-end;
  transition: background-color 0.3s ease;
  width: 100%; }
  .event-ticket-link a {
    width: fit-content;
    margin-right: 2px; }
    .event-ticket-link a.disabled {
      pointer-events: none;
      background-color: var(--grey);
      border-color: var(--grey); }
  .event-ticket-link.active {
    background-color: var(--bg);
    position: fixed;
    top: 0; }
  .event-ticket-link.breadcrumbs {
    position: absolute !important;
    top: var(--Hh);
    z-index: 30;
    background-color: transparent; }

.event.hero-block {
  background-color: var(--blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--Ph); }
  .event.hero-block .type-badge {
    width: fit-content;
    margin-bottom: var(--Ph); }
  .event.hero-block .event-presents {
    margin-bottom: var(--Ph); }
  .event.hero-block .event-media {
    margin: auto; }
    .event.hero-block .event-media .aspectholder {
      width: 100%;
      grid-column: 2/12; }
      .event.hero-block .event-media .aspectholder * {
        width: 100%; }

.event-sessions .fsm {
  grid-column: 1/5; }

.event-sessions .event-tickets {
  grid-column: 5/13;
  flex-direction: column; }
  .event-sessions .event-tickets .event-ticket {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid var(--fg); }
    .event-sessions .event-tickets .event-ticket span {
      line-height: 1.2; }
  .event-sessions .event-tickets .btn-holder {
    width: 100%;
    display: flex;
    justify-content: center; }
    .event-sessions .event-tickets .btn-holder .showmore, .event-sessions .event-tickets .btn-holder .show-less {
      display: flex;
      flex-direction: row;
      align-items: center;
      column-gap: 6px; }
      .event-sessions .event-tickets .btn-holder .showmore svg, .event-sessions .event-tickets .btn-holder .show-less svg {
        margin-top: -2px;
        width: 16px;
        height: 16px; }
    .event-sessions .event-tickets .btn-holder .show-less svg {
      rotate: 45deg; }
  .event-sessions .event-tickets .more-sessions {
    display: none;
    flex-direction: column; }
  .event-sessions .event-tickets .less-sessions {
    display: none; }

.event-info-left {
  grid-column: 1/6; }
  .event-info-left-list {
    display: flex;
    flex-direction: column; }
    .event-info-left-list-item {
      display: flex;
      flex-direction: row;
      column-gap: 15px;
      padding: 15px 0;
      border-top: 1px solid var(--fg); }
      .event-info-left-list-item:last-of-type {
        border-bottom: 1px solid var(--fg); }
    .event-info-left-list .title {
      opacity: 0.5;
      width: 140px; }
    .event-info-left-list .data {
      width: calc(100% - 140px); }
      .event-info-left-list .data.access-item {
        display: flex;
        flex-wrap: wrap;
        gap: 20px; }
        .event-info-left-list .data.access-item .item {
          display: flex;
          flex-direction: column;
          align-items: center;
          row-gap: 10px; }
          .event-info-left-list .data.access-item .item .aspectholder {
            aspect-ratio: 1;
            width: 80px;
            height: 80px; }
            .event-info-left-list .data.access-item .item .aspectholder * {
              width: 100%;
              height: 100%;
              margin: auto;
              object-fit: contain; }
  .event-info-left .event-aditional details {
    padding: 15px 0;
    border-bottom: 1px solid var(--fg); }
    .event-info-left .event-aditional details summary {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      width: 100%; }
      .event-info-left .event-aditional details summary svg {
        transition: rotate 0.1s ease; }
      .event-info-left .event-aditional details summary * {
        width: fit-content; }
    .event-info-left .event-aditional details div {
      padding-top: 15px; }
    .event-info-left .event-aditional details[open] summary svg {
      rotate: 45deg; }

.event-info-right {
  grid-column: 7/13; }
  .event-info-right .sponsors {
    display: flex;
    flex-direction: row;
    column-gap: var(--Ph);
    flex-wrap: wrap; }
    .event-info-right .sponsors .aspectholder {
      max-width: 150px;
      display: flex; }
      .event-info-right .sponsors .aspectholder svg, .event-info-right .sponsors .aspectholder img {
        width: 100%;
        width: 100%;
        margin: auto; }

.event-info-right .w-border {
  border-bottom: 1px solid var(--fg); }

.event-info-right .holder {
  display: flex;
  flex-direction: column; }
  .event-info-right .holder .bold {
    padding: 8px 0 4px 0; }

.event-info-right .cast-carousel .swiper-slide {
  display: flex;
  flex-direction: column;
  row-gap: 10px; }
  .event-info-right .cast-carousel .swiper-slide.clickable {
    cursor: pointer; }

.event-info-right .cast-carousel .aspectholder {
  aspect-ratio: 1; }
  .event-info-right .cast-carousel .aspectholder * {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.event-info-right .cast-carousel .btns {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  column-gap: 10px;
  padding-top: var(--Ph); }
  .event-info-right .cast-carousel .btns .btn.swiper-button-disabled {
    pointer-events: none;
    opacity: 0.5; }
  .event-info-right .cast-carousel .btns .btn svg {
    width: auto;
    height: 17px; }
  .event-info-right .cast-carousel .btns .prev svg {
    rotate: 180deg; }

.event-info-right .cast-credits {
  column-gap: 16px;
  row-gap: 16px; }
  .event-info-right .cast-credits .item {
    max-width: 235px; }

.event-info-left .w-border {
  border-top: 1px solid var(--fg); }

.event-info-left .holder {
  display: flex;
  flex-direction: column;
  row-gap: 12px; }
  .event-info-left .holder .bold {
    padding: 8px 4px; }

.bg {
  background-color: black;
  position: fixed;
  top: 0%;
  left: 0%;
  height: 100vh;
  width: 100vw;
  z-index: 10000;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.5s ease, opacity 0.5s ease; }
  .bg.active {
    opacity: 0.4;
    visibility: visible; }

.cart-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80vw;
  max-width: 1000px;
  height: auto;
  background-color: var(--brown);
  color: var(--bg);
  z-index: 100000;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s ease, opacity 0.3s ease; }
  .cart-modal.active {
    opacity: 1;
    visibility: visible; }
  .cart-modal .cart-modal-close {
    position: absolute;
    top: 10px;
    right: 10px; }
    .cart-modal .cart-modal-close svg {
      rotate: 45deg;
      width: 18px;
      height: auto; }
      .cart-modal .cart-modal-close svg path {
        fill: var(--bg);
        stroke: var(--bg); }
  .cart-modal-inner {
    padding: var(--Pm); }
    .cart-modal-inner .col {
      display: flex;
      flex-direction: column;
      row-gap: 5px; }
      .cart-modal-inner .col .links {
        display: flex;
        column-gap: 10px;
        flex-wrap: wrap; }
        .cart-modal-inner .col .links a {
          text-decoration: underline; }
          .cart-modal-inner .col .links a:hover {
            text-decoration: none; }
    .cart-modal-inner .aspectholder {
      width: 100%;
      aspect-ratio: 1;
      margin-bottom: 10px; }
      .cart-modal-inner .aspectholder * {
        width: 100%;
        height: 100%;
        object-fit: cover; }

.event-trailer .trailer-holder {
  grid-column: 2/12; }
  .event-trailer .trailer-holder iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16/9; }

.similar-headings {
  grid-column: 1/-1;
  border-top: 1px solid var(--fg); }

.article-hero {
  width: 100%;
  height: 100%;
  position: relative; }
  .article-hero * {
    width: 100%;
    height: 100%; }
  .article-hero .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--fg);
    opacity: 0.5; }
  .article-hero .article-content-heading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    width: 100%;
    max-width: 1000px;
    text-align: center;
    color: var(--bg);
    justify-content: center;
    align-items: center;
    height: fit-content; }

.article-content-heading {
  text-align: center;
  display: flex;
  flex-direction: column;
  row-gap: var(--Ps); }

.article-content-blocks .text-block {
  grid-column: 4/10; }

.article-content-blocks .media-block .aspectholder {
  grid-column: 3/11; }

.article-similar .hr {
  display: block;
  width: 100%;
  grid-column: 1/-1;
  background-color: var(--fg);
  height: 1px; }

.article-similar-heading {
  grid-column: 1/-1; }

.article-similar .card-event {
  grid-column: span 4; }

.media-block .aspectholder, .media-block .caption {
  grid-column: 3/11; }

.media-block.wide .aspectholder {
  grid-column: 2/12; }

.media-block.full {
  padding-left: 0;
  padding-right: 0; }
  .media-block.full .aspectholder {
    grid-column: 1/13; }

.image-row-block {
  padding-right: var(--Pg);
  padding-left: var(--Pg);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pm);
  width: 100%; }
  .image-row-block .caption {
    grid-column: 3/11;
    text-align: center;
    padding-top: 10px;
    opacity: 0.6; }
  .image-row-block .image-row {
    grid-column: 3/11;
    display: flex;
    flex-direction: row;
    column-gap: var(--Ph); }
    .image-row-block .image-row .aspectholder {
      width: 100%;
      aspect-ratio: 6/7; }
      .image-row-block .image-row .aspectholder * {
        width: 100%;
        aspect-ratio: 6/7;
        object-fit: cover; }

.media-text-module-block {
  padding-right: var(--Pg);
  padding-left: var(--Pg);
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: minmax(min-content, max-content);
  column-gap: var(--Pm);
  row-gap: var(--Pm); }
  .media-text-module-block .aspectholder {
    aspect-ratio: 3/4;
    grid-column: 7/10; }
    .media-text-module-block .aspectholder * {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .media-text-module-block-text {
    grid-column: 4/7; }
  .media-text-module-block.true .media-text-module-block-text {
    grid-column: 7/10;
    grid-row: 1; }
  .media-text-module-block.true .aspectholder {
    grid-column: 4/7;
    grid-row: 1; }

.quote-block {
  row-gap: var(--Ph); }
  .quote-block-quote, .quote-block-sub {
    grid-column: 2/12;
    text-align: center; }

.cast-block .hr {
  display: block;
  height: var(--Pm);
  border-bottom: 1px solid var(--fg);
  grid-column: 1/-1; }

.cast-block-wrapper {
  grid-column: 3/11; }
  .cast-block-wrapper .swiper-wrapper .aspectholder {
    width: 100%;
    aspect-ratio: 1; }
    .cast-block-wrapper .swiper-wrapper .aspectholder * {
      width: 100%;
      height: 1 00%;
      object-fit: cover; }
  .cast-block-wrapper .swiper-wrapper .swiper-slide {
    cursor: pointer; }
  .cast-block-wrapper .swiper-wrapper .cast-data {
    padding-top: 10px;
    max-width: 177px; }
  .cast-block-wrapper .btns {
    width: 100%;
    display: flex;
    column-gap: 10px;
    justify-content: center; }
    .cast-block-wrapper .btns .prev svg {
      rotate: 180deg; }
