*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
:root {
  --font-regular: "Theinhardt", Helvetica, Arial, sans-serif;
  --font-medium: "TheinhardtMedium";
  --font-graphics: "TheinhardtRegularOld";
  --font-heading: "Octavia", Verdana, Tahoma, serif;
  --background: #FFFFFF;
  --background-color: #FFFFFF;
  --background-page: #FFF8F2;
  --font-color: #231F20;
  --link-color: #231F20;
  --link-hover-color: #231F20;
  --cada-grey: #808080;
  --dark-gray: #4C4C4C;
  --cada-light-grey: #d8d8d8;
  --cada-red: #EF3340;
  --addams-red: #FF003C;
  --addams-tan: #FDF7F0;
  --addams-tan-rgb: 249,234,220;
  --addams-black: #231F20;
  --addams-footer-tan: #F9EADC;
  --black: #231F20;

  --color__rule: #231F20;
  --section-heading: 5rem;
  --font-lg: 5rem;
  --ln-lg: 5.6rem;
  --font-md: 4rem;
  --ln-md: 4.4rem;
  --font-sm: 1.6rem;
  --font-size: 2.2rem;
  --article-size: 2.4rem;
  --article-ln: 3.2rem;
  --article-margin: 4rem;
  --subtitle-size: 3.2rem;
  --subtitle-ln: 3.6rem;
  --m-font: 3.6rem;
  --mm-font: 3.2rem;
  --m-ln: 4rem;
  --mm-ln: 3.6rem;
  --l-ln: 6rem;
  --x-large: 82.91px;
  --x-large-ln: 91.2px;
  --body-ln-height: 1.35;
  --menuitem-ln-height: 1.12;
  --search-surface: var(--addams-tan);
  --search-text: var(--addams-black);
  --search-rule: var(--addams-black);
  --search-backdrop: rgba(35, 31, 32, 0.35);

  /* Navigation / UI chrome */
  --nav-ui-size: 22px;
  --nav-ui-ln: 26px;

  /* Base heading sizes */
  --font-h1: 8rem;
  --font-h2: 5.5rem;
  --font-h3: 4.6rem;
  --font-h4: 3.8rem;

  /* Exhibition hero display text */
  --hero-exhibition-size: 79.37px;
  --hero-exhibition-ln: 89.3px;

  /* UI controls (swiper bullets) */
  --ui-control-ln: 28px;

  /* Base button */
  --btn-ln: 2.6rem;

  /* Decorative arrow glyphs */
  --arrow-icon-size: 2rem;
}
@media(max-width: 700px) {
  :root {
    --section-heading: 3.2rem;

    --x-large: 4rem;
    --x-large-ln: 100%;

    --font-lg: 3.2rem;
    --ln-lg: 3.6rem;

    --font-md: 3.2rem;
    --ln-md: 100%;
    --m-font: 2.4rem;
    --m-ln: 1.2;
    --article-size: 1.8rem;
    --article-ln: 2.6rem;
    --article-margin: 2rem;

    --subtitle-size: 2.4rem;
    --subtitle-ln: 1.2;

    --menu-sz: 2.4rem;

    /* Heading scale */
    --font-h1: 3.2rem;
    --font-h2: 3.2rem;
    --font-h3: 2.8rem;
    --font-h4: 2.4rem;

    /* Exhibition hero display text */
    --hero-exhibition-size: 4rem;
    --hero-exhibition-ln: normal;
  }
}

/* Theme: dark mode overrides */
html.theme-dark {
  --background: #231F20;
  --background-color: #231F20;
  --background-page: #231F20;
  --font-color: #F9EADC;
  --link-color: #F9EADC;
  --link-hover-color: #F9EADC;
  --color__rule: #F9EADC;
  --search-surface: var(--addams-black);
  --search-text: var(--addams-footer-tan);
  --search-rule: var(--addams-footer-tan);
  --search-backdrop: rgba(0, 0, 0, 0.6);
}
/* Header, Menu */
/* .outside-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
} */
.desktop-menu-btn-group.first {
   position: fixed;
   top: 2rem;
   left: 2rem;
   z-index: 2000;
   display: flex;
 }
 .desktop-menu-btn-group.second {
    position: fixed;
    top: 2rem;
    right: 2rem;
    z-index: 2000;
  }
/* button.menu-button, button.accessibility-button, button.search-btn {
  font-family: var(--font-heading);
  border: 0;
  padding: 0;
  margin: 0;
  width: fit-content;
  height: fit-content;
  display: flex;
  background: transparent;
  text-transform: unset;
  font-size: var(--nav-ui-size);
  line-height: var(--nav-ui-ln);
  padding: 0 4.49px;
  background-color: var(--addams-tan);
} */
button.menu-button, button.accessibility-button, button.search-btn {
    font-family: var(--font-heading);
    border: 0;
    padding: 0;
    margin: -2px 0 0 0;
    width: fit-content;
    height: fit-content;
    display: flex;
    background: transparent;
    text-transform: unset;
    font-size: var(--nav-ui-size);
    line-height: 1;
    padding: 4px 4.49px 0px;
    background-color: var(--addams-tan);
}
button.accessibility-button span {
  display: flex;
  gap: 2.24px;
  align-items: center;
}
button.accessibility-button span::before {
  content: '';
  display: block;
  width: 13.2px;
  height: 16.5px;
  background-image: url('../images/accessibility-icon.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  line-height: var(--nav-ui-ln);
  margin-top: -3px;
}

/* begin buttons */
/*  light */
button.menu-button:hover, button.accessibility-button:hover, button.search-btn:hover, button.motion-setting:hover, .hero-content a.uic-link:hover {
  color: var(--addams-tan);
  background-color: var(--addams-black);
}

a.first-logo:hover span.letter {
  background-color: var(--addams-black);
  color: var(--addams-tan);
}

button.search-btn:hover span::before {
  background-image: url(../images/search_tan.svg);
}

button.accessibility-button:hover span::before {
  background-image: url(../images/accessibility-icon_tan.svg);
}

button.motion-setting:hover span::before {
  border: 1px solid var(--addams-tan);
  background-image: url(../images/pause_tan.svg);
}

.hero-content a.scroll-content:hover {
  background-color: var(--addams-black);
  border: 1px solid var(--addams-black);
}

.hero-content a.uic-link:hover span::before {
  background-image: url(../images/uic_logo_addams_tan.svg);
}

/* dark */
html.theme-dark h1.logo span.letter, html.theme-dark button.menu-button, html.theme-dark button.accessibility-button, html.theme-dark button.search-btn {
  background-color: var(--addams-black);
  color: var(--addams-tan);
}

html.theme-dark button.menu-button:hover, html.theme-dark button.accessibility-button:hover, html.theme-dark button.search-btn:hover, html.theme-dark button.motion-setting:hover, html.theme-dark .hero-content a.uic-link:hover {
  color: var(--addams-black);
  background-color: var(--addams-tan);
}

html.theme-dark a.first-logo:hover span.letter {
  background-color: var(--addams-tan);
  color: var(--addams-black);
}

html.theme-dark button.search-btn:hover span::before {
  background-image: url(../images/search_k.svg);
}

html.theme-dark button.accessibility-button span::before {
  background-image: url(../images/accessibility-icon_tan.svg);
}

html.theme-dark button.accessibility-button:hover span::before {
  background-image: url(../images/accessibility-icon.svg);
}

html.theme-dark button.motion-setting {
  background-color: var(--addams-black);
  color: var(--addams-tan);
}

html.theme-dark button.motion-setting span::before {
  border: 1px solid var(--addams-tan);
  background-image: url(../images/pause_tan.svg);
}

html.theme-dark button.motion-setting:hover span::before {
  border: 1px solid var(--addams-black);
  background-image: url(../images/pause_k.svg);
}

html.theme-dark .hero-content a.scroll-content {
  background-color: var(--addams-black);
}

html.theme-dark .hero-content a.scroll-content:hover {
  background-color: var(--addams-tan);
  border: 1px solid var(--addams-tan);
  color: var(--addams-black);
}

html.theme-dark .hero-content a.scroll-content span::before {
  background-image: url(../images/arrow_down_tan.svg);
}

html.theme-dark .hero-content a.scroll-content:hover span::before {
  background-image: url(../images/arrow_down_k.svg);
}

html.theme-dark .hero-content a.uic-link {
    background-color: var(--addams-black);
    color: var(--addams-tan);
}

html.theme-dark .hero-content a.uic-link span::before {
  background-image: url(../images/uic_logo_addams_tan.svg);
}

html.theme-dark .hero-content a.uic-link:hover span::before {
  background-image: url(../images/uic_k.svg);
}
/* end buttons */

.accessibility-button.is-active {
  display: none;
}

h1.logo {
  font-size: var(--nav-ui-size);
  line-height: var(--nav-ui-ln);
  text-transform: uppercase;
}
h1.logo span.letter {
  background-color: var(--addams-tan);
  margin-right: 0.48px;
  padding-top: 5px;
}
h1.logo span.letter,
button.menu-button, button.accessibility-button, button.search-btn {
  background-color: var(--addams-tan);
  color: var(--addams-black);
}

button.search-btn {
  height: 100%;
  background: var(--addams-tan);
  padding: 4px;
  display: flex;
  background-size: contain;
  margin-left: 0.5rem;
}

html.theme-dark button.search-btn {
  background: var(--addams-black);
}

button.search-btn span {
  display: flex;
  align-items: center;
  gap: 2.24px;
}

button.search-btn span::before {
  content: '';
  display: block;
  width: 19.87px;
  height: 18px;
  background-image: url('../images/search_k.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  line-height: var(--nav-ui-ln);
}

html.theme-dark button.search-btn span::before {
  background-image: url('../images/search_tan.svg');
}

/* Search modal */
.search-modal[hidden] {
  display: none !important;
}

.search-modal {
  position: fixed;
  inset: 0;
  z-index: 2100;
}

.search-modal__backdrop {
  position: absolute;
  inset: 0;
  background: var(--search-backdrop);
}

.search-modal-dialog {
  position: relative;
  margin: 2rem;
  margin-right: auto;
  max-width: 560px;
  background: var(--search-surface);
  color: var(--search-text);
  border: 1px solid var(--search-rule);
  padding: 2rem;
}

.search-modal-form {
  display: flex;
  justify-content: space-between;
}

.search-modal-form,
.search-modal-field {
  margin: 0;
}

.search-modal-field {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  width: 100%;
}

.search-modal-icon-label {
  display: inline-flex;
  margin: 0;
}

.search-modal-icon-label svg,
.close-search svg {
  stroke: currentColor;
}

.search-modal-icon-label svg { display: none; }

#search-modal-input {
  height: auto;
  min-height: 44px;
  margin: 0;
  border: 1px solid var(--search-rule);
  background: var(--search-surface);
  color: var(--search-text);
}

#search-modal-input:focus-visible,
.search-modal-submit:focus-visible,
.close-search:focus-visible {
  outline: 2px solid var(--search-rule);
  outline-offset: 2px;
}

.search-modal-submit,
.close-search {
  margin: 0;
  border: 1px solid var(--search-rule);
  background: transparent;
  color: var(--search-text);
  text-transform: none;
}

.search-modal-submit {
  min-height: 44px;
  padding: 0.8rem 1.2rem;
}

.search-modal__actions {
  margin-left: 0.5rem;
  display: flex;
  justify-content: flex-end;
}

.close-search {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: right;
  border: none;
  padding: 0;
}

@media(max-width: 700px) {
  .search-modal-dialog {
    margin: 1rem;
  }

  .search-modal-field {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .search-modal-icon-label {
    display: none;
  }
}

html.theme-dark .search-modal-icon-label svg,
html.theme-dark .close-search svg {
  stroke: var(--search-text);
}
.menu-open a.first-logo {display:none;}

#menu .museum-hours {
  position: absolute;
  top: 1.3rem;
  left: 50%;
  transform: translate(-50%,0);
  z-index: 1100;
}

.museum-hours p {
  font-family: var(--font-heading);
  text-align: center;
  margin: 0;
}

.museum-hours.notice {
  top: 0.7rem;
  width: 32.65vw;
  padding: 4px;
  background: var(--addams-red);
}

@media(max-width: 700px) {
  .museum-hours.notice { width: calc(100% - 2rem); }
}

.museum-hours.notice a {
  display: block;
  position: relative;
  background-color: var(--addams-red);
  color: var(--addams-tan);
  border: 1px solid var(--addams-footer-tan);
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.notice-link-text {
  display: block;
  position: absolute;
  font-family: var(--font-heading);
  right: 8px;
  top: 3px;
  font-size: var(--font-sm);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.menu-container.main {
  display: flex;
  padding: 2rem 0;
  border-top: 1px solid var(--addams-black);
  margin-top: 4.5rem;
}

.menu-column .inner-row {
  display: flex;
  flex-direction: column;
}

.menu-column p.section-heading {
  font-family: var(--font-heading);
  color: var(--dark-gray);
  margin:0;
  font-size: var(--font-sm);
}

html.theme-dark .menu-column p.section-heading {
  color: rgba( var(--addams-tan-rgb), 0.7);
}

.menu-column .address-info,
.menu-column .museum-hours-block-container {
  margin-bottom: 2rem;
}

.menu-column.sub-nav p, .menu-column.sub-nav a, .menu-column.sub-nav address {
  font-size: var(--font-sm);
  font-style: normal;
  margin:0;
  line-height: var(--body-ln-height);
}

.inside-main-menu .menu-column.sub-nav .inner-row:first-child .inner-column {
  padding: 0;
}

a.menu-post-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min-content;
  min-width: 515px;
}

a.menu-post-container figure,
a.menu-post-container p {
  margin-bottom: 0.5rem;
  padding: 0;
}
a.menu-post-container figure:has(figcaption) {
  margin-bottom: 0;
}
a.menu-post-container figcaption {
  margin: 0;
  padding: 0.5rem 0 0;
}

a.menu-post-container:hover p {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

@media(min-width: 700px) {
  .menu-button.mobile {display: none;}

  #site_nav h1.logo {
    position: fixed;
    top:2rem;
    left: 50%;
    transform: translate(-50%,0);
    margin:0;
    z-index: 999;
  }

  .main-nav-container.toggled-on {
    /* border: 2rem solid var(--addams-black); */
    border: 2rem solid transparent;
  }

  .menu-open .desktop-menu-btn-group.first {
    top: 3rem;
    left: 3rem;
  }

  .menu-open .desktop-menu-btn-group.second {
    top: 3rem;
    right: 3rem;
  }

  .menu-open .accessibility-modal {
    top: 3rem;
    right: 3rem;
  }

  img.desktop-footer-logo {
    width: 15.5vw;
    min-width: 227px;
    height: auto;
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 9999999;
  }

  .menu-container.main {
    justify-content: space-between;
    height: 100%;
  }

  .menu-container.main .menu-column {
    overflow: scroll;
  }

  .menu-container.main .main-navigation {
    padding-left: 1.2rem;
  }

  .menu-container.footer {
    display: flex;
    justify-content: space-between;
  }

  .menu-column .inner-row {
    flex-direction: row;
  }

  .menu-column .inner-column {
    padding: 2rem;
  }

}

@media(min-width: 700px) {
  .menu-open button.menu-button span {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
  }
  .menu-open button.menu-button span::before {
    content: '';
    display: block;
    background-image: url('../images/desktop_menu_close_k.png');
    width: 13px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .menu-open button.menu-button:hover span::before {
    background-image: url('../images/close_tan.svg');
  }	
}

@media(max-width: 1280px) {
  img.desktop-footer-logo { display: none; }
}
@media(max-width: 700px) {
  .menu-button.desktop {display: none;}
  .menu-container.main {
    margin-top: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid;
  }
  .menu-container.main .menu-column {
    width: 100%;
  }
  #menu .museum-hours {
    position: relative;
    transform: unset;
    top: unset;
    left: unset;
  }
  .museum-hours p {
    text-align: left;
  }
}

body.home .main > h1 {
  display: none;
}

body:has(.hero) .outside-nav {
  background-color: var(--addams-tan);
}

body:has(.hero) .site-header a.button.white {
    background-color: var(--green);
    color: var(--addams-tan);
}

/* body:has(.hero) button.menu-button span {
  color: var(--black);
} */
body:has(.mllr_hero) button.menu-button[aria-expanded="false"] span {
  color: var(--addams-tan);
}

footer {
  background-color: var(--addams-black);
  color: var(--addams-footer-tan);
  font-size: var(--font-sm);
  position: relative;
}

footer p, footer li, footer li a {
  font-size: var(--font-sm);
  color: var(--addams-footer-tan);
}

footer a,
footer a:visited,
footer a:hover,
footer a:focus {
  color: var(--addams-footer-tan);
}

body.search footer {
  width: 100%;
  max-width: none;
  margin: 0;
}

body.search footer .inside-footer,
body.search footer .menu-container.footer {
  width: 100%;
}

.inside-footer.last {
  display: flex;
  justify-content: space-between;
  padding: 2rem;
}
.inside-footer.last p {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.inside-footer.last p:first-child::before {
  content: '';
  display: block;
  background: url(../images/uic_logo_addams_tan.svg) center / 17.95px 17.95px no-repeat var(--addams-black);
  width: 17.95px;
  height: 17.95px;
}
.inside-footer.last p { margin:0; }
.inside-footer.last p span { margin-top: 2px; }

@media(max-width: 700px) {
  .inside-footer .address-info {
    margin-top: 2rem;
  }
  .inside-footer .menu-container {
    padding: 2rem;
  }
  .inside-footer.logo {
    display: flex;
    justify-content: center;
    margin: 6rem 0;
  }
  .inside-footer.last {
    flex-direction: column;
  }
}

/* Page Home */
body.page-template-front-page {
  background-color: var(--background-page);
}
.general-information-container {
  padding: 6rem 0;
}
.general-information-container .row {
  justify-content: space-around;
  align-items: center;
  text-align: center;
}
.general-information-container .museum-block-container {
  border: 1px solid;
  outline: 1px solid;
  outline-offset: -5px;
  padding: 2rem;
}
.general-information-container .museum-block-container p.header,
.general-information-container p.admission {
  font-family: var(--font-heading);
}
.general-information-container p { margin:0; }

.video-hero{
  position: relative;
  height: 100vh;
  overflow: hidden;
  background: #000;
}

body.page-template-front-page #motion-setting {
  margin-right: 0;
}

.video-background{
  position: absolute;
  inset: 0;
  overflow: hidden;
}

/* cover-style sizing */
.video-background iframe,
.video-background video {
  position: absolute;
  top: 50%;
  left: 50%;

  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100vh;

  transform: translate(-50%, -50%) scale(1.01);
  pointer-events: none;
  border: 0;
}

/* optional overlay content */
.hero-content{
  position: absolute;
  z-index: 1;
  bottom:2rem;
  left:2rem;
  width: calc(100% - 4rem);
  display: flex;
  justify-content: space-between;
}

.hero-content p {
  margin: 0;
  line-height: 1;
}

.hero-content a {
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-hero button.motion-setting {
  position: absolute;
  right: 2rem;
  top: 6rem;
}

.hero-content a span {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.hero-content a.scroll-content {
  font-family: var(--font-heading);
  border: 1px solid var(--addams-tan);
  color: var(--addams-tan);
}

.hero-content a.scroll-content span::before {
  content: '';
  width: 13px;
  height: 16px;
  background-image: url('../images/arrow_down_tan.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: -3px;
}

.hero-content a.uic-link {
  background-color: var(--addams-tan);
  color: var(--addams-black);
}

.hero-content a.uic-link span::before {
  content: '';
  width: 17.95px;
  height: 17.95px;
  background-image: url('../images/uic_k.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-top: -3px;
}

/* home animation */
.video-hero svg {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  z-index: 2;
  max-width: 90vw;
  max-height: 70vh;
  width: auto;
  height: auto;
  display: block;
}

.video-hero svg {
  max-width: 100%;
  max-height: 60%;
  width: auto;
  height: auto;
  display: block;
}

.video-hero g path {
  opacity: 0;
  transition: none;
  fill: var(--addams-tan);
}

.video-hero g path.visible {
  opacity: 1;
}
/* end home animation */

/* normal page scroll happens automatically */
.page-content{
  position: relative;
  z-index: 1;
  background: white; /* so text is readable after the video section */
}

@media(min-width: 700px) {
  .general-information-container .museum-block-container {
    padding: 3rem 8rem;
  }
  .general-information-container p.admission span {
    display: block;
  }
}

figure.book-hero {
  max-width: 950px;
  margin: auto;
  text-align: center;
  margin-bottom: 2rem;
}

@media ( min-width: 1024px ) {
  figure.book-hero img {
    max-height: 65vh;
    width: auto;
  }
}
@media ( max-width: 700px ) {
  figure.book-hero {
    padding: 2rem;
  }
}

/* Single */
.single h1, .page h1 {
  text-align: center;
}

.single .text-slider-block {
  background-color: var(--a11y-surface);
}

/* Staff */
.staff-container .grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 6rem 2rem;
}

.staff-container h2 {
  font-family: var(--font-heading);
  font-size: var(--mm-font);
  line-height: var(--mm-ln);
  margin: 3rem 0;
  text-align: left !important;
}

.staff-container h2 span {
  display: block;
}

.staff-container h2:has(.title) span.name::after {
  content: ',';
}

@media(min-width: 700px) {
  .staff-container {
    margin-top: 10rem;
  }
}
@media(max-width: 700px) {
  .staff-container .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem 2rem;
  }
}

/* Editor */
.section-heading-group {
  position: relative;
  width: 100%;
}
.section-heading-group h2 {
  text-align: center;
  margin: 3.4rem 0;
}
.text-slider-block.section-container {
  padding-bottom: 1.6rem;
}
.text-slider-container .slider-text {
  margin: 16rem 0 15rem;
  padding: 0 10rem;
}
.text-slider-container .slider-text p {
  font-family: var(--font-heading);
  font-size: var(--x-large);
  line-height: var(--x-large-ln);
  text-align: center;
}
.text-slider-container .slider-text p:last-child {
  margin-bottom:0;
}

.gallery-swiper figure {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.gallery-swiper .inside-section-container {
  padding: 0;
  margin: 0;
}

.gallery-swiper figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gallery-swiper .swiper-button-prev,
.gallery-swiper .swiper-button-next {
  position: relative;
  left: unset;
  right: unset;
  top: unset;
  bottom: unset;
  width: 28px;
  height: 28px;
  margin: unset;
}

.gallery-swiper .swiper-header {
  position: relative;
  display: flex;
  justify-content: center;
  min-height: 70px;
}

.gallery-swiper .swiper-controls {
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translate(0, -50%);
  display: flex;
  gap: 0.5rem;
  align-items: center;
}

.gallery-swiper .swiper-button-next:after, .gallery-swiper .swiper-button-prev:after,
.parvus__btn.parvus__btn--previous:after, .parvus__btn.parvus__btn--next:after {
    content: '';
    /* font-family: swiper-icons; */
    /* font-size: var(--swiper-navigation-size); */
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    width: 28px;
    height: 28px;
    border: 1px solid;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    border-color: var(--font-color);
}

.gallery-swiper .swiper-button-next:after,
.parvus__btn.parvus__btn--next:after {
  background-image: url('../images/gallery-right_k.svg');
}
.gallery-swiper .swiper-button-prev:after,
.parvus__btn.parvus__btn--previous:after {
  background-image: url('../images/gallery-left_k.svg');
}

html.theme-dark .gallery-swiper .swiper-button-next:after,
html.theme-dark .parvus__btn.parvus__btn--next:after {
  background-image: url('../images/gallery-right_tan.svg');
}
html.theme-dark .gallery-swiper .swiper-button-prev:after,
html.theme-dark .parvus__btn.parvus__btn--previous:after {
  background-image: url('../images/gallery-left_tan.svg');
}

.parvus__btn.parvus__btn--previous svg,
.parvus__btn.parvus__btn--next svg {
  display: none;
}

.parvus__counter {
  font-family: var(--font-heading);
}

.swiper-pagination-bullet {
  font-family: var(--font-heading);
  width: 28px;
  height: 28px;
  text-align: center;
  line-height: var(--ui-control-ln);
  font-size: var(--nav-ui-size);
  border: 1px solid;
  color: var(--addams-black);
  background-color: var(--addams-tan);
  opacity: 1;
  border-radius: 0;
  margin: 1px !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  border-radius: 50%;
  color: var(--addams-tan);
  background-color: var(--addams-black);
  margin: 1px !important;
}

.static-quote .inside-section-container {
  padding-top: 10rem;
  padding-bottom: 10rem;
}

.static-quote p {
  font-family: var(--font-heading);
  font-size: var(--m-font);
  line-height: var(--m-ln);
}

.static-quote .quote, .static-quote p.source {
  max-width: 1020px;
  margin: auto;
  text-align: center;
}

.static-quote p.source::before {
  content: '— ';
  display: inline-block;
}

.static-quote p.source a {
  font-style: italic;
}

.static-quote p.source a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.large-text .inside-section-container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

.large-text p {
  font-family: var(--font-heading);
  font-size: var(--section-heading);
  line-height: var(--l-ln);
}

.large-text p:last-child {
  margin:0;
}

.video-section.full iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
}
.video-section.center iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: 100%;
  max-height: 525px;
}
.video-section.center .inside-video-container {
  display: flex;
  justify-content: center;
}
.video-section.center iframe {
  margin-left: auto;
  margin-right: auto;
}

.gallery-section .inside-section-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gallery-section {
  margin-bottom: 8rem;
}

.gallery, .gallery-more {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr 1fr 1fr;
}

.gallery.list, .gallery-more.list {
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

.gallery-more.list:has(.collection-item) {
  grid-column: span 2;
  grid-template-columns: 1fr 1fr;
}

.past .gallery.list, .past .gallery-more.list {
  gap: 0;
}

@media ( min-width: 700px ) {
  .past .related-program .series-names span {
    padding-left: 2rem;
  }
}
.gallery-section figcaption {
  text-align: left;
  line-height: normal;
  padding: 1.75rem 0;
}

.gallery-more[hidden] { display: none; }

.upcoming-programs-more {
  display: contents;
}

.upcoming-programs-more[hidden] {
  display: none !important;
}

.current-exhibitions-more,
.past-exhibitions-more {
  display: contents;
}

.current-exhibitions-more[hidden],
.past-exhibitions-more[hidden] {
  display: none !important;
}

.parvus {
  color: var(--font-color);
}

.parvus__overlay {
    background-color: var(--background-page);
    color: var(--font-color);
}

.parvus__caption, .parvus__caption p {
  font-size: var(--font-sm);
  text-align: center;
  color: var(--font-color);
}

button.parvus__btn, button.parvus__btn:hover, button.parvus__btn:focus-visible {
  background-color: var(--background-page);
  border-radius: 50%;
}

button.parvus__btn svg {
  fill: var(--font-color);
}

.parvus__btn[aria-disabled=true] {
  background-color: var(--background-page);
  opacity: 0.3;
}

button.gallery-show-more {
  background-color: transparent;
  color: var(--font-color);
  padding: 2px 10px 0;
  border-radius: 2rem;
  width: fit-content;
  margin: 2rem auto;
  border: 1px solid;
  font-family: var(--font-heading);
  text-transform: capitalize;
  white-space: normal;
}

button.gallery-show-more:hover,
button.gallery-show-more:focus-visible {
  background-color: var(--font-color);
  color: var(--background-page);
  border-color: var(--font-color);
}

.thumb-hover-preview {
  position: fixed;
  width: 128px;
  height: 105px;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 2px;
  z-index: 9999;
  transition: opacity 140ms ease;
}

.thumb-hover-preview.is-visible {
  opacity: 1;
}

@media(min-width: 700px) {
  .large-text {
    padding: 10rem 0;
  }
}

@media(max-width: 700px) {
  .text-slider-container .slider-text {
    margin: 6rem 0;
    padding: 0;
  }
  .large-text p {
    font-size: var(--font-md);
    line-height: var(--ln-md);
  }
  .large-text p:last-child {
    margin-bottom: 2rem;
  }
}

.programs-container,
.related-container,
.related-program,
.upcoming .related-program a,
.related.upcoming .copy {
  display: flex;
  flex-direction: column;
}

.copy .more-grp {
  display: grid;
  grid-template-areas: "left center empty";
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: auto;
}

.copy .more-grp p.rsvp { grid-area: left; }
.copy .more-grp p.more { grid-area: center; }

.copy .more p {
  margin: 0;
}

.related-container {
  padding-bottom: 4rem;
}

.related-container.upcoming .programs-container,
.related-container.past .exhibitions-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}

.related-container.upcoming.programs .programs-container .related-program a {
  height: 100%;
}

/* Keep upcoming programs in a grid while centering rows with only 1-2 cards. */
.related-container.upcoming.programs .programs-container:has(> .related-program:first-child:last-child) {
  grid-template-columns: 1fr;
  max-width: calc((100% - 4rem) / 3);
  margin-left: auto;
  margin-right: auto;
}

.related-container.upcoming.programs .programs-container:has(> .related-program:first-child:nth-last-child(2)) {
  grid-template-columns: 1fr 1fr;
  max-width: calc((((100% - 4rem) / 3) * 2) + 2rem);
  margin-left: auto;
  margin-right: auto;
}

.related h2 {
  padding-bottom: 3rem;
  margin-bottom: 0;
  border-bottom: 1px solid;
}

.related.upcoming h2 {
  margin-bottom: var(--ln-md);
}

#upcoming-programs h2 {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* .related-program a {
  height: 100%;
} */

.list-item a {
  display: flex;
  width: 100%;
  justify-content: space-between;
  text-align: center;
  align-items: center;
  border-bottom: 1px solid;
}

@media(min-width: 700px) {
  .list-item a {
    display: grid;
    grid-template-columns: 1fr 2fr 1fr;

    h3 {
      margin: 4rem auto;
    }

  }
}

/* .programs-container .list-item:last-child a {
  border-bottom: 0;
} */

.grid .list-item a {
  flex-direction: column;
}

.related .list-item a div {
  flex: 1;
}

.related .list-item a div:first-child {
  text-align: left;
}

.related .list-item a h3 {
  flex: 0 0 auto;
  text-align: center;
  max-width: 23ch;
}

.related.upcoming figure img,
.related-container.past .exhibitions-container figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.related.upcoming figure {
  margin: 0;
  width: 100%;
  height: fit-content;
  aspect-ratio: 4 / 3.8;
}

.related-container.past .exhibitions-container figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 6 / 4;
}

.related.upcoming time,
.related-container.past .exhibitions-container time {
  font-size: var(--article-size);
  line-height: var(--article-ln);
}

.related-container.past .exhibitions-container time {
  display: block;
  text-align: center;
  padding: var(--article-size) 0;
}

.related.upcoming .copy {
  padding: 1.6rem 2rem;
  height: 100%;
}

.related.upcoming .exhibition-block .copy,
.related.current .exhibition-block .copy,
.related-container.past .exhibition-block .copy {
  padding: 0 2rem;
  height: auto;
}

.copy .on-view {
  display: flex;
  justify-content: space-between;
}

.related.upcoming .copy p.rsvp {
  margin-top: auto;
}

.related.upcoming .exhibition-block .copy p.learn-more,
.related.current .exhibition-block .copy p.learn-more,
.related-container.past .exhibition-block .copy p.learn-more {
  margin-bottom: 2rem;
}

.related.upcoming h3,
.related-container.past .exhibitions-container h3 {
  font-size: var(--font-md);
  line-height: var(--ln-md);
  text-align: center;
}

.related.current .exhibition-block h3,
.related.upcoming .exhibition-block h3,
.related-container.past .exhibitions-container h3 {
  margin-top: auto;
  margin-bottom: auto;
}


/*
Set background color from editor

.related.current .exhibition-block.has-custom-colors .copy,
.related.upcoming .exhibition-block.has-custom-colors .copy {
  background-color: var(--exhibition-card-bg-light, transparent);
  color: var(--exhibition-card-font-color, var(--font-color));
}

*/

#related-exhibitions .copy {
  padding-top: 1.5rem;
}

@media( max-width: 700px ) {
  .related.current .exhibition-block.has-custom-colors .copy,
  .related.upcoming .exhibition-block.has-custom-colors .copy {
    padding: 1rem;
  }
}

.related.current .exhibition-block.has-custom-colors .copy p,
.related.current .exhibition-block.has-custom-colors .copy h3,
.related.current .exhibition-block.has-custom-colors .copy time,
.related.current .exhibition-block.has-custom-colors .copy .exhibition-date,
.related.current .exhibition-block.has-custom-colors .copy a,
.related.upcoming .exhibition-block.has-custom-colors .copy p,
.related.upcoming .exhibition-block.has-custom-colors .copy h3,
.related.upcoming .exhibition-block.has-custom-colors .copy time,
.related.upcoming .exhibition-block.has-custom-colors .copy .exhibition-date,
.related.upcoming .exhibition-block.has-custom-colors .copy a {
  color: inherit;
}

html.theme-dark .related.current .exhibition-block:not(.has-custom-colors) .copy,
html.theme-dark .related.upcoming .exhibition-block:not(.has-custom-colors) .copy {
  color: var(--font-color);
}

html.theme-dark .related.current .exhibition-block.has-custom-colors .copy,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors .copy {
  background-color: var(--background-page);
  color: var(--font-color);
}

html.theme-dark .related.current .exhibition-block:not(.has-custom-colors) .copy a,
html.theme-dark .related.current .exhibition-block:not(.has-custom-colors) .copy p,
html.theme-dark .related.current .exhibition-block:not(.has-custom-colors) .copy h3,
html.theme-dark .related.current .exhibition-block:not(.has-custom-colors) .copy .exhibition-date,
html.theme-dark .related.upcoming .exhibition-block:not(.has-custom-colors) .copy a,
html.theme-dark .related.upcoming .exhibition-block:not(.has-custom-colors) .copy p,
html.theme-dark .related.upcoming .exhibition-block:not(.has-custom-colors) .copy h3,
html.theme-dark .related.upcoming .exhibition-block:not(.has-custom-colors) .copy .exhibition-date {
  color: inherit;
}

html.theme-dark .related.current .exhibition-block.has-custom-colors .copy a,
html.theme-dark .related.current .exhibition-block.has-custom-colors .copy p,
html.theme-dark .related.current .exhibition-block.has-custom-colors .copy h3,
html.theme-dark .related.current .exhibition-block.has-custom-colors .copy .exhibition-date,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors .copy a,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors .copy p,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors .copy h3,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors .copy .exhibition-date {
  color: inherit;
}

.related .list-item a:hover h3,
.related.upcoming a:hover h3,
.related-container.past .exhibitions-container a:hover h3 {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.upcoming.programs .related-program {
  background-color: var(--font-color);
  color: var(--background-page);
}

.upcoming.programs .related-program:not(.default) {
  background-color: var(--program-card-bg-light, var(--font-color));
}

.upcoming.programs .related-program.has-custom-colors {
  background-color: var(--program-card-bg-light, var(--font-color));
  color: var(--program-card-font-color, var(--background-page));
}

.upcoming.programs .related-program a,
.upcoming.programs .related-program p,
.upcoming.programs .related-program h3 {
  color: var(--background-page);
}

.upcoming.programs .related-program.has-custom-colors a,
.upcoming.programs .related-program.has-custom-colors p,
.upcoming.programs .related-program.has-custom-colors h3 {
  color: inherit;
}

.related-program h3,
.single-book h1,
.single-collection h1 {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}

.upcoming.programs .related-program:not(.default):not(.has-custom-colors) a,
.upcoming.programs .related-program:not(.default):not(.has-custom-colors) p,
.upcoming.programs .related-program:not(.default):not(.has-custom-colors) h3 {
  color: var(--font-color);
}

.page-template-program-page .upcoming.programs .related-program:not(.default) a,
.page-template-program-page .upcoming.programs .related-program:not(.default) p,
.page-template-program-page .upcoming.programs .related-program:not(.default) h3 {
  color: var(--background-page);
}

html.theme-dark .upcoming.programs .related-program {
  background-color: var(--background-page);
}

html.theme-dark .upcoming.programs .related-program:not(.has-custom-colors) a,
html.theme-dark .upcoming.programs .related-program:not(.has-custom-colors) p,
html.theme-dark .upcoming.programs .related-program:not(.has-custom-colors) h3 {
  color: var(--font-color);
}

/* Intentionally removed - consolidated above */

html.theme-dark .upcoming.programs .related-program.has-custom-colors {
  background-color: var(--program-card-bg-light, var(--font-color));
  color: var(--program-card-font-color, var(--font-color));
}

html.theme-dark .upcoming.programs .related-program.has-custom-colors a,
html.theme-dark .upcoming.programs .related-program.has-custom-colors p,
html.theme-dark .upcoming.programs .related-program.has-custom-colors h3 {
  color: inherit;
}

/* Upcoming Programs RSVP - Light Mode */
.upcoming.programs .related-program p.rsvp {
  color: var(--font-color);
  background-color: var(--background-page);
  border-color: transparent;
}

.upcoming.programs .related-program a:hover p.rsvp {
  color: var(--background-page);
  background-color: var(--font-color);
}

/* Upcoming Programs RSVP with Custom Colors - Light Mode */
.upcoming.programs .related-program.has-custom-colors p.rsvp {
  color: var(--program-card-rsvp-color, var(--font-color));
  background-color: var(--program-card-rsvp-bg, var(--background-page));
  border-color: var(--program-card-rsvp-border, transparent);
}

.upcoming.programs .related-program.has-custom-colors a:hover p.rsvp {
  color: var(--program-card-rsvp-hover-color, var(--background-page));
  background-color: var(--program-card-rsvp-hover-bg, var(--font-color));
}

/* Upcoming Programs RSVP - Dark Mode */
html.theme-dark .upcoming.programs .related-program p.rsvp {
  color: var(--background-page) !important;
  background-color: var(--font-color) !important;
}

html.theme-dark .upcoming.programs .related-program a:hover p.rsvp {
  color: var(--font-color) !important;
  background-color: var(--background-page) !important;
}

/* Upcoming Programs RSVP with Custom Colors - Dark Mode */
html.theme-dark .upcoming.programs .related-program.has-custom-colors p.rsvp {
  color: var(--background-page) !important;
  background-color: var(--program-card-rsvp-bg, var(--font-color));
  border-color: var(--program-card-rsvp-border, transparent);
}

html.theme-dark .upcoming.programs .related-program.has-custom-colors a:hover p.rsvp {
  color: var(--program-card-rsvp-hover-color, var(--font-color));
  background-color: var(--program-card-rsvp-hover-bg, var(--background-page));
}

.related-container.past .related-program.has-custom-colors {
  background-color: var(--related-card-bg-light, transparent);
  color: var(--related-card-font-color, var(--font-color));
}

.related-container.past .related-program.has-custom-colors a,
.related-container.past .related-program.has-custom-colors h3,
.related-container.past .related-program.has-custom-colors p,
.related-container.past .related-program.has-custom-colors .program-date,
.related-container.past .related-program.has-custom-colors .series-names span {
  color: inherit;
}

html.theme-dark .related.upcoming figure img,
html.theme-dark .related-container.past .exhibitions-container figure img {
  filter: brightness(0.62);
}

html.theme-dark .video-background::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(35, 31, 32, 0.62);
  z-index: 1;
  pointer-events: none;
}

html.theme-dark .related-container.past .related-program {
  background-color: var(--background-page);
  color: var(--font-color);
}

html.theme-dark .related-container.past .related-program a,
html.theme-dark .related-container.past .related-program h3,
html.theme-dark .related-container.past .related-program p,
html.theme-dark .related-container.past .related-program .program-date,
html.theme-dark .related-container.past .related-program .series-names span {
  color: var(--font-color);
}

#past-programs {
  background-color: var(--background-page);
  margin-top: 10rem;
  padding-top: 3rem;
}
.page-template-program-page #past-festivals {
  background-color: var(--background-page);
}

.page-template-program-page #past-programs .inside-section-container,
.page-template-program-page #current-festivals .inside-section-container,
.page-template-program-page #upcoming-festivals .inside-section-container,
.page-template-program-page #past-festivals .inside-section-container {
  border-top: 0;
  padding-top: 3rem;
}

#related-exhibitions .exhibitions-container {
  min-height: unset !important;
}

#related-exhibitions .exhibitions-container .exhibition-block:last-child {
  border-bottom: 0;
}

@media ( max-width: 700px ) {
  .related-container.upcoming .programs-container,
  .related-container.past .exhibitions-container {
    grid-template-columns: 1fr !important;
    max-width: 100% !important;
  }
  .list-item a {
    flex-direction: column;
  }
}

/* Exhibition list */
.exhibition-block {
  padding: 0 0 2rem;
  border-bottom: 1px solid;
  margin-bottom: 2rem;
}
.exhibition-block a {
  display: flex;
  height: 100%;
}

@media ( min-width: 700px ) {
  .upcoming .exhibition-block a {
    flex-direction: row-reverse;
  }
  .current .exhibition-block a {
    flex-direction: row;
  }
  .upcoming .exhibition-block a .exhibition-date {
    margin-bottom: auto;
  }
}

.exhibition-block a figure,
.exhibition-block a .copy {
  flex: 1;
}

.exhibition-block a figure {
  aspect-ratio: 16/10 !important;
  width: 100%;
  height: 100%;
}

.exhibition-block a figure img {
  object-fit: cover;
}

.page-template-exhibition-page .related.current h2,
.page-template-exhibition-page .related.upcoming h2,
.page-template-exhibition-page .related.past h2 {
  margin-bottom: 2rem;
}

#past-exhibitions h2,
#past-programs h2 {
  margin-top: 2rem !important;
}

#past-exhibitions {
  padding: 2rem 0 4rem;
  background-color: var(--background-page);
}

@media ( max-width: 700px ) {
  .exhibition-block a {
    flex-direction: column;
  }
}

.partners-section .inside-section-container {
  margin: 4rem auto;
  border-top: 0;
}
.partner-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.partner-container .partner {
  flex: 1 1 25%;
  min-width: 25%;
  max-width: 50%;
}

.partner-container .partner a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
}
.partner-container .partner a p {margin:0;}
.partner-container .partner a:hover p {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

@media ( max-width: 700px ) {
  .partner-container .partner {
    flex: 1 1 50%;
    min-width: 50%;
    max-width: 50%;
  }
}

#related-festivals .inside-section-container {
  margin: 4rem 0 0;
  padding: 0;
}

#related-content .inside-section-container {
  padding: 4rem 2rem;
  background-color: var(--background-page);
}

#related-content .pub-guides {
  display: flex;
  align-items: self-start;
  justify-content: center;
}

.pub-container, .guides-container {
  flex: 1;
}

.pub-container .publication:not(:last-child) {
  margin-bottom: 6rem;
}

.inside-related-container, .collection-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  padding-bottom: 4rem;
}

.single-book main {
  padding-bottom: 6rem;
}

.inside-section-container:has(.pub-guides):has(.collection-container) .collection-container {
  margin-top: 12rem;
}

#related-content .inside-section-container h3, #related-content .inside-section-container p, .collection-container p {
  text-align: center;
}

.publication p.title, .single-guide p.title {
  font-family: var(--font-heading);
  font-size: var(--mm-font);
  line-height: var(--mm-ln);
}

.publication p.title {
  max-width: 30ch;
  text-align: center;
  margin: 0 auto 2rem;
}

.single-guide p.title, .collection-item p.artist {
  margin-bottom: 0;
}

.collection-item p.item-title span.title {
  font-style: italic;
}

.inside-section-container h3 {
  margin-bottom: 1rem;
}

.inside-section-container .related-container.upcoming.programs .programs-container .related-program a h3 {
  margin: 4rem 0 !important;
}

.inside-related-container img, .collection-container img {
  max-height: 400px;
  width: auto;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.inside-related-container .gallery-show-more {
  grid-column: 1 / -1;
  justify-self: center;
}

.collection-item, .single-guide {
  border: 1px solid;
  padding: 2rem;
}

@media ( min-width: 700px ) {
  .collection-item:only-child {
    grid-column: 1 / -1;
    width: 50%;
    margin: auto;
  }

  .gallery-more .collection-item:only-child {
    grid-column: unset;
    width: unset;
    margin: unset;
  }
}

.single-guide:not(:last-child) {
  margin-bottom: 2rem;
}

.collection-item img {
  margin: 2rem auto;
}

@media ( max-width: 700px ) {
  #related-content .pub-guides {
    flex-direction: column;
  }
  .inside-related-container,
  .collection-container {
    grid-template-columns: 1fr;
  }
}

/* ***** STRUCTURE ***** */
/* Grid */
.container {
    position: relative;
    width: 100%;
    max-width: 100%;
    margin: 135px auto 0;
    padding: 0;
    box-sizing: border-box;
    min-height: 25vh;
}
.home .container {margin-top:0;}

.single-festival .container,
#past-programs {
  margin-top: 9rem;
}

.inside-section-container {
  padding: 0 2rem;

  &:has(h2:not(.screen-reader-text)) {
   border-top: 1px solid;
  }
}
.single-exhibition .inside-section-container,
.guide-section .inside-section-container,
#upcoming-exhibitions .inside-section-container,
#past-exhibitions .inside-section-container,
#past-programs .inside-section-container {
  border-top: 0;
}
.inside-section-container h2 {
  text-align: center;
}
.section-container:first-of-type .inside-section-container,
.full-content-section.section-container .inside-section-container,
.spacer-section,
.spacer-section + .section-container .inside-section-container {
  border-top: 0;
}
.video-section.section-container {
  margin-bottom: 4rem;
}

.full-content-section.section-container .inside-section-container {
  max-width: 1000px;
  margin: auto;
}

.full-content-section.section-container .inside-section-container p {
  padding: 0 2rem;
}
.full-content-section.section-container .inside-section-container p:has(iframe) {text-align: center;}
.full-content-section.section-container .inside-section-container p,
.full-content-section.section-container .inside-section-container li {
  font-size: var(--article-size);
  line-height: var(--article-ln);
  margin-bottom: var(--article-margin);
}

.full-content-section.section-container .inside-section-container figure {
  margin-bottom: 4rem;
}

.full-content-section .serif {
  font-family: var(--font-heading);
}

.full-content-section p span.subtitle {
  font-family: var(--font-heading);
  font-size: var(--subtitle-size);
  line-height: var(--subtitle-ln);
}

.full-content-section p span.large {
  font-size: var(--font-lg);
  line-height: var(--ln-lg);
}

.full-content-section p span.medium {
  font-size: var(--font-md);
  line-height: var(--ln-md);
}
.full-content-section p:has(.medium) {
  margin: 4rem 0;
}

.full-content-section p span.small {
  font-size: var(--font-sm);
}

.full-content-section sup {
  font-size: 0.7em;
  line-height: 0;
  vertical-align: super;
}

.full-content-section sup:has(.footnote-ref) {
  display: inline-flex;
  border: 1px solid;
  width: 2.4rem;
  height: 2.4rem;
  aspect-ratio: 2;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.full-content-section p.footnote-text {
  font-size: 0.8em;
  line-height: 1.4;
  margin-top: -1.2rem;
  margin-bottom: 1.6rem;
}

.bottom-notes {
  display: none;
  width: 100%;
  padding: 0 2rem;
}
.bottom-notes:has(.further-reading), .bottom-notes:has(.footnote-container) {
  display: block;
}
.inside-bottom-notes {
  display: flex;
  width: 100%;
  padding: 0 2rem 6rem;
  border-top: 1px solid;
  gap: 6rem;
  margin: 0 auto;
}

.footnote-container,
.further-reading {
  flex:1;
  max-width: 50%;
}

.footnote-container h2,
.further-reading h2 {
  font-family: var(--font-regular);
  font-size: var(--font-sm);
  margin-bottom: 2rem;
}

.footnote-container .footnote-list {
  margin: 0;
  padding-left: 2.4rem;
  list-style: decimal;
}

.footnote-container .footnote-item {
  margin-bottom: 1.2rem;
}

.further-reading p, .further-reading li {
  font-size: var(--font-sm);
}

.further-reading a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.footnote-container p.footnote-text {
  font-size: var(--font-sm);
  margin-top: 0;
  margin-bottom: 0;
}

.footnote-hover-preview {
  display: none;
}

.footnote-container ol.footnote-list {
  list-style-type: none; /* Removes default 1. 2. 3. */
  counter-reset: my-counter; /* Initializes the counter */
  padding-left: 0;
  padding-right: 4rem;
}
.footnote-container ol.footnote-list li {
  counter-increment: my-counter; /* Increments for each item */
  position: relative;
  /* margin-left: 1.5rem; */
  margin-left: 0;
  margin-bottom: 1rem;
}
.footnote-container ol.footnote-list li::before {
  content: unset;
  /* content: counter(my-counter) " "; Adds number + space (no period) */
  position: absolute;
  left: -1.5rem;
  font-size: var(--font-sm);
  margin-top: -1.7px;
}

.article-navigation {
  display: flex;
  justify-content: space-between;
  padding: 6rem 2rem 4rem;
  background-color: var(--background-page);
}
.article-navigation a {max-width: 50%;}
.article-navigation a, .article-navigation span {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--article-ln);
  line-height: var(--subtitle-ln);
}
.article-navigation a#forward {
  margin-left: auto;
  text-align: right;
}

.article-navigation span.next,
.article-navigation span.prev {
  display: flex;
  align-items: center;
}

.article-navigation span.next {justify-content: end;}

.article-navigation span.next::after {
  font-family: var(--font-graphics);
  content: '\2192';
  font-size: var(--arrow-icon-size);
  padding-left: 1rem;
  margin-top: -6px;
}

.article-navigation span.prev::before {
  font-family: var(--font-graphics);
  content: '\2190';
  font-size: var(--arrow-icon-size);
  padding-right: 1rem;
  margin-top: -6px;
}

@media(max-width: 700px) {
  .inside-bottom-notes {
    flex-direction: column;
	padding: 0 0rem 4rem;
    gap: 0;
  }
  .footnote-container, .further-reading {
    max-width: 100%;
  }
  p.footnote-text span {
    word-break: break-word;
  }
  .article-navigation a, .article-navigation span {
	font-size: 2rem;
  }	
}

.page-template-journal-page .inside-section-container {
  margin: auto;
  border: 0;
}

.page-template-journal-page .gallery-section {
  padding-top: 6rem;
  padding-bottom: 10rem;
}

.page-template-journal-page .gallery-section img {
  margin-bottom: 2.4rem;
}

.page-template-journal-page .gallery-section p {
  text-align: center;
}

.page-template-journal-page .gallery-section a:hover p.title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
}
.page-template-journal-page .gallery-section p.author {
  font-size: var(--font-size);
}
.page-template-journal-page .gallery-section p.title {
  font-family: var(--font-heading);
  font-size: var(--font-lg);
  line-height: var(--ln-lg);
}

.guide-section {
  padding: 2rem 0;
}

.guide-section .inside-section-container {
  align-items: stretch;
  gap: 2rem;
}

.guide-section h2 {
  text-align: center;
}

.guide-section h3 { margin-top: 0; }

.guide-section .inside-section-container .guide {
  width: 100%;
  border: 1px solid;
  align-self: stretch;
  height: 100%;
}

.guide-section .inside-section-container .guide:only-child {
  max-width: 600px;
  margin: 0 auto;
}

@media (min-width: 700px) {
  .footnote-hover-preview {
    position: fixed;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: min(360px, calc(100vw - 40px));
    max-height: 50vh;
    overflow-y: auto;
    background: var(--background-color);
    color: var(--font-color);
    /* border: 1px solid var(--color__rule); */
    padding: 1.2rem 1.6rem;
    z-index: 2200;
    font-size: var(--font-sm);
    width: 14vw;
  }

  .footnote-hover-preview.is-visible {
    display: block;
  }

  .footnote-hover-preview p.footnote-text {
    margin: 0;
    font-size: var(--font-sm);
    line-height: var(--body-ln-height);
  }

  .guide-section {
    padding: 4rem 0;
  }
}

.full-content-section p a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

.full-content-section p a.footnote-ref {
  text-decoration: none !important;
}

.full-content-section sup:has(.footnote-ref):hover,
.full-content-section sup:has(.footnote-ref):hover a.footnote-ref,
.full-content-section p a.footnote-ref:hover {
  background-color: var(--font-color) !important;
  color: var(--background) !important;
}

.full-content-section p:has(span.no-margin) {
  margin-bottom:0 !important;
}

/* .full-content-section p:has(iframe) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
} */

.full-content-section hr {
  margin-bottom: 7rem;
}

.collection-section.section-container .inside-section-container {
  border: 0;
}

@media(min-width: 700px) {

  body:not(.single-journal):not(.single-program):not(.single-exhibition):not(.single-festival):not(.single-collection) #content .section-container:first-of-type {
    margin-top: 16rem;
    padding-top: 0;
  }

  .inside-section-container {
    margin: 0 2rem;
  }
  .staff-container.section-container {
    margin-bottom: 14rem;
  }
  .staff-container .inside-section-container,
  .guide-section .inside-section-container,
  .related .inside-section-container,
  #related-content .inside-section-container,
  .collection-section.section-container .inside-section-container {
    margin: 0;
  }
  .guide-section .inside-section-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto auto auto;
  }
  .guide-section .inside-section-container:has(.guide:only-child) {
    display: flex;
    justify-content: center;
  }
  .guide-section .guide {
    display: grid;
    grid-row: span 5;
    grid-template-rows: subgrid;
    gap: 0;
  }
  .guide-section .guide:only-child {
    max-width: 600px;
    display: grid;
    grid-row: auto;
  }
}

@media ( max-width: 700px ) {
  .guide-section .inside-section-container {
    padding: 0 1rem;
  }
  .guide-section .inside-section-container .guide {
    padding: 1rem 1rem 4rem 1rem;
    margin-bottom: 2rem;
  }
}

#content .detail-section.section-container {
  margin-top: 4rem;
}

/* Articles */
.single-journal .inside-section-container { border-top: 0; }

.single-journal header {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  max-width: 950px;
  margin: auto;
}

.single-journal header div, .single-journal header div p {
  text-align: center;
  font-size: var(--article-size);
  margin:0;
}

.single-journal header h1 {
  margin: 2.4rem auto;
}

.single-journal time {
  display: block;
  font-size: var(--font-sm);
  text-align: center;
  margin-bottom: var(--article-ln);
}

.single-journal section header {
  max-width: 100%;
}

/* Exhibitions */
.single-exhibition {
  .hero {
    position: relative;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: var(--hero-text-color, inherit);
    --hero-ui-surface: rgba(253,247,240,0.84);
    --hero-ui-surface-strong: rgba(253,247,240,0.96);
    --hero-ui-border: rgba(35,31,32,0.20);
    --hero-ui-shadow: rgba(35,31,32,0.14);
    --hero-ui-close-icon: url(../images/close_k.svg);
  }
  .inside-hero {
    position: relative;
    width: 100%;
    height: 100%;
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .hero .hero-image {
    height: 50%;
    width: auto;
    position: absolute;
    z-index: 0;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .hero .hero-image img {
    width: auto;
    height: 100%;
  }
  .hero .exhibition-date {
    margin-top: auto;
  }
  .hero h1,
  .hero .exhibition-date,
  .hero .on-page-nav,
  .hero .on-page-nav a,
  .hero .on-page-nav button {
    color: inherit;
  }
  .hero h1, .hero .exhibition-date {
    font-family: var(--font-heading);
    font-size: var(--hero-exhibition-size);
    line-height: var(--hero-exhibition-ln);
    text-align: center;
  }
  .hero h1 {
    max-width: 21ch;
    margin-top: 6rem;
  }
  .hero .exhibition-date { max-width: 17ch; }

  @media (prefers-color-scheme: light) {
    .hero.has-custom-colors,
    .hero.has-custom-colors h1,
    .hero.has-custom-colors .exhibition-date,
    .hero.has-custom-colors .exhibition-date time,
    .hero.has-custom-colors .exhibition-date time span {
      color: var(--hero-text-color) !important;
    }
  }

  @media (prefers-color-scheme: dark) {
    .hero.has-custom-colors,
    .hero.has-custom-colors h1,
    .hero.has-custom-colors .exhibition-date,
    .hero.has-custom-colors .exhibition-date time,
    .hero.has-custom-colors .exhibition-date time span {
      color: var(--hero-text-color) !important;
    }
  }

  .on-page-nav {
    position: fixed;
    z-index: 99999;
    left: 2rem;
    bottom: 2rem;
    color: inherit;
  }
  .on-page-nav li {
    max-width: 30ch;
    line-height: 100%;
  }

  .on-page-nav a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
  }
  .on-page-nav button {
    font-family: var(--font-heading);
    font-size: var(--font-size);
    text-transform: none;
    background-color: var(--hero-ui-surface);
    color: inherit;
    border: 1px solid var(--hero-ui-border);
    /* border-radius: 999px; */
    box-shadow: 0 1rem 2.5rem var(--hero-ui-shadow);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 2px 5px;
  }
  .on-page-nav:has([aria-expanded="true"]) {
    background-color: var(--hero-ui-surface-strong);
    border: 1px solid var(--hero-ui-border);
    /* border-radius: 1.2rem; */
    box-shadow: 0 1rem 2.5rem var(--hero-ui-shadow);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 0.4rem;
  }
  .on-page-nav:has([aria-expanded="true"]) a, .on-page-nav:has([aria-expanded="true"]) button {
    color: inherit;
  }

  .on-page-nav button[aria-expanded="true"] {
    display: flex;
    width: 100%;
    align-items: center;
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
    margin-bottom:0.4rem;
  }
  .on-page-nav button[aria-expanded="true"]::after {
    content: '';
    display: block;
    background-image: var(--hero-ui-close-icon);
    width: 13px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: auto;
  }

  .on-page-nav ul, .on-page-nav li {
    list-style: none;
    margin:0;
    padding:0;
  }

  .on-page-nav li {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 0.5rem;
  }

  .container {
    margin-top: 0;
  }

  .detail-section .inside-section-container.row {
    border: 1px solid;
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto 2rem;
    gap: 4rem;
  }

  .detail-section {
    padding: 2rem;
  }
  .detail-section p.section-heading {
    font-family: var(--font-heading);
    margin-bottom:0;
  }
  .detail-section ul, .detail-section li {
    list-style: none;
    margin:0;
    line-height: normal;
    font-size: var(--font-size);
  }
  .detail-section ul {
    padding-left: 1rem;
  }
  .detail-section a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
  }

  .detail-section li a[target="_blank"]::after {
    font-family: var(--font-graphics);
    content: "\2197"; /* Unicode for North-East Arrow ↗ */
    margin-left: 4px;
    font-size: 0.85em; /* Slightly smaller than parent text */
    display: inline-block;
    vertical-align: middle;
  }

  .detail-section .acknowledgments p:first-child {
    text-indent: 1rem;
  }
  .detail-section .acknowledgments p:last-child {
    margin:0;
  }
  #past-programs {
    background-color: var(--background-page);
    padding-top: 3rem;
  }

}
@media(min-width: 700px) {
  .single-exhibition {
    .detail-section .row {
      justify-content: space-between;
    }

    .detail-section .column {
      flex: 1;
    }
    .detail-section .column:nth-child(2) {
      flex: 2;
    }
  }
}

.menu-open .on-page-nav {
  opacity: 0;
}

.single-exhibition .detail-section .inside-section-container.row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem;
}

.single-exhibition .detail-section .inside-section-container.row .column {
  min-width: 0;
}

@media (max-width: 699px) {
  .single-exhibition .detail-section .inside-section-container.row {
    grid-template-columns: 1fr;
  }
}

html.theme-dark .single-exhibition .hero:not(.has-custom-colors) {
  background-color: var(--background-page) !important;
  color: var(--font-color) !important;
  --hero-text-color: var(--font-color);
  --hero-ui-surface: rgba(var(--addams-tan-rgb), 0.08);
  --hero-ui-surface-strong: rgba(var(--addams-tan-rgb), 0.14);
  --hero-ui-border: rgba(var(--addams-tan-rgb), 0.24);
  --hero-ui-shadow: rgba(0, 0, 0, 0.28);
  --hero-ui-close-icon: url(../images/close_tan.svg);
}
html.theme-dark .single-exhibition .hero:not(.has-custom-colors) {
  background-color: var(--background-page) !important;
  color: var(--font-color) !important;
  --hero-text-color: var(--font-color);
  --hero-ui-surface: rgba(var(--addams-tan-rgb), 0.08);
  --hero-ui-surface-strong: rgba(var(--addams-tan-rgb), 0.14);
  --hero-ui-border: rgba(var(--addams-tan-rgb), 0.24);
  --hero-ui-shadow: rgba(0, 0, 0, 0.28);
  --hero-ui-close-icon: url(../images/close_tan.svg);
}

html.theme-dark .single-exhibition .on-page-nav button {
  background-color: var(--addams-tan) !important;
  color: var(--addams-black) !important;
  border: 1px solid var(--addams-tan) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.theme-dark .single-exhibition .on-page-nav:has([aria-expanded="true"]) {
  max-width: 35ch !important;
  background-color: var(--addams-black) !important;
  border: 1px solid var(--addams-tan) !important;
  border-radius: 1.2rem !important;
  padding: 0.4rem !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.theme-dark .single-exhibition .on-page-nav:has([aria-expanded="true"]) button,
html.theme-dark .single-exhibition .on-page-nav:has([aria-expanded="true"]) a {
  color: var(--addams-tan) !important;
}

html.theme-dark .single-exhibition .on-page-nav button[aria-expanded="true"] {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--addams-tan) !important;
}

html.theme-dark .single-exhibition .on-page-nav button[aria-expanded="true"]::after {
  background-image: url(../images/close_tan.svg) !important;
}

html.theme-dark .single-exhibition .on-page-nav li a {
  color: var(--addams-tan) !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav button[aria-expanded="true"] {
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: var(--addams-tan) !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav button[aria-expanded="true"]::after {
  background-image: url(../images/close_tan.svg) !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav li a {
  color: var(--addams-tan) !important;
}

html.theme-dark .single-exhibition .hero.full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(35, 31, 32, 0.62);
  z-index: 0;
  pointer-events: none;
}
html.theme-dark .single-exhibition .hero.full .inside-hero,
html.theme-dark .single-exhibition .hero.full .on-page-nav {
  position: relative;
  z-index: 1;
}
html.theme-dark .hero h1, html.theme-dark .hero .exhibition-date {
  color: inherit !important;
}

#current-festivals .inside-section-container,
#upcoming-festivals .inside-section-container {
  padding: 0;
}

.festival-copy {
  display: grid;
  grid-template-areas: "empty center center right";
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: auto;
  padding-bottom: 2rem;
  padding-top: 3rem;
}
.festival-copy h3 {
  grid-area: center;
  text-align: center;
}
.festival-copy p.learn-more {
  grid-area: right;
}
.festivals .exhibitions-container {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.current .exhibition-block.festival,
.upcoming .exhibition-block.festival {
  border: 0;
  padding-bottom: 0;
  margin-bottom:0;
}
.current .exhibition-block.festival a,
.upcoming .exhibition-block.festival a {
  flex-direction: column;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100vh;
}

.festival-hero {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.inside-festival-hero {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  /* width: 100vw;
  height: 100vh;
  max-height: 100vh; */
  display: flex;
  flex-direction: column;
  align-items: center;
}
.inside-festival-hero .act-well-animation {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  z-index: 1;
}
.festival-hero:has(.act-well-animation) .festival-hero-image {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
.festival-hero:has(.act-well-animation) .festival-hero-image img {
  max-height: 65vh;
  max-width: 100%;
  width: auto;
  height: auto;
}

.related-container.current.festivals,
.related-container.upcoming.festivals {
  margin-bottom:0;
}

.current .exhibition-block.festival.has-custom-colors .festival-copy,
.upcoming .exhibition-block.festival.has-custom-colors .festival-copy {
  background-color: var(--festival-card-bg-light, transparent);
  color: var(--festival-card-font-color, var(--font-color));
}

.current .exhibition-block.festival.has-custom-colors .festival-copy h3,
.current .exhibition-block.festival.has-custom-colors .festival-copy p,
.current .exhibition-block.festival.has-custom-colors .festival-copy a,
.upcoming .exhibition-block.festival.has-custom-colors .festival-copy h3,
.upcoming .exhibition-block.festival.has-custom-colors .festival-copy p,
.upcoming .exhibition-block.festival.has-custom-colors .festival-copy a {
  color: inherit;
}

.single-festival {
  .hero {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .inside-hero {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    /* width: 100vw;
    height: 100vh;
    max-height: 100vh; */
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .act-well-animation {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    z-index: 1;
  }
  .hero:has(.act-well-animation) .hero-image {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
  }
  .hero:has(.act-well-animation) .hero-image img {
    max-height: 65vh;
    width: auto;
  }
  .on-page-nav {
    position: fixed;
    z-index: 99999;
    left: 2rem;
    bottom: 2rem;
    z-index: 20;
  }
  .on-page-nav li {
    max-width: 30ch;
    line-height: 100%;
  }

  .on-page-nav a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
  }
  .on-page-nav button {
    font-family: var(--font-heading);
    font-size: var(--font-size);
    text-transform: none;
    background-color: var(--addams-tan);
    color: var(--addams-black);
    padding: 2px 5px;
  }
  .on-page-nav:has([aria-expanded="true"]), .on-page-nav:has([aria-expanded="true"]) a, .on-page-nav:has([aria-expanded="true"]) button {
    background-color: var(--addams-black);
    color: var(--addams-tan);
    padding: 2px 5px;
  }

  .on-page-nav button[aria-expanded="true"] {
    display: flex;
    width: 100%;
    align-items: center;
    margin-bottom:0;
  }
  .on-page-nav button[aria-expanded="true"]::after {
    content: '';
    display: block;
    background-image: url(../images/close_tan.svg);
    width: 13px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: auto;
  }

  .on-page-nav ul, .on-page-nav li {
    list-style: none;
    margin:0;
    padding:0;
  }

  .on-page-nav li {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 0.5rem;
  }
  #past-programs {
    background-color: var(--background-page);
    padding-top: 3rem;
  }
}

/* CSS Nesting (native). Note: use explicit `&` for widest nesting support. */
.single-program, .single-collection {
  & .hero {
    position: relative;
    width: 100%;
    /* height: 100vh;
    max-height: 100vh; */
    display: flex;
    flex-direction: column;
    padding-top: 9rem;
    background-color: var(--program-hero-bg-light, #FFFFFF);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: var(--hero-text-color, inherit);
    --hero-ui-surface: rgba(253,247,240,0.84);
    --hero-ui-surface-strong: rgba(253,247,240,0.96);
    --hero-ui-border: rgba(35,31,32,0.20);
    --hero-ui-shadow: rgba(35,31,32,0.14);
    --hero-ui-close-icon: url(../images/close_k.svg);
  }
  & .inside-hero {
    position: relative;
    width: 100%;
    height: 100%;
    /* width: 100vw;
    height: 100vh;
    max-height: 100vh; */
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  & .inside-hero header {
    display: flex;
    flex-direction: column-reverse;
    margin-top: auto;
    width: calc(100% - 6rem);
  }
  & .program-information {
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  & .program-information .program-types span:not(:last-child):after {
    content: ', ';
  }
  & .program-information {
    & .program-types,
    & .program-date,
    & .rsvp-notice {
      flex: 1;
    }
    & .rsvp-notice {
      display: flex;
      justify-content: right;
    }
  }
  & .hero .hero-image {
    height: 50%;
    width: auto;
    margin-bottom: auto;
    text-align: center;
    padding-bottom: 3rem;
  }
  & .hero .hero-image img {
    width: 100%;
    height: auto;
    max-width: 650px;
  }
  & .hero .program-date {
    margin-top: auto;
  }
  & .hero h1,
  & .hero .program-types,
  & .hero .program-types span,
  & .hero .program-date,
  & .hero .rsvp-notice,
  & .hero .rsvp-notice a,
  & .hero .rsvp-notice p,
  & .hero .on-page-nav,
  & .hero .on-page-nav a,
  & .hero .on-page-nav button,
  & .hero figcaption {
    color: inherit;
  }
  & .hero h1 {
    font-family: var(--font-heading);
    font-size: var(--font-lg);
    line-height: var(--ln-lg);
    max-width: 65ch;
    margin-top: 6rem;
    max-width: 950px;
    margin-left: auto;
    margin-right: auto;
  }
  & .hero .program-date {
    font-size: var(--subtitle-size);
    line-height: var(--subtitle-ln);
    text-align: center;
  }

  & .on-page-nav {
    position: fixed;
    z-index: 99999;
    left: 2rem;
    bottom: 2rem;
    color: inherit;
  }
  & .on-page-nav li {
    max-width: 30ch;
    line-height: 100%;
  }

  & .on-page-nav a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
  }
  & .on-page-nav button {
    font-family: var(--font-heading);
    font-size: var(--font-size);
    text-transform: none;
    background-color: var(--hero-ui-surface);
    color: inherit;
    border: 1px solid var(--hero-ui-border);
    border-radius: 999px;
    box-shadow: 0 1rem 2.5rem var(--hero-ui-shadow);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 2px 5px;
  }
  & .on-page-nav:has([aria-expanded="true"]) {
    background-color: var(--hero-ui-surface-strong);
    border: 1px solid var(--hero-ui-border);
    border-radius: 1.2rem;
    box-shadow: 0 1rem 2.5rem var(--hero-ui-shadow);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 0.4rem;
  }
  & .on-page-nav:has([aria-expanded="true"]) a, & .on-page-nav:has([aria-expanded="true"]) button {
    color: inherit;
  }

  & .on-page-nav button[aria-expanded="true"] {
    display: flex;
    width: 100%;
    align-items: center;
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
    margin-bottom:0.4rem;
  }
  & .on-page-nav button[aria-expanded="true"]::after {
    content: '';
    display: block;
    background-image: var(--hero-ui-close-icon);
    width: 13px;
    height: 13px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: auto;
  }

  & .on-page-nav ul, & .on-page-nav li {
    list-style: none;
    margin:0;
    padding:0;
  }

  & .on-page-nav li {
    padding-left: 1rem;
    padding-right: 1rem;
    margin-bottom: 0.5rem;
  }

  & .container {
    margin-top: 2rem;
  }

  & .detail-section .inside-section-container.row {
    border: 1px solid;
    padding: 2rem;
    max-width: 1200px;
    margin: 0 auto 2rem;
    gap: 4rem;
  }

  & .detail-section {
    padding: 2rem;
  }
  & .detail-section p.section-heading {
    font-family: var(--font-heading);
    margin-bottom:0;
  }
  & .detail-section ul, & .detail-section li {
    list-style: none;
    margin:0;
    line-height: normal;
    font-size: var(--font-size);
  }
  & .detail-section ul {
    padding-left: 1rem;
  }
  & .detail-section a {
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1.5px;
  }

  & .detail-section li a[target="_blank"]::after {
    font-family: var(--font-graphics);
    content: "\2197"; /* Unicode for North-East Arrow ↗ */
    margin-left: 4px;
    font-size: 0.85em; /* Slightly smaller than parent text */
    display: inline-block;
    vertical-align: middle;
  }

  & .detail-section .acknowledgments p:first-child {
    text-indent: 1rem;
  }
  & .detail-section .acknowledgments p:last-child {
    margin:0;
  }
}
/* end CSS nesting */

.single-collection .collection-names {
  display: flex;
  flex-direction: column-reverse;
}

.single-collection p.top {
  font-size: var(--article-size);
  margin-top: 2rem;
  margin-bottom: 6rem;
}
.single-collection .rsvp-notice p {
  margin:0;
}

.single-collection .inside-hero header {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  width: calc(100% - 6rem);
  text-align: center;
}

.single-collection .inside-hero header h1 {
  margin-bottom: 2rem;
  margin-top: 0;
  font-family: var(--font-regular);
  font-size: var(--font-md);
}
.single-collection .inside-hero header h1 .title {
  font-style: italic;
}
.single-collection .inside-hero header p.artist {
  font-size: var(--font-md);
  margin-bottom: 0;
}

#collection-details.full-content-section.section-container .inside-section-container {
  max-width: 1290px;
}

#collection-details h2 {
  margin-bottom: 2rem;
}

#collection-details ul, #collection-details li, #collection-details p {
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: var(--font-size);
}

#collection-details ul {
  border-bottom: 1px solid var(--cada-light-grey);
}

#collection-details li {
  display: flex;
  border-top: 1px solid var(--cada-light-grey);
}

#collection-details li:hover {
  background-color: var(--cada-light-grey);
  cursor: default;
}

html.theme-dark #collection-details li:hover {
  background-color: rgba(var(--addams-tan-rgb), 0.08);
}

#collection-details li p:first-child {
  width: 225px;
  padding-left: 1rem;
}

#collection-details .item-details-section {
  display: flex;
  gap: 2.8rem;
}

#collection-details .item-on-view p.status {
  padding-left: 1rem;
  margin-bottom: 0;
}

#collection-details .item-on-view a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

#collection-details .item-on-view a p {line-height: 1.2;}

.item-details-section li.types p span:not(:last-child)::after {
  content: ", ";
  display: inline;
}

@media(min-width: 700px) {
  .single-program {
    .hero .hero-image figcaption {
      max-width: 65ch;
      margin: auto;
    }
    .detail-section .row {
      justify-content: space-between;
    }

    .detail-section .column {
      flex: 1;
    }
    .detail-section .column:nth-child(2) {
      flex: 2;
    }
  }
  .single-collection .rsvp-notice p {
    text-align: right;
  }
  .single-collection p.top {
    margin-top: -3rem;
    /* margin-bottom: 0; */
  }
  #collection-details {
    margin-bottom: 10rem;
  }
  #collection-details li p:first-child {
    flex: 1;
  }
  #collection-details li p:last-child {
    flex: 2;
  }

  #collection-details .item-details-section ul {
    flex: 3;
  }

  #collection-details .item-on-view {
    flex: 1;
  }
  #collection-details .item-on-view a p {margin-bottom: 6rem;}
}

@media ( max-width: 700px ) {
  .single-program, .single-collection {
    .hero {
      padding-top: 0;
      margin-top: 0 !important;}
  }
  .single-program, .single-collection {
      .hero .hero-image img {
          max-width: 100%;
      }
  }
  .single-collection {
      .inside-hero header {
        flex-direction: column;
      }
      .program-information {
          flex-direction: column;
          justify-content: center;
          margin-bottom: 2rem;
      }
      .program-information p {
        text-align: center;
        margin:0;
      }
      .rsvp-notice {
        justify-content: center !important;
      }
  }

  #collection-details {
    margin-bottom: 6rem;
  }
  #collection-details .item-details-section {
    flex-direction: column;
  }

  #collection-details li p {
    font-size: 1.8rem;
    width: 50%;
    line-height: 1.2;
    padding: 0.7rem;
  }

  .item-on-view {
    text-align: center;
  }
}

html.theme-dark :is(.single-program, .single-collection) .hero {
  background-color: var(--background-page) !important;
  color: var(--font-color) !important;
  --hero-text-color: var(--font-color);
  --hero-ui-surface: rgba(var(--addams-tan-rgb), 0.08);
  --hero-ui-surface-strong: rgba(var(--addams-tan-rgb), 0.14);
  --hero-ui-border: rgba(var(--addams-tan-rgb), 0.24);
  --hero-ui-shadow: rgba(0, 0, 0, 0.28);
  --hero-ui-close-icon: url(../images/close_tan.svg);
}

html.theme-dark :is(.single-program, .single-collection) .hero h1,
html.theme-dark :is(.single-program, .single-collection) .hero .program-date {
  color: inherit !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav button {
  background-color: var(--addams-tan) !important;
  color: var(--addams-black) !important;
  border: 1px solid var(--addams-tan) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav:has([aria-expanded="true"]) {
  max-width: 35ch !important;
  background-color: var(--addams-black) !important;
  border: 1px solid var(--addams-tan) !important;
  border-radius: 1.2rem !important;
  padding: 0.4rem !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html.theme-dark :is(.single-program, .single-collection) .on-page-nav:has([aria-expanded="true"]) button,
html.theme-dark :is(.single-program, .single-collection) .on-page-nav:has([aria-expanded="true"]) a {
  color: var(--addams-tan) !important;
}

.hero.full, .home-featured.full {
  h1, h2, h3, p, a, time {
    color: var(--addams-tan);
  }
}

/* Guides */
.main.guide {
  border: 1px solid;
  padding: 2rem;
  margin-bottom: 6rem;
}
.guide h1, .guide h2, .guide h3 {
  text-align: left;
  margin-bottom: 0;
  font-size: var(--subtitle-size);
  line-height: var(--subtitle-ln);
}
.guide .guide-types { margin-bottom: 0; }
.guide .type-container {
  display: flex;
  gap: 1rem;
  padding-left: 2rem;
}
.guide figure, .guide a.download { text-align: center; }
.guide figure img {
  max-height: 375px;
  width: auto;
}

@media ( min-width: 700px ) {
  .guide {
    width: 50%;
    margin: auto;
    padding: 3rem;
  }
  .guide .excerpt { max-width: 65ch; }
  .guide .guide-content {
    margin-bottom: 4rem;
    max-width: 65ch;
  }
}

.home-featured, .home-featured .inside-home-section {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  align-items: stretch;
}

.home-featured.exhibition {
  color: var(--exhibition-card-font-color, var(--font-color));
}

.home-featured.exhibition.full {
  position: relative;
  isolation: isolate;
}

.home-featured.exhibition.full::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--exhibition-card-overlay, rgba(35,31,32,0.35));
  z-index: 0;
  pointer-events: none;
}

.home-featured.exhibition.full .inside-home-section {
  position: relative;
  z-index: 1;
}

.home-featured .inside-home-section {
  flex: 1;
}

.home-featured .inside-home-section a {
  display: flex;
  flex-direction: column;
  width: 100%;
  flex: 1;
  align-items: stretch;
  text-align: center;
}

.home-featured .exhibition-hero-image {
  display: flex;
  width: 35%;
  height: 30%;
  margin: auto;
  position: relative;
}

.home-featured .exhibition-hero-image img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.home-featured .exhibition-block.festival {
  padding-top: 3rem;
}

.home-featured .festival-copy h3 {
  margin: 0;
}

.home-featured p.type {
  font-size: var(--font-size);
  margin-top: 3rem;
}

.home-featured p.title {
  font-size: var(--x-large);
  line-height: var(--x-large-ln);
}

.home-featured p.title,
.home-featured time {
  font-family: var(--font-heading);
}

/* .home-featured.exhibition p,
.home-featured.exhibition a,
.home-featured.exhibition time {
  color: inherit;
} */

.home-featured .exhibition-date {
  margin-top: auto;
}

.home-featured .exhibition-date time {
  font-size: var(--font-lg);
  line-height: var(--ln-lg);
}

.home-featured .more {
  margin: 1rem auto 2rem;
  display: flex;
  gap: 1rem;
}

/* Home Featured Exhibition RSVP - Light Mode */
.home-featured.exhibition .more p.rsvp {
  color: var(--exhibition-card-rsvp-color, var(--font-color));
  background-color: var(--exhibition-card-rsvp-bg, var(--background-page));
  border-color: var(--exhibition-card-rsvp-border, transparent);
}

/* Home Featured Exhibition RSVP Hover */
.home-featured.exhibition a:hover .more p.rsvp {
  color: var(--exhibition-card-rsvp-hover-color, var(--background-page));
  background-color: var(--exhibition-card-rsvp-hover-bg, var(--font-color));
}

/* Home Featured Exhibition RSVP - Dark Mode */
html.theme-dark .home-featured.exhibition .more p.rsvp {
  color: var(--exhibition-card-rsvp-color, var(--font-color));
  background-color: var(--exhibition-card-rsvp-bg, var(--background-page));
  border-color: var(--exhibition-card-rsvp-border, transparent);
}

html.theme-dark .home-featured.exhibition a:hover .more p.rsvp {
  color: var(--exhibition-card-rsvp-hover-color, var(--background-page));
  background-color: var(--exhibition-card-rsvp-hover-bg, var(--font-color));
}

.home-featured a:hover p.title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

@media (prefers-color-scheme: light) {
  .home-featured.exhibition.has-custom-colors p.type,
  .home-featured.exhibition.has-custom-colors p.title,
  .home-featured.exhibition.has-custom-colors .exhibition-date,
  .home-featured.exhibition.has-custom-colors .exhibition-date time,
  .home-featured.exhibition.has-custom-colors .exhibition-date time span {
    color: var(--exhibition-featured-text-color) !important;
  }
}

@media (prefers-color-scheme: dark) {
  .home-featured.exhibition.has-custom-colors p.type,
  .home-featured.exhibition.has-custom-colors p.title,
  .home-featured.exhibition.has-custom-colors .exhibition-date,
  .home-featured.exhibition.has-custom-colors .exhibition-date time,
  .home-featured.exhibition.has-custom-colors .exhibition-date time span {
    color: var(--exhibition-featured-text-color) !important;
  }
}

/* Search results */
body.search-results .search-results {
  width: calc(100% - 6rem);
  margin: 10rem auto 6rem;
}

.search-results .search-on-page-nav {
  border: 1px solid;
  padding: 1.5rem 1.6rem;
  margin-bottom: 4rem;
  background: var(--background-page);
  position: sticky;
  top: 5.5rem;
  z-index: 120;
}

.search-results .search-on-page-query-form {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.2rem;
}

.search-results .search-on-page-summary {
  margin-bottom: 0.8rem;
  font-size: 1.6rem;
  line-height: 1.2;
}

.search-results .search-on-page-query-label {
  font-family: var(--font-heading);
  font-size: var(--font-size);
  line-height: var(--body-ln-height);
}

.search-results .search-on-page-query-input {
  min-height: 4rem;
  margin: 0;
  border: 1px solid;
  padding: 0.4rem 0.8rem;
  font-size: 1.8rem;
  line-height: 1.2;
  background: var(--background-page);
}

.search-results .search-on-page-query-submit {
  min-height: 4rem;
  margin: 0;
  border: 1px solid;
  padding: 0.4rem 1rem;
  font-size: 1.6rem;
  line-height: 1.2;
  background: transparent;
  text-transform: none;
}

.search-results .search-on-page-query-input:focus-visible,
.search-results .search-on-page-query-submit:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.search-results .search-on-page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-results .search-on-page-links a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  border: 1px solid;
  padding: 0.3rem 0.9rem;
  text-decoration: none;
  font-size: 1.7rem;
  line-height: 1.2;
}

.search-results .search-on-page-links a span {
  font-size: 1.5rem;
}

.search-results .search-on-page-links a:hover,
.search-results .search-on-page-links a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.search-results .search-on-page-links a:focus-visible,
.search-results .search-card-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.search-results .parent {
  border-top: 1px solid;
  padding-top: 1.5rem;
  margin-top: 5rem;
  scroll-margin-top: 13rem;
}

.search-results .parent:first-of-type {
  margin-top: 0;
}

.search-results .parent-title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  margin-bottom: 1.5rem;
  font-size: var(--subtitle-size);
  line-height: var(--subtitle-ln);
}

.search-results .parent-title .count {
  font-size: 0.55em;
  line-height: 1;
}

.search-results .result-container {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.search-results .search-card {
  border: 1px solid;
  background-color: var(--background-page);
}

.search-results .search-card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.search-results .search-thumb {
  margin: 0;
  aspect-ratio: 4 / 3;
}

.search-results .search-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.search-results .search-copy {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.6rem 1.8rem 2rem;
}

.search-results .search-kicker {
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1.4rem;
  line-height: 1.2;
}

.search-results .post-title {
  font-size: var(--m-font);
  line-height: var(--m-ln);
  margin-bottom: 1.25rem;
}

.search-results .search-meta,
.search-results .search-submeta {
  font-family: var(--font-heading);
  font-size: var(--font-size);
  line-height: var(--body-ln-height);
  margin-bottom: 0.85rem;
}

.search-results .search-summary {
  font-size: 2rem;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}

.search-results .search-cta {
  margin-top: auto;
}

.search-results .search-cta span {
  display: inline-block;
  border: 1px solid;
  padding: 0.35rem 1rem;
  font-size: 1.6rem;
  line-height: 1.2;
}

.search-results .search-card-link:hover .post-title,
.search-results .search-card-link:focus-visible .post-title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

html.theme-dark .search-results .search-on-page-nav,
html.theme-dark .search-results .search-card,
html.theme-dark .search-results .search-on-page-links a,
html.theme-dark .search-results .search-on-page-query-input,
html.theme-dark .search-results .search-on-page-query-submit {
  border-color: var(--font-color);
  color: var(--font-color);
}

html.theme-dark .search-results .search-on-page-query-input,
html.theme-dark .search-results .search-on-page-query-submit,
html.theme-dark .search-results .search-on-page-links a,
html.theme-dark .search-results .search-card {
  background: var(--background-page);
}

html.theme-dark .search-results .search-card-link,
html.theme-dark .search-results .search-card-link p,
html.theme-dark .search-results .search-card-link span {
  color: var(--font-color);
}

@media (max-width: 1000px) {
  .search-results .result-container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1001px) {
  .search-results .search-on-page-nav {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap;
  }

  .search-results .search-on-page-summary,
  .search-results .search-on-page-query-form,
  .search-results .search-on-page-links {
    margin-bottom: 0;
  }

  .search-results .search-on-page-query-form {
    flex: 0 0 38rem;
  }

  .search-results .search-on-page-links {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    justify-content: flex-end;
    align-items: center;
  }
  .search-results .search-on-page-links li {
    margin:0;
  }
}

@media (max-width: 700px) {
  body.search-results .search-results {
    width: calc(100% - 3rem);
    margin-top: 2rem;
  }

  .search-results .search-on-page-links {
    gap: 0.5rem 1rem;
  }

  .search-results .search-on-page-nav {
    margin-bottom: 3rem;
    top: 0.5rem;
    position: relative;
  }

  .search-on-page-links li {
    margin: 0;
  }

  .search-results .parent {
    scroll-margin-top: 10rem;
  }

  .search-results .search-on-page-links a {
    font-size: 1.5rem;
  }

  .search-results .search-on-page-query-form {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .search-results .search-on-page-query-input,
  .search-results .search-on-page-query-submit {
    width: 100%;
  }

  .search-results .result-container {
    grid-template-columns: 1fr;
  }

  .search-results .parent-title {
    font-size: var(--font-md);
    line-height: var(--ln-md);
  }

  .search-results .search-summary {
    font-size: 1.8rem;
  }
}

@media ( min-width: 700px ) {
  .home-featured .exhibition-hero-image {
    display: flex;
    width: 35%;
    height: 30%;
    margin: auto;
    position: relative;
    margin-top: 6rem;
  }
  .home-featured:not(.program) p.type {
    margin-top: 6rem;
  }
}

/* Blocks */

.mllr-accordion {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4rem;
}

.mllr-accordion__panel[aria-hidden=true] {
  display: none;
}

.mllr-accordion__header {
  display: block;
}

.mllr-accordion__header:after {
  content: '';
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
  width: 28px;
  height: 28px;
  border: 1px solid;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%;
  border-color: var(--font-color);
  flex-shrink: 0;
  margin-top: 3px;
}


.mllr-accordion__header[aria-expanded="true"]:after {
  background-image: url('../images/arrow_up_k.svg');
}
html.theme-dark .mllr-accordion__header[aria-expanded="true"]:after {
  background-image: url('../images/arrow_up_tan.svg');
}

.mllr-accordion__header[aria-expanded="false"]:after {
  background-image: url('../images/arrow_down_k.svg');
}
html.theme-dark .mllr-accordion__header[aria-expanded="false"]:after {
  background-image: url('../images/arrow_down_tan.svg');
}

.js-accordion h2, button.mllr-accordion__header {
  margin:0;
}

button.mllr-accordion__header {
  font-family: var(--font-heading);
  width: 100%;
  text-align: left;
  display: flex;
  justify-content: space-between;
  background-color: transparent;
  font-size: var(--subtitle-size);
  line-height: var(--subtitle-ln);
  text-transform: none;
  padding: 2rem 0;
  align-items: flex-start;
}

button.mllr-accordion__header span {
  pointer-events: none;
}

button.mllr-accordion__header:hover span,
button.mllr-accordion__header[aria-expanded="true"] span {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.js-accordion__panel {
  padding: 0 2rem 2rem 0;
}

.js-accordion .mllr-accordion__title {
  border-bottom: 1px solid var(--background);
  border-top: 1px solid;
}

.js-accordion__panel a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* Base Styles */
/* NOTE ... html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
/* html, body {
  height:100%;
} */
html {
    font-size: 62.5%;
    scroll-padding-top: 10vh;
    scroll-behavior: smooth;
}
html.motion-paused {
  scroll-behavior: unset;
}

body {
    font-family: var(--font-regular);
    font-size: 1.5em;
    line-height: 1.6;
    font-weight: 400;
    color: var(--font-color);
    background-color: var(--background-color);
    /* max-width: 1580px; */
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
}

  body.search {
    margin: 0;
    padding: 0;
  }

@media (max-width: 700px) {
    .container {
      margin: 20px auto 0;
    }
}

/* Typography */
h1,h2,h3,h4,h5,h6 {
  font-family: var(--font-heading);
  line-height: 1;
  font-weight: normal;
}

p { line-height: var(--body-ln-height); }


h1 {
  font-size: var(--font-h1);
}

h2, p.heading, p.about-location {
    font-size: var(--font-h2);
}

h2.section-heading {
  font-size: var(--section-heading);
}

h3 {
    font-size: var(--font-h3);
}

h4 {
    font-size: var(--font-h4);
}

p, li {
    font-size: var(--font-size);
    margin-top: 0;
}

/* Links */

a {
  color: var(--link-color);
}

a:hover {
  color: var(--link-hover-color);
}

blockquote {
    border-left: 0;
    color: inherit;
    font-size: inherit;
    font-style: unset;
    line-height: inherit;
    margin: auto;
    border: unset;
    width: 75%;
    padding: 8rem 0;
}

/* Buttons */

a.download, a.rsvp, p.rsvp, p.learn-more, a.learn-more,
p.more {
  font-family: var(--font-heading);
  font-size: var(--font-size);
  display: block;
  width: fit-content;
  border: 1px solid;
  text-align: center;
  margin: auto;
  border-radius: 2rem;
  padding: 2px 1rem 0;
  line-height: 1.1;
}

a.download:hover,
a:hover p.learn-more,
a.learn-more:hover {
  color: var(--background-page) !important;
  background-color: var(--font-color);
}

.pub-links:has(.purchase):has(.secondary) a.secondary {
  margin-top: 1rem;
}

html.theme-dark .related.current .exhibition-block.has-custom-colors a:hover p.learn-more,
html.theme-dark .related.upcoming .exhibition-block.has-custom-colors a:hover p.learn-more {
  color: inherit !important;
  background-color: transparent;
  border-color: currentColor;
}

a.download span,
a.rsvp span,
p.rsvp span,
p.learn-more span,
a.learn-more span,
a.learn-more[target="_blank"] span {
  display: flex;
  align-items: center;
  gap: 5px;
}

a.download span:after {
  font-family: var(--font-graphics);
  content: '\2193';
  display: block;
  font-size: var(--font-sm);
}

/* Base RSVP Button Styles */
a.rsvp,
p.rsvp {
  background-color: var(--background-page);
  margin: 0;
  height: fit-content;
  border: 1px solid transparent;
  color: var(--font-color) !important;
  transition: background-color 0.2s, color 0.2s;
}

/* RSVP Hover State */
a.rsvp:hover,
a:hover p.rsvp:not(.past) {
  background-color: var(--font-color);
  color: var(--background-page) !important;
}

/* Past/Inactive RSVP */
p.rsvp.past {
  font-family: var(--font-regular);
  background-color: transparent;
  color: var(--font-color);
  border-color: transparent;
}

/* RSVP in Related Program Cards - Light Mode */
.related-program p.rsvp,
.related-program a.rsvp {
  color: var(--font-color) !important;
  background-color: var(--background-page);
  border-color: transparent;
}

.related-program a:hover p.rsvp,
.related-program a.rsvp:hover {
  background-color: var(--font-color);
  color: var(--background-page) !important;
}

p.rsvp.past {
  color: inherit !important;
}

/* RSVP with Custom Colors - Light Mode */
.related-program.has-custom-colors p.rsvp,
.related-program.has-custom-colors a.rsvp {
  color: var(--program-card-rsvp-color, var(--font-color)) !important;
  background-color: var(--program-card-rsvp-bg, var(--background-page));
  border-color: var(--program-card-rsvp-border, transparent);
}

.related-program.has-custom-colors a:hover p.rsvp,
.related-program.has-custom-colors a.rsvp:hover {
  color: var(--program-card-rsvp-hover-color, var(--background-page)) !important;
  background-color: var(--program-card-rsvp-hover-bg, var(--font-color));
}

/* RSVP in Dark Mode */
html.theme-dark p.rsvp,
html.theme-dark a.rsvp {
  background-color: var(--background-page);
  color: var(--font-color) !important;
}

html.theme-dark a:hover p.rsvp:not(.past),
html.theme-dark a.rsvp:hover {
  background-color: var(--font-color);
  color: var(--background-page) !important;
}

html.theme-dark .related-program p.rsvp,
html.theme-dark .related-program a.rsvp {
  color: var(--font-color) !important;
  background-color: var(--background-page);
}

html.theme-dark .related-program a:hover p.rsvp,
html.theme-dark .related-program a.rsvp:hover {
  background-color: var(--font-color);
  color: var(--background-page) !important;
}

/* RSVP with Custom Colors in Dark Mode */
html.theme-dark .related-program.has-custom-colors p.rsvp,
html.theme-dark .related-program.has-custom-colors a.rsvp {
  color: var(--program-card-rsvp-color, var(--font-color)) !important;
  background-color: var(--program-card-rsvp-bg, var(--background-page));
  border-color: var(--program-card-rsvp-border, transparent);
}

html.theme-dark .related-program.has-custom-colors a:hover p.rsvp,
html.theme-dark .related-program.has-custom-colors a.rsvp:hover {
  color: var(--program-card-rsvp-hover-color, var(--background-page)) !important;
  background-color: var(--program-card-rsvp-hover-bg, var(--font-color));
}

html.theme-dark img:not(.desktop-footer-logo, .the-footer-logo) {
  background-color: var(--addams-footer-tan);
}

a.rsvp span:after,
a.learn-more[target="_blank"] span:first-child:after {
  font-family: var(--font-graphics);
  content: '\2197';
  display: block;
  font-size: var(--font-sm);
  margin-top: -5px;
}

/* Removed - consolidated in base styles above */

p.learn-more span:after {
  font-family: var(--font-graphics);
  content: '\2192';
  display: block;
  font-size: var(--font-sm);
  margin-top: -5px;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    height: auto;
    padding: 10px 20px;
    text-align: center;
    font-size: var(--font-size);
    line-height: var(--btn-ln);
    /* letter-spacing: .1rem; */
    text-transform: uppercase;
    text-decoration: none;
    white-space: pre-wrap;
    border-radius: 2px;
    border: none;
    cursor: pointer;
    box-sizing: border-box;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  outline: 0;
}

button.motion-setting {
  font-family: var(--font-heading);
  margin:0;
  background-color: var(--addams-tan);
  color: var(--addams-black);
  height: unset;
  padding: 2px 3px;
  line-height: 1;
  text-transform: none;
}

.act-well-animation button.motion-setting {
  padding: 5px;
}

button.motion-setting span {
  display: flex;
  gap: 0.5rem;
  align-items: end;
}

button.motion-setting span::before {
  content: '';
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--addams-black);
  background-image: url('../images/pause_k.svg');
  background-size: 8px;
  background-repeat: no-repeat;
  background-position: center;
}
button.motion-setting.is-active span::before {
  background-image: url('../images/play_tan.svg');
  background-color: var(--addams-black);
  background-size: 10px;
  background-position: 62.5% 50%;
}

.search-no-results form {
  display: flex;
  gap: 1rem;
}

.search-no-results form input[type="submit"] {
  margin-bottom: 0;
  height: 40px;
}

/* Forms */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    height: 38px;
    padding: 6px 10px;
    /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: var(--addams-tan);
    border: 1px solid #283179;
    border-radius: 0px;
    box-shadow: none;
    box-sizing: border-box;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

textarea {
    min-height: 65px;
    padding-top: 6px;
    padding-bottom: 6px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
    border: 1px solid #283179;
    outline: 0;
}

label,
legend {
    display: block;
    margin-bottom: .5rem;
}

fieldset {
    padding: 0;
    border-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
}

label>.label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}

/* Lists */
ul {
    list-style: disc inside;
}

ol {
    list-style: decimal inside;
}

ol,
ul {
    padding-left: 0;
    margin-top: 0;
}

ul ul,
ul ol,
ol ol,
ol ul {
    margin: 1.5rem 0 1.5rem 3rem;
}

li {
    margin-bottom: 2rem;
    margin-left: 20px;
    list-style-position: outside;
}

/* Code */
code {
    padding: .2rem .5rem;
    margin: 0 .2rem;
    font-size: 90%;
    white-space: nowrap;
    background: #F1F1F1;
    border: 1px solid #E1E1E1;
    border-radius: 4px;
}

pre>code {
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre;
}

/* Tables */
th,
td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #E1E1E1;
}

th:first-child,
td:first-child {
    padding-left: 0;
}

th:last-child,
td:last-child {
    padding-right: 0;
}

/* Spacing */
button,
.button { margin-bottom: 1rem; }

input,textarea,select,fieldset { margin-bottom: 1.5rem; }

pre,blockquote,dl,figure,table,p,ul,ol,form { margin-bottom: 2rem; }

figure.image-section.center {
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
}

figure.image-section.full {
  text-align: center;
}

figcaption, .wp-caption .wp-caption-text, .wp-caption-dd {
  text-align: center;
  padding: 2rem 0;
  font-size: var(--font-sm);
  color: var(--font-color);
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.25;
}

.image-section.full figcaption {
  padding: 2rem;
}

/* Utilities */
.row {
  display: flex;
  width: 100%;
}
.col-1 {
  flex: 1;
}
@media(max-width: 700px) {
  .row {
    flex-direction: column;
  }
}
.u-full-width {
    width: 100%;
    box-sizing: border-box;
}

.u-max-full-width {
    max-width: 100%;
    box-sizing: border-box;
}

.u-pull-right {
    float: right;
}

.u-pull-left {
    float: left;
}

.wp-block-button__link {border-radius: 2px;}
.additional-content a {text-decoration:underline;}

/* Accessibility */

.screen-reader-label, .screen-reader-text, .screen-reader-text span, .screen-reader-shortcut,
.parvus__btn-text, .parvus-zoom__indicator {
    position: absolute !important;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    width: 1px;
    border: 0;
    overflow: hidden;
}

.off_screen, .off-screen {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    padding: .5em;
    margin: .5em;
}

/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr { background-color: #333133; }

iframe, img, .wp-caption.aligncenter { max-width: 100%; }

.fa-phone {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.hide-scrollbar {
  /* For Internet Explorer and Edge */
  -ms-overflow-style: none;
  /* For Firefox */
  scrollbar-width: none;
  /* Ensure content can still scroll if it overflows */
  overflow: auto;
}
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

/* Self Clearing */
.container:after,
.u-cf {
    content: "";
    display: table;
    clear: both;
}

.clearfix:after,
.section-container:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

* html .clearfix {
    zoom: 1;
}

/* IE6 */
*:first-child+html .clearfix {
    zoom: 1;
}

.edit-link {
  position: fixed;
  left: 1.5rem;
  top: 4rem;
  background: transparent;
  padding: 1rem;
  z-index: 99999999;
  font-size: 1rem;
}
.edit-link .post-edit-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.menu-open .edit-link {
  display: none;
}
@media(min-width: 700px) {
  .mobile {
    display: none !important;
  }
}
@media(max-width: 700px) {
  .edit-link {
    display: none;
  }

  .video-hero svg {
    max-width: calc(100% - 4rem);
    width: 100%;
  }

  img.alignleft,
  .wp-caption.alignleft,
  .wp-block-image.alignleft,
  .wp-block-image .alignleft {
    float: none;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 2rem;
  }

  .desktop {
    display: none !important;
  }
  #site_nav {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-top: 2rem;
  }
  #site_nav h1.logo {
    text-align: left;
    padding: 0 0 1.5rem 2rem;
    margin:0;
  }
  h1.logo .ja {
    display: block;
  }
  body:not(.menu-open) .outside-nav {
    position: sticky;
    top: 0;
    z-index: 99999;
    background-color: var(--background-page);
  }
  .accessibility-controls.mobile {
    border-top: 1px solid;
    border-bottom: 1px solid;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
  }
  .accessibility-controls.mobile h3,
  button.search-btn.mobile {
    font-size: var(--menu-sz);
    line-height: 1;
    margin: 1.5rem 0;
    padding: 0;
    height: fit-content;
  }
  button.search-btn.mobile span {
    gap: 0.5rem;
  }
  button.search-btn.mobile span::before {
    width: 29.87px;
    height: 23px;
  }
  .video-hero button.motion-setting {
    right: 2rem;
    top: 2rem;
  }

  .general-information-container {
    padding: 3rem 0;
  }

  .general-information-container .museum-hours p {
    text-align: center;
  }

  .general-information-container .museum-block-container {
    margin: 1rem 0;
  }

  .related-container.upcoming.programs .programs-container:has(> .related-program:first-child:last-child) {
    max-width: 100%;
  }
  .copy .more-grp p.more {
    grid-column: span 2;
  }
  #past-programs .list-item a {
    padding: 2rem 0;
  }
  .festival-copy {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .full-content-section.section-container .inside-section-container p {
    padding: unset;
  }
  .related.upcoming time, .related-container.past .exhibitions-container time {
    font-size: var(--m-font);
    line-height: var(--article-ln);
  }
  .copy .more-grp {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    width: 100%;
  }
  .copy .more-grp p.more {
    margin: unset;
  }
  .related.upcoming h2 {
    margin-bottom: 2rem;
  }
  .related .list-item a h3 {
    font-size: var(--font-lg);
    line-height: var(--ln-lg);
  }
  .related.upcoming figure, .related.current figure {
    margin-bottom: 1rem;
  }
  .related.upcoming .exhibition-block .copy, .related.current .exhibition-block .copy, .related-container.past .exhibition-block .copy {
    padding: 0;
  }
  .related.current .exhibition-block h3, .related.upcoming .exhibition-block h3, .related-container.past .exhibitions-container h3 {
    padding: 1rem 0;
  }

  .inside-section-container h2 {
    font-size: var(--font-lg);
    line-height: var(--ln-lg);
  }

  .static-quote .inside-section-container {
    padding-top: 4rem;
    padding-bottom: 3rem;
  }

  .exhibition-block:last-child {
    border: 0;
    margin-bottom: 0;
  }

  .gallery, .gallery-more {
    gap: 0rem;
    grid-template-columns: 1fr;
  }

  .gallery-section figcaption {
    padding: 1rem 0 0;
  }

  .gallery-swiper .swiper-header {
    justify-content: start;
    padding-left: 2rem;
  }

  .home-featured,
  .home-featured .inside-home-section,
  .video-hero {
    height: calc(100dvh - 90px);
    min-height: calc(100dvh - 90px);
    max-height: 100dvh;
  }

  .home-featured.festival .related-container,
  .home-featured.festival .exhibitions-container,
  .home-featured.festival .exhibition-block.festival,
  .home-featured.festival .exhibition-block.festival a {
    min-height: 0;
    height: 100%;
  }

  .festivals .exhibitions-container {
    height: auto;
    min-height: calc(100dvh - 90px);
  }

  .home-featured.festival .exhibitions-container {
    min-height: 0;
  }

  .current .exhibition-block.festival a,
  .upcoming .exhibition-block.festival a {
    min-height: auto;
    height: auto;
  }

  .festival-hero,
  .inside-festival-hero {
    height: auto;
    min-height: clamp(28rem, 56dvh, calc(100dvh - 90px));
    max-height: none;
    flex: 1 1 auto;
  }

  .home-featured.festival .festival-hero,
  .home-featured.festival .inside-festival-hero {
    height: 100%;
    min-height: 0;
  }

  .inside-festival-hero .act-well-animation {
    height: 100%;
    min-height: 100%;
    max-height: none !important;
  }

  .festival-hero:has(.act-well-animation) .festival-hero-image {
    width: calc(100% - 4rem);
    max-height: min(52dvh, 42rem);
  }

  .single-festival {
    .hero, .act-well-animation {
      min-height: calc(100dvh - 85px);
      height: calc(100dvh - 85px);
      max-height: 100dvh;
    }
    .hero:has(.act-well-animation) .hero-image {
      width: calc(100% - 4rem);
    }
  }
  .single-festival .container, #past-programs {
    margin-top: 4rem;
  }
  .single-exhibition {
    .hero {
      height: calc(100dvh - 85px);
      max-height: 100dvh;
    }
    .inside-hero {
      height: calc(100dvh - 165px);
      max-height: 100dvh;
    }
    .hero h1 {
      margin-top: 3rem;
    }
    .hero h1, .hero .exhibition-date {
      font-size: var(--x-large);
      line-height: normal;
    }
  }

  .single-program {
    .hero {
      padding-top: 3rem;
    }
    .program-information {
      flex-direction: column;
      justify-content: center;
      text-align: center;
      align-items: center;
      gap: 1rem;
    }
    p.program-types {
      margin-bottom: 0;
    }
    p.rsvp.past { display: none; }
    .hero h1 {
      margin-top: 3rem;
    }
    .hero .hero-image {
      padding-bottom: 1rem;
    }
    .hero .hero-image img {
        max-width: 100%;
    }
  }

}