@charset "UTF-8";
:root {
  --app-height: 100vh;
  --scrollbar-width: 0px;
  --p-fs: 1rem;
  --p-lh: 1.25em;
  --h1-fs: 2rem;
  --h1-lh: 1.25em;
  --h2-fs: 1.5rem;
  --h2-lh: 1.25em;
  --h3-fs: 1.17rem;
  --h3-lh: 1.25em;
  --h4-fs: 1rem;
  --h4-lh: 1.25em;
  --h5-fs: .83rem;
  --h5-lh: 1.25em;
  --h6-fs: .67rem;
  --h6-lh: 1.25em;
  --animation-time: 1000ms;
  --animation-time-fast: 500ms;
  --animation-time-faster: 250ms;
  --animation-time-fasterer: 125ms;
  --space-xxs: .125rem;
  --space-xs: .25rem;
  --space-ser: .33rem;
  --space-s: .5rem;
  --space-sm: .75rem;
  --space-m: 1rem;
  --space-ml: 1.5rem;
  --space-l: 2rem;
  --space-xl: 4rem;
  --space-xxl: 8rem;
  --space-xxxl: 16rem;
  --akcore-border-width: 2px;
  --akcore-border-radius: 8px;
  --w: #FFF;
  --sw: rgba(255, 255, 255, 0.66);
  --lsw: rgba(255, 255, 255, 0.33);
  --vlsw: rgba(255, 255, 255, 0.17);
  --b: #000;
  --sb: rgba(0, 0, 0, 0.33);
  --lsb: rgba(0, 0, 0, 0.17);
  --vlsb: rgba(0, 0, 0, 0.08);
  --g: #CCC;
  --lg: #EEE;
  --vlg: rgb(245, 245, 245);
  --blue: #00E;
  --purple: #551A8B;
  --red: #E00;
  --akblue: #001EA8;
  --akbluem: #1540FF;
  --akbluel: #798FF2;
  --akbluevl: #99ABFF;
  --akblued: #000084;
  --akblue2: #128;
  --akblue2m: #239;
  --akblue2d: #016;
  --aknavy: #1C2338;
  --akpurple: #6B5B95;
  --akred: #C83349;
  --akredm: #FF4B3E;
  --akredl: #E06377;
  --akred2: #E94B3C;
  --akred3: #E1364C;
  --akgreen: #34A853;
  --akgreenm: #13A10E;
  --akgreenl: #44DA6C;
  --akgreen2: #2DE0A5;
  --akgreen3: #25D198;
  --akyellow: #F5DA79;
  --akyellowm: #FFCC5C;
  --akyellowl: #FFEF96;
  --akyellowvl: #FFE;
  --akgrey: #3D404C;
  --akgreym: #818899;
  --akgreyl: #A8AABB;
  --akgreyvl: #D7D8DD;
  --akgreyd: #2B2B2B;
  --akgreyvd: #101011;
}

:root {
  --app-height: 100vh;
  --scrollbar-width: 0px;
  --p-fs: 1rem;
  --p-lh: 1.25em;
  --h1-fs: 2.25rem;
  --h1-lh: 1em;
  --h2-fs: 1.6rem;
  --h2-lh: 1.25em;
  --h3-fs: 2.5rem;
  --h3-lh: 0.85em;
  --h4-fs: 1.5rem;
  --h4-lh: 1.25em;
  --h5-fs: .83rem;
  --h5-lh: 1.25em;
  --h6-fs: .67rem;
  --h6-lh: 1.25em;
  --animation-time: 1000ms;
  --animation-time-fast: 500ms;
  --animation-time-faster: 250ms;
  --animation-time-megafast: 50ms;
  --animation-delay: 1000ms;
  --animation-delay-fast: 500ms;
  --animation-delay-faster: 250ms;
  --animation-delay-megafast: 50ms;
  --tags-paddings: .33em .75em .27em;
  --tags-gap: .25rem;
  --page-hpadding: .75rem;
  --grid-gap: .5rem;
  --bggrid-size: calc((100vw - (2 * var(--page-hpadding) - .5rem)) / 4);
  --bggrid-offset: .5rem;
  --bggrid-padding: .25rem;
  --grid-length: calc( (100vw - 2 * var(--page-hpadding)) / 4 );
  --grid-elements: 1;
  --header-height: var(--grid-length);
  --logo-width: calc( var(--grid-length) * 3);
  --header-width: calc(100vw - 2 * var(--page-hpadding));
  --header-margintop: calc((var(--bggrid-padding) + var(--page-hpadding)) / 2);
}

@media (min-width: 500.1px) {
  :root {
    --page-hpadding: 1rem;
    --bggrid-size: calc((100vw - (2 * var(--page-hpadding) - .5rem)) / 8);
    --bggrid-offset: .75rem;
    --bggrid-padding: .5rem;
    --grid-length: calc( (100vw - 2 * var(--page-hpadding)) / 8 );
    --grid-elements: 2;
    --logo-width: calc( var(--grid-length) * 6);
  }
}
@media (min-width: 800.1px) {
  :root {
    --h1-fs: 3.5rem;
    --h3-fs: 3vw;
    --page-hpadding: 1.5rem;
    --grid-gap: .5rem;
    --bggrid-size: calc((100vw - (2 * var(--page-hpadding) - .5rem)) / 12);
    --bggrid-offset: 1.25rem;
    --bggrid-padding: 1rem;
    --grid-length: calc( (100vw - 2 * var(--page-hpadding)) / 12 );
    --grid-elements: 3;
    --logo-width: calc( var(--grid-length) * 8);
  }
}
@media (min-width: 1100.1px) {
  :root {
    --h1-fs: 4.5rem;
    --bggrid-size: calc((100vw - (2 * var(--page-hpadding) - .5rem)) / 16);
    --bggrid-offset: 1.25rem;
    --bggrid-padding: 1rem;
    --grid-length: calc( (100vw - 2 * var(--page-hpadding)) / 16 );
    --grid-elements: 4;
  }
}
html {
  font-size: 16px;
  line-height: 1.25em;
}

body {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li, a, td, th {
  margin: 0;
  padding: 0;
  text-align: inherit;
  font-weight: inherit;
}

p {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}

h1 {
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
}

h2 {
  font-size: var(--h2-fs);
  line-height: var(--h2-lh);
}

h3 {
  font-size: var(--h3-fs);
  line-height: var(--h3-lh);
}

h4 {
  font-size: var(--h4-fs);
  line-height: var(--h4-lh);
}

h5 {
  font-size: var(--h5-fs);
  line-height: var(--h5-lh);
}

h6 {
  font-size: var(--h6-fs);
  line-height: var(--h6-lh);
}

a {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  text-decoration: inherit;
  cursor: pointer;
}
a:hover {
  text-decoration: underline;
}

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

ul, li {
  font-size: inherit;
}

figure, picture {
  position: relative;
  display: block;
  margin: 0;
}

figure {
  overflow: hidden;
}
figure img, figure svg {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
}

img[loading] {
  transition: opacity 500ms;
  z-index: 10;
}
img[loading]:not([data-loaded^=ok]) {
  opacity: 0.001;
  max-height: 1px !important;
}

img[data-loaded^=ok] ~ svg.placeholder, picture[data-loaded^=ok] ~ svg.placeholder {
  max-height: 0 !important;
}

img[data-loaded=error] + svg.placeholder {
  box-shadow: inset 0 0 0 1px rgba(225, 54, 76, 0.25);
}

svg.placeholder {
  background: rgb(245, 245, 245);
}

figure[data-natural=too-low]::after {
  content: " ";
  position: absolute;
  z-index: 1000;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background-color: #C83349;
  opacity: 0.1;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, #c83349 0, #c83349 1rem, rgba(200, 51, 73, 0) 1rem, rgba(200, 51, 73, 0) 2rem);
}

figure[data-natural=too-low-warn]::after {
  content: " ";
  position: absolute;
  z-index: 1000;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background-color: #C83349;
  opacity: 0.25;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, #c83349 0, #c83349 1rem, rgba(200, 51, 73, 0) 1rem, rgba(200, 51, 73, 0) 2rem);
}

figure[data-natural=too-good]::after {
  content: " ";
  position: absolute;
  z-index: 1000;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background-color: #25D198;
  opacity: 0.1;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, #25d198 0, #25d198 1rem, rgba(37, 209, 152, 0) 1rem, rgba(37, 209, 152, 0) 2rem);
}

figure[data-natural=too-good-warn]::after {
  content: " ";
  position: absolute;
  z-index: 1000;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background-color: #25D198;
  opacity: 0.25;
  pointer-events: none;
  background: repeating-linear-gradient(45deg, #25d198 0, #25d198 1rem, rgba(37, 209, 152, 0) 1rem, rgba(37, 209, 152, 0) 2rem);
}

figure[data-natural^=error]::after {
  content: " ";
  position: absolute;
  z-index: 1000;
  top: 1px;
  right: 1px;
  bottom: 1px;
  left: 1px;
  background-color: #C83349;
  opacity: 0.1;
  pointer-events: none;
  background: #C83349;
}

figure .debug {
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 1001;
  font-size: 10px;
  line-height: 1em;
  color: #C83349;
}

figure:has(img[src$=".svg"]) .debug {
  display: none;
}
figure:has(img[src$=".svg"]):after {
  display: none;
}

input, select {
  font: inherit;
  border-radius: 0;
}

html input::-webkit-input-placeholder, html textarea::-webkit-input-placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.33);
  opacity: 1;
  line-height: inherit;
}
html input::-moz-placeholder, html textarea::-moz-placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.33);
  opacity: 1;
  line-height: inherit;
}
html input:-ms-input-placeholder, html textarea:-ms-input-placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.33);
  opacity: 1;
  line-height: inherit;
}
html input:-moz-placeholder, html textarea:-moz-placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.33);
  opacity: 1;
  line-height: inherit;
}
html input::placeholder, html textarea::placeholder {
  font: inherit;
  color: rgba(0, 0, 0, 0.33);
  opacity: 1;
  line-height: inherit;
}
html input:focus::-webkit-input-placeholder, html textarea:focus::-webkit-input-placeholder {
  opacity: 0.1;
}
html input:focus::-moz-placeholder, html textarea:focus::-moz-placeholder {
  opacity: 0.1;
}
html input:focus:-ms-input-placeholder, html textarea:focus:-ms-input-placeholder {
  opacity: 0.1;
}
html input:focus:-moz-placeholder, html textarea:focus:-moz-placeholder {
  opacity: 0.1;
}
html input:focus::placeholder, html textarea:focus::placeholder {
  opacity: 0.1;
}
html input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #FFF inset;
  -webkit-text-fill-color: #000 !important;
}

html:not([lang=de]) [data-lang=de] {
  display: none !important;
}

html[lang=de] [data-lang=en] {
  display: none !important;
}

.block-sprachumschalter ul li.is-active {
  display: none;
}

@media (max-width: 380px) {
  [data-mu=xxs] {
    display: none;
  }
}

@media (min-width: 380.1px) {
  [data-md=xxs] {
    display: none;
  }
}

@media (max-width: 400px) {
  [data-mu=xs] {
    display: none;
  }
}

@media (min-width: 400.1px) {
  [data-md=xs] {
    display: none;
  }
}

@media (max-width: 500px) {
  [data-mu=sest] {
    display: none;
  }
}

@media (min-width: 500.1px) {
  [data-md=sest] {
    display: none;
  }
}

@media (max-width: 625px) {
  [data-mu=ser] {
    display: none;
  }
}

@media (min-width: 625.1px) {
  [data-md=ser] {
    display: none;
  }
}

@media (max-width: 800px) {
  [data-mu=s] {
    display: none;
  }
}

@media (min-width: 800.1px) {
  [data-md=s] {
    display: none;
  }
}

@media (max-width: 1000px) {
  [data-mu=sm] {
    display: none;
  }
}

@media (min-width: 1000.1px) {
  [data-md=sm] {
    display: none;
  }
}

@media (max-width: 1100px) {
  [data-mu=m] {
    display: none;
  }
}

@media (min-width: 1100.1px) {
  [data-md=m] {
    display: none;
  }
}

@media (max-width: 1300px) {
  [data-mu=ml] {
    display: none;
  }
}

@media (min-width: 1300.1px) {
  [data-md=ml] {
    display: none;
  }
}

@media (max-width: 1500px) {
  [data-mu=l] {
    display: none;
  }
}

@media (min-width: 1500.1px) {
  [data-md=l] {
    display: none;
  }
}

@media (max-width: 1900px) {
  [data-mu=xl] {
    display: none;
  }
}

@media (min-width: 1900.1px) {
  [data-md=xl] {
    display: none;
  }
}

@media (max-width: 2400px) {
  [data-mu=xxl] {
    display: none;
  }
}

@media (min-width: 2400.1px) {
  [data-md=xxl] {
    display: none;
  }
}

@media (min-aspect-ratio: 0.9999/1) {
  [data-orientation=portrait] {
    display: none;
  }
}

@media (max-aspect-ratio: 1/1.0001) {
  [data-orientation=landscape] {
    display: none;
  }
}

#copyright {
  position: relative;
}
#copyright span {
  display: inline-block;
  white-space: nowrap;
  transition: opacity 250ms 0ms;
}
#copyright span a, #copyright span a:hover, #copyright span a:active, #copyright span a:focus {
  color: inherit;
  text-decoration: none;
}
#copyright span#akamcomputer {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
#copyright > div {
  position: relative;
  display: inline-block;
}
#copyright > div:hover span {
  transition: opacity 250ms 1000ms;
}
#copyright > div:hover span:not(#akamcomputer) {
  opacity: 0;
}
#copyright > div:hover span#akamcomputer {
  opacity: 1;
}

.ak-outdated-browser, .ak-no-javascript {
  font-weight: bold;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9002;
  background: #E1364C;
  color: #FFF;
  padding: 0.625rem 0.75rem;
  font-size: 1rem;
  line-height: 1.25rem;
  min-height: 5rem;
}
.ak-outdated-browser a, .ak-no-javascript a {
  text-decoration: none;
}
.ak-outdated-browser a:hover, .ak-no-javascript a:hover {
  text-decoration: underline;
}

@media screen and (min-width: 0\0 ) {
  body {
    margin-top: 5rem !important;
  }
  .ak-outdated-browser {
    display: block !important;
  }
}
.debug1 {
  box-shadow: 0 0 0 2px rgba(251, 140, 255, 0.25), inset 0 0 0 2px rgba(251, 140, 255, 0.25), 0 0 0 1px rgba(251, 140, 255, 0.5), inset 0 0 0 1px rgba(251, 140, 255, 0.5) !important;
}

.debug2 {
  box-shadow: 0 0 0 2px rgba(188, 142, 245, 0.25), inset 0 0 0 2px rgba(188, 142, 245, 0.25), 0 0 0 1px rgba(188, 142, 245, 0.5), inset 0 0 0 1px rgba(188, 142, 245, 0.5) !important;
}

.debug3 {
  box-shadow: 0 0 0 2px rgba(159, 166, 255, 0.25), inset 0 0 0 2px rgba(159, 166, 255, 0.25), 0 0 0 1px rgba(159, 166, 255, 0.5), inset 0 0 0 1px rgba(159, 166, 255, 0.5) !important;
}

.debug4 {
  box-shadow: 0 0 0 2px rgba(148, 209, 255, 0.25), inset 0 0 0 2px rgba(148, 209, 255, 0.25), 0 0 0 1px rgba(148, 209, 255, 0.5), inset 0 0 0 1px rgba(148, 209, 255, 0.5) !important;
}

.debug5 {
  box-shadow: 0 0 0 2px rgba(128, 255, 246, 0.25), inset 0 0 0 2px rgba(128, 255, 246, 0.25), 0 0 0 1px rgba(128, 255, 246, 0.5), inset 0 0 0 1px rgba(128, 255, 246, 0.5) !important;
}

html {
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif;
  background: #FFF;
  font-size: 16px;
}
@media (max-width: 500px) {
  html {
    font-size: 14px;
  }
}

body.admin:not(.manager) .ruler {
  position: fixed;
  top: 0;
  left: 0;
  height: 2rem;
  pointer-events: none;
  z-index: 9001;
  font-size: 16px;
  mix-blend-mode: difference;
}
body.admin:not(.manager) .ruler span {
  position: absolute;
  height: 100%;
  border-left: 1px solid rgb(127.5, 127.5, 127.5);
  color: rgb(127.5, 127.5, 127.5);
  display: none;
}
body.admin:not(.manager) .ruler span::after {
  position: absolute;
  right: 0;
  padding: 0 0.25em;
}
body.admin:not(.manager) .ruler span:nth-child(odd)::after {
  top: 0.5rem;
}
body.admin:not(.manager) .ruler span:nth-child(1) {
  left: 380px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(1)::after {
  content: "xxs";
}
body.admin:not(.manager) .ruler span:nth-child(2) {
  left: 400px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(2)::after {
  content: "xs";
}
body.admin:not(.manager) .ruler span:nth-child(3) {
  left: 500px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(3)::after {
  content: "sest";
}
body.admin:not(.manager) .ruler span:nth-child(4) {
  left: 625px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(4)::after {
  content: "ser";
}
body.admin:not(.manager) .ruler span:nth-child(5) {
  left: 800px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(5)::after {
  content: "s";
}
body.admin:not(.manager) .ruler span:nth-child(6) {
  left: 1000px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(6)::after {
  content: "sm";
}
body.admin:not(.manager) .ruler span:nth-child(7) {
  left: 1100px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(7)::after {
  content: "m";
}
body.admin:not(.manager) .ruler span:nth-child(8) {
  left: 1300px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(8)::after {
  content: "ml";
}
body.admin:not(.manager) .ruler span:nth-child(9) {
  left: 1500px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(9)::after {
  content: "l";
}
body.admin:not(.manager) .ruler span:nth-child(10) {
  left: 1900px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(10)::after {
  content: "xl";
}
body.admin:not(.manager) .ruler span:nth-child(11) {
  left: 2400px;
  display: block;
}
body.admin:not(.manager) .ruler span:nth-child(11)::after {
  content: "xxl";
}

#messages .messages {
  border-radius: 1rem;
  font-size: 1.33rem;
  line-height: 1.25em;
  font-weight: normal;
  color: #000;
  border: 0;
  box-shadow: inset 0 0 0 1.5px #000;
  background-color: #F3F3F3;
}

body {
  min-height: 100vh;
  background: #FFF;
  color: #000;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  top: var(--bggrid-padding);
  left: var(--bggrid-padding);
  right: var(--bggrid-padding);
  bottom: var(--bggrid-padding);
  pointer-events: none;
  background-image: url("../img/2026/Grid.png");
  background-size: var(--bggrid-size) var(--bggrid-size);
  background-position: var(--bggrid-offset) var(--bggrid-offset);
  background-repeat: repeat;
  background-attachment: fixed;
}

body > * {
  position: relative;
  z-index: 1;
  opacity: 0;
}
body[data-ad] > * {
  opacity: 1;
  transition: opacity var(--animation-time-fast);
}

body:has(header.nav-open) {
  overflow: hidden;
}

header {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--page-hpadding);
  height: var(--header-height);
  width: var(--header-width);
  margin: 0 auto var(--header-margintop);
  padding-top: var(--header-margintop);
  align-items: center;
  transition: opacity var(--animation-time-fast), transform var(--animation-time-fast) !important;
}
body:not(.events).scroll-down header:not(.nav-open) {
  transform: translateY(-100%);
}

header {
  position: sticky;
  top: 0;
  z-index: 1001;
}
header #logo {
  z-index: 1003;
  grid-column: 1/2;
  grid-row: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
header #logo img {
  width: var(--logo-width);
  height: auto;
}
header nav#menu {
  position: relative;
  z-index: 1003;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  grid-column: 2/3;
  grid-row: 1;
  justify-self: end;
  display: grid;
  column-gap: 0.5rem;
}
header nav#menu a {
  grid-row: 1;
  margin: 0;
}
header.nav-open #menu a {
  opacity: 0;
}

header nav#menu {
  top: 0 !important;
  align-self: center;
}
header nav#menu button.burger-switch {
  grid-row: 1;
  border: 0;
  background: transparent !important;
  padding-left: 2rem;
}
header nav#menu button.burger-switch img {
  position: absolute;
  height: 1.5rem;
  max-width: none;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
body[data-ad] header nav#menu button.burger-switch img {
  transition: transform var(--animation-time-faster);
}

header nav#menu button.burger-switch img.close {
  transform: translateY(-50%) scaleY(0);
}
header.nav-open #menu button.burger-switch img.close {
  transform: translateY(-50%) scaleY(1);
}
header.nav-open #menu button.burger-switch img.open {
  transform: translateY(-50%) scaleY(0);
}

header nav#burger {
  opacity: 0;
  pointer-events: none;
}
body[data-ad] header nav#burger {
  transition: opacity var(--animation-time-faster);
}

header.nav-open nav#burger {
  opacity: 1;
  pointer-events: all;
}

header nav#burger {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1002;
  background: #FFF;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 1fr auto 1fr;
  align-items: center;
}
header nav#burger .links {
  grid-column: 2/3;
  grid-row: 2/3;
  display: grid;
  justify-items: center;
  gap: 0.25rem;
}
header nav#burger .links a {
  display: block;
}
header nav#burger .filter-text {
  margin-top: 2.5rem;
  max-width: 24ch;
  text-align: center;
}
header nav#burger .filter-link a {
  background: #16CDFF;
}
header nav#burger a[data-name=program] {
  background: #16CDFF;
}

main {
  flex: 1 1 auto;
  min-height: 100vh;
}
main > #content {
  display: flex;
  flex-direction: column;
}
main > #content > div {
  flex: 0 1 auto;
}

footer nav.block-footer-navigation {
  color: #F3F3F3;
  padding: 1.25rem var(--page-hpadding) 4rem var(--page-hpadding);
}
footer ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
}
footer ul li {
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  color: #000;
}
footer ul li a {
  display: block;
}
footer ul li a:hover {
  text-decoration: none;
}
footer ul li a[href*=instagram], footer ul li a[href*="2018.variousothers.com"].external-link {
  margin-bottom: 0.75em;
}
footer .block-footerlogos {
  overflow: hidden;
}
footer .block-footerlogos .supportedby {
  padding: 1.5vw;
}
footer .block-footerlogos .field-logos-footer {
  display: flex;
  flex-flow: row wrap;
}
footer .block-footerlogos .field-logos-footer > * {
  flex: 0 1 auto;
}
footer .block-footerlogos .field-logos-footer {
  align-items: center;
  padding-top: 5rem;
  margin-right: -1.5rem;
}
footer .block-footerlogos .field-logos-footer .title {
  display: none;
}
footer .block-footerlogos .field-logos-footer figure, footer .block-footerlogos .field-logos-footer img {
  max-height: 200px;
}

nav ul {
  list-style: none;
}
nav li > span {
  cursor: pointer;
}

article .media {
  width: 100%;
}
article .media > [class^=field] {
  padding: 0.25rem var(--page-hpadding);
}
article .media .module > .field-title {
  padding: 0.25rem var(--page-hpadding);
}
article .media > .field-text, article .media .field-event {
  padding: 0.25rem var(--page-hpadding) 1rem var(--page-hpadding);
}
article .media > .field-text h2 {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
article .media iframe {
  display: block;
}
article .media > .module {
  margin-top: 4rem;
}
article .module-carousel {
  position: relative;
}
article .module-carousel > .field-images-container {
  margin-left: var(--page-hpadding);
  margin-right: var(--page-hpadding);
  margin-bottom: 1rem;
  display: inline-block;
}
article .module-carousel > .field-images-container .field-images {
  height: 50vh;
  max-height: 66.66vw;
  max-height: 60vw;
}
article .module-carousel > .field-images-container .field-images .swiper-margin {
  height: 100%;
}
article .module-carousel > .field-images-container .field-images .swiper-slide {
  width: auto;
}
article .module-carousel > .field-images-container .field-images figcaption {
  position: absolute;
  top: 100%;
  z-index: 10;
  padding: 0.25rem 0;
}
article .module-carousel > .field-images-container .field-images figure, article .module-carousel > .field-images-container .field-images picture, article .module-carousel > .field-images-container .field-images svg.placeholder, article .module-carousel > .field-images-container .field-images img {
  width: auto;
  height: 100%;
}
article .module-carousel > .field-images-container .field-images .swiper {
  height: 100%;
}
article .module-carousel > .field-images-container .field-images figure {
  overflow: hidden;
  display: inline-block;
}
article .module-carousel > .field-images-container .field-images img, article .module-carousel > .field-images-container .field-images svg.placeholder {
  object-fit: cover;
}
article .module-carousel > .field-images-container .field-images > figure {
  display: inline-block;
}
article .module-vimeo .field-vimeo {
  overflow: hidden;
}
.video-player {
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  background: #000;
}
.video-player::after {
  content: " ";
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  animation: dotdotdot 1.5s infinite;
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  height: 1em;
  width: 1em;
}
.video-player.init figure, .video-player.init .playbutton {
  display: none !important;
}
.video-player iframe, .video-player figure, .video-player picture, .video-player img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.video-player figure, .video-player picture, .video-player img {
  opacity: 1;
  cursor: pointer;
  z-index: 2;
  background: #000;
}
.video-player figure.no-image {
  background: #000;
}
.video-player img {
  object-fit: cover;
}
.video-player .playbutton {
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  content: "";
  background-image: url("../img/play_button-w.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 5rem 5rem !important;
  background-position: center center !important;
  height: 5rem;
  width: 5rem;
  display: inline-block;
  vertical-align: text-bottom;
  pointer-events: none;
  transition: filter var(--animation-time-megafast);
}
.video-player .video-player:hover .playbutton {
  content: "";
  background-image: url("../img/play_button_hover-w.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 5rem 5rem !important;
  background-position: center center !important;
  height: 5rem;
  width: 5rem;
  display: inline-block;
  vertical-align: text-bottom;
}

article .module-spotify .field-spotify {
  overflow: hidden;
  margin: 0.25rem 1rem;
}
article .module-spotify [class^=field-image] {
  padding: 0;
}
@media (min-width: 800.1px) {
  article .module-spotify [class^=field-image] {
    max-width: 66.66%;
  }
}
article .module-spotify [class^=field-image] figurev {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.17);
}
article .module-spotify [class^=field-image] figurev img {
  width: 100%;
}
article .module-spotify [class^=field-image] figcaption {
  padding: 0.25rem 0;
}
article .module-image-single [class^=field-image] {
  margin: 0.25rem var(--page-hpadding);
}
@media (min-width: 800.1px) {
  article .module-image-single [class^=field-image] {
    max-width: calc(64ch - 2 * var(--page-hpadding));
  }
}
article .module-event + .module-event {
  border-top: 0;
}
article .module-event .field-event {
  padding-top: 1rem;
}
article .module-event .field-event .field-date-location {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
article .module-event .field-event h4.field-title-long {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
article .module-event [class^=field-image] {
  margin-top: 1rem;
  margin-bottom: 1rem;
  max-width: 64ch;
}
article .module-event .field-text {
  padding-top: 1rem;
}
article .module-event .field-text {
  max-width: 64ch;
}
article .comingsoon {
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  padding: 0 1rem;
}

[class^=field-logos-] {
  padding: 1rem 1rem 5rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
[class^=field-logos-] figure {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
}
[class^=field-logos-] figure .placeholder {
  display: none !important;
}
[class^=field-logos-] figure {
  height: 12rem;
  width: auto;
  max-width: 100%;
}
@media (max-width: 500px) {
  [class^=field-logos-] figure {
    height: 8rem;
  }
}
[class^=field-logos-] figure a {
  display: block;
  height: 100%;
  width: 100%;
}
[class^=field-logos-] figure img {
  height: 100%;
  width: 100%;
  object-fit: contain;
}
[class^=field-logos-].field-logos-supported-bigger figure, [class^=field-logos-].field-logos-supported-bigger img {
  height: 24rem;
}
[class^=field-logos-] .title {
  font-size: 2.5rem;
  line-height: 1em;
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  flex: 1 1 100%;
  padding-bottom: 1rem;
}

article.page {
  overflow: hidden;
}
article.page .field-image-hero {
  border-bottom: 2px solid #000;
}
article.page .field-image-hero figure {
  display: block;
}
article.page .field-image-hero img, article.page .field-image-hero svg.placeholder {
  display: block;
  max-height: 50vh;
  width: 100%;
  object-fit: cover;
}
article.page .field-title {
  display: none;
}
article.page .field-texts, article.page .field-texts-2 {
  padding-bottom: 5rem;
}
article.page .field-texts > div, article.page .field-texts-2 > div {
  margin: 2rem 33% 8rem 2rem;
}
article.page .field-texts > div:last-child, article.page .field-texts-2 > div:last-child {
  margin-bottom: 2rem;
}
article.page .field-texts > div h4, article.page .field-texts-2 > div h4 {
  font-size: var(--h4-fs);
  line-height: var(--h4-lh);
  margin-top: 1.25em;
  margin-bottom: 0.625em;
  padding-bottom: 0;
}
article.page .field-texts > div h2, article.page .field-texts-2 > div h2 {
  font-size: var(--h2-fs);
  line-height: var(--h2-lh);
}
article.page .field-texts > div .grey, article.page .field-texts-2 > div .grey {
  color: #757575;
}
article.page .field-files {
  margin: 2rem 33% 8rem 1rem;
  padding: 0;
}
article.page .field-files table, article.page .field-files table * {
  display: block;
}
article.page .field-files table thead, article.page .field-files table * thead {
  display: none;
}
article.page .field-files table tr, article.page .field-files table * tr {
  padding: 0.5rem 0;
  position: relative;
}
article.page .field-files table tr *, article.page .field-files table * tr * {
  position: static;
}
article.page .field-files table td, article.page .field-files table * td {
  padding-left: 3rem;
}
article.page .field-files table span.file, article.page .field-files table * span.file {
  display: block;
}
article.page .field-files span a::before {
  content: "";
  position: absolute;
  left: 0rem;
  top: 50%;
  content: "";
  background-image: url("../img/vo_button_download.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 2rem 2rem !important;
  background-position: center center !important;
  height: 2rem;
  width: 2rem;
  display: inline-block;
  vertical-align: text-bottom;
  padding-right: 1rem;
  transform: translateY(-50%);
}
article.page .field-files > .title {
  font-size: var(--h3-fs);
  line-height: var(--h3-lh);
  padding-bottom: 0.5em;
  padding-top: 0.4em;
}
article.page:hover {
  text-decoration: none;
}

article.gallery .venue {
  position: relative;
}
article.gallery .venue-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: 100%;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  line-height: 1em;
}
article.gallery .venue-title .field-venue, article.gallery .venue-title .field-partners {
  max-width: 100%;
  min-width: 4rem;
  text-align: center;
}
article.gallery .venue-title .field-venue > div, article.gallery .venue-title .field-partners > div {
  margin: var(--tags-gap) 0;
  position: relative;
}
article.gallery .venue-title .field-venue {
  position: relative;
  z-index: 2;
}
article.gallery .venue-title .field-partners {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin-left: 4rem;
  margin-top: var(--grid-gap);
}
article.gallery[data-partners] .field-venue:has(+ .field-partners)::before {
  content: "";
  background-repeat: no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: 100%;
  left: 0;
  width: 3rem;
  height: 4rem;
  z-index: 0;
}
article.gallery[data-partners="1"] .venue-title .field-venue::before {
  background-image: url("../img/2026/arrow1-a.svg");
  top: calc(100% - 1.4rem);
  left: 0.6rem;
  width: 3rem;
  height: 3rem;
}
article.gallery[data-partners="1"][data-variant="1"] .venue-title .field-venue::before {
  background-image: url("../img/2026/arrow1-b.svg");
  top: calc(100% - 1.7rem);
  left: -0.4rem;
  width: 4rem;
  height: 3.8rem;
}
article.gallery[data-partners="1"][data-variant="2"] .venue-title .field-venue::before {
  background-image: url("../img/2026/arrow1-c.svg");
  top: calc(100% - 3.3rem);
  left: 2rem;
  width: 4rem;
  height: 4rem;
}
article.gallery[data-partners="2"] .venue-title .field-venue::before {
  background-image: url("../img/2026/arrow2-a.svg");
  top: calc(100% - 1.9rem);
  left: -0.5rem;
  width: 6.5rem;
  height: 5.7rem;
}
article.gallery[data-partners="3"] .venue-title .field-venue::before {
  background-image: url("../img/2026/arrow3-a.svg");
  top: calc(100% - 3.1rem);
  left: -1.4rem;
  width: 11.5rem;
  height: 9.5rem;
}

.block-tags {
  display: flex;
  flex-flow: row wrap;
}
.block-tags > * {
  flex: 0 1 auto;
}

.tag,
.block-tags a {
  display: block;
  color: #000;
  box-shadow: inset 0 0 0 1.5px #000;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  padding: var(--tags-paddings);
  line-height: 1em;
  margin: 0.2em 0.2em 0 0;
  background: #FFF;
  border-radius: 2em;
  transition: all var(--animation-time-faster);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.tag.inverted,
.block-tags a.inverted {
  background: #000;
  color: #FFF;
}
.tag:not(.nolink),
.block-tags a:not(.nolink) {
  cursor: pointer;
}
.tag:not(.nolink):hover,
.block-tags a:not(.nolink):hover {
  text-decoration: inherit;
  background: #000;
  color: #FFF;
}
.tag:not(.nolink)[href=""],
.block-tags a:not(.nolink)[href=""] {
  opacity: 0.25;
}
body:not(.in) .tag:not(.nolink)[href=""],
body:not(.in) .block-tags a:not(.nolink)[href=""] {
  display: none;
}

article.gallery.teaser {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
}
article.gallery.teaser .venue-title {
  grid-row: 1/2;
  position: absolute;
  z-index: 2;
  width: 100%;
  aspect-ratio: 1/1;
  padding: var(--grid-gap);
  box-sizing: border-box;
}
article.gallery.teaser .venue-title .field-venue {
  flex: 1 1 auto;
}
article.gallery.teaser .venue-title .field-partners {
  align-self: end;
  align-items: end;
}
article.gallery.teaser .field-image {
  grid-row: 1/2;
  z-index: 1;
  aspect-ratio: 1/1;
}
article.gallery.teaser .field-image img {
  aspect-ratio: 1/1;
}
article.gallery.teaser .field-image:not(:has(img)) {
  background: #F3F3F3;
  opacity: 0.9;
}
article.gallery.teaser .text {
  grid-row: 2/3;
  margin-top: 0.25rem;
  margin-bottom: 3rem;
}
article.gallery.teaser .node-edit-link {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  left: auto;
  transform: none;
}
article.gallery.teaser .node-edit-link:after {
  transform: none;
}
article.gallery.teaser.not-public {
  opacity: 0.25;
}
article.gallery.teaser.not-public .venue-title::after {
  content: "Kein Bild, ausgeblendet";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #E00;
  padding: var(--tags-paddings);
  border-radius: 2em;
  color: #FFF;
  text-align: center;
}

article.gallery.lists .venue-title .field-partners {
  display: flex;
  flex-direction: column;
  align-items: start;
}
article.gallery.lists .text {
  margin-top: var(--grid-gap);
  padding: 0 1.5rem;
}
article.gallery.lists a.node-edit-link {
  display: block;
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  bottom: auto;
  left: auto;
  transform: none;
}
article.gallery.lists a.node-edit-link:after {
  transform: none;
}

article.gallery.full .field-header-container .module-carousel .field-images {
  padding-top: 0;
}
article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle {
  display: block;
  background: #F3F3F3;
  z-index: 100;
  position: absolute;
  right: 0.33rem;
  bottom: 0.33rem;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  margin: 0;
  border-radius: 2rem;
  border: 0;
  box-shadow: inset 0 0 0 1.5px #000;
  color: #000;
}
article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle::after {
  content: "i";
  font-size: 1.25rem;
  line-height: 2.25rem;
  text-align: center;
}
article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle:hover, article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle.open:hover {
  background: #16CDFF;
  color: #000;
}
article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle.open {
  background: #F3F3F3;
  color: #000;
  box-shadow: inset 0 0 0 1.5px #000;
}
article.gallery.full .field-header-container .module-carousel .field-images button.figcaption-toggle.open::after {
  content: "×";
  font-size: 1.75rem;
  line-height: 2.25rem;
}
article.gallery.full .field-header-container .module-carousel .field-images figcaption {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  top: auto;
  background: #F3F3F3;
  color: #000;
  box-shadow: inset 0 0 0 1.5px #000;
  border-radius: 0.5rem;
  padding: 0.25rem 0.5rem;
  padding-right: 3rem;
  min-height: 4rem;
}
article.gallery.full .field-header-container .module-carousel .field-images figcaption span {
  display: block;
}
article.gallery.full .field-header-container .module-carousel .field-images figcaption span + span {
  margin-top: 0.5rem;
}
article.gallery.full .field-header-container .module-carousel .field-images figcaption span.copyright::before {
  content: "©";
  display: inline-block;
  margin-right: 0.25rem;
}
article.gallery.full .field-header-container .module-carousel .field-images .swiper:not(.swiper-container-initialized) button.figcaption-toggle {
  display: none;
}
article.gallery.full .field-header-container .module-carousel .field-images .swiper:not(.swiper-container-initialized) [class*=swiper-button] {
  display: none;
}
article.gallery.full .field-header-container .module-carousel .field-images .swiper-pagination {
  display: none;
}
article.gallery.full .field-header-container .module-carousel svg.placeholder {
  display: none;
}
article.gallery.full .field-header-container .module-carousel > .swiper {
  overflow: hidden;
}
article.gallery.full:not(.promoted) .field-image-large::after {
  display: none !important;
}
article.gallery.full .text {
  padding: 1rem var(--page-hpadding);
  display: grid;
  grid-template-columns: 1fr;
  grid-row-gap: 3rem;
}
article.gallery.full .text em {
  font-style: normal;
  color: rgba(255, 255, 255, 0.75);
}
@media (min-width: 800.1px) {
  article.gallery.full .text {
    grid-template-columns: 3fr 1fr;
    grid-template-rows: auto auto auto auto;
    grid-column-gap: 1rem;
    grid-row-gap: 3rem;
  }
  article.gallery.full .text .venue-title {
    grid-column: 1/2;
    grid-row: 1;
  }
  article.gallery.full .text .field-artists {
    grid-column: 1/2;
    grid-row: 2;
    align-self: start;
  }
  article.gallery.full .text .field-description,
  article.gallery.full .text .field-descriptions {
    grid-column: 1/2;
    grid-row: 3;
  }
  article.gallery.full .text .field-descriptions-translated {
    grid-column: 1/2;
    grid-row: 4;
  }
  article.gallery.full .text .addresses-links-etc {
    grid-column: 2/3;
    grid-row: 1/-1;
  }
}
article.gallery.full .field-descriptions, article.gallery.full .field-descriptions-translated {
  max-width: 64ch;
}
article.gallery.full .field-descriptions p:not(:last-child), article.gallery.full .field-descriptions-translated p:not(:last-child) {
  padding-bottom: 1.25em;
}
article.gallery.full .field-descriptions div + div, article.gallery.full .field-descriptions-translated div + div {
  margin-top: 3.75em;
}
article.gallery.full .field-descriptions-translated {
  color: #757575;
  color-margin-top: 3.75em;
}
article.gallery.full .addresses-links-etc .field-title {
  text-transform: uppercase;
}
article.gallery.full .addresses-links-etc .field-addresses-info > div + div {
  margin-top: 3rem;
}
article.gallery.full .addresses-links-etc .field-addresses-info .opening-hours {
  margin-top: 0.75rem;
}
article.gallery.full .addresses-links-etc .field-links {
  padding-top: 3rem;
}
article.gallery.full .addresses-links-etc .field-links a {
  display: block;
}
article.gallery.full .field-links .field-title.partner {
  display: none;
}
article.gallery.full .field-location {
  margin-top: 2rem 0rem;
}
article.gallery.full .media:not(:empty) {
  margin-bottom: 6rem;
}
article.gallery.full .media .module {
  margin-top: 4rem;
}
article.gallery.full .media .module > .field-title {
  font-size: var(--h2-fs);
  line-height: var(--h2-lh);
}
article.gallery.full .media .module > .field-text {
  padding: 0.25rem 1rem;
}
article.gallery.full .media.not-first .module:first-child {
  display: none !important;
}
article.gallery.full .field-image-logo {
  width: 100%;
  max-width: 100%;
  padding-bottom: 3rem;
}
article.gallery.full .field-image-logo .placeholder {
  display: none !important;
}

.block-events-by-gallery, .specialevents {
  border-top: 1px solid #FFF;
}
.block-events-by-gallery .title, .specialevents .title {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  padding: 0.25rem 1rem 0.75rem 1rem;
}
.block-events-by-gallery .title:last-child, .specialevents .title:last-child {
  display: none;
}
.block-events-by-gallery article:not(:first-of-type), .specialevents article:not(:first-of-type) {
  padding-top: 1.5rem;
}
.specialevents article:last-of-type {
  border-bottom: 1px solid #000;
}

.block-events-by-gallery article, .specialevents article {
  padding: 1rem var(--page-hpadding);
  border-top: 1px solid #000;
}
.block-events-by-gallery article:last-child, .specialevents article:last-child {
  padding-bottom: 2rem;
}
.block-events-by-gallery article, .specialevents article {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery article, .specialevents article {
    grid-template-columns: 11rem minmax(0, 64ch);
  }
}
@media (min-width: 1000.1px) {
  .block-events-by-gallery article, .specialevents article {
    grid-template-columns: 11rem minmax(0, 64ch) 1fr;
  }
}
.block-events-by-gallery article, .specialevents article {
  grid-column-gap: 2rem;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery .field-title, .block-events-by-gallery .field-title-translated, .block-events-by-gallery .field-description, .block-events-by-gallery .field-description-translated, .block-events-by-gallery .field-adresse-text, .block-events-by-gallery .field-time, .specialevents .field-title, .specialevents .field-title-translated, .specialevents .field-description, .specialevents .field-description-translated, .specialevents .field-adresse-text, .specialevents .field-time {
    grid-column: 2;
  }
}
.block-events-by-gallery .field-category, .specialevents .field-category {
  grid-row: 2;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery .field-category, .specialevents .field-category {
    grid-row: 1;
  }
}
@media (min-width: 1000.1px) {
  .block-events-by-gallery .field-category, .specialevents .field-category {
    grid-column: 3;
    grid-row: 1;
  }
}
.block-events-by-gallery .field-category, .specialevents .field-category {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: flex-end;
  margin-right: -0.2rem;
}
.block-events-by-gallery .field-description, .block-events-by-gallery .field-adresse-text, .specialevents .field-description, .specialevents .field-adresse-text {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
.block-events-by-gallery .field-date, .specialevents .field-date {
  font-size: 2.5rem;
  line-height: 1em;
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  padding-left: 0.15em;
  margin-top: -0.15em;
  grid-column: 1;
  grid-row: 1;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery .field-date, .specialevents .field-date {
    grid-row: 1/span 3;
  }
}
.block-events-by-gallery .field-date [data-t], .specialevents .field-date [data-t] {
  display: none !important;
}
.block-events-by-gallery .field-title, .block-events-by-gallery .field-title-translated, .block-events-by-gallery .field-description, .block-events-by-gallery .field-description-translated, .specialevents .field-title, .specialevents .field-title-translated, .specialevents .field-description, .specialevents .field-description-translated {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  margin-bottom: 1.25em;
  max-width: 64ch;
}
.block-events-by-gallery .field-title-translated, .specialevents .field-title-translated {
  margin-top: 1.25em;
  color: #757575;
}
.block-events-by-gallery .field-description-translated, .specialevents .field-description-translated {
  color: #757575;
}
.block-events-by-gallery .field-adresse-text, .specialevents .field-adresse-text {
  margin-top: 1.25em;
}
.block-events-by-gallery .field-time, .specialevents .field-time {
  grid-row: 1;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery .field-time, .specialevents .field-time {
    grid-row: 1/span 3;
  }
}
.block-events-by-gallery .field-time, .specialevents .field-time {
  align-self: start;
  justify-self: start;
  grid-column: 1;
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
}
.block-events-by-gallery .field-time [data-d], .block-events-by-gallery .field-time [data-m="00"], .specialevents .field-time [data-d], .specialevents .field-time [data-m="00"] {
  display: none !important;
}
.block-events-by-gallery .field-ical, .specialevents .field-ical {
  display: none;
}
@media (min-width: 800.1px) {
  .block-events-by-gallery .field-ical, .specialevents .field-ical {
    grid-column: 3;
  }
}
.block-events-by-gallery .field-link-specialevent a, .specialevents .field-link-specialevent a {
  box-shadow: inset 0 0 0 1.5px #000;
  border-radius: 1.25rem;
  color: #000;
  display: inline-block;
  padding: var(--tags-paddings);
  background: #F3F3F3;
}
.block-events-by-gallery .field-link-specialevent a:hover, .specialevents .field-link-specialevent a:hover {
  text-decoration: none;
  background: #16CDFF;
}
.block-events-by-gallery .more .field-description, .specialevents .more .field-description {
  max-width: 64ch;
}
.block-events-by-gallery {
  margin-top: 4rem;
  padding-top: 0.5rem;
}

.block-map-gallery {
  margin-top: 4rem;
}

body.ak main article.press .field-title-signup, body.ak main article.press div.title, body.ak main article.press .field-title-images {
  display: block;
  margin: 2rem 0rem;
  font-size: var(--h3-fs);
  line-height: var(--h3-lh);
}
body.ak main article.press .field-text, body.ak main article.press .field-title-signup, body.ak main article.press .field-downloads, body.ak main article.press .field-downloads-aa, body.ak main article.press .field-images, body.ak main article.press form, body.ak main article.press .accept_terms, body.ak main article.press .field-description, body.ak main article.press .press-images-description, body.ak main article.press .field-title-images {
  margin: 0.25rem var(--page-hpadding) 1rem var(--page-hpadding);
  max-width: 64ch;
  padding: 0;
}
body.ak main article.press .field-text h2, body.ak main article.press .field-downloads h2, body.ak main article.press .field-downloads-aa h2, body.ak main article.press .field-images h2, body.ak main article.press .accept_terms h2, body.ak main article.press .press-images-description h2 {
  font-size: 3rem;
  line-height: 1.25em;
}
body.ak main article.press .field-text ol, body.ak main article.press .field-text ul, body.ak main article.press .field-description ol, body.ak main article.press .field-description ul, body.ak main article.press .field-text-terms ol, body.ak main article.press .field-text-terms ul {
  padding-left: 1.25em;
}
body.ak main article.press .field-text ol li, body.ak main article.press .field-text ul li, body.ak main article.press .field-description ol li, body.ak main article.press .field-description ul li, body.ak main article.press .field-text-terms ol li, body.ak main article.press .field-text-terms ul li {
  list-style: auto;
  padding-left: 0.25em;
}
body.ak main article.press .field-text h2 {
  font-size: var(--h4-fs);
  line-height: var(--h4-lh);
}
body.ak main article.press .field-text, body.ak main article.press .field-downloads, body.ak main article.press .field-downloads-aa {
  margin-bottom: 8rem;
}
body.ak main article.press .field-downloads-aa, body.ak main article.press .press-images-description, body.ak main article.press .field-title-images, body.ak main article.press .field-downloads {
  display: none;
}
body.ak main article.press .field-downloads-aa .title {
  display: none;
}
body.ak main article.press form.ml-block-form {
  display: grid;
  gap: 1rem;
}
body.ak main article.press form.ml-block-form input, body.ak main article.press form.ml-block-form button {
  background: transparent;
  border: 0;
  color: #000;
  border-radius: 1.5rem;
  height: 2.5rem;
  padding: 0.5rem 1.5rem;
  line-height: 1.25rem;
  box-shadow: inset 0 0 0 1.5px #000;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  margin-top: 0;
  box-sizing: border-box;
}
body.ak main article.press form.ml-block-form button[type=submit] {
  background: #F3F3F3;
  color: #000;
  box-shadow: inset 0 0 0 1.5px #000;
  transition: all 250ms;
}
body.ak main article.press form.ml-block-form button[type=submit]:hover {
  background: #16CDFF;
}
body.ak main article.press form.ml-block-form .ml-form-formContent {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
body.ak main article.press form.ml-block-form .ml-form-formContent .ml-form-fieldRow:has(.ml-field-email) {
  grid-column: span 2;
}
body.ak main article.press .ml-form-successBody {
  margin: 2rem 33% 8rem 1rem;
}
body.ak main article.press .field-text-terms {
  margin: 0.25rem var(--page-hpadding) 1rem var(--page-hpadding);
  max-width: 64ch;
}
body.ak main article.press .field-text-terms span {
  font-size: var(--h6-fs);
  line-height: var(--h6-lh);
}
body.ak main article.press .field-press-images {
  max-height: 100vh;
  overflow: hidden;
  position: relative;
}
body.ak main article.press .field-press-images > * {
  pointer-events: none;
}
body.ak main article.press .field-press-images::after {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(rgba(255, 255, 255, 0.5), #FFF);
  pointer-events: none;
  z-index: 100;
}
body.ak main article.press .field-press-images {
  display: flex;
  flex-flow: row wrap;
}
body.ak main article.press .field-press-images > * {
  flex: 0 1 auto;
}
body.ak main article.press .field-press-images {
  margin: 4rem 0rem 8rem 1rem;
}
body.ak main article.press .field-press-images .title {
  flex: 0 1 100%;
  display: none;
}
body.ak main article.press .field-press-images > div {
  flex: 0 1 20%;
}
@media (max-width: 1100px) {
  body.ak main article.press .field-press-images > div {
    flex: 0 1 25%;
  }
}
body.ak main article.press .field-press-images > div {
  padding: 0rem 1rem 1rem 0rem;
}
body.ak main article.press .field-press-images figure a {
  display: block;
}
body.ak main article.press .field-press-images figure img, body.ak main article.press .field-press-images figure svg.placeholder {
  object-fit: contain;
  object-position: left bottom;
  height: 20vw;
  height: calc(20vw - 1.25rem);
}
@media (max-width: 1100px) {
  body.ak main article.press .field-press-images figure img, body.ak main article.press .field-press-images figure svg.placeholder {
    height: 25vw;
    height: calc(25vw - 1.25rem);
  }
}
body.ak main article.press .field-press-images figure img, body.ak main article.press .field-press-images figure svg.placeholder {
  width: 100%;
}
body.ak main article.press .field-press-images figcaption {
  padding-top: 0.25rem;
  padding-bottom: 1rem;
  text-align: left;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
body.ak main article.press .field-press-images figcaption span {
  font-size: var(--h6-fs);
  line-height: var(--h6-lh);
}
body.ak main article.press .field-press-images button.figcaption-toggle {
  display: none;
}
body.ak main article.press.allaccess form, body.ak main article.press.allaccess .accept_terms, body.ak main article.press.allaccess .field-title-signup, body.ak main article.press.allaccess .field-description, body.ak main article.press.allaccess .field-text-terms {
  display: none !important;
}
body.ak main article.press.allaccess .field-downloads-aa, body.ak main article.press.allaccess .press-images-description, body.ak main article.press.allaccess .field-title-images, body.ak main article.press.allaccess .field-downloads {
  display: block;
}
body.ak main article.press.allaccess .field-press-images > * {
  pointer-events: all !important;
}
body.ak main article.press.allaccess .field-press-images .title {
  display: block;
}
body.ak main article.press.allaccess .field-press-images::after {
  display: none !important;
}

body.ak main article.service-page > .field-professionals, body.ak main article.service-page > .field-hotels, body.ak main article.service-page > .field-presslink, body.ak main article.service-page > .field-files {
  margin: 0rem 33% 0rem 1rem;
  padding: 0;
}
body.ak main article.service-page > .field-professionals .title, body.ak main article.service-page > .field-hotels .title, body.ak main article.service-page > .field-presslink .title, body.ak main article.service-page > .field-files .title {
  font-size: var(--h3-fs);
  line-height: var(--h3-lh);
  border-top: 2px solid #000;
  padding-bottom: 0.5em;
  padding-top: 0.4em;
  cursor: pointer;
}
body.ak main article.service-page > .field-professionals .more > div {
  margin: 1rem 0 4rem 0;
}
body.ak main article.service-page > .field-presslink {
  margin-top: 3rem;
}
body.ak main article.service-page > .field-presslink a:hover {
  text-decoration: none;
}
body.ak main article.service-page .field-hotel-text {
  margin-top: 1rem;
  margin-bottom: 2rem;
}
body.ak main article.service-page .field-hotel-image {
  margin-bottom: 2rem;
}
body.ak main article.service-page .field-hotels.full + .field-hotels.full {
  border-top: 2px solid #CCC;
}
body.ak main article.service-page .field-hotels.full + .field-hotels.full .field-hotel-text {
  margin-top: 2rem;
}
body.ak main article.service-page .field-hotels.full:last-of-type div:last-child {
  margin-bottom: 8rem;
}
body.ak main article.service-page .more {
  display: none;
}
body.ak main article.service-page > .field-files {
  margin-bottom: 8rem;
}
body.ak main article.service-page > .field-professionals, body.ak main article.service-page > .field-hotels {
  display: none;
}

.frontpage-switch {
  display: flex;
  justify-content: center;
  margin-bottom: var(--page-hpadding);
}
.frontpage-switch .switch-wrapper {
  display: grid;
  grid-template-columns: repeat(3, 5rem);
  box-shadow: 0 0 0 1.5px #000;
  border-radius: 2em;
  border: 3px solid #FFF;
  position: relative;
}
.frontpage-switch .switch-wrapper::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 2em;
  background: #000;
}
body[data-ad] .frontpage-switch .switch-wrapper::after {
  transition: transform var(--animation-time-fast), width var(--animation-time-fast);
}

.frontpage-switch .switch-wrapper::after {
  width: 33.3333333333%;
  transform: translateX(calc(var(--fp-switch-active, 0) * 100%));
  will-change: transform;
}
.frontpage-switch .switch-wrapper .switch-item {
  background: transparent;
  border: 0;
  padding: 0.5rem 1rem;
  text-align: center;
  cursor: pointer;
  transition: all var(--animation-time-fast);
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  padding: var(--tags-paddings);
  line-height: 1em;
  border-radius: 2em;
  z-index: 1;
}
.frontpage-switch .switch-wrapper .switch-item.active {
  color: #FFF;
}

#block-explore.hidden, #block-venues.hidden, #block-artists.hidden {
  display: none !important;
}

#block-explore {
  display: grid;
  grid-template-columns: repeat(var(--grid-elements), 1fr);
  gap: var(--grid-gap);
  margin: var(--page-hpadding);
}

#block-venues {
  max-width: 720px;
  margin: 0 auto;
}
#block-venues article.lists {
  margin: 4rem 2rem;
  position: relative;
}

#block-artists {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--tags-gap);
}

article.startseite-preview {
  margin-top: calc(-1 * var(--header-height));
}
article.startseite-preview .field-texts {
  text-align: center;
  margin: 4rem auto;
}
@media (min-width: 800.1px) {
  article.startseite-preview .field-texts {
    max-width: 65vw;
  }
}
article.startseite-preview .field-texts p {
  padding-left: 0.25em;
}
article.startseite-preview .field-texts > div {
  padding-bottom: 3rem;
}
article.startseite-preview [class*=field-videofile] video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: calc(100vh - var(--header-height) + 1px);
  object-fit: cover;
  margin: 0;
}
article.startseite-preview .date-banner {
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
article.startseite-preview .date-banner img {
  width: 32rem;
}
article.startseite-preview .overlay {
  position: absolute;
  top: calc(50vh - var(--header-height) / 2);
}
@media (max-width: 500px) {
  article.startseite-preview .overlay {
    top: 45vh;
  }
}
article.startseite-preview .overlay {
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
article.startseite-preview .overlay figure {
  width: 100%;
}
article.startseite-preview .overlay img {
  width: 90vw;
  max-width: 480px;
  height: auto;
  margin: 0 auto;
}

ul {
  align-items: center;
}
ul li, ul a {
  text-align: center;
}

main.mediapage {
  overflow: hidden;
  color: #000;
  display: grid;
  grid-template-columns: 50% 50%;
}
main.mediapage article.story .text {
  padding: var(--tile-vpadding) var(--tile-vpadding);
  min-height: 8rem;
}
main.mediapage article.story .text h2, main.mediapage article.story .text h4 {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  padding-bottom: 0;
}
main.mediapage article.story .text a:hover {
  text-decoration: inherit;
}
.field-tags {
  display: flex;
  flex-flow: row wrap;
}
.field-tags > * {
  flex: 0 1 auto;
}
.field-tags {
  display: none !important;
}

main.mediapage .field-tags .tag {
  pointer-events: none;
}
main.mediapage article.story.carousel .field-images {
  padding: 0;
  margin: 0;
  border-radius: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}
main.mediapage article.story.carousel .field-images > figure {
  flex: 0 1 100%;
  background: rgba(0, 0, 0, 0.08);
}
main.mediapage article.story.carousel .field-images .swiper {
  min-height: 100%;
}
main.mediapage article.story.carousel .field-images figure, main.mediapage article.story.carousel .field-images picture, main.mediapage article.story.carousel .field-images img {
  width: 100%;
}
main.mediapage article.story.spotify {
  margin: 0;
  border-radius: 0;
}
@media (min-width: 800.1px) {
  main.mediapage article.story.spotify .media > * {
    flex: 0 1 auto;
  }
  main.mediapage article.story.spotify .media {
    display: flex;
    flex-flow: row nowrap;
    overflow: hidden;
    align-items: center;
    min-height: 36vw;
  }
}
@media (min-width: 1000.1px) {
  main.mediapage article.story.spotify .media {
    min-height: 32vw;
  }
}
@media (min-width: 1300.1px) {
  main.mediapage article.story.spotify .media {
    min-height: 28vw;
  }
}
@media (min-width: 1500.1px) {
  main.mediapage article.story.spotify .media {
    min-height: 24vw;
  }
}
@media (min-width: 1900.1px) {
  main.mediapage article.story.spotify .media {
    min-height: 20vw;
  }
}
main.mediapage article.story.spotify .media {
  background: #FFF;
  padding: 0.5rem;
}
main.mediapage article.story.feature a {
  display: block;
}
main.mediapage article.story.feature .field-tags {
  position: absolute;
  z-index: 10;
  bottom: var(--tile-vpadding);
  left: var(--tile-vpadding);
}
main.mediapage article.story.feature.full {
  grid-column: 1/3;
  position: relative;
}
main.mediapage article.story.vimeo {
  border-radius: 0;
}
main.mediapage article.story.feature.half {
  grid-column: 1/3;
  display: grid;
}
@media (min-width: 800.1px) {
  main.mediapage article.story.feature.half {
    grid-template-columns: 50% 50%;
  }
}

#logo h2.title-stories {
  font-size: var(--h1-fs);
  line-height: var(--h1-lh);
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  margin-bottom: -1.25vw;
}

article.page-stories .field-image-hero figure {
  display: block;
  background: rgba(255, 255, 255, 0.17);
}
article.page-stories .field-image-hero img, article.page-stories .field-image-hero svg.placeholder {
  display: block;
  max-height: 50vh;
  width: 100%;
  object-fit: cover;
}
article.page-stories > .field-title {
  margin: 1rem var(--page-hpadding) 0.9rem;
}
article.page-stories h1.field-title {
  font-size: 2.5rem;
  line-height: 1em;
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
}
article.page-stories[data-nodeid="451"] h1.field-title {
  line-height: 1em;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif;
  font-size: 2.5rem;
  line-height: 1em;
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  margin-top: 0;
  padding-bottom: 0;
  padding-left: 0.15em;
  text-transform: none;
}
article.page-stories[data-nodeid="451"] h1.field-title + .media {
  margin-top: 0;
}
article.page-stories[data-nodeid="451"] h1.field-title + .media .module {
  margin-top: -2rem;
}

article.page-stories h1.field-title:has(+ .media > .module-event:first-child) {
  border-bottom: 1px solid #000;
}
@media (min-width: 800.1px) {
  article.page-stories .field-text, article.page-stories .field-text-quote {
    font-size: var(--p-fs);
    line-height: var(--p-lh);
    max-width: 64ch;
  }
}
article.page-stories .media, article.page-stories .module {
  margin: 2rem 0 4rem 0;
}
article.page-stories .media > .field-title, article.page-stories .module > .field-title {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
article.page-stories .media > .field-text, article.page-stories .module > .field-text {
  margin: 0.25rem var(--page-hpadding) 1rem var(--page-hpadding);
  margin-top: 2rem;
}
article.page-stories .media > .field-text p, article.page-stories .module > .field-text p {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
article.page-stories .media > .field-text strong, article.page-stories .module > .field-text strong {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  display: block;
}
article.page-stories .media > .field-text-quote, article.page-stories .module > .field-text-quote {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  margin-top: 2rem;
}
article.page-stories .module > .field-text {
  margin-top: 0;
}
article.page-stories .field-tags {
  top: auto;
  margin-top: 1rem;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}

header.page-preview {
  display: none;
}

footer.page-preview {
  display: none;
}

article.page-preview {
  padding: 0 2rem;
  padding-bottom: 16rem;
  margin: 0 auto;
  max-width: 960px;
}
article.page-preview .header {
  position: relative;
  width: 100%;
  max-width: calc(960px - 4rem);
  aspect-ratio: 2/1;
  margin-top: 2rem;
}
@media (max-aspect-ratio: 1/1) {
  article.page-preview .header {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 auto;
    margin-top: 1rem;
  }
}
article.page-preview .header .field-animation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  height: 960px;
  max-height: 95vw;
  filter: blur(8px);
}
article.page-preview .header .field-animation img {
  height: 100%;
  width: auto;
}
@media (max-aspect-ratio: 1/1) {
  article.page-preview .header .field-animation {
    transform: translate(-50%, -50%);
    height: 100%;
    max-height: none;
  }
  article.page-preview .header .field-animation img {
    height: 100%;
    max-height: 100%;
    width: auto;
  }
}
article.page-preview .header .field-images {
  display: grid;
  gap: 2rem;
  width: 100%;
  min-height: 100%;
  z-index: 10;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  padding-bottom: 2rem;
  padding-top: 2rem;
}
@media (max-aspect-ratio: 1/1) {
  article.page-preview .header .field-images {
    grid-template-rows: auto auto;
    align-content: center;
  }
}
article.page-preview .header .field-images img {
  height: auto;
}
article.page-preview .field-title {
  text-align: center;
  padding: 1rem;
}
article.page-preview .field-title.thursday8 {
  background: url("../img/2025/days/mobile/thursday8.svg") no-repeat center center;
  background-size: contain;
  height: 8rem;
  margin-top: 4.5rem;
  margin-bottom: 1.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
article.page-preview .field-title.thursday8 h2 {
  opacity: 0;
}
article.page-preview .field-title.friday9 {
  background: url("../img/2025/days/mobile/friday9.svg") no-repeat center center;
  background-size: contain;
  height: 8rem;
  margin-top: 4.5rem;
  margin-bottom: 1.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
article.page-preview .field-title.friday9 h2 {
  opacity: 0;
}
article.page-preview .field-title.saturday10 {
  background: url("../img/2025/days/mobile/saturday10.svg") no-repeat center center;
  background-size: contain;
  height: 8rem;
  margin-top: 4.5rem;
  margin-bottom: 1.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
article.page-preview .field-title.saturday10 h2 {
  opacity: 0;
}
article.page-preview .field-title.sunday11 {
  background: url("../img/2025/days/mobile/sunday11.svg") no-repeat center center;
  background-size: contain;
  height: 8rem;
  margin-top: 4.5rem;
  margin-bottom: 1.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
}
article.page-preview .field-title.sunday11 h2 {
  opacity: 0;
}
article.page-preview .field-title.toosoontosay {
  background: url("../img/2025/VO25_too_soon_to_say.png") no-repeat center center;
  background-size: contain;
  height: 70vw;
  max-height: calc(960px / 100 * 70);
}
article.page-preview .field-title.toosoontosay h2 {
  opacity: 0;
}
article.page-preview .field-ftexts {
  text-align: center;
}
article.page-preview .field-ftexts a {
  color: #9EE102;
}
article.page-preview .field-ftexts .element {
  border-top: 1px solid #000;
  padding: 1rem;
}
article.page-preview .field-ftexts .element:last-child {
  border-bottom: 1px solid #000;
}
article.page-preview .not-auth {
  width: 100vh;
  max-width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 2.5em;
  text-align: center;
}

.field-event:after {
  content: "";
  border-bottom: 1px solid #000;
  display: block;
}
.field-event .field-date {
  font-size: 2.5rem;
  line-height: 1em;
  font-family: "CC Zing", Helvetica, Arial, sans-serif;
  padding-left: 0.15em;
  padding-top: 0.1em;
  padding-bottom: 0.15em;
}
.field-event [data-less] {
  display: grid;
  grid-template-columns: auto auto 1fr;
  border-top: 1px solid #000;
  margin-top: -1px;
}
.field-event [data-less] > * {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.field-event [data-less] .field-title-long {
  line-height: 1em;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif;
  padding: 0;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}
.field-event [data-less] .icons {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  align-self: start;
}
.field-event [data-less] .field-time {
  align-self: start;
  justify-self: right;
  display: block;
  color: #000;
  box-shadow: inset 0 0 0 1.5px #000;
  padding: var(--tags-paddings);
  background: #F3F3F3;
  border-radius: 2rem;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  line-height: 1em;
}
.field-event [data-less].open .field-time, .field-event [data-less].sliding .field-time {
  background: #16CDFF;
}
.field-event [data-more] .field-location {
  margin-top: 1.25em;
}
.field-event [data-more] {
  padding-bottom: 0.5rem;
}

article.page-stories .module-event + .module-event {
  margin-top: -2rem;
}
article.page-stories .module-event:has(+ .module-event) {
  margin-bottom: 0;
}
article.page-stories .module-event.nodate .field-date {
  display: none;
}
article.page-stories .module-event.nodate [data-less] {
  border-top: 0;
}

[data-less] {
  cursor: pointer;
}
[data-less].open:not(.sliding) + [data-more] {
  opacity: 1;
}

[data-more] {
  display: none;
  opacity: 0;
  transition: opacity var(--animation-time);
}

.block-mailchimpsubscriptionformnewsletter {
  padding: 1rem 1.5rem;
  max-width: 24rem;
  align-self: center;
}
.block-mailchimpsubscriptionformnewsletter input[type=email] {
  border: 0;
  border-bottom: 1px solid #000;
  margin: 0;
}
.block-mailchimpsubscriptionformnewsletter input[type=submit] {
  border: 0;
  padding: 0.5rem;
  text-align: left;
}
.block-mailchimpsubscriptionformnewsletter input[type=submit]:hover {
  text-decoration: underline;
}

.block-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 7999;
  background: rgba(250, 250, 250, 0.85);
}
.block-overlay .sticky {
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.block-overlay .field-animation {
  position: absolute;
  z-index: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  filter: blur(8px);
}
.block-overlay .field-animation img {
  height: 75vw;
  width: auto;
}
@media (max-aspect-ratio: 1/1) {
  .block-overlay .field-animation {
    transform: translateY(-50%);
  }
  .block-overlay .field-animation img {
    height: 75vh;
    max-height: calc(95vh - 2 * var(--header-height));
    width: auto;
  }
}
.block-overlay .field-images {
  display: grid;
  max-height: 100vh;
  width: 100vw;
  z-index: 10;
  grid-template-rows: 1fr auto;
  align-items: center;
  justify-items: center;
  padding: 2rem;
  max-width: 1440px;
}
.block-overlay .field-images img {
  width: 36rem;
  max-width: 90vw;
}
.block-overlay .field-images.mobile {
  padding-left: 1rem;
}
.block-overlay .field-slogan {
  text-align: center;
}
.block-overlay .field-slogan h1 {
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif;
  text-transform: none;
}
.block-overlay .field-slogan button {
  margin: 0.75rem auto 0;
}
.block-overlay.fade-out {
  opacity: 0;
  transition: opacity var(--animation-time) ease-in-out;
  pointer-events: none;
}

section.block-banner-filter {
  background: #F3F3F3;
  margin: 4rem 0 4rem 0;
}
section.block-banner-filter a {
  width: 100%;
}
section.block-banner-filter figure, section.block-banner-filter img {
  width: 100%;
}
section.block-banner-filter img {
  height: 13em;
  width: auto;
  margin: 0 auto;
  max-width: 100%;
  object-fit: cover;
}

.block-logo-bottom {
  position: fixed;
  bottom: 0;
  right: 0;
  pointer-events: none;
  z-index: 1000;
  transition: opacity var(--animation-time-fast);
}
.block-logo-bottom a {
  display: block;
  pointer-events: auto;
}
.block-logo-bottom img {
  width: 21em;
  max-width: 100%;
}
body.scroll-down .block-logo-bottom {
  opacity: 0;
}

.block-newsletter-popup {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 7002;
}
[data-ad] .block-newsletter-popup {
  transition: opacity var(--animation-time-fast);
}

.block-newsletter-popup.hidden {
  opacity: 0;
  pointer-events: none;
}
.block-newsletter-popup.wiggle {
  animation: wiggle 1s 1;
}
@keyframes wiggle {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(8deg);
  }
  30% {
    transform: rotate(-6deg);
  }
  50% {
    transform: rotate(4deg);
  }
  70% {
    transform: rotate(-2deg);
  }
  80% {
    transform: rotate(1deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.block-newsletter-popup {
  display: grid;
  align-items: center;
  justify-items: start;
}
@media (max-width: 625px) {
  .block-newsletter-popup {
    justify-items: center;
  }
}
.block-newsletter-popup {
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0 1rem;
}
@media (max-width: 625px) {
  .block-newsletter-popup {
    gap: 0.5rem 1rem;
  }
}
.block-newsletter-popup {
  padding: 1rem;
  background: #16CDFF;
  border-radius: 1rem;
  max-width: 34rem;
  margin-left: 2rem;
  box-shadow: 0 0 2rem -1rem #000;
}
.block-newsletter-popup .newsletter-popup-logo {
  grid-row: 1/3;
}
@media (max-width: 625px) {
  .block-newsletter-popup .newsletter-popup-logo {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
.block-newsletter-popup .newsletter-popup-logo {
  margin-bottom: 0.5rem;
}
.block-newsletter-popup .newsletter-popup-text {
  padding-right: 2rem;
}
@media (max-width: 625px) {
  .block-newsletter-popup .newsletter-popup-text {
    grid-column: 1/3;
    grid-row: 2/3;
    text-align: center;
    padding-right: 0;
  }
}
.block-newsletter-popup button.newsletter-popup-close {
  position: absolute;
  top: 1rem;
  right: 0.75rem;
  border: 0;
  background: transparent !important;
}
.block-newsletter-popup button.newsletter-popup-close img {
  height: 1rem;
}
.block-newsletter-popup .newsletter-popup-link {
  grid-column: 2/3;
}
.block-newsletter-popup .newsletter-popup-link a {
  display: block;
  background: #16CDFF;
}
@media (max-width: 625px) {
  .block-newsletter-popup .newsletter-popup-link {
    margin-bottom: 0.5rem;
  }
}
#newsletter-popup #mlb2-30126565 {
  margin-top: 1rem;
}
#newsletter-popup #mlb2-30126565 form.ml-block-form {
  display: grid;
  gap: 1rem;
}
#newsletter-popup #mlb2-30126565 form.ml-block-form .ml-form-fieldRow input {
  width: 100%;
  background: transparent;
  border: 0;
  color: #000;
  border-radius: 2rem;
  padding: var(--tags-paddings);
  line-height: 1.25rem;
  box-shadow: inset 0 0 0 1.5px #000;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
  box-sizing: border-box;
}
#newsletter-popup #mlb2-30126565 form.ml-block-form .ml-form-embedSubmit {
  margin: 0 !important;
  float: none;
}
#newsletter-popup #mlb2-30126565 form.ml-block-form .ml-form-embedSubmit button {
  background: transparent;
  border: 0;
  color: #000;
  border-radius: 2rem;
  padding: var(--tags-paddings);
  line-height: 1.25rem;
  box-shadow: inset 0 0 0 1.5px #000;
  font-size: var(--p-fs);
  line-height: var(--p-lh);
}

.block-newsletter-popup:not(.hidden) + .block-logo-bottom {
  opacity: 0;
}

.field-ical a {
  display: block;
  height: 2rem;
  width: 2rem;
}
.field-ical a:before {
  content: "";
  background-image: url("../img/2024/calender_download.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 1rem 1rem !important;
  background-position: center center !important;
  height: 1rem;
  width: 1rem;
  display: inline-block;
  vertical-align: text-bottom;
  display: block;
}

.field-downloads table, .field-downloads table * {
  display: block;
}
.field-downloads thead {
  display: none;
}
.field-downloads tr {
  padding: 0.5rem 0;
  position: relative;
}
.field-downloads tr * {
  position: static;
}
.field-downloads td {
  padding-left: 3rem;
}
.field-downloads span.file {
  display: block;
}
.field-downloads span.file {
  margin-top: 1rem;
}
.field-downloads span a, .field-downloads span.file-size {
  display: inline-block;
  padding-left: 4rem;
}
.field-downloads span a::before {
  content: "";
  position: absolute;
  left: 0rem;
  top: 50%;
  content: "";
  background-image: url("../img/vo_button_download.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 2rem 2rem !important;
  background-position: center center !important;
  height: 2rem;
  width: 2rem;
  display: inline-block;
  vertical-align: text-bottom;
  padding-right: 1rem;
  transform: translateY(-50%);
}
.field-downloads span:hover {
  text-decoration: none;
}

.swiper [class^=swiper-button] {
  color: #000;
  background: #F3F3F3;
  box-shadow: inset 0 0 0 1.5px #000;
}
.swiper [class^=swiper-button]:hover {
  background: #16CDFF;
}
.swiper [class^=swiper-button] {
  width: 2.75rem;
  height: 1.5rem;
  border-radius: 2rem;
  margin: 0;
  transform: translateY(-50%);
}
@media (min-width: 800.1px) {
  .swiper [class^=swiper-button] {
    margin: 0 0.25rem;
  }
}
@media (min-width: 1300.1px) {
  .swiper [class^=swiper-button] {
    margin: 0 0.75rem;
  }
}
.swiper [class^=swiper-button]::after {
  font-size: 0.75rem;
  font-weight: bold;
}
.swiper .swiper-pagination {
  pointer-events: none;
}
.swiper .swiper-pagination .swiper-pagination-bullet {
  height: 0.75rem;
  width: 0.75rem;
  pointer-events: all;
}
.swiper .swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  background: #FFF;
}
.swiper .swiper-pagination .swiper-pagination-bullet-active {
  background: #000;
}
.swiper:has(.swiper-button-prev.swiper-button-disabled + .swiper-button-next.swiper-button-disabled) .swiper-button-prev.swiper-button-disabled,
.swiper:has(.swiper-button-prev.swiper-button-disabled + .swiper-button-next.swiper-button-disabled) .swiper-button-next.swiper-button-disabled {
  display: none;
}

.openclose button {
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  margin-top: 0.1rem;
}
.openclose button:hover {
  background: transparent;
}
.openclose button::before {
  content: "";
  background-image: url("../img/caret-down.svg") !important;
  background-repeat: no-repeat !important;
  background-size: 1rem 1rem !important;
  background-position: center center !important;
  height: 1rem;
  width: 1rem;
  display: inline-block;
  vertical-align: text-bottom;
  display: block;
  transition: transform 150ms;
  transform: rotate(0deg) translateY(0.1rem);
}
.openclose.open button::before {
  transform: rotate(180deg) translateY(0rem);
}

.datetime [data-t="000000"] {
  display: none;
}
.datetime i {
  font-style: normal;
}

button.figcaption-toggle {
  display: none;
}

button.figcaption-toggle.open + figcaption {
  opacity: 1 !important;
}

main.search .search-form {
  display: none;
}
main.search .search-form + akapp.h2 {
  display: none;
}

#akstarfield {
  top: 0 !important;
  left: 0 !important;
  position: fixed !important;
  z-index: 100 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
}

#system4xx {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 16px !important;
  line-height: 1.25em !important;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif !important;
  vertical-align: baseline !important;
  display: flex !important;
  flex-flow: column nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  top: 0 !important;
  left: 0 !important;
  position: fixed !important;
  z-index: 1000 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif !important;
  color: white !important;
  background: transparent !important;
}
#system4xx > * {
  flex: 0 1 auto !important;
  height: auto !important;
}

#system4xx, #system4xx * {
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif !important;
  background: transparent !important;
  color: white !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 1em !important;
}
#system4xx h1, #system4xx * h1 {
  padding: 0.5em !important;
  display: block !important;
  color: white !important;
  font-size: 4em !important;
  line-height: 1.25em !important;
  font-weight: bold !important;
  text-align: center !important;
  text-transform: uppercase !important;
  margin: 0 0 0.5em !important;
  padding: 0.25em !important;
}
#system4xx h1 + h5, #system4xx * h1 + h5 {
  margin-bottom: 2em !important;
  font-weight: normal !important;
}
#system4xx button.system4xx-back, #system4xx * button.system4xx-back {
  margin: 2em 0 0 0 !important;
  background: transparent !important;
  border: 1px solid white !important;
  font-family: "KMR-Waldenburg-Normal", Helvetica, Arial, sans-serif !important;
  cursor: pointer !important;
  padding: 0 !important;
  border-color: white !important;
}
#system4xx button.system4xx-back a, #system4xx * button.system4xx-back a {
  color: white !important;
  font-size: 1em !important;
  line-height: 1.25em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  padding: 1em 1.25em !important;
  display: block !important;
}
#system4xx button.system4xx-back:hover, #system4xx button.system4xx-back:active, #system4xx * button.system4xx-back:hover, #system4xx * button.system4xx-back:active {
  background: white !important;
}
#system4xx button.system4xx-back:hover a, #system4xx button.system4xx-back:active a, #system4xx * button.system4xx-back:hover a, #system4xx * button.system4xx-back:active a {
  color: black !important;
}
/*# sourceMappingURL=app.css.map */
