@font-face {
  font-family: "ABC Maxi Round";
  src: url("../fonts/ABCMaxiRound-Light.otf") format("opentype");
}
@font-face {
  font-family: "ABC Diatype Expanded";
  src: url("../fonts/ABCDiatypeExpanded-Regular-Trial.otf") format("opentype");
}
@font-face {
  font-family: "Agipo";
  src: url("../fonts/agipo_regular.otf") format("opentype");
}
@font-face {
  font-family: "Agipo";
  src: url("../fonts/agipo_bold.otf") format("opentype");
  font-weight: bold;
}
* {
  color: black;
  font-family: "Agipo", sans-serif;
  font-size: 30px;
  font-weight: normal;
}
@media screen and (max-width: 850px) {
  * {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  * {
    font-size: 18px;
  }
}

body {
  background: var(--color-a);
  transition: background 0.3s;
}

img {
  max-height: 50vh;
}

figure {
  position: relative;
  width: fit-content;
}
figure figcaption,
figure .credits {
  font-size: 0.5rem !important;
  position: absolute;
  width: fit-content;
  left: calc(100% - 0.25rem);
  bottom: 0.25rem;
  transform: rotate(-90deg);
  transform-origin: bottom left;
  white-space: nowrap;
}

p {
  margin-top: 0;
  margin-bottom: 0.5em;
}

strong, strong * {
  font-weight: bold;
}

h1 {
  margin: 0;
}

h2, h3, h4, h5 {
  margin-bottom: 0.5rem;
}

p h4 {
  font-weight: bold;
}

.maxi, .persons li .portrait-placeholder, .search-results li:hover *, .text-expanding.active .text-expanding-toggle, .text-expanding .text-expanding-toggle:hover, .event-list li:is(:hover, .active) :is(.date, .col.text *, .page-list-title, .page-list-title *),
.page-list li:is(:hover, .active) :is(.date, .col.text *, .page-list-title, .page-list-title *), .event-list .cols .category-title *:hover,
.page-list .cols .category-title *:hover, .page-menu .content .main-title h2, .page-menu .title:hover h2, .page-menu .title.active h2,
.page-menu .content .main-title:hover h2,
.page-menu .content .main-title.active h2, header .title, ul a:hover, p a:not(:hover) *, p a:not(:hover) {
  font-family: "ABC Maxi Round";
  text-transform: uppercase;
  line-height: 1.2em;
}

.diatype, header .subtitle {
  font-family: "ABC Diatype Expanded";
}

.fit-font {
  display: inline-block;
  transform-origin: top center;
}
.fit-font * {
  font-size: 1em;
}

ul {
  list-style: none;
  margin-top: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

i a {
  font-style: normal;
}

.text-small, .text-small * {
  font-size: 0.65rem !important;
}

.main-padding, .events .events-content, main, header {
  padding: 0.5rem 2rem;
}
@media screen and (max-width: 850px) {
  .main-padding, .events .events-content, main, header {
    padding: 0.25rem 0.75rem;
  }
}

header {
  text-transform: uppercase;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
}
header * {
  color: #7300e6;
  line-height: 0.9em !important;
  text-align: center;
}
header .fit-font.font-settled {
  transition: font-size 0.3s;
}
body[data-page=home]:not(.scrolled):not(.events-active) header .fit-font.font-settled {
  font-size: 10vw !important;
}

main {
  padding-top: 3.5rem;
  padding-bottom: calc(2rem + 2rem);
}

footer {
  position: fixed;
  bottom: 0;
  left: 2rem;
  right: 2rem;
  bottom: 0.5rem;
  z-index: 20;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 850px) {
  footer {
    left: 0.75rem;
    right: 0.75rem;
  }
}
footer .left,
footer .right {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
}
footer .left span, footer .left a, footer .left input, footer .left form {
  font-size: 1.5rem;
  border-radius: 2rem;
  background: var(--color-b, white);
  transition: background 0.3s;
}
footer .right span, footer .right a, footer .right input, footer .right form {
  background: var(--color-b, white);
  filter: brightness(130%);
}
@media screen and (max-width: 850px) {
  footer .right {
    display: none;
  }
}
footer span, footer a, footer input {
  display: inline-block;
  font-size: calc(2rem - 1rem);
  background: white;
  padding: 0 0.5em;
  border: solid 2px black;
  border-radius: calc(2rem / 2);
}
footer span, footer a {
  cursor: pointer;
  text-transform: uppercase;
}
footer form:before {
  position: absolute;
  padding-top: 0.4rem;
  padding-left: 0.5rem;
  content: "*";
}
footer input {
  width: 12ch;
  transition: width 0.3s;
  padding-left: 1.5rem;
}
@media screen and (max-width: 850px) {
  footer input {
    width: 6ch;
  }
}
footer input:focus {
  width: 15ch;
}
@media screen and (max-width: 850px) {
  footer input:focus {
    position: fixed;
    width: auto;
    right: 0.75rem;
    left: 0.75rem;
    bottom: 0.5rem;
    margin-left: 0;
  }
}
footer input:focus {
  outline: none;
  background: #ffd700;
}

.page-menu {
  position: relative;
  z-index: 5;
}
.page-menu .title,
.page-menu .content .main-title {
  display: inline-block;
  vertical-align: bottom;
  margin-right: 1ch;
}
.page-menu .title, .page-menu .title h2,
.page-menu .content .main-title,
.page-menu .content .main-title h2 {
  font-size: 3rem;
}
@media screen and (max-width: 850px) {
  .page-menu .title, .page-menu .title h2,
  .page-menu .content .main-title,
  .page-menu .content .main-title h2 {
    font-size: 1.5rem;
    width: 100%;
  }
}
.page-menu .title h2,
.page-menu .content .main-title h2 {
  line-height: 0.9em;
  margin: 0;
}
.page-menu .title.hidden,
.page-menu .content .main-title.hidden {
  display: none;
}
.page-menu .title:hover h2, .page-menu .title.active h2,
.page-menu .content .main-title:hover h2,
.page-menu .content .main-title.active h2 {
  line-height: 0.9em;
}
.page-menu .title.footer-page:not(.active) {
  display: none;
}
@media screen and (max-width: 850px) {
  .page-menu .title.footer-page:not(.active) {
    display: inline-block;
  }
}
.page-menu.hide-others > .title.active h2 {
  font-size: 3rem;
}
@media screen and (max-width: 850px) {
  .page-menu.hide-others > .title.active h2 {
    font-size: 1.5rem;
  }
}
.page-menu.hide-others > .title:not(.active) {
  display: none;
}
.page-menu.uppercase > .title h2 {
  text-transform: uppercase;
}
.page-menu .content {
  display: none;
  max-width: 1400px;
  margin-top: 1rem;
  padding-bottom: 1rem;
}
.page-menu .content.no-margin-top {
  margin-top: 0;
}
.page-menu .content.active {
  display: block;
}
.page-menu .content p {
  max-width: 1100px;
}
.page-menu .content .main-title h2 {
  line-height: 0.9em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.page-menu > .content.active :is(p, h2, h3, .text-teaser-toggle), .page-menu > .content.active :is(p, h2, h3, .text-teaser-toggle) *:not(strong):not(br):not(em) {
  color: #7300e6;
  margin-bottom: 1rem;
}
.page-menu > .content.active :is(p) em {
  color: #7300e6;
}
.page-menu > .content.active :is(ul), .page-menu > .content.active :is(ul) *:not(strong):not(br) {
  color: #7300e6;
}
.page-menu > .content.active .page-menu :is(.title, .page-list-title) *,
.page-menu > .content.active .persons-list * {
  color: black;
  margin-bottom: 0rem;
}

body[data-page=home] main > .page-menu {
  margin-top: 35vw;
}

body.events-active {
  overflow: hidden;
}

.events {
  position: fixed;
  top: 100dvh;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 15;
  overflow: hidden;
  transition: top 0.15s ease-in-out;
  transition-delay: 0.15s;
}
body.events-active .events {
  top: 0;
}
.events .events-content {
  background: white;
  padding-top: 4rem;
  padding-bottom: 4rem;
  height: 100dvh;
  overflow: auto;
}
.events .latest-text {
  margin-top: 1rem;
}

.events-snippet .categories li .pill, .events-snippet .categories li .button {
  transition: all 0.3s;
}

.event-list,
.page-list {
  margin-top: 2rem;
  margin-bottom: 0;
}
.event-list:last-child,
.page-list:last-child {
  margin-top: 0;
}
.event-list .cols,
.page-list .cols {
  gap: 0.5rem;
}
.event-list .cols .date,
.page-list .cols .date {
  flex: 1;
}
.event-list .cols .text,
.page-list .cols .text {
  flex: 5;
}
.event-list .cols .text h4,
.page-list .cols .text h4 {
  margin-top: 0;
  margin-bottom: 0;
}
.event-list .cols .category-title,
.page-list .cols .category-title {
  flex: 3;
}
.event-list.full-date .cols .date,
.page-list.full-date .cols .date {
  flex: 2;
}
.event-list.full-date .cols .text,
.page-list.full-date .cols .text {
  flex: 2;
}
.event-list.full-date .cols .category-title,
.page-list.full-date .cols .category-title {
  flex: 3;
}
.event-list:not(.persons) li .event-content *,
.event-list:not(.persons) li .page-list-content *,
.page-list:not(.persons) li .event-content *,
.page-list:not(.persons) li .page-list-content * {
  font-size: 0.8rem;
}
.event-list li,
.page-list li {
  transition: all 0.2s;
}
.event-list li .event-content,
.event-list li .page-list-content,
.page-list li .event-content,
.page-list li .page-list-content {
  display: none;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  max-width: 1400px;
}
.event-list li .event-content .event-date,
.event-list li .page-list-content .event-date,
.page-list li .event-content .event-date,
.page-list li .page-list-content .event-date {
  margin-bottom: 0;
  font-weight: bold;
}
.event-list li :is(.date, .col.text *, .page-list-title),
.page-list li :is(.date, .col.text *, .page-list-title) {
  cursor: pointer;
}
.event-list li.active *,
.page-list li.active * {
  color: #7300e6;
}
.event-list li.active > .event-content,
.event-list li.active > .page-list-content,
.page-list li.active > .event-content,
.page-list li.active > .page-list-content {
  display: block;
}
@media screen and (max-width: 850px) {
  .event-list .cols,
  .page-list .cols {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 850px) {
  .event-list .category-title,
  .page-list .category-title {
    display: none;
  }
}

.text-expanding {
  cursor: pointer;
}
.text-expanding .text-expanding-toggle {
  font-weight: bold;
}
.text-expanding.active .text-expanding-toggle {
  margin-bottom: 0.5em;
}
.text-expanding.active * {
  color: #7300e6 !important;
}
.text-expanding .text-expanding-content {
  display: none;
}
.text-expanding .text-expanding-content * {
  font-size: 0.8rem;
}
.text-expanding.active .text-expanding-content {
  display: block;
}

.persons {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.persons li {
  width: calc(33.33% - 2rem);
}
@media screen and (max-width: 1050px) {
  .persons li {
    width: calc(50% - 2rem);
  }
}
@media screen and (max-width: 850px) {
  .persons li {
    width: 100%;
  }
}
.persons li img {
  max-height: unset;
}
.persons li figure {
  display: flex;
  justify-content: center;
  align-items: center;
}
.persons li .portrait-placeholder {
  font-size: 1.5rem !important;
  color: #7300e6 !important;
  height: fit-content;
}
.persons li:hover > .page-list-title * {
  text-transform: none;
  line-height: 1.25em;
}
.persons li .page-list-title * {
  font-size: 0.8rem;
}
.persons li:not(.active) figure {
  width: 100%;
  aspect-ratio: 454/600;
  background: rgba(0, 0, 0, 0.05);
}
.persons li:not(.active) figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.persons li:not(.active) *:not(.portrait-placeholder) {
  font-size: 0.8rem !important;
}
.persons.has-active-item > li:not(.active) {
  display: none;
}
.persons.has-active-item > li.active {
  width: 100%;
}
.persons.has-active-item > li.active .page-list-title {
  display: none;
}
.persons.has-active-item > li.active * {
  color: black;
}
@media screen and (max-width: 850px) {
  .persons.has-active-item > li.active .base-info {
    flex-direction: column;
  }
}
.persons.has-active-item > li.active .base-info .col:first-child {
  flex: 2;
}
.persons.has-active-item > li.active .base-info .col:last-child {
  flex: 1;
}
.persons.has-active-item > li.active figure {
  width: fit-content;
}
.persons.has-active-item > li.active figure img {
  max-width: 100%;
}

.images-container {
  position: relative;
}
.images-container.hide-nav .images-nav {
  display: none !important;
}
.images-container .scroller {
  width: calc(100vw - 4rem);
  overflow-y: hidden;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.images-container .scroller::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 850px) {
  .images-container .scroller {
    width: calc(100vw - 1.5rem);
  }
}
.images-container .scroller .images {
  display: flex;
  justify-content: flex-start;
  max-height: 50vh;
  width: fit-content;
}
.images-container .scroller .images li figure {
  margin-bottom: 0;
}
.images-container .scroller .images li img {
  height: 50vh;
  max-width: unset !important;
}

.text-teaser {
  max-height: 8.2rem;
  overflow: hidden;
  position: relative;
  margin-bottom: 2rem;
}
.text-teaser.active {
  max-height: none;
  padding-bottom: 1rem;
}
.text-teaser.active:after {
  display: none;
}
.text-teaser.active .text-teaser-toggle {
  transform: rotate(180deg);
}
.text-teaser:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 5rem;
  background: linear-gradient(transparent 0%, var(--color-a) calc(100% - 1.25rem));
  bottom: 0;
}
.text-teaser .text-teaser-toggle {
  cursor: pointer;
  position: absolute;
  z-index: 2;
  bottom: 0;
}

main,
header,
footer {
  perspective: 800px;
  transition: transform 1s;
  transform-style: preserve-3d;
  transform: rotateY(0deg);
}
body.site-gallery-active main,
body.site-gallery-active header,
body.site-gallery-active footer {
  transform: rotateY(-180deg);
}

.toggle-gallery {
  cursor: pointer;
}

.site-gallery {
  position: fixed;
  z-index: 100;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
  background: white;
  cursor: pointer;
  display: flex;
  perspective: 800px;
  transition: transform 1s;
  transform-style: preserve-3d;
  transform: rotateY(180deg);
  backface-visibility: hidden;
  pointer-events: none;
}
body.site-gallery-active .site-gallery {
  top: 0;
  transform: rotateY(0deg);
  pointer-events: all;
}
@media screen and (max-width: 850px) {
  .site-gallery {
    padding-left: 0;
    padding-right: 0;
  }
}
.site-gallery figure {
  margin-bottom: 0;
  position: relative;
}
.site-gallery figure img {
  height: 100dvh;
  max-width: unset !important;
  max-height: unset;
}
.site-gallery figure .credits {
  font-size: 0.5rem;
  position: absolute;
  left: 0.25rem;
  bottom: 0.25rem;
}

.site-gallery-nav.site-gallery-nav,
.images-nav.site-gallery-nav {
  display: none;
}
body.site-gallery-active .site-gallery-nav.site-gallery-nav,
body.site-gallery-active .images-nav.site-gallery-nav {
  display: block;
}
.site-gallery-nav.site-gallery-nav *,
.images-nav.site-gallery-nav * {
  position: fixed;
}
.site-gallery-nav.images-nav *,
.images-nav.images-nav * {
  position: absolute;
}
.site-gallery-nav *,
.images-nav * {
  top: calc(50% - 3rem);
  z-index: 2000;
  padding: 1rem;
  cursor: pointer;
  font-size: 2rem !important;
  color: #7300e6;
}
.site-gallery-nav .arrow-left,
.images-nav .arrow-left {
  left: 0;
}
.site-gallery-nav .arrow-right,
.images-nav .arrow-right {
  right: 0;
}

.template-default figure {
  max-width: 800px;
}
.template-default figure img {
  max-width: 100%;
}
.template-default figure figcaption {
  margin-top: 0.5rem;
}
.template-default figure figcaption, .template-default figure figcaption * {
  font-size: 0.65rem;
}

/*# sourceMappingURL=main.css.map */
