@charset "UTF-8";
/*
    Copyright (C) 2026 by Systemantics

    Systemantics GmbH
    Hausbroicher Str. 218
    47877 Willich
    GERMANY

    Web:    www.systemantics.net
    Email:    hello@systemantics.net

    Permission granted to use the files associated with this
    website only on your webserver.

    Changes to these files are PROHIBITED due to license restrictions.
*/
/* Clearfix hack by http://nicolasgallagher.com/micro-clearfix-hack/ */
/* Use this to test whether the user's primary input mechanism can hover over elements (which would not be true in touch-enabled devices without emulating) */
/* ------------------------------- */
/* --- Better Breakpoint Mixin --- */
/* ------------------------------- */
/* --- BREAKPOINTS src: https://davidhellmann.com/blog/development/sass-breakpoint-mixin ========================================================================== */
:root {
  /* ---------------------- */
  /* --- Colors --- */
  --color-black: #000;
  --color-grey: rgb(123,123,123);
  --color-grey-light: #f0f0f0;
  --color-white: #fff;
  --color-coral: rgba(255, 134, 142, 1);
  --color-coral-light: rgba(255, 134, 142, 0.5);
  --color-em: var(--color-coral);
  --color-text: var(--color-black);
  --color-background: var(--color-white);
  --color-background-card: var(--color-white);
  --color-debug: rgba(255, 0, 255, 0.5);
  /* ---------------------- */
  /* --- Layout Metrics --- */
  --space: 1.25rem;
  --page-padding-y: var(--space);
  --page-padding-x: 11px;
  --gap: var(--space);
  --gap-x: var(--space);
  --gap-y: 0;
  --scrollbar-width: 11px;
  --vh: 100vh;
  --sticky-controls-layout-margin: 4px;
  --cursor-x: 230px;
  --cursor-y: 230px;
  /* --- Column Grid Metrics --- */
  --col-grid-margin: var(--page-padding-x);
  --col-grid-count: 2;
  --col-grid-gutter: 10px;
  --col-grid-color: var(--color-debug);
  /* ---------------------- */
  /* --- Other --- */
  --border: 1px solid var(--color-text);
  --transition-duration: 150ms;
  /* ---------------------- */
  /* --- Light / Dark Mode --- */
}
@media (min-width: 900px) {
  :root {
    --page-padding-x: 21px;
  }
}
@media (min-width: 900px) {
  :root {
    --col-grid-count: 8;
    --col-grid-gutter: 12px;
  }
}
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
img {
  display: block;
  -webkit-aspect-ratio: var(--ratio-intrinsic, auto);
  aspect-ratio: var(--ratio-intrinsic, auto);
  height: auto;
}

a {
  text-decoration: none;
  text-decoration-skip-ink: auto;
  text-underline-offset: 0.1em;
  text-decoration-thickness: 0.1em;
}

html {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-y: scroll;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  scroll-behavior: smooth;
}

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

body {
  position: relative;
}

html {
  scroll-behavior: unset;
}

html,
body,
#page {
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  min-height: 100dvh;
  width: 100vw;
  max-width: 100%;
}

html,
body,
div,
aside,
main,
nav,
article,
a,
figure,
figcaption,
img {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
}

p > a {
  display: inline;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
label {
  padding: 0;
  margin: 0;
}

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

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

table {
  display: table;
  position: relative;
  --gap: 10px;
  background: transparent;
  max-width: 100%;
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: var(--gap) 0px;
  width: calc(100% + var(--gap) * 2);
  max-width: calc(100% + var(--gap) * 2);
  transform: translateX(calc(var(--gap) * -1));
  -webkit-box-shadow: unset;
  -moz-box-shadow: unset;
  box-shadow: unset;
  table-layout: fixed;
}

table th,
table td {
  padding: 4px 0;
  text-align: left;
  border-top: 1px solid currentcolor;
}

table th {
  background: transparent;
  text-shadow: unset;
  vertical-align: bottom;
}

table td {
  vertical-align: top;
}

table thead:first-child tr th,
table thead:first-child tr td {
  border-top: 0;
}

table thead:first-child tr:first-child th,
table tbody:first-child tr:first-child th {
  border-top: 0;
}

table tbody tr:last-child td {
  border-bottom: 1px solid black;
}

button {
  border: none;
  margin: 0;
  padding: 0;
  width: auto;
  overflow: visible;
  background: transparent;
  /* inherit font & color from ancestor */
  color: inherit;
  font: inherit;
  /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
  line-height: normal;
  /* Corrects font smoothing for webkit */
  -webkit-font-smoothing: inherit;
  -moz-osx-font-smoothing: inherit;
  /* Corrects inability to style clickable `input` types in iOS */
  -webkit-appearance: none;
  /* Remove excess padding and border in Firefox 4+ */
}
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
*[tabindex]:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--color-em, magenta);
  outline-offset: 3px;
}

details {
  display: flex;
  flex-flow: column nowrap;
}
details,
details summary {
  margin: 0;
  border-radius: 0;
  background-image: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  position: relative;
}
details summary {
  display: flex;
  flex-flow: column nowrap;
  pointer-events: auto;
}
details summary::-webkit-details-marker {
  display: none;
}
details summary span {
  display: block;
  flex: 0 0 auto;
}

pre {
  font-size: 14px;
  line-height: 1;
  grid-column: 1/-1;
}

/* --- Source Pattern Template --- */
/*
@font-face {
    font-family: 'my-font';
    src:    url("/assets/webfonts/my-font.otf") format("opentype");
    src:    url("../font/my-font.eot");
    src:    url("../font/my-font.eot?#iefix") format("embedded-opentype"),
            url("../font/my-font.woff2") format("woff2"),
            url("../font/my-font.woff") format("woff");
    font-weight: normal;
    font-style: normal;
}
------ */
@font-face {
  font-family: "Commercial";
  src: url("../webfonts/BasicCommercialLTCom-Bold.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
}
/* Fonts ========================================================================== */
:root {
  --font-family-base: "Commercial", sans-serif;
}

/* ------------------------------------------------- */
/* --- Specific Font Styles As Defined By Design --- */
.fs--small {
  line-height: 1.25;
  font-size: 1rem;
}
@media (min-width: 900px) {
  .fs--small {
    font-size: 1rem;
  }
}

/* --- Utility --- */
.no-hyphens {
  -ms-hyphens: none;
  -webkit-hyphens: none;
  hyphens: none;
}

.fs--underline {
  text-decoration: underline;
  -webkit-text-decoration-thickness: 0.1em;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.1em;
  text-decoration-skip-ink: auto;
}

.fs--italic {
  font-style: italic;
}

.fs--uppercase {
  text-transform: uppercase;
  font-variant-numeric: normal;
  -moz-font-feature-settings: "case";
  -webkit-font-feature-settings: "case";
  font-feature-settings: "case";
  letter-spacing: 0.01em;
}

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

.fs--em {
  color: var(--color-em);
}

/* --- Utility: Typographic Texts --- */
.fs--tpg {
  max-width: 80ch;
}
.fs--tpg hr {
  border: 0;
  background: none;
  height: 1.25rem;
  width: 100%;
  display: block;
  margin: 0;
}
.fs--tpg p:first-child, .fs--tpg li:first-child, .fs--tpg ul:first-child, .fs--tpg ol:first-child {
  margin-top: 0;
}
.fs--tpg p:last-child, .fs--tpg li:last-child, .fs--tpg ul:last-child, .fs--tpg ol:last-child {
  margin-top: 0;
}
.fs--tpg p:not(:first-child), .fs--tpg li:not(:first-child), .fs--tpg ul:not(:first-child), .fs--tpg ol:not(:first-child) {
  margin-top: 1em;
}
.fs--tpg p:not(:last-child), .fs--tpg li:not(:last-child), .fs--tpg ul:not(:last-child), .fs--tpg ol:not(:last-child) {
  margin-bottom: 1em;
}
.fs--tpg p a:not(.btn), .fs--tpg a:not(.btn) {
  display: inline;
  text-decoration: underline;
  -webkit-text-decoration-thickness: 0.1em;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.1em;
  text-decoration-skip-ink: auto;
}
.fs--tpg p a:not(.btn):hover, .fs--tpg p a:not(.btn):focus-visible, .fs--tpg a:not(.btn):hover, .fs--tpg a:not(.btn):focus-visible {
  color: var(--color-coral, inherit);
}
.fs--tpg p a.btn, .fs--tpg a.btn {
  text-decoration: none;
}
.fs--tpg button {
  text-decoration: none;
}
.fs--tpg h3, .fs--tpg h4, .fs--tpg h5, .fs--tpg h6 {
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem;
}
.fs--tpg h2:first-child, .fs--tpg h3:first-child, .fs--tpg h4:first-child, .fs--tpg h5:first-child, .fs--tpg h6:first-child {
  margin-top: 0;
}
.fs--tpg em, .fs--tpg i {
  font-style: italic;
}
.fs--tpg b, .fs--tpg strong {
  text-transform: uppercase;
}
.fs--tpg ul, .fs--tpg ol {
  padding: 0;
  list-style-type: none;
  list-style: none;
  margin-left: 0.1875rem;
}
.fs--tpg li {
  display: block;
  position: relative;
  padding-left: 3ch;
}
.fs--tpg li:before {
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  width: auto;
  white-space: nowrap;
  font-family: inherit;
}
.fs--tpg li + li {
  margin-top: 0;
}
.fs--tpg ol {
  counter-reset: counter-ol;
}
.fs--tpg ol li {
  counter-increment: counter-ol;
}
.fs--tpg ol li:before {
  content: counter(counter-ol) ".";
  right: calc(100% - 1.5ch);
}
.fs--tpg ul li:before {
  --size: 1.2ch;
  content: "";
  width: var(--size);
  height: var(--size);
  background-color: currentColor;
  border-radius: 50%;
  top: 0.15em;
  right: calc(100% - var(--size));
}

/* ========================================================================== */
/* ---------------------------- */
/* --- Core Font Reset --- */
html {
  letter-spacing: 0;
  word-break: break-word;
  -webkit-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
}
@media (min-width: 900px) {
  body {
    font-size: 1.25rem;
  }
}

/* ========================================================================== */
html ::-moz-selection,
body ::-moz-selection {
  background: var(--color-coral-light);
  color: var(--color-black);
}
html ::selection,
body ::selection {
  background: var(--color-coral-light);
  color: var(--color-black);
}

a,
button,
input,
label {
  cursor: pointer;
}

a {
  color: inherit;
}
blockquote a,
blockquote a:hover,
blockquote a:link,
blockquote a:visited {
  text-decoration: underline;
}

p {
  margin: 0;
  padding: 0;
}

i,
cite,
var,
address,
dfn {
  font-style: italic;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: inherit;
  font-size: inherit;
  font-style: inherit;
  margin: 0;
  padding: 0;
}

b, strong {
  font-weight: inherit;
  font-style: normal;
}

em, i {
  font-style: italic;
}

.caption,
figcaption {
  overflow: visible;
}

.obfuscate {
  text-align: left;
  display: inline-block;
  font-variant-ligatures: discretionary-ligatures;
}

hr {
  height: calc(var(--space) * 2);
  width: 100%;
  display: block;
  margin: 0;
  border: 0;
  background: transparent;
}
@media (min-width: 900px) {
  hr {
    height: calc(var(--space) * 5);
  }
}

/* Open Type Features ========================================================================== */
/* ---
font-variant-numeric: normal;
font-variant-numeric: ordinal;
font-variant-numeric: slashed-zero;
font-variant-numeric: lining-nums;
font-variant-numeric: oldstyle-nums;
font-variant-numeric: proportional-nums;
font-variant-numeric: tabular-nums;
font-variant-numeric: diagonal-fractions;
font-variant-numeric: stacked-fractions;
font-variant-numeric: oldstyle-nums stacked-fractions;

-moz-font-feature-settings: "ss19";
-webkit-font-feature-settings: "ss19";
font-feature-settings: "ss19";
--- */
.ot-lining-nums {
  font-variant-numeric: lining-nums;
}

.ot-ss01 {
  -moz-font-feature-settings: "ss01";
  -webkit-font-feature-settings: "ss01";
  font-feature-settings: "ss01";
}

.ot-smcp {
  font-variant-caps: small-caps;
  -moz-font-feature-settings: "smcp";
  -webkit-font-feature-settings: "smcp";
  font-feature-settings: "smcp";
}

.ot-case {
  -moz-font-feature-settings: "case";
  -webkit-font-feature-settings: "case";
  font-feature-settings: "case";
}

.ot-liga {
  -moz-font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  font-feature-settings: "liga";
}

.sr-only,
.screenreader-only,
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.flex {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}

.grid {
  display: grid;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.grid-cols-7 {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.grid-cols-8 {
  grid-template-columns: repeat(8, minmax(0, 1fr));
}

.grid-cols-9 {
  grid-template-columns: repeat(9, minmax(0, 1fr));
}

.grid-cols-10 {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

.grid-cols-11 {
  grid-template-columns: repeat(11, minmax(0, 1fr));
}

.grid-cols-12 {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.col-span-1 {
  grid-column-end: span 1;
}

.col-span-2 {
  grid-column-end: span 2;
}

.col-span-3 {
  grid-column-end: span 3;
}

.col-span-4 {
  grid-column-end: span 4;
}

.col-span-5 {
  grid-column-end: span 5;
}

.col-span-6 {
  grid-column-end: span 6;
}

.col-span-7 {
  grid-column-end: span 7;
}

.col-span-8 {
  grid-column-end: span 8;
}

.col-span-9 {
  grid-column-end: span 9;
}

.col-span-10 {
  grid-column-end: span 10;
}

.col-span-11 {
  grid-column-end: span 11;
}

.col-span-12 {
  grid-column-end: span 12;
}

.col-span-full {
  grid-column: 1/-1;
}

.gap {
  gap: var(--space, 0);
}

.pa {
  padding: var(--space, 0);
}

@media (min-width: 900px) {
  .only-screen-small {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .only-screen-big {
    display: none !important;
  }
}

.text-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Clearfix hack by http://nicolasgallagher.com/micro-clearfix-hack/ */
/* ----------------------- */
/* --- Utility Classes For Better Breakpoint Mixin --- */
@media (max-width: 599px) {
  .phone_down {
    opacity: 1;
  }
}

@media (min-width: 0px) and (max-width: 599px) {
  .phone_only {
    opacity: 1;
  }
}

@media (min-width: 600px) {
  .phone_up {
    opacity: 1;
  }
}

@media (max-width: 899px) {
  .tablet-portrait_down {
    opacity: 1;
  }
}

@media (min-width: 600px) and (max-width: 899px) {
  .tablet-portrait_only {
    opacity: 1;
  }
}

@media (min-width: 900px) {
  .tablet-portrait_up {
    opacity: 1;
  }
}

@media (max-width: 1199px) {
  .tablet-landscape_down {
    opacity: 1;
  }
}

@media (min-width: 900px) and (max-width: 1199px) {
  .tablet-landscape_only {
    opacity: 1;
  }
}

@media (min-width: 1200px) {
  .tablet-landscape_up {
    opacity: 1;
  }
}

@media (max-width: 1799px) {
  .desktop_down {
    opacity: 1;
  }
}

@media (min-width: 1200px) and (max-width: 1799px) {
  .desktop_only {
    opacity: 1;
  }
}

@media (min-width: 1800px) {
  .desktop_up {
    opacity: 1;
  }
}

/* ---------------------------------- */
/* --- Lozad - Lazy Image Loading --- */
.lozad:not(.lozad--loaded) {
  opacity: 0;
  filter: blur(3px);
}
.lozad.lozad--loaded {
  opacity: 1;
  filter: blur(0px);
}

/* ---------------------------------- */
/* --- Mask Image --- */
.mask-img {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  -webkit-mask-image: var(--path, none);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-image: var(--path, none);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  background: var(--color-text);
}
.mask-img img {
  opacity: 0;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

:root {
  --form-control-color: rebeccapurple;
  --form-control-disabled: #959495;
  --input-color: var(--color-text);
  --input-background-color: transparent;
  --input-border-color: currentcolor;
  --input-border: 1px solid var(--input-border-color);
  --input-placeholder-color: rgb(123,123,123);
}

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

body {
  margin: 0;
}

form, fieldset {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-height: 0;
  width: 100%;
  gap: 0.625rem;
}

form ._clear-element {
  position: absolute;
}

input::placeholder,
textarea::placeholder {
  color: var(--input-placeholder-color);
}

input::-webkit-input-placeholder {
  line-height: normal !important;
}

label {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.3125rem;
  width: 100%;
}
label .label__content {
  padding-left: 0.625rem;
}
label .required {
  color: var(--semantic-error);
}
label .notification {
  color: var(--semantic-error);
  opacity: 0;
  padding-left: 0.625rem;
  min-height: 1.4375rem;
}

label[disabled] {
  color: var(--form-control-disabled);
  cursor: not-allowed;
}

input, label, textarea, select {
  text-align: left;
  vertical-align: middle;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  display: block;
  position: relative;
  transform: translateY(0px);
  place-content: first;
  overflow: hidden;
  width: 100%;
  border-radius: 0;
  color: currentColor;
  min-width: 1.25rem;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  input:hover, label:hover, textarea:hover, select:hover {
    color: var(--color-em);
  }
}

label:focus-within {
  color: var(--color-em);
}

input[type=text], input[type=email], input[type=password], input[type=search], textarea, select, form button {
  background-color: var(--input-background-color);
  border: var(--input-border);
  padding: 0.5625rem 0.875rem 0.5625rem;
}
input[type=text]:focus-visible, input[type=email]:focus-visible, input[type=password]:focus-visible, input[type=search]:focus-visible, textarea:focus-visible, select:focus-visible, form button:focus-visible {
  outline: 0;
  border-color: var(--color-em);
}

form button:hover, form button:focus-visible {
  opacity: 1;
  color: var(--color-em);
}

fieldset label, fieldset input {
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  fieldset label:hover, fieldset input:hover {
    opacity: 1;
  }
}
fieldset.radio-group {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  gap: 0.25rem;
}
fieldset.radio-group input[type=radio] {
  position: absolute;
  inset: 0;
  z-index: 0;
  border: var(--input-border);
  border-color: currentcolor;
}
fieldset.radio-group input[type=radio]:checked {
  background: currentcolor;
}
fieldset.radio-group input[type=radio]:checked + span {
  color: var(--color-background);
}
fieldset.radio-group span {
  display: block;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
fieldset label.radio-wrapper, fieldset input[type=radio] {
  height: 1.875rem;
  width: 1.875rem;
}
fieldset label.radio-wrapper {
  color: var(--color-text);
  background-color: var(--input-background-color);
  border: 0;
  padding: 0.6875rem 0.9375rem 0.5625rem;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  fieldset label.radio-wrapper:hover {
    color: var(--color-em);
  }
}
fieldset.radio-group--view label.radio-wrapper {
  padding: 0;
  border: 0;
  background-color: transparent;
}

textarea {
  min-height: 17.125rem;
}

select {
  width: auto;
  align-self: flex-start;
}

button[type=submit] {
  width: auto;
  align-self: flex-start;
  justify-self: start;
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
  width: auto;
  text-decoration: none;
  position: relative;
  color: currentColor;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.625rem;
  box-sizing: border-box;
  min-height: 2.625rem;
  padding: 0.6875rem 1.25rem;
  border: var(--border);
  border-color: currentcolor;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
@media (min-width: 900px) {
  button[type=submit] {
    font-size: 1.25rem;
  }
}
button[type=submit] span {
  display: block;
  flex: 0 0 auto;
  width: fit-content;
  text-align: center;
}
button[type=submit] svg, button[type=submit] path {
  fill: currentcolor;
}
button[type=submit]:hover, button[type=submit]:focus-visible {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-white);
}
button[type=submit].btn--white {
  background-color: var(--color-white);
  border-color: var(--color-white);
}
button[type=submit].btn--white:hover, button[type=submit].btn--white:focus-visible {
  border-color: var(--color-text);
}
button[type=submit].btn--black {
  background: var(--color-text);
  color: var(--color-white);
}
button[type=submit].btn--black:hover, button[type=submit].btn--black:focus-visible {
  background-color: var(--color-white);
  border-color: var(--color-text);
  color: var(--color-text);
}
button[type=submit].btn--icon .btn__icon {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
button[type=submit].btn--icon .btn__icon:not(:first-child) {
  color: var(--color-coral);
}
button[type=submit].btn--icon .btn__icon svg {
  display: block;
  flex: 0 0 center;
}
button[type=submit].btn--icon--square {
  padding-left: 0;
  padding-right: 0;
  -webkit-aspect-ratio: 1;
  aspect-ratio: 1;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
button[type=submit].btn--tab {
  min-height: 2rem;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-bottom: var(--border);
  border-color: currentcolor;
}
button[type=submit].btn--tab.btn--active {
  color: var(--color-em);
}
button[type=submit].btn--tab:not(.btn--active) {
  color: var(--color-text);
  border-color: var(--color-coral);
}
button[type=submit].btn--tab:hover, button[type=submit].btn--tab:focus-visible {
  background-color: transparent;
  border-color: var(--color-em);
  color: var(--color-em);
}
button[type=submit].btn--disabled, button[type=submit][aria-disabled=true], button[type=submit][disabled] {
  pointer-events: none !important;
  color: var(--color-grey);
  border-color: var(--color-grey);
}
button[type=submit].btn--menu-large {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: center;
  align-items: center;
  padding: 0.5rem;
  gap: 0.5rem;
}
button[type=submit].btn--menu-large .btn__label {
  order: 2;
}
button[type=submit].btn--menu-large .btn__icon {
  order: 1;
  height: 1.25rem;
}
@media (max-width: 599px) {
  button[type=submit].btn--menu-large {
    min-height: 5rem;
    min-width: 6.25rem;
  }
}
@media (min-width: 600px) {
  button[type=submit].btn--menu-large {
    min-height: 6rem;
    min-width: 7.5rem;
  }
}
button[type=submit].btn--cart {
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
button[type=submit].btn--cart span {
  display: block;
}
button[type=submit].btn--round-icon {
  --size: 1.4rem;
  --ratio: 1;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: block;
  position: relative;
  color: var(--color-white);
  background: var(--color-text);
  border: 0;
  border-radius: 50%;
  text-align: center;
  padding: 0;
  min-height: 0;
  overflow: hidden;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
button[type=submit].btn--round-icon .icon {
  width: 100%;
}
button[type=submit].btn--round-icon svg, button[type=submit].btn--round-icon path {
  fill: currentColor;
}
@media (hover: hover) {
  button[type=submit].btn--round-icon:hover, button[type=submit].btn--round-icon:focus-visible {
    background: var(--color-em);
    color: var(--color-black);
  }
}
details:not([open]) button[type=submit] .btn__icon__plus {
  display: block;
}
details:not([open]) button[type=submit] .btn__icon__minus {
  display: none;
}
details[open] button[type=submit] .btn__icon__plus {
  display: none;
}
details[open] button[type=submit] .btn__icon__minus {
  display: block;
}

label.input--checkbox {
  margin: 1.25rem 0;
  display: grid;
  grid-template-columns: max-content 1fr;
}

input[type=checkbox] {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--input-background-color);
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.25rem;
  height: 1.25rem;
  border: var(--input-border);
  border-radius: 50%;
  transform: translateY(0px);
  display: grid;
  place-content: center;
  overflow: hidden;
}
input[type=checkbox]:before {
  content: "";
  display: block;
  inset: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--input-background-color);
}

input[type=checkbox]:checked::before {
  background-color: currentColor;
}

input[type=checkbox]:disabled {
  --form-control-color: var(--form-control-disabled);
  color: var(--form-control-disabled);
  cursor: not-allowed;
}

label.tag input[type=checkbox], label.input--blank input[type=checkbox] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
label.tag input[type=checkbox]::before, label.input--blank input[type=checkbox]::before {
  display: none;
}

label.input--blank:has(input:checked) {
  color: black;
}

select.select-input {
  color: #858585;
}
select.select-input.filter--active, .filter--active select.select-input {
  color: black;
}

.filter--active {
  color: black;
}

.filter--disabled {
  color: #858585;
  opacity: 0.5;
  cursor: auto;
  pointer-events: none;
}

.tag.filter--active, .tag:has(input:checked) {
  background: black;
  color: white;
}

*[data-filter-id].filter--active {
  color: #858585;
}

*[data-id=search] input[value]:not([value=""]) + span.labeltext, *[data-id=search] input:not(:placeholder-shown) + span.labeltext, *[data-id=search] input:active + span.labeltext, *[data-id=search] input:focus + span.labeltext {
  transform-origin: 0% 100%;
  transform: translateY(-100%) scale(0.72);
  color: #858585;
}

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

/* -------------- */
/* --- Layout --- */
html,
body {
  overflow-x: clip;
  width: 100vw;
  max-width: 100%;
  scroll-behavior: smooth;
}

main#page {
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  overflow-x: clip;
  row-gap: 2.1875rem;
  width: 100vw;
  max-width: 100%;
  padding: 4.375rem var(--page-padding-x) 3.125rem;
}
@media (max-width: 1199px) {
  main#page {
    padding-top: var(--page-padding-x);
  }
}
@media (min-width: 1200px) {
  main#page {
    padding-top: 6.875rem;
  }
}
body.page--home main#page {
  row-gap: 8.75rem;
}
@media (min-width: 900px) {
  body.page--programsupcoming main#page > .block--text, body.page--exhibitionsupcoming main#page > .block--text {
    --col-span: 5;
    --col-grid-count: 8;
    --width: calc( ( 100% - ( ( var(--col-grid-count, 12) - 1 ) * var(--col-grid-gutter, 0px) ) ) / var(--col-grid-count, 12) * var(--col-span, 1) + ( ( var(--col-span, 1) - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
    max-width: var(--width, none);
    flex: 0 0 auto;
  }
}
body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
  --col-span: 8;
  --col-grid-count: 8;
  --width: calc( ( 100% - ( ( var(--col-grid-count, 12) - 1 ) * var(--col-grid-gutter, 0px) ) ) / var(--col-grid-count, 12) * var(--col-span, 1) + ( ( var(--col-span, 1) - 1 ) * var(--col-grid-gutter, 0px) ) );
  flex: 0 0 var(--width);
  width: var(--width);
  min-width: var(--width);
  max-width: var(--width, none);
  flex: 0 0 auto;
}
@media (min-width: 1000px) {
  body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
    --col-span: 7;
  }
}
@media (min-width: 1150px) {
  body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
    --col-span: 6;
  }
}
@media (min-width: 1300px) {
  body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
    --col-span: 5;
  }
}
@media (min-width: 1800px) {
  body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
    --col-span: 4;
  }
}
@media (min-width: 2200px) {
  body.page--detailprogram main#page > .block, body.page--exhibition main#page > .block, body.page--vafproject main#page > .block, body.page--event main#page > .block, body.page--detaillibrary main#page > .block, body.page--simple main#page > .block, body.page--record main#page > .block, body.page--libraryrecord main#page > .block {
    --col-span: 3;
  }
}
body.page--detailprogram main#page > .block--table:not(.block--table--details), body.page--publication main#page > .block--table:not(.block--table--details), body.page--exhibition main#page > .block--table:not(.block--table--details), body.page--event main#page > .block--table:not(.block--table--details) {
  width: 100%;
  max-width: 100%;
}
body.page--publication main#page > .column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  align-items: flex-start;
  row-gap: 38px;
}
@media (min-width: 900px) {
  body.page--publication main#page {
    column-gap: var(--col-grid-gutter);
    width: 100%;
    display: grid;
    grid-template-columns: repeat(var(--col-grid-count), minmax(0, 1fr));
    grid-template-rows: minmax(0, max-content);
  }
  body.page--publication main#page > * {
    grid-row: auto/span 1;
  }
  body.page--publication main#page > hr {
    grid-column: 1/-1;
  }
  body.page--publication main#page > .column:nth-child(1) {
    grid-column: auto/span 2;
  }
  body.page--publication main#page > .column:nth-child(2) {
    grid-column: auto/span 4;
  }
  body.page--publication main#page > .column:nth-child(3) {
    grid-column: auto/span 1;
  }
  body.page--publication main#page > .column:nth-child(4) {
    grid-column: 1/-1;
  }
}
@media (min-width: 2340px) {
  body.page--publication main#page > .column:nth-child(2) {
    grid-column: auto/span 3;
  }
}
main#page body.page--simple {
  padding-bottom: 8.75rem;
}

.block-wrapper {
  display: flex;
  flex-flow: column nowrap;
  width: 100vw;
  max-width: 100%;
}

/* --- Atoms --- */
.btn {
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
  width: auto;
  text-decoration: none;
  position: relative;
  color: currentColor;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.625rem;
  box-sizing: border-box;
  min-height: 2.625rem;
  padding: 0.6875rem 1.25rem;
  border: var(--border);
  border-color: currentcolor;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
@media (min-width: 900px) {
  .btn {
    font-size: 1.25rem;
  }
}
.btn span {
  display: block;
  flex: 0 0 auto;
  width: fit-content;
  text-align: center;
}
.btn svg, .btn path {
  fill: currentcolor;
}
.btn:hover, .btn:focus-visible {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-white);
}
.btn.btn--white {
  background-color: var(--color-white);
  border-color: var(--color-white);
}
.btn.btn--white:hover, .btn.btn--white:focus-visible {
  border-color: var(--color-text);
}
.btn.btn--black {
  background: var(--color-text);
  color: var(--color-white);
}
.btn.btn--black:hover, .btn.btn--black:focus-visible {
  background-color: var(--color-white);
  border-color: var(--color-text);
  color: var(--color-text);
}
.btn.btn--icon .btn__icon {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.btn.btn--icon .btn__icon:not(:first-child) {
  color: var(--color-coral);
}
.btn.btn--icon .btn__icon svg {
  display: block;
  flex: 0 0 center;
}
.btn.btn--icon--square {
  padding-left: 0;
  padding-right: 0;
  -webkit-aspect-ratio: 1;
  aspect-ratio: 1;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.btn.btn--tab {
  min-height: 2rem;
  padding: 0.5rem 0.75rem;
  border: 0;
  border-bottom: var(--border);
  border-color: currentcolor;
}
.btn.btn--tab.btn--active {
  color: var(--color-em);
}
.btn.btn--tab:not(.btn--active) {
  color: var(--color-text);
  border-color: var(--color-coral);
}
.btn.btn--tab:hover, .btn.btn--tab:focus-visible {
  background-color: transparent;
  border-color: var(--color-em);
  color: var(--color-em);
}
.btn.btn--disabled, .btn[aria-disabled=true], .btn[disabled] {
  pointer-events: none !important;
  color: var(--color-grey);
  border-color: var(--color-grey);
}
.btn.btn--menu-large {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: center;
  align-items: center;
  padding: 0.5rem;
  gap: 0.5rem;
}
.btn.btn--menu-large .btn__label {
  order: 2;
}
.btn.btn--menu-large .btn__icon {
  order: 1;
  height: 1.25rem;
}
@media (max-width: 599px) {
  .btn.btn--menu-large {
    min-height: 5rem;
    min-width: 6.25rem;
  }
}
@media (min-width: 600px) {
  .btn.btn--menu-large {
    min-height: 6rem;
    min-width: 7.5rem;
  }
}
.btn.btn--cart {
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
}
.btn.btn--cart span {
  display: block;
}
.btn.btn--round-icon {
  --size: 1.4rem;
  --ratio: 1;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  width: var(--size);
  height: var(--size);
  flex: 0 0 var(--size);
  display: block;
  position: relative;
  color: var(--color-white);
  background: var(--color-text);
  border: 0;
  border-radius: 50%;
  text-align: center;
  padding: 0;
  min-height: 0;
  overflow: hidden;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
.btn.btn--round-icon .icon {
  width: 100%;
}
.btn.btn--round-icon svg, .btn.btn--round-icon path {
  fill: currentColor;
}
@media (hover: hover) {
  .btn.btn--round-icon:hover, .btn.btn--round-icon:focus-visible {
    background: var(--color-em);
    color: var(--color-black);
  }
}
details:not([open]) .btn .btn__icon__plus {
  display: block;
}
details:not([open]) .btn .btn__icon__minus {
  display: none;
}
details[open] .btn .btn__icon__plus {
  display: none;
}
details[open] .btn .btn__icon__minus {
  display: block;
}

.btn--invert {
  background: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-background);
  text-align: center;
}
.btn--invert:not([disabled]):hover {
  color: var(--color-coral);
}
.btn--invert[disabled] {
  opacity: 0.3;
  cursor: default;
}
.btn--invert[disabled]:hover {
  opacity: 0.3;
}

.btn--medium {
  padding: 0.5rem 0.625rem 0.5625rem;
  padding-inline: 2rem;
}
@media (min-width: 900px) {
  .btn--medium {
    line-height: 1.2;
    font-size: 1.5625rem;
  }
}
@media (min-width: 900px) and (min-width: 900px) {
  .btn--medium {
    font-size: 1.5625rem;
  }
}

.btn--large {
  padding: 0.5rem 0.625rem 0.5625rem;
  padding-inline: 2rem;
}
@media (min-width: 900px) {
  .btn--large {
    line-height: 1;
    font-size: 2rem;
  }
}
@media (min-width: 900px) and (min-width: 900px) {
  .btn--large {
    font-size: 2rem;
  }
}

.btn-group {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  flex-flow: row wrap;
  justify-content: center;
  align-items: stretch;
  margin-left: 1px;
  margin-top: 1px;
  overflow: visible;
}
.btn-group .btn {
  margin-left: -1px;
  margin-top: -1px;
}
.btn-group > li > .btn {
  height: 100%;
}

details.foldout {
  border: var(--border);
  border-left: 0;
  border-right: 0;
  padding: 0;
  grid-column: 1/-1;
}
details.foldout + details.foldout {
  margin-top: -1px;
}
details.foldout summary {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: flex-start;
  position: relative;
  padding: 0.9375rem 0;
  min-height: 3rem;
  flex: 0 0 auto;
  text-align: left;
  gap: 0;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
details.foldout summary:hover, details.foldout summary:focus-visible {
  background-color: var(--color-coral);
}
details.foldout summary .title {
  max-width: 90%;
  flex: 0 1 90%;
}
details.foldout summary .marker {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  position: absolute;
  inset: 0;
  left: auto;
}
details.foldout summary .marker span,
details.foldout summary .marker .icon,
details.foldout summary .marker svg {
  display: block;
  --size: 2.5rem;
  line-height: var(--size);
  width: var(--size);
  height: var(--size);
  text-align: center;
}
details.foldout .foldout__content {
  margin: 0;
}
details.foldout .foldout__content__inner {
  padding: 0;
  padding-top: 1.25rem;
  padding-bottom: 0.3125rem;
}
details.foldout[open] summary .marker .icon--minus {
  display: block;
}
details.foldout[open] summary .marker .icon--plus {
  display: none;
}
details.foldout:not([open]) summary .marker .icon--minus {
  display: none;
}
details.foldout:not([open]) summary .marker .icon--plus {
  display: block;
}

.splide {
  --transition: var(--transition-duration, 150ms) ease;
  margin-top: 1.125rem;
  margin-left: calc(-1 * var(--space-left, 0px));
  width: calc(100% + var(--space-left, 0px) + var(--space-right, 0px));
}
.splide:not(.is-overflow) .splide__arrows {
  opacity: 0;
}
.splide .splide__arrows {
  display: flex;
  margin-left: auto;
  gap: 0.5rem;
}
.splide .splide__arrow {
  /*
  border: 1px solid transparent;
  background-color: transparent;
  color: var(--color-text);
  display: block;
  padding: 0;
  height: rem(32);
  width: rem(32);
  */
  border-color: transparent;
  border-radius: 0%;
  transform: unset;
  top: auto;
  left: auto;
  right: auto;
  position: relative;
  opacity: 1;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
.splide .splide__arrow svg {
  fill: currentColor;
}
.no-touch .splide .splide__arrow:hover {
  background-color: var(--color-coral);
}
.splide .splide__arrow:disabled {
  opacity: 0.3;
  pointer-events: none;
  color: var(--color-background);
}
.splide .splide__arrow:hover, .splide .splide__arrow:focus-visible {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-background);
}
.splide .splide__pagination {
  bottom: auto;
  left: auto;
  padding: 0;
  right: auto;
  position: relative;
  display: flex;
  gap: 0.1875rem;
  margin-top: 1.25rem;
}
.splide .splide__pagination__page {
  display: block;
  background-color: transparent;
  border: 0;
  background: var(--color-coral);
  padding: 0;
  margin: 0;
  opacity: 1;
  height: 0.125rem;
  width: 0.75rem;
  border-radius: 0;
}
.splide .splide__pagination__page.is-active {
  opacity: 1;
  transform: none;
  background: currentcolor;
}
.splide .slider__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.3125rem;
  padding: 0 var(--page-padding-x, 0px);
}

.banner-marquee {
  line-height: 1;
  font-size: 2rem;
  height: 1.7813em;
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
  background: var(--color-background);
}
@media (min-width: 900px) {
  .banner-marquee {
    font-size: 2rem;
  }
}
.banner-marquee li.marquee__item > *, .banner-marquee li.marquee__item > img, .banner-marquee li.marquee__item > span {
  position: relative;
  transform: translateY(1%);
  display: block;
}
.banner-marquee span {
  height: auto;
}
.banner-marquee.banner--static ul {
  padding-left: var(--col-grid-margin);
  padding-right: var(--col-grid-margin);
  position: relative;
  max-width: 100%;
  justify-content: flex-start;
}
.banner-marquee.banner--static li:not(:first-child) {
  display: none;
}
.banner-marquee.banner--static li.marquee__item {
  padding: 0;
}

.footer-banner {
  margin-bottom: -1px;
  position: sticky;
  bottom: -1px;
}
@media (max-width: 1199px) {
  .footer-banner {
    z-index: 1000;
  }
}

.input-item--select {
  display: block;
  position: relative;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .input-item--select:hover, .input-item--select:has(:hover) {
    color: var(--color-em);
  }
}
.input-item--select label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.input-item--select select {
  height: 1.875rem;
  width: 100%;
  padding: 1px 1.25rem 0 0.375rem;
}
.input-item--select .icon {
  --size-icon: 0.3125rem;
  background: transparent;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  top: 0;
  right: 0;
  width: auto;
  height: 100%;
  text-align: center;
}
.input-item--select .icon:before, .input-item--select .icon:after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: var(--size-icon) solid transparent;
  border-right: var(--size-icon) solid transparent;
}
.input-item--select .icon:before {
  border-bottom: var(--size-icon) solid currentcolor;
  top: calc(50% - var(--size-icon) * 0.75);
}
.input-item--select .icon:after {
  border-top: var(--size-icon) solid currentcolor;
  top: calc(50% + var(--size-icon) * 0.75);
}
.input-item--select .icon .icon__label {
  color: transparent;
}

#backToTop {
  position: fixed;
  bottom: 1.25rem;
  right: 1.25rem;
  padding: 0;
  background-color: transparent;
  color: var(--color-text);
  border: none;
  border-radius: 50%;
  display: none;
  /* Hidden initially */
  z-index: 1000;
  transition: background-color 0.3s;
  width: 2.5rem;
  cursor: url(../assets/cursor/cursor_small_hand.cur) 5 0, pointer;
}
#backToTop:hover {
  color: var(--color-coral);
}
#backToTop > * {
  pointer-events: none;
}

.menusearch__toggle[aria-expanded=false] {
  z-index: 1;
}
.menusearch__toggle[aria-expanded=false] .icon--search {
  display: block;
}
.menusearch__toggle[aria-expanded=false] .icon--close {
  display: none;
}
.icon {
  --ratio: 1;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  height: auto;
}
.icon,
.icon svg {
  display: block;
  width: 100%;
}
.icon svg {
  height: 100%;
  margin: auto;
}
.icon rect,
.icon line {
  stroke-width: 0.9;
}

.icon--search {
  width: 1.875rem;
}
.icon--search svg,
.icon--search path,
.icon--search circle,
.icon--search line {
  stroke: currentColor;
  fill: none;
}
.icon--search circle,
.icon--search line {
  stroke-width: 2.5;
}

.icon--close {
  width: 1.875rem;
}
.icon--close svg,
.icon--close path,
.icon--close circle,
.icon--close line {
  stroke: currentColor;
  fill: currentColor;
  stroke-width: 1.15;
}

.icon--twitter path,
.icon--instagram path,
.icon--facebook path {
  fill: var(--color-background);
}

.icon--view svg {
  transform: scale(1.4);
}
.icon--view rect,
.icon--view line {
  stroke: currentColor;
  fill: transparent;
  stroke-width: 1.25;
}
.icon--view path {
  fill: currentColor;
  stroke-width: 0;
}
.icon--arrow polygon {
  stroke: currentColor;
  fill: var(--color-background);
}

.icon--sort {
  display: block;
  position: relative;
  white-space: nowrap;
  --size: 1.125rem;
  width: var(--size);
  flex: 0 0 var(--size);
  color: transparent;
  text-align: center;
  clip-path: inset(50% 0px 0px 0px);
  transform: translateY(-25%) rotate(0);
  transform-origin: center;
}
.icon--sort:before, .icon--sort:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: center;
  border: 1px solid var(--color-text);
}
.icon--sort:before {
  content: "";
  background: var(--color-text);
  background: transparent;
  width: calc(var(--size) * 0.66);
  height: calc(var(--size) * 0.66);
  transform: translate(-50%, -50%) rotate(-45deg);
  border-width: 1.5px;
}
.icon--sort:after {
  content: "";
  width: 80%;
  height: auto;
  transform: translate(-50%, -50%) rotate(0);
  border-width: 1.5px;
}
.icon--sort.icon--sort--asc {
  transform: translateY(19%) rotate(180deg);
}
.icon--sort.icon--sort--desc {
  transform: translateY(-25%) rotate(0deg);
}

/* --- Blocks --- */
.block {
  --color-bg: transparent;
  background-color: var(--color-bg);
  display: block;
  position: relative;
  box-sizing: border-box;
  width: 100vw;
  max-width: 100%;
  padding: 0;
  margin: 0;
  grid-column: 1/-1;
}
.block:last-child {
  margin-bottom: 0;
}
.block:first-child {
  margin-top: 0;
}
.block .block__title,
.block .block__column,
.block .block__content {
  grid-column: 1/-1;
}
.block img,
.block video {
  display: block;
  padding: 0;
  margin: 0;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  -webkit-aspect-ratio: var(--ratio-intrinsic, auto);
  aspect-ratio: var(--ratio-intrinsic, auto);
}
html.show-guides .block {
  outline: 2px solid var(--color-debug);
  outline-offset: -2px;
}

.blocks {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
}

.block--newsletter ._form-content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  gap: 1.25rem;
}
.block--newsletter ._form-branding {
  display: none;
}
.block--newsletter button[type=submit] {
  margin-top: 0.625rem;
}

.block--teaser {
  --marginTop: 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: flex-start;
  align-items: stretch;
  align-self: start;
}
.block--teaser .block__name .name__full {
  display: block;
}
.block--teaser .block__name .name__brief {
  display: none;
}
.block--teaser .block__img,
.block--teaser img {
  --ratio: 4/3;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  width: 100%;
  height: auto;
}
.block--teaser .block__img.no-image {
  --ratio: 1 !important;
  background: var(--color-grey-light);
}
.block--teaser .block__img:not(.no-image), .block--teaser .block__img.has-image {
  --ratio: auto;
  min-height: 0px;
}
.block--teaser img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
body.page--home .block--teaser .block__img,
body.page--home .block--teaser img {
  --ratio: var(--ratio-intrinsic, auto);
}
body.page--home .block--teaser img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.block--teaser .block__link:not([disabled]):hover {
  color: var(--color-coral);
}
.block--teaser .block__link[disabled] {
  opacity: 0.3;
  cursor: default;
}
.block--teaser .block__link[disabled]:hover {
  opacity: 0.3;
}
.block--teaser-gallery .block--teaser {
  line-height: 1.25;
  font-size: 1rem;
  grid-column: auto/span 1;
  justify-self: stretch;
  align-self: stretch;
  height: 100%;
  justify-content: flex-end;
}
@media (min-width: 900px) {
  .block--teaser-gallery .block--teaser {
    font-size: 1rem;
  }
}
.block--teaser-gallery .block--teaser .block__link {
  pointer-events: none;
}
.block--teaser-gallery .block--teaser .block__link:hover, .block--teaser-gallery .block--teaser .block__link:has(:hover), .block--teaser-gallery .block--teaser .block__link:focus, .block--teaser-gallery .block--teaser .block__link:focus-visible, .block--teaser-gallery .block--teaser .block__link:focus-within {
  outline: 0;
  color: var(--color-em);
}
.block--teaser-gallery .block--teaser .block__text {
  min-height: var(--height-text, 0px);
}
.block--teaser-gallery .block--teaser .block__img {
  pointer-events: auto;
}
.block--teaser-gallery .block--teaser .block__title {
  min-height: 0px;
  pointer-events: auto;
}
.block--teaser-gallery .block--teaser .block__title:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  top: -0.625rem;
  bottom: 100%;
}
.block--teaser-grid .block--teaser {
  grid-column: 1/-1;
  grid-row: auto/span 1;
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser {
    line-height: 1;
    font-size: 2rem;
    margin-top: calc(var(--marginTop, 0) * 0.8vw);
  }
}
@media (min-width: 900px) and (min-width: 900px) {
  .block--teaser-grid .block--teaser {
    font-size: 2rem;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser.block--teaser--size-ll, .block--teaser-grid .block--teaser.block--teaser--size-ls {
    grid-column: auto/span 4;
    grid-row: auto/span 2;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser.block--teaser--size-ls {
    column-gap: var(--col-grid-gutter);
    width: 100%;
    display: grid;
    grid-template-columns: repeat(var(--col-grid-count), minmax(0, 1fr));
    --col-grid-count: 4;
    align-items: start;
  }
  .block--teaser-grid .block--teaser.block--teaser--size-ls > * {
    grid-row: auto/span 1;
  }
  .block--teaser-grid .block--teaser.block--teaser--size-ls > hr {
    grid-column: 1/-1;
  }
  .block--teaser-grid .block--teaser.block--teaser--size-ls .block__content {
    grid-column: 2/span 2;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser.block--teaser--size-ss {
    grid-column: auto/span 2;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser.block--teaser--card {
    grid-row: auto/span 2;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid .block--teaser.block--teaser--button {
    grid-row: auto/span 1;
  }
}
.block--teaser.block--teaser--card .block__content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0.625rem;
}
.block--teaser.block--teaser--button .block__content {
  background: var(--color-text);
  color: var(--color-background);
  text-align: center;
  padding: 0.5rem 0.625rem 0.5625rem;
}
.block--teaser.block--teaser--button .block__content .block__title {
  display: block;
  margin-top: -0.02em;
  margin-bottom: -0.1em;
}
.block--table[data-tableview=list] .block--teaser .block__link:not([disabled]):hover, .block--table[data-tableview=list] .block--teaser .block__link:not([disabled]):focus-visible {
  background: var(--color-coral);
  color: var(--color-text);
  opacity: 1;
}
.block--table[data-tableview=list] .block--teaser .block__name .name__full {
  display: block;
}
.block--table[data-tableview=list] .block--teaser .block__name .name__brief {
  display: none;
}
.block--table[data-tableview=grid] .block--teaser .block__name .name__full {
  display: none;
}
.block--table[data-tableview=grid] .block--teaser .block__name .name__brief {
  display: block;
}
.block--table[data-tableview=grid] .block--teaser[data-category=Publication] .block__date {
  display: none;
}
.block--table[data-tableview=grid] .block--teaser[data-category=Project] .block__category {
  display: none;
}
.block--table[data-tableview=grid] .block--teaser[data-category=Project] .block__funded {
  display: none;
}
.block--table[data-tableview=grid] .block--teaser[data-category=Project] .block__amount {
  display: none;
}

.block--table--library[data-tableview=grid] .block--teaser--hovertitle,
.block--teaser-gallery .block--teaser--hovertitle {
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle .block__text,
.block--teaser-gallery .block--teaser--hovertitle .block__text {
    --height-text: auto;
    --width: 0px;
    display: block;
    background-color: transparent;
    line-height: 1.25;
    font-size: 1rem;
    min-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    pointer-events: none;
    max-width: var(--width);
    width: var(--width);
    min-width: var(--width);
    opacity: 0;
    height: 0;
    overflow: hidden;
    overflow: clip;
  }
}
@media (hover: hover) and (min-width: 900px) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle .block__text,
.block--teaser-gallery .block--teaser--hovertitle .block__text {
    font-size: 1rem;
  }
}
@media (hover: hover) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle .block__text > *:not(.block__title),
.block--teaser-gallery .block--teaser--hovertitle .block__text > *:not(.block__title) {
    display: none;
  }
}
@media (hover: hover) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle .block__text .block__title,
.block--teaser-gallery .block--teaser--hovertitle .block__text .block__title {
    padding: 0.125rem 0.25rem 1px;
    display: inline-block;
    background-color: var(--color-background);
    color: var(--color-black);
    width: auto;
  }
}
@media (hover: hover) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle .block__link,
.block--teaser-gallery .block--teaser--hovertitle .block__link {
    position: relative;
  }
}
@media (hover: hover) {
  .block--table--library[data-tableview=grid] .block--teaser--hovertitle:hover .block__text,
.block--teaser-gallery .block--teaser--hovertitle:hover .block__text {
    --width: calc(50vw - 1.25rem);
    height: auto;
    display: block;
    overflow: visible;
    opacity: 1;
    transform: translate(calc(-50% + var(--cursor-x, 0)), calc(-50% + var(--cursor-y, 0)));
    margin: 0.375rem;
  }
  html.cursor-left .block--table--library[data-tableview=grid] .block--teaser--hovertitle:hover .block__text,
html.cursor-left .block--teaser-gallery .block--teaser--hovertitle:hover .block__text {
    transform: translate(calc(0% + var(--cursor-x, 0) + 50px), calc(0% + var(--cursor-y, 0)));
    text-align: left;
  }
  html.cursor-right .block--table--library[data-tableview=grid] .block--teaser--hovertitle:hover .block__text,
html.cursor-right .block--teaser-gallery .block--teaser--hovertitle:hover .block__text {
    transform: translate(calc(-100% + var(--cursor-x, 0) - 15px), calc(0% + var(--cursor-y, 0)));
    text-align: right;
  }
}

.block--title,
.block--headline {
  line-height: 1;
  font-size: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0;
}
@media (min-width: 900px) {
  .block--title,
.block--headline {
    font-size: 2rem;
  }
}
.block--title span,
.block--headline span {
  display: block;
}
.block--title span:nth-child(2),
.block--headline span:nth-child(2) {
  font-style: italic;
}
body.page--newsentry .block--title span:nth-child(2),
body.page--newsentry .block--headline span:nth-child(2) {
  font-style: normal;
}

.block--headline {
  margin-top: 2.5rem;
  margin-bottom: -0.5rem;
}
.block--headline:first-child {
  margin-top: 0;
}

.block--table {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 2.1875rem;
}
.block--table .block__header {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  gap: 0.5rem;
}
.block--table .block__header:before {
  content: "";
  display: block;
  position: absolute;
  top: 0.25rem;
  height: 1.25rem;
  background-color: var(--color-debug);
  left: 0;
  width: 100%;
  z-index: 0;
  display: none;
}
.block--table .block__header .block__title {
  line-height: 1.2;
  font-size: 1.5625rem;
}
@media (min-width: 900px) {
  .block--table .block__header .block__title {
    font-size: 1.5625rem;
  }
}
.block--table .block__header .block__controls {
  --width: calc( ( 100% - ( ( var(--col-grid-count, 12) - 1 ) * var(--col-grid-gutter, 0px) ) ) / var(--col-grid-count, 12) * 2 + ( ( 2 - 1 ) * var(--col-grid-gutter, 0px) ) );
  flex: 0 0 var(--width);
  width: var(--width);
  min-width: var(--width);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: stretch;
  justify-self: flex-end;
  margin-left: auto;
  gap: 0.25rem;
}
.block--table .block__header .block__controls > .select-category {
  flex: 1 1 auto;
}
.block--table .block__header .block__controls > .set-view {
  justify-self: flex-end;
  margin-left: auto;
}
@media (min-width: 900px) {
  .block--table .block__header {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    flex-flow: row nowrap;
    justify-content: space-between;
  }
  .block--table .block__header .block__controls {
    --width: calc( ( 100% - ( ( var(--col-grid-count, 12) - 1 ) * var(--col-grid-gutter, 0px) ) ) / var(--col-grid-count, 12) * 4 + ( ( 4 - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
  }
}
@media (min-width: 1200px) {
  .block--table .block__header .block__controls {
    --width: calc( ( 100% - ( ( var(--col-grid-count, 12) - 1 ) * var(--col-grid-gutter, 0px) ) ) / var(--col-grid-count, 12) * 2 + ( ( 2 - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
  }
}
body.page--detaillibrary .block--table table, .block--table.block--table--programspublications table {
  table-layout: auto;
}
body.page--detaillibrary .block--table td, .block--table.block--table--programspublications td {
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
}
@media (min-width: 900px) {
  body.page--detaillibrary .block--table td, .block--table.block--table--programspublications td {
    font-size: 1.25rem;
  }
}
.block--table .block__content--grid .block__content__inner {
  column-gap: var(--col-grid-gutter);
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--col-grid-count), minmax(0, 1fr));
  row-gap: 3.125rem;
}
.block--table .block__content--grid .block__content__inner > * {
  grid-row: auto/span 1;
}
.block--table .block__content--grid .block__content__inner > hr {
  grid-column: 1/-1;
}
.block--table .block__content--grid .block__content__inner > * {
  grid-column: auto/span 2;
}
.block--table .block__content--grid .block__category {
  display: none;
}
.block--table .block__content--grid .block__content__head {
  display: none;
}
.block--table .block__content--list {
  width: 100%;
}
.block--table .block__content--list .block__content__head {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: stretch;
  column-gap: 0.625rem;
}
.block--table .block__content--list .block__content__head .block__col-head {
  flex: 1 1 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: flex-start;
}
.block--table .block__content--list .block__content__head .block__col-head > span,
.block--table .block__content--list .block__content__head .block__col-head .btn--tablesort {
  flex: 1 1 100%;
  border-bottom: 1px solid var(--color-text);
  padding: 0.25rem 0;
  text-align: left;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.block--table .block__content--list .block__content__head .block__col-head .btn--tablesort:not(.mixitup-control-active) + .btn--tablesort {
  display: none;
}
.block--table .block__content--list .block__content__head .block__col-head .btn--tablesort.mixitup-control-active {
  display: none;
}
.block--table .block__content--list .block__content__head .block__col-head:has(.mixitup-control-active) .icon--sort:before {
  background: var(--color-text);
}
.block--table .block__content--list .block--teaser {
  line-height: 1.25;
  font-size: 1rem;
  margin-top: -1px;
  width: 100%;
  max-width: 100%;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (min-width: 900px) {
  .block--table .block__content--list .block--teaser {
    font-size: 1rem;
  }
}
.block--table .block__content--list .block--teaser .block__img {
  display: none;
}
.block--table .block__content--list .block--teaser .block__text {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-content: stretch;
  align-items: stretch;
  column-gap: 0.625rem;
}
.block--table .block__content--list .block--teaser .block__text > * {
  flex: 1 1 100%;
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding: 0.25rem 0;
  text-align: left;
}
.block--table .block__content--list .block--teaser .block__text > .block__title {
  order: 3;
}
.block--table .block__content--list .block--teaser .block__text > .block__name {
  order: 2;
}
.block--table .block__content--list .block--teaser .block__text > .block__date {
  order: 1;
}
.block--table .block__content--list .block--teaser .block__text > .block__category {
  order: 4;
}
@media (hover: hover) {
  .block--table .block__content--list .block--teaser:hover {
    z-index: 888;
    opacity: 1;
  }
  .block--table .block__content--list .block--teaser:hover .block__link[disabled] .block__img {
    display: none !important;
  }
  .block--table .block__content--list .block--teaser:hover .block__img {
    --img-size: 300px;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 888;
    transform: translate(calc(-50% + var(--cursor-x, 0)), calc(-50% + var(--cursor-y, 0)));
    pointer-events: none;
    background: transparent;
  }
  .block--table .block__content--list .block--teaser:hover .block__img,
.block--table .block__content--list .block--teaser:hover .block__img img {
    width: var(--img-size);
    height: var(--img-size);
    object-fit: contain;
    object-position: center;
  }
  .block--table .block__content--list .block--teaser:hover .block__img img {
    padding: 1.5625rem;
  }
  html.cursor-top.cursor-left .block--table .block__content--list .block--teaser:hover .block__img img {
    object-position: top left;
    transform: translate(50%, 50%);
  }
  html.cursor-top.cursor-right .block--table .block__content--list .block--teaser:hover .block__img img {
    object-position: top right;
    transform: translate(-50%, 50%);
  }
  html.cursor-bottom.cursor-left .block--table .block__content--list .block--teaser:hover .block__img img {
    object-position: bottom left;
    transform: translate(50%, -50%);
  }
  html.cursor-bottom.cursor-right .block--table .block__content--list .block--teaser:hover .block__img img {
    object-position: bottom right;
    transform: translate(-50%, -50%);
  }
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__title {
  order: 1;
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__name {
  order: 2;
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__funded {
  order: 3;
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__amount {
  order: 4;
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__date {
  display: none;
}
body.page--projects .block--table .block__content--list .block--teaser .block__text > .block__category {
  display: none;
}
body.page--library .block--table .block__content--list .block--teaser .block__text > .block__title {
  order: 1;
}
body.page--library .block--table .block__content--list .block--teaser .block__text > .block__name {
  order: 2;
}
body.page--library .block--table .block__content--list .block--teaser .block__text > .block__publisher {
  order: 3;
}
body.page--library .block--table .block__content--list .block--teaser .block__text > .block__category {
  order: 4;
}
body.page--library .block--table .block__content--list .block--teaser .block__text > .block__date {
  display: none;
}
body.page--news .block--table .block__content--list .block--teaser .block__text > .block__date {
  order: 1;
}
body.page--news .block--table .block__content--list .block--teaser .block__text > .block__title {
  order: 2;
}
body.page--news .block--table .block__content--list .block--teaser .block__text > .block__name {
  display: none;
}
body.page--news .block--table .block__content--list .block--teaser .block__text > .block__publisher {
  display: none;
}
body.page--news .block--table .block__content--list .block--teaser .block__text > .block__category {
  display: none;
}
@media (max-width: 899px) {
  .block--table .block__content--list {
    overflow-x: auto;
    padding-bottom: 1.25rem;
  }
  .block--table .block__content--list > * {
    width: 150%;
  }
}
@media (max-width: 599px) {
  .block--table .block__content--list > * {
    width: 200%;
  }
}
.block--table .mix.year {
  padding-top: 1.25rem;
  padding-bottom: 0.625rem;
}
.block--table .block__pagination {
  line-height: 1.2;
  font-size: 1.5625rem;
  margin: 1.875rem auto 1.875rem;
}
@media (min-width: 900px) {
  .block--table .block__pagination {
    font-size: 1.5625rem;
  }
}
.block--table .block__pagination .page_item,
.block--table .block__pagination span,
.block--table .block__pagination .pag__num,
.block--table .block__pagination .pag__arrow {
  display: block;
  flex: 0 0 auto;
}
.block--table .block__pagination,
.block--table .block__pagination .pag__list,
.block--table .block__pagination .pag__num,
.block--table .block__pagination .pag__arrow {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.block--table .block__pagination .pag__list {
  flex-flow: row wrap;
}
.block--table .block__pagination .pag__arrow[disabled] {
  color: var(--color-grey);
  opacity: 0.5;
  pointer-events: none;
}
.block--table .block__pagination .pag__num,
.block--table .block__pagination .pag__arrow {
  white-space: nowrap;
  min-width: 2.5rem;
  min-height: 2.5rem;
}
.block--table .block__pagination .pag__num:hover, .block--table .block__pagination .pag__num:focus-visible,
.block--table .block__pagination .pag__arrow:hover,
.block--table .block__pagination .pag__arrow:focus-visible {
  color: var(--color-em);
}
.block--table .block__pagination .pag__num {
  padding: 0 0.5em;
}
.block--table .block__pagination .pag__list {
  padding: 0 0.2em;
}
.block--table .block__pagination .pag__num--current {
  color: var(--color-coral);
}
.block--table .block__pagination .pagination-counter {
  line-height: 1.25;
  font-size: 1rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  justify-self: flex-start;
  justify-content: flex-start;
}
@media (min-width: 900px) {
  .block--table .block__pagination .pagination-counter {
    font-size: 1rem;
  }
}
.block--table .block__pagination .pagination-counter span + span:before {
  content: "/";
  display: inline;
  margin: 0 0.2em;
}
.block--table .block__pagination .icon {
  height: 1em;
}
.block--table .block__pagination .icon svg {
  stroke: currentColor;
  stroke-width: 0.125rem;
  fill: none;
}
.block--table[data-tableview=index] .block__content__head,
.block--table[data-tableview=index] .block__content__inner {
  display: none;
}
.block--table[data-tableview=index] .title__content--default {
  display: none;
}
.block--table[data-tableview=index] .title__content--index {
  display: block;
}
.block--table[data-tableview=index] .input-item.input-item--select.select-category {
  display: none;
}
.block--table[data-tableview=index] .block__pagination {
  display: none;
}
.block--table:not([data-tableview=index]) .title__content--default {
  display: block;
}
.block--table:not([data-tableview=index]) .title__content--index {
  display: none;
}
.block--table .btn.btn--loadmore {
  display: flex;
  margin: auto;
  justify-self: center;
}
.block--table .btn.btn--loadmore.hidden {
  display: none;
  pointer-events: none;
}
.block--table .btn.btn--loadmore--loaded {
  pointer-events: none;
  opacity: 0.5;
}

.block--table--relatedprograms,
.block--table--relatedlibraryrecords {
  row-gap: 1.25rem;
  margin-top: 1.25rem;
}
.block--table--relatedprograms .block__header,
.block--table--relatedlibraryrecords .block__header {
  padding-bottom: 1.25rem;
  border-bottom: 0.125rem solid var(--color-text);
}
body.page--search .block__content--grid .block--table--relatedprograms .block__header,
body.page--search .block__content--grid .block--table--relatedlibraryrecords .block__header {
  display: none;
}

.block--table--relatedlibraryrecords .block__content--list .block--teaser .block__text > .block__title {
  order: 1;
}
.block--table--relatedlibraryrecords .block__content--list .block--teaser .block__text > .block__name {
  order: 2;
}
.block--table--relatedlibraryrecords .block__content--list .block--teaser .block__text > .block__publisher {
  order: 3;
}
.block--table--relatedlibraryrecords .block__content--list .block--teaser .block__text > .block__category {
  order: 4;
}
.block--table--relatedlibraryrecords .block__content--list .block--teaser .block__text > .block__date {
  display: none;
}

.block--table--details {
  --colCount: 2;
  --colSpanLabel: 1;
}
.block--table--details tr,
.block--table--details .row {
  display: grid;
  grid-template-columns: repeat(var(--colCount), minmax(0, 1fr));
  column-gap: var(--col-grid-gutter);
}
.block--table--details .cell--label {
  grid-column: 1/span var(--colSpanLabel);
}
.block--table--details .cell--text {
  max-width: 80ch;
  grid-column: calc(var(--colSpanLabel) + 1)/-1;
}
.block--table--details .cell--text hr {
  border: 0;
  background: none;
  height: 1.25rem;
  width: 100%;
  display: block;
  margin: 0;
}
.block--table--details .cell--text p:first-child, .block--table--details .cell--text li:first-child, .block--table--details .cell--text ul:first-child, .block--table--details .cell--text ol:first-child {
  margin-top: 0;
}
.block--table--details .cell--text p:last-child, .block--table--details .cell--text li:last-child, .block--table--details .cell--text ul:last-child, .block--table--details .cell--text ol:last-child {
  margin-top: 0;
}
.block--table--details .cell--text p:not(:first-child), .block--table--details .cell--text li:not(:first-child), .block--table--details .cell--text ul:not(:first-child), .block--table--details .cell--text ol:not(:first-child) {
  margin-top: 1em;
}
.block--table--details .cell--text p:not(:last-child), .block--table--details .cell--text li:not(:last-child), .block--table--details .cell--text ul:not(:last-child), .block--table--details .cell--text ol:not(:last-child) {
  margin-bottom: 1em;
}
.block--table--details .cell--text p a:not(.btn), .block--table--details .cell--text a:not(.btn) {
  display: inline;
  text-decoration: underline;
  -webkit-text-decoration-thickness: 0.1em;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.1em;
  text-decoration-skip-ink: auto;
}
.block--table--details .cell--text p a:not(.btn):hover, .block--table--details .cell--text p a:not(.btn):focus-visible, .block--table--details .cell--text a:not(.btn):hover, .block--table--details .cell--text a:not(.btn):focus-visible {
  color: var(--color-coral, inherit);
}
.block--table--details .cell--text p a.btn, .block--table--details .cell--text a.btn {
  text-decoration: none;
}
.block--table--details .cell--text button {
  text-decoration: none;
}
.block--table--details .cell--text h3, .block--table--details .cell--text h4, .block--table--details .cell--text h5, .block--table--details .cell--text h6 {
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem;
}
.block--table--details .cell--text h2:first-child, .block--table--details .cell--text h3:first-child, .block--table--details .cell--text h4:first-child, .block--table--details .cell--text h5:first-child, .block--table--details .cell--text h6:first-child {
  margin-top: 0;
}
.block--table--details .cell--text em, .block--table--details .cell--text i {
  font-style: italic;
}
.block--table--details .cell--text b, .block--table--details .cell--text strong {
  text-transform: uppercase;
}
.block--table--details .cell--text ul, .block--table--details .cell--text ol {
  padding: 0;
  list-style-type: none;
  list-style: none;
  margin-left: 0.1875rem;
}
.block--table--details .cell--text li {
  display: block;
  position: relative;
  padding-left: 3ch;
}
.block--table--details .cell--text li:before {
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  width: auto;
  white-space: nowrap;
  font-family: inherit;
}
.block--table--details .cell--text li + li {
  margin-top: 0;
}
.block--table--details .cell--text ol {
  counter-reset: counter-ol;
}
.block--table--details .cell--text ol li {
  counter-increment: counter-ol;
}
.block--table--details .cell--text ol li:before {
  content: counter(counter-ol) ".";
  right: calc(100% - 1.5ch);
}
.block--table--details .cell--text ul li:before {
  --size: 1.2ch;
  content: "";
  width: var(--size);
  height: var(--size);
  background-color: currentColor;
  border-radius: 50%;
  top: 0.15em;
  right: calc(100% - var(--size));
}
@media (min-width: 600px) {
  .block--table--details {
    --colCount: 3;
  }
}
@media (min-width: 600px) {
  .block--table--details {
    --colCount: 8;
    --colSpanLabel: 2;
  }
}
@media (min-width: 1150px) {
  .block--table--details {
    --colCount: 7;
    --colSpanLabel: 2;
  }
}
@media (min-width: 1310px) {
  .block--table--details {
    --colCount: 6;
    --colSpanLabel: 2;
  }
}
@media (min-width: 1520px) {
  .block--table--details {
    --colCount: 5;
    --colSpanLabel: 1;
  }
}
@media (min-width: 1820px) {
  .block--table--details {
    --colCount: 4;
    --colSpanLabel: 1;
  }
}
@media (min-width: 2270px) {
  .block--table--details {
    --colCount: 3;
    --colSpanLabel: 1;
  }
}

.block--table--programs td {
  line-height: 1.25;
  font-size: 1rem;
}
@media (min-width: 900px) {
  .block--table--programs td {
    font-size: 1rem;
  }
}
.block--table--programs.block--table--exhibitionscurrent > .block__header, .block--table--programs.block--table--exhibitionsupcoming > .block__header, .block--table--programs.block--table--programscurrent > .block__header, .block--table--programs.block--table--programsupcoming > .block__header {
  display: none;
}
@media (max-width: 1199px) {
  .block--table--programs.block--table--exhibitionscurrent .block__content--grid .block__content__inner > *, .block--table--programs.block--table--exhibitionsupcoming .block__content--grid .block__content__inner > *, .block--table--programs.block--table--programscurrent .block__content--grid .block__content__inner > *, .block--table--programs.block--table--programsupcoming .block__content--grid .block__content__inner > * {
    grid-column: 1/-1;
    grid-row: auto/span 1;
  }
}
@media (min-width: 900px) {
  .block--table--programs.block--table--exhibitionscurrent .block__content--grid .block__content__inner > *, .block--table--programs.block--table--exhibitionsupcoming .block__content--grid .block__content__inner > *, .block--table--programs.block--table--programscurrent .block__content--grid .block__content__inner > *, .block--table--programs.block--table--programsupcoming .block__content--grid .block__content__inner > * {
    grid-column: auto/span 4;
    grid-row: auto/span 2;
  }
}
.block--table--programs.block--table--exhibitionscurrent .block__content--grid .block--teaser, .block--table--programs.block--table--exhibitionsupcoming .block__content--grid .block--teaser, .block--table--programs.block--table--programscurrent .block__content--grid .block--teaser, .block--table--programs.block--table--programsupcoming .block__content--grid .block--teaser {
  line-height: 1;
  font-size: 2rem;
}
@media (min-width: 900px) {
  .block--table--programs.block--table--exhibitionscurrent .block__content--grid .block--teaser, .block--table--programs.block--table--exhibitionsupcoming .block__content--grid .block--teaser, .block--table--programs.block--table--programscurrent .block__content--grid .block--teaser, .block--table--programs.block--table--programsupcoming .block__content--grid .block--teaser {
    font-size: 2rem;
  }
}
.block--table--programs.block--table--programspublications .block__controls .select-category, .block--table--programs.block--table--exhibitionsarchive .block__controls .select-category {
  visibility: hidden;
}
.block--table--programs[data-tableview=grid] .block__content__inner > .mix.year {
  display: none;
}

.block--table--programs > .block__header > .block__title,
.block--table--news > .block__header > .block__title {
  line-height: 1;
  font-size: 2rem;
}
@media (min-width: 900px) {
  .block--table--programs > .block__header > .block__title,
.block--table--news > .block__header > .block__title {
    font-size: 2rem;
  }
}

.block--table--programspublications .block__content--grid .mix,
.block--table--programsarchive .block__content--grid .mix,
.block--table--programsarchitecture .block__content--grid .mix,
.block--table--library .block__content--grid .mix,
.block--table--search .block__content--grid .mix,
.block--table--projects .block__content--grid .mix,
.block--table--exhibitionsarchive .block__content--grid .mix,
.block--table--relatedprograms .block__content--grid .mix {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: flex-end;
}
.block--table--programspublications .block__content--grid .block--teaser,
.block--table--programsarchive .block__content--grid .block--teaser,
.block--table--programsarchitecture .block__content--grid .block--teaser,
.block--table--library .block__content--grid .block--teaser,
.block--table--search .block__content--grid .block--teaser,
.block--table--projects .block__content--grid .block--teaser,
.block--table--exhibitionsarchive .block__content--grid .block--teaser,
.block--table--relatedprograms .block__content--grid .block--teaser {
  --height-img: auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  height: 100%;
  justify-content: flex-end;
  min-height: var(--height-img, 0);
}
.block--table--programspublications .block__content--grid .block--teaser .block__content,
.block--table--programsarchive .block__content--grid .block--teaser .block__content,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__content,
.block--table--library .block__content--grid .block--teaser .block__content,
.block--table--search .block__content--grid .block--teaser .block__content,
.block--table--projects .block__content--grid .block--teaser .block__content,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__content,
.block--table--relatedprograms .block__content--grid .block--teaser .block__content {
  justify-content: flex-end;
  align-items: flex-start;
}
.block--table--programspublications .block__content--grid .block--teaser .block__img,
.block--table--programsarchive .block__content--grid .block--teaser .block__img,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__img,
.block--table--library .block__content--grid .block--teaser .block__img,
.block--table--search .block__content--grid .block--teaser .block__img,
.block--table--projects .block__content--grid .block--teaser .block__img,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__img,
.block--table--relatedprograms .block__content--grid .block--teaser .block__img {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: flex-start;
}
.block--table--programspublications .block__content--grid .block--teaser .block__img.has-image,
.block--table--programsarchive .block__content--grid .block--teaser .block__img.has-image,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__img.has-image,
.block--table--library .block__content--grid .block--teaser .block__img.has-image,
.block--table--search .block__content--grid .block--teaser .block__img.has-image,
.block--table--projects .block__content--grid .block--teaser .block__img.has-image,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__img.has-image,
.block--table--relatedprograms .block__content--grid .block--teaser .block__img.has-image {
  --ratio: auto;
}
.block--table--programspublications .block__content--grid .block--teaser .block__img.no-image,
.block--table--programsarchive .block__content--grid .block--teaser .block__img.no-image,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__img.no-image,
.block--table--library .block__content--grid .block--teaser .block__img.no-image,
.block--table--search .block__content--grid .block--teaser .block__img.no-image,
.block--table--projects .block__content--grid .block--teaser .block__img.no-image,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__img.no-image,
.block--table--relatedprograms .block__content--grid .block--teaser .block__img.no-image {
  --ratio: 1;
  min-height: 0;
}
.block--table--programspublications .block__content--grid .block--teaser .block__img img,
.block--table--programsarchive .block__content--grid .block--teaser .block__img img,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__img img,
.block--table--library .block__content--grid .block--teaser .block__img img,
.block--table--search .block__content--grid .block--teaser .block__img img,
.block--table--projects .block__content--grid .block--teaser .block__img img,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__img img,
.block--table--relatedprograms .block__content--grid .block--teaser .block__img img {
  --ratio: var(--ratio-intrinsic, auto);
  object-fit: fill;
  object-position: bottom left;
  background-color: var(--color-grey-light);
  height: auto;
  max-height: 100%;
  width: 100%;
  max-width: 100%;
}
.block--table--programspublications .block__content--grid .block--teaser .block__text,
.block--table--programsarchive .block__content--grid .block--teaser .block__text,
.block--table--programsarchitecture .block__content--grid .block--teaser .block__text,
.block--table--library .block__content--grid .block--teaser .block__text,
.block--table--search .block__content--grid .block--teaser .block__text,
.block--table--projects .block__content--grid .block--teaser .block__text,
.block--table--exhibitionsarchive .block__content--grid .block--teaser .block__text,
.block--table--relatedprograms .block__content--grid .block--teaser .block__text {
  min-height: var(--height-text, 0px);
}
.block--table--programspublications .block__content--grid .block--teaser .block__date,
.block--table--library .block__content--grid .block--teaser .block__date {
  display: none;
}

.block--table--programspublications .block__content--grid .block__content__inner > *,
.block--table--library .block__content--grid .block__content__inner > * {
  grid-column: auto/span 1;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
}
.block--table--programspublications .block__content--grid .block--teaser,
.block--table--library .block__content--grid .block--teaser {
  line-height: 1.25;
  font-size: 1rem;
}
@media (min-width: 900px) {
  .block--table--programspublications .block__content--grid .block--teaser,
.block--table--library .block__content--grid .block--teaser {
    font-size: 1rem;
  }
}

.block--table--search {
  row-gap: 3.125rem;
}
.block--table--search > .block__content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 3.125rem;
}
.block--table--search > .block__header .block__title-wrapper {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0.9375rem;
}
.block--table--search > .block__header .block__categories ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  column-gap: 2.5rem;
}
.block--table--search .block__content--grid .block__content__inner > * {
  grid-column: auto/span 2;
}
.block--table--search .block__content--grid .block__content__inner > *[data-type=publication], .block--table--search .block__content--grid .block__content__inner > *[data-type=record], .block--table--search .block__content--grid .block__content__inner > *[data-type=libraryrecord] {
  grid-column: auto/span 1;
}
.block--table--search .block__content--grid .block__content__inner > *[data-type=publication] .block__img, .block--table--search .block__content--grid .block__content__inner > *[data-type=record] .block__img, .block--table--search .block__content--grid .block__content__inner > *[data-type=libraryrecord] .block__img {
  --ratio: auto;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-end;
  align-items: flex-start;
}
.block--table--search[data-tableview=list] > .block__content--list {
  display: flex;
}
.block--table--search[data-tableview=list] > .block__content--grid {
  display: none;
}
.block--table--search[data-tableview=grid] > .block__content--list {
  display: none;
}
.block--table--search[data-tableview=grid] > .block__content--grid {
  display: flex;
}

.block--table--news .block__content--list .block__content__head .block__col-head[data-key=date],
.block--table--news .block__content--list .block--teaser .block__text > .block__date {
  flex: 1 0 10%;
  min-width: 12.5rem;
}
.block--table--news .block__content--list .block__content__head .block__col-head[data-key=title],
.block--table--news .block__content--list .block--teaser .block__text > .block__title {
  flex: 1 1 90%;
}

.block--table__index {
  display: none;
}
.block--table[data-tableview=index] .block--table__index {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  gap: 2.5rem;
}
.block--table__index .index__header {
  line-height: 1;
  font-size: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0;
  padding: 0.2em 0;
  border-bottom: 0.125rem solid currentColor;
}
@media (min-width: 900px) {
  .block--table__index .index__header {
    font-size: 2rem;
  }
}
.block--table__index .index__header h2,
.block--table__index .index__header span {
  display: block;
}
.block--table__index .index__list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  flex-flow: row wrap;
  justify-content: stretch;
  align-items: stretch;
  column-gap: 0.625rem;
  width: 100%;
}
.block--table__index .index__entry {
  line-height: 1.25;
  font-size: 1rem;
  display: block;
  flex: 0 1 calc(25% - 0.5rem);
  border-top: 1px solid var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding: 0.25rem 0;
  text-align: left;
  min-width: 12.5rem;
  margin-top: -1px;
}
@media (min-width: 900px) {
  .block--table__index .index__entry {
    font-size: 1rem;
  }
}
.block--table__index .index__entry.hidden, .block--table__index .index__entry[hidden] {
  display: none;
}
.block--table__index .index__entry__link:hover .index__entry__value, .block--table__index .index__entry__link:focus-visible .index__entry__value {
  color: var(--color-em);
}
.block--table__index .index__section .index__list + .btn {
  margin-top: 0.625rem;
}
.block--table__index .index__entry__count {
  color: var(--color-grey);
}

.block--cover img,
.block--image img {
  object-fit: contain;
  object-position: top left;
}
.block--cover img[data-orientation=portrait],
.block--image img[data-orientation=portrait] {
  width: 60%;
}
.block--cover img[data-orientation=square],
.block--image img[data-orientation=square] {
  width: 100%;
}
.block--cover img[data-orientation=landscape],
.block--image img[data-orientation=landscape] {
  width: 100%;
}

.block--cover {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0.625rem;
}
.block--cover .cover__img,
.block--cover img {
  max-height: calc(100svh - 17.5rem);
}
.block--cover .cover__title {
  line-height: 1;
  font-size: 2rem;
}
@media (min-width: 900px) {
  .block--cover .cover__title {
    font-size: 2rem;
  }
}

.block--text .block__content,
.block--quote .block__content {
  max-width: 80ch;
}
.block--text .block__content hr,
.block--quote .block__content hr {
  border: 0;
  background: none;
  height: 1.25rem;
  width: 100%;
  display: block;
  margin: 0;
}
.block--text .block__content p:first-child, .block--text .block__content li:first-child, .block--text .block__content ul:first-child, .block--text .block__content ol:first-child,
.block--quote .block__content p:first-child,
.block--quote .block__content li:first-child,
.block--quote .block__content ul:first-child,
.block--quote .block__content ol:first-child {
  margin-top: 0;
}
.block--text .block__content p:last-child, .block--text .block__content li:last-child, .block--text .block__content ul:last-child, .block--text .block__content ol:last-child,
.block--quote .block__content p:last-child,
.block--quote .block__content li:last-child,
.block--quote .block__content ul:last-child,
.block--quote .block__content ol:last-child {
  margin-top: 0;
}
.block--text .block__content p:not(:first-child), .block--text .block__content li:not(:first-child), .block--text .block__content ul:not(:first-child), .block--text .block__content ol:not(:first-child),
.block--quote .block__content p:not(:first-child),
.block--quote .block__content li:not(:first-child),
.block--quote .block__content ul:not(:first-child),
.block--quote .block__content ol:not(:first-child) {
  margin-top: 1em;
}
.block--text .block__content p:not(:last-child), .block--text .block__content li:not(:last-child), .block--text .block__content ul:not(:last-child), .block--text .block__content ol:not(:last-child),
.block--quote .block__content p:not(:last-child),
.block--quote .block__content li:not(:last-child),
.block--quote .block__content ul:not(:last-child),
.block--quote .block__content ol:not(:last-child) {
  margin-bottom: 1em;
}
.block--text .block__content p a:not(.btn), .block--text .block__content a:not(.btn),
.block--quote .block__content p a:not(.btn),
.block--quote .block__content a:not(.btn) {
  display: inline;
  text-decoration: underline;
  -webkit-text-decoration-thickness: 0.1em;
  text-decoration-thickness: 0.1em;
  text-underline-offset: 0.1em;
  text-decoration-skip-ink: auto;
}
.block--text .block__content p a:not(.btn):hover, .block--text .block__content p a:not(.btn):focus-visible, .block--text .block__content a:not(.btn):hover, .block--text .block__content a:not(.btn):focus-visible,
.block--quote .block__content p a:not(.btn):hover,
.block--quote .block__content p a:not(.btn):focus-visible,
.block--quote .block__content a:not(.btn):hover,
.block--quote .block__content a:not(.btn):focus-visible {
  color: var(--color-coral, inherit);
}
.block--text .block__content p a.btn, .block--text .block__content a.btn,
.block--quote .block__content p a.btn,
.block--quote .block__content a.btn {
  text-decoration: none;
}
.block--text .block__content button,
.block--quote .block__content button {
  text-decoration: none;
}
.block--text .block__content h3, .block--text .block__content h4, .block--text .block__content h5, .block--text .block__content h6,
.block--quote .block__content h3,
.block--quote .block__content h4,
.block--quote .block__content h5,
.block--quote .block__content h6 {
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem;
}
.block--text .block__content h2:first-child, .block--text .block__content h3:first-child, .block--text .block__content h4:first-child, .block--text .block__content h5:first-child, .block--text .block__content h6:first-child,
.block--quote .block__content h2:first-child,
.block--quote .block__content h3:first-child,
.block--quote .block__content h4:first-child,
.block--quote .block__content h5:first-child,
.block--quote .block__content h6:first-child {
  margin-top: 0;
}
.block--text .block__content em, .block--text .block__content i,
.block--quote .block__content em,
.block--quote .block__content i {
  font-style: italic;
}
.block--text .block__content b, .block--text .block__content strong,
.block--quote .block__content b,
.block--quote .block__content strong {
  text-transform: uppercase;
}
.block--text .block__content ul, .block--text .block__content ol,
.block--quote .block__content ul,
.block--quote .block__content ol {
  padding: 0;
  list-style-type: none;
  list-style: none;
  margin-left: 0.1875rem;
}
.block--text .block__content li,
.block--quote .block__content li {
  display: block;
  position: relative;
  padding-left: 3ch;
}
.block--text .block__content li:before,
.block--quote .block__content li:before {
  display: block;
  position: absolute;
  top: 0;
  left: auto;
  width: auto;
  white-space: nowrap;
  font-family: inherit;
}
.block--text .block__content li + li,
.block--quote .block__content li + li {
  margin-top: 0;
}
.block--text .block__content ol,
.block--quote .block__content ol {
  counter-reset: counter-ol;
}
.block--text .block__content ol li,
.block--quote .block__content ol li {
  counter-increment: counter-ol;
}
.block--text .block__content ol li:before,
.block--quote .block__content ol li:before {
  content: counter(counter-ol) ".";
  right: calc(100% - 1.5ch);
}
.block--text .block__content ul li:before,
.block--quote .block__content ul li:before {
  --size: 1.2ch;
  content: "";
  width: var(--size);
  height: var(--size);
  background-color: currentColor;
  border-radius: 50%;
  top: 0.15em;
  right: calc(100% - var(--size));
}
@media (min-width: 900px) {
  .block--text .block__content,
.block--quote .block__content {
    line-height: 1.2;
    font-size: 1.5625rem;
  }
}
@media (min-width: 900px) and (min-width: 900px) {
  .block--text .block__content,
.block--quote .block__content {
    font-size: 1.5625rem;
  }
}

.block--text blockquote {
  padding-left: 8.75rem;
}
.block--text .block__content {
  /*
  &:after {
      display: block;
      content: '';
      width: 1px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 60ch;
      border: 10ch solid rgba(255, 255, 255, 0.5);
      border-top: 0;
      border-bottom: 0;
      //border-left: 10ch;
      //border-right: 10ch;
      background: var(--color-debug);
      //border-style: solid;
      //border-color: rgba(0,0,0,.1);
      height: auto;
      box-sizing: content-box;
      mix-blend-mode: multiply;
  }
  */
}

.block--quote {
  padding-left: 8.75rem;
}
.block--quote .quote__text {
  font-style: italic;
}
.block--quote .quote__caption:before {
  content: "–";
}

.block--images,
.block--media {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: 0.9375rem;
}
.block--images .block--image img,
.block--media .block--image img {
  object-fit: contain;
  object-position: top left;
}
.block--images .block--image img[data-orientation=portrait],
.block--media .block--image img[data-orientation=portrait] {
  width: 60%;
}
.block--images .block--image img[data-orientation=square],
.block--media .block--image img[data-orientation=square] {
  width: 100%;
}
.block--images .block--image img[data-orientation=landscape],
.block--media .block--image img[data-orientation=landscape] {
  width: 100%;
}

.block--image,
.block--video {
  --gap-y: 0.3125rem;
  max-width: 100%;
  line-height: 1.25;
  font-size: 1rem;
}
@media (min-width: 900px) {
  .block--image,
.block--video {
    font-size: 1rem;
  }
}

.block--image {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: var(--gap-y);
}
.block--image img {
  -webkit-aspect-ratio: var(--ratio-intrinsic, auto);
  aspect-ratio: var(--ratio-intrinsic, auto);
  display: block;
  width: 100%;
  height: auto;
  position: relative;
}

.block--video {
  --ratio: 16/9;
  --size-icon: 3.4375rem;
}
.block--video .block__content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  row-gap: var(--gap-y);
}
.block--video img {
  object-fit: cover;
  object-position: center;
}
.block--video .video__wrapper {
  width: 100%;
  height: auto;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  display: block;
  position: relative;
  background-color: transparent;
  z-index: 1;
  background-color: var(--color-grey);
}
.block--video video,
.block--video iframe,
.block--video .video__overlay,
.block--video img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.block--video video,
.block--video iframe {
  display: none;
  z-index: 1;
}
.block--video .video__overlay {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.block--video .video__overlay--poster {
  z-index: 2;
}
.block--video .video__overlay--controls {
  z-index: 4;
}
.block--video .video__overlay--cookiemessage {
  z-index: 3;
}
.block--video .video__wrapper:not(.show--cookie-message) .video__overlay--cookiemessage {
  display: none;
}
.block--video .video__wrapper.show--video .video__overlay {
  display: none;
}
.block--video .video__wrapper.show--video video,
.block--video .video__wrapper.show--video iframe {
  display: block;
}
.block--video button.btn--play-video,
.block--video .btn__icon,
.block--video svg {
  display: block;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
  height: auto;
  width: var(--size-icon);
}
.block--video button.btn--play-video {
  background: transparent;
  cursor: pointer;
  padding: 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  border: 0;
  height: auto;
  color: var(--color-text);
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .block--video button.btn--play-video:hover {
    color: var(--color-em);
    opacity: 1;
  }
}
.block--video .btn__icon {
  --ratio: 1;
  -webkit-aspect-ratio: var(--ratio);
  aspect-ratio: var(--ratio);
  color: currentcolor;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.block--video .btn__icon svg {
  stroke: var(--color-background);
  stroke-width: 0.125rem;
}
.block--video .btn__icon svg,
.block--video .btn__icon path {
  fill: currentcolor;
}
.block--teaser-grid {
  column-gap: var(--col-grid-gutter);
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--col-grid-count), minmax(0, 1fr));
}
.block--teaser-grid > * {
  grid-row: auto/span 1;
}
.block--teaser-grid > hr {
  grid-column: 1/-1;
}
@media (max-width: 899px) {
  .block--teaser-grid {
    row-gap: 2.5rem;
    align-items: start;
  }
}
@media (min-width: 900px) {
  .block--teaser-grid {
    row-gap: var(--col-grid-gutter);
  }
}

.block--teaser-gallery {
  --teaser-title-height: 3.6em;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: flex-start;
  align-items: stretch;
  row-gap: 0.625rem;
}
.block--teaser-gallery > .block__content {
  position: relative;
  width: calc(100% + var(--page-padding-x, 0px) * 2);
  transform: translateX(calc(var(--page-padding-x, 0px) * -1));
}
.block--teaser-gallery > .block__title {
  line-height: 1;
  font-size: 2rem;
  width: 100%;
  max-width: calc(100% - 6.25rem);
}
@media (min-width: 900px) {
  .block--teaser-gallery > .block__title {
    font-size: 2rem;
  }
}
@media (pointer: coarse) {
  .block--teaser-gallery > .block__title {
    max-width: 100%;
  }
}
.block--teaser-gallery .splide__arrows {
  line-height: 1.2;
  font-size: 1.5625rem;
  padding: 0 var(--page-padding-x);
  justify-content: flex-end;
  margin-top: 0.625rem;
  margin-bottom: -2.625rem;
  pointer-events: none;
  gap: 0;
}
@media (min-width: 900px) {
  .block--teaser-gallery .splide__arrows {
    font-size: 1.5625rem;
  }
}
.block--teaser-gallery .splide__arrows .splide__arrow--prev svg {
  transform: scaleX(1);
}
.block--teaser-gallery .splide__arrows .splide__arrow {
  background: transparent;
}
.block--teaser-gallery .splide__arrows .splide__arrow:disabled {
  color: var(--color-grey);
}
.block--teaser-gallery .splide__arrows .splide__arrow:hover, .block--teaser-gallery .splide__arrows .splide__arrow:focus-visible {
  background-color: transparent;
  border-color: transparent;
  color: var(--color-em);
}
.block--teaser-gallery .splide__arrows button {
  pointer-events: auto;
  border-radius: 50%;
}
.block--teaser-gallery .splide__arrows .icon {
  height: 1em;
}
.block--teaser-gallery .splide__arrows .icon svg {
  stroke: currentColor;
  stroke-width: 0.125rem;
  fill: none;
}
@media (pointer: coarse) {
  .block--teaser-gallery .splide__arrows {
    display: none;
  }
}
.block--teaser-gallery .splide__slide {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: stretch;
  max-width: 40vw;
}
.block--teaser-gallery .splide__slide:not(.is-visible) {
  transform: translateX(1px);
}
.block--teaser-gallery .splide__track {
  overflow: visible;
}

.block--logos {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.875rem;
}
.block--logos > * {
  flex: 0 0 auto;
}

.block--logo {
  align-self: center;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
.block--logo,
.block--logo a,
.block--logo span,
.block--logo img {
  position: relative;
  display: block;
  flex: 0 0 auto;
  min-height: 1px;
  min-width: 1px;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 8.75rem;
}
.block--logo img {
  object-fit: contain;
  object-position: top left;
  -webkit-aspect-ratio: var(--ratio-intrinsic, auto);
  aspect-ratio: var(--ratio-intrinsic, auto);
}
@media (hover: hover) {
  .block--logo a:hover {
    opacity: 0.5;
  }
}

/* --- Page Header --- */
.page-header {
  line-height: 1;
  font-size: 2rem;
  position: relative;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 999;
  display: block;
  width: 100vw;
  max-width: 100%;
  background-color: transparent;
}
@media (min-width: 900px) {
  .page-header {
    font-size: 2rem;
  }
}
.page-header .page-header__nav a,
.page-header .page-header__nav button {
  pointer-events: auto;
}
.page-header .menucontrol {
  align-self: center;
}
@media (max-width: 1199px) {
  .page-header .menucontrol {
    display: block;
  }
}
@media (min-width: 1200px) {
  .page-header .menucontrol {
    display: none;
  }
}
.page-header .menucontrol .menucontrol__toggle {
  --size: 2rem;
  position: relative;
  display: block;
  height: var(--size);
  width: var(--size);
  background: rgba(0, 0, 0, 0);
}
.page-header .menucontrol .menucontrol__toggle span {
  display: block;
  flex: 0 0 auto;
  position: absolute;
  border-top: 2.5px solid currentcolor;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
  z-index: 2;
}
.page-header .menucontrol .menucontrol__toggle span:nth-child(1) {
  top: 24%;
}
.page-header .menucontrol .menucontrol__toggle span:nth-child(2) {
  top: 50%;
}
.page-header .menucontrol .menucontrol__toggle span:nth-child(3) {
  top: 76%;
}
.page-header .menucontrol .menucontrol__toggle:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
  transform: translate(-50%, -50%);
}
.page-header .menucontrol .menucontrol__toggle[aria-expanded=true] span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(-45deg);
  top: 50%;
}
.page-header .menucontrol .menucontrol__toggle[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}
.page-header .menucontrol .menucontrol__toggle[aria-expanded=true] span:nth-child(3) {
  transform: translate(-50%, -50%) rotate(45deg);
  top: 50%;
}
.page-header ul {
  row-gap: var(--col-grid-gutter);
}
@media (max-width: 1199px) {
  .page-header ul {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media (min-width: 1200px) {
  .page-header ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.page-header .menufoldout,
.page-header .menufoldout__content__inner {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  justify-content: flex-start;
  align-items: flex-start;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
.page-header .header__sub__menu > ul > li {
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  align-items: flex-start;
  align-items: stretch;
}
.page-header .menu__link {
  position: relative;
  min-height: 1.5rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  align-items: flex-start;
  text-align: left;
  align-self: flex-start;
  white-space: nowrap;
  color: var(--color-text);
  background-color: transparent;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .page-header .menu__link:hover {
    opacity: 1;
    color: var(--color-grey);
  }
}
.page-header .menu__link.is-active {
  color: var(--color-coral);
}
.page-header .menufoldout {
  position: relative;
  /*
  &.menufoldout--vaf {
      @include forSize(tablet-landscape_up) {
          --indent: calc(0.4vw + 2.25rem);
          & > * {
              transform: translateX(var(--indent));
          }
          & > .menufoldout__content {
              transform: translateX(calc(var(--col-grid-gutter) * -0.5 + var(--indent)));
          }
      }
  }
  */
}
.page-header .menufoldout.has-foldout-open.is-closing {
  padding: 0;
}
.page-header .menufoldout .menufoldout__content {
  transition: max-height var(--transition-duration, 150ms) ease-in-out;
  overflow-y: clip;
  --heightMax: 0px;
  max-height: var(--heightMax, 0px);
  width: auto;
  padding: 0 calc(var(--col-grid-gutter) * 0.5);
  transform: translateX(calc(var(--col-grid-gutter) * -0.5));
}
html.no-js .page-header .menufoldout .menufoldout__content {
  display: none;
}
.page-header .menufoldout .menufoldout__content .menu__link {
  color: var(--color-grey);
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .page-header .menufoldout .menufoldout__content .menu__link:hover {
    opacity: 1;
    color: var(--color-text);
  }
}
@media (min-width: 1200px) {
  .page-header .menufoldout .menufoldout__content {
    position: relative;
    width: 0px;
    max-width: 0px;
    overflow-x: visible;
  }
}
.page-header .header__sub__search {
  position: relative;
}
.page-header .header__sub__search.has-foldout-open.is-closing {
  padding: 0;
}
html.is-scrolled .page-header .header__sub__search.has-foldout-open .menusearch__toggle {
  transform: translateY(0.6875rem);
}
@media (max-width: 1199px) {
  .page-header .header__sub__search {
    width: 100vw;
    max-width: 100%;
    overflow: visible;
    max-height: none;
    height: auto;
    padding-bottom: 1.5rem;
  }
  .page-header .header__sub__search.has-foldout-open {
    min-height: 5rem;
  }
  .page-header .header__sub__search .menusearch__toggle[aria-expanded=true] {
    position: absolute;
    right: 1.375rem;
    top: 0.85em;
  }
}
.page-header .search-overlay {
  transition: none;
  overflow: clip;
  --heightMax: 0px;
  max-height: var(--heightMax, 0px);
  z-index: 1;
  display: block;
}
.page-header .search-overlay:not([aria-hidden=false]) {
  display: none;
}
.page-header .search-overlay .search-overlay__inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
}
.page-header .search-overlay form {
  position: relative;
}
.page-header .search-overlay .search__controls {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
}
.page-header .search-overlay button,
.page-header .search-overlay .search__submit,
.page-header .search-overlay .search__close {
  border: 0;
  margin: 0;
  padding: 0.3125rem;
  -webkit-aspect-ratio: 1;
  aspect-ratio: 1;
  width: 3.125rem;
  height: 3.125rem;
  background: transparent;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.page-header .search-overlay input[type=search] {
  background: var(--color-background);
  box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(0, 0, 0, 0.25);
}
.page-header .search-overlay input[type=search]:hover {
  opacity: 1;
}
@media (max-width: 1199px) {
  .page-header .search-overlay {
    position: absolute;
    top: 0.4375rem;
    left: 0;
    width: 100vw;
    max-width: 100%;
  }
  .page-header .search-overlay .search__controls {
    gap: 0px;
    right: 0.375rem;
  }
  .page-header .search-overlay .search-overlay__inner {
    padding: 0px;
  }
}
@media (min-width: 1200px) {
  .page-header .search-overlay {
    position: fixed;
    top: 0;
    right: 0;
    width: 100vw;
    max-width: 100%;
  }
  .page-header .search-overlay .search-overlay__inner {
    min-height: var(--header-height, 0px);
  }
  .page-header .search-overlay .search__controls {
    gap: 0.25rem;
    right: 0.25rem;
  }
  .page-header .search-overlay .search-overlay__inner {
    padding: 0.4375rem;
  }
}
.page-header .header__sub[aria-hidden=true], .page-header .header__sub.is-closing, .page-header .header__sub.is-opening,
.page-header .menufoldout__content[aria-hidden=true],
.page-header .menufoldout__content.is-closing,
.page-header .menufoldout__content.is-opening,
.page-header .search-overlay[aria-hidden=true],
.page-header .search-overlay.is-closing,
.page-header .search-overlay.is-opening {
  pointer-events: none;
}
.page-header .header__sub.is-open,
.page-header .menufoldout__content.is-open,
.page-header .search-overlay.is-open {
  --heightMax: none;
  overflow-y: visible;
}
.page-header .header__sub.is-opening, .page-header .header__sub.is-closing,
.page-header .menufoldout__content.is-opening,
.page-header .menufoldout__content.is-closing,
.page-header .search-overlay.is-opening,
.page-header .search-overlay.is-closing {
  --heightMax: var(--height, 0px);
}
.page-header .header__sub.is-closed,
.page-header .menufoldout__content.is-closed,
.page-header .search-overlay.is-closed {
  --heightMax: 0px;
}
.page-header .header__sub.is-closed > *,
.page-header .menufoldout__content.is-closed > *,
.page-header .search-overlay.is-closed > * {
  display: none;
}
.page-header .header__sub--mobile {
  overflow: clip;
  --heightMax: 0px;
  max-height: var(--heightMax, 0px);
  height: var(--heightMax, 0px);
  position: relative;
}
.page-header .header__sub--mobile.is-open {
  padding-bottom: 1.25rem;
}
@media (max-width: 1199px) {
  .page-header .header__sub--mobile {
    display: block;
  }
}
@media (min-width: 1200px) {
  .page-header .header__sub--mobile {
    display: none;
  }
}
@media (max-width: 1199px) {
  .page-header .header__sub--mobile .menusearch__toggle {
    border: 0;
    margin: 0;
    padding: 0.3125rem;
    -webkit-aspect-ratio: 1;
    aspect-ratio: 1;
    width: 3.125rem;
    height: 3.125rem;
    background: transparent;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
}
.page-header .header__sub--desktop {
  --width: calc( ( 100% - ( ( 8 - 1 ) * var(--col-grid-gutter, 0px) ) ) / 8 * 6 + ( ( 6 - 1 ) * var(--col-grid-gutter, 0px) ) );
  flex: 0 0 var(--width);
  width: var(--width);
  min-width: var(--width);
}
@media (max-width: 1199px) {
  .page-header .header__sub--desktop {
    display: none;
  }
}
@media (min-width: 1200px) {
  .page-header .header__sub--desktop {
    display: block;
  }
}
@media (max-width: 1199px) {
  .page-header .menufoldout__content .menu__link {
    color: #7f7f7f;
  }
  .page-header .header__main > ul {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .page-header .header__sub__inner,
.page-header .header__sub__search {
    padding-top: 1.5rem;
  }
  .page-header .page-header__nav {
    background: var(--color-background);
    border-bottom: 1px solid var(--color-black);
    padding: 0.625rem var(--page-padding-x) 0.625rem;
  }
  .page-header .page-header__nav .page-header__nav__inner {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 0;
  }
  .page-header .page-header__nav.has-foldout-open {
    height: 100dvh;
    padding-bottom: calc(0.625rem + 3.5rem);
  }
}
@media (min-width: 1200px) {
  .page-header {
    height: 4.6875rem;
  }
  .page-header .page-header__nav {
    padding-left: 1.3125rem;
    padding-right: 1.3125rem;
    pointer-events: none;
    border-bottom: 1px solid transparent;
    transition-property: padding, border;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: var(--transition-duration, 150ms);
  }
  html.is-scrolled .page-header .page-header__nav {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    border-color: var(--color-text);
    background-color: var(--color-background);
  }
  html:not(.is-scrolled) .page-header {
    overflow: visible;
  }
  html:not(.is-scrolled) .page-header .page-header__nav {
    padding-top: 1.3125rem;
    padding-bottom: 1.3125rem;
  }
  .page-header .header__main {
    --width: calc( ( 100% - ( ( 8 - 1 ) * var(--col-grid-gutter, 0px) ) ) / 8 * 2 + ( ( 2 - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
  }
  .page-header .header__sub__menu {
    --width: calc( ( 100% - ( ( 6 - 1 ) * var(--col-grid-gutter, 0px) ) ) / 6 * 5 + ( ( 5 - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
  }
  .page-header .header__sub__search {
    --width: calc( ( 100% - ( ( 6 - 1 ) * var(--col-grid-gutter, 0px) ) ) / 6 * 1 + ( ( 1 - 1 ) * var(--col-grid-gutter, 0px) ) );
    flex: 0 0 var(--width);
    width: var(--width);
    min-width: var(--width);
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: flex-start;
  }
}

/* --- Page Footer --- */
.page-footer {
  border-top: 1px solid var(--color-text);
  background: var(--color-background);
  position: relative;
  position: sticky;
  top: 0;
  z-index: 999;
  display: block;
  width: 100vw;
  max-width: 100%;
  min-height: 1.25rem;
}
.page-footer a {
  min-height: 1.25rem;
  /* when hover is supported, takes arguments "hover" and "none". Read: https://www.smashingmagazine.com/2022/03/guide-hover-pointer-media-queries/ */
}
@media (hover: hover) {
  .page-footer a:hover {
    opacity: 1;
    color: var(--color-grey);
  }
}
.page-footer ul {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.page-footer ul li {
  flex: 0 0 auto;
  display: block;
}
.page-footer .page-footer__inner {
  padding: 1.25rem var(--page-padding-x);
  column-gap: var(--col-grid-gutter);
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--col-grid-count), minmax(0, 1fr));
  row-gap: 1.375rem;
}
.page-footer .page-footer__inner > * {
  grid-row: auto/span 1;
}
.page-footer .page-footer__inner > hr {
  grid-column: 1/-1;
}
.page-footer .page-footer__inner > .col:nth-child(1) {
  grid-column: 1/span 2;
  grid-row: 1/span 1;
}
.page-footer .page-footer__inner > .col:nth-child(2) {
  grid-column: 1/span 2;
  grid-row: 2/span 1;
}
.page-footer .page-footer__inner > .col:nth-child(3) {
  grid-column: 1/span 1;
  grid-row: 3/span 1;
}
.page-footer .page-footer__inner > .col:nth-child(4) {
  grid-column: 2/span 1;
  grid-row: 3/span 1;
}
.page-footer .nav--social {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  flex-flow: row nowrap;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.1875rem;
  margin-top: 0.3125rem;
}
body.page--simple .page-footer {
  margin-top: 4.375rem;
}
@media (min-width: 600px) {
  .page-footer .page-footer__inner > .col:nth-child(1) {
    grid-column: 1/span 1;
    grid-row: 1/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(2) {
    grid-column: 1/span 1;
    grid-row: 2/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(3) {
    grid-column: 2/span 1;
    grid-row: 1/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(4) {
    grid-column: 2/span 1;
    grid-row: 2/span 1;
  }
}
@media (min-width: 900px) {
  .page-footer .page-footer__inner > .col:nth-child(1) {
    grid-column: 1/span 2;
    grid-row: 1/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(2) {
    grid-column: 3/span 2;
    grid-row: 1/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(3) {
    grid-column: 7/span 1;
    grid-row: 1/span 1;
  }
  .page-footer .page-footer__inner > .col:nth-child(4) {
    grid-column: 8/span 1;
    grid-row: 1/span 1;
  }
}
.overlay-search {
  pointer-events: all;
}

.shopify-buy__btn {
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: auto;
  text-decoration: none;
  position: relative;
  color: currentColor;
  background-color: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.625rem;
  box-sizing: border-box;
  min-height: 2.625rem;
  padding: 0.6875rem 1.25rem;
  border: var(--border);
  border-color: currentcolor;
  transition: all var(--transition-duration, 150ms) ease-in-out;
}
@media (min-width: 900px) {
  .shopify-buy__btn {
    font-size: 1.25rem;
  }
}
.shopify-buy__btn:hover, .shopify-buy__btn:focus-visible {
  background-color: var(--color-text);
  border-color: var(--color-text);
  color: var(--color-white);
}

.shopify-buy__price {
  line-height: 1.2;
  font-size: 1.5625rem;
}
@media (min-width: 900px) {
  .shopify-buy__price {
    font-size: 1.5625rem;
  }
}

.shopify-buy-wrapper {
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0.625rem;
}
.block--text li > .shopify-buy-wrapper:only-child {
  transform: translateY(-0.6875rem);
  margin-bottom: -0.625rem;
}

.shopify-buy-wrapper--inline {
  vertical-align: top;
  margin: 0.3125rem 0.0625rem;
}

.shopify-buy__cart-toggle {
  font-family: var(--font-family-base);
  font-style: normal;
  font-weight: 400;
  text-align: left;
  line-height: 1.2;
  font-size: 1.25rem;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  width: auto;
  text-decoration: none;
  position: relative;
  color: currentColor;
  background-color: rgba(0, 0, 0, 0);
  border: 0;
  border-radius: 0;
  display: inline-flex;
  flex-flow: row nowrap;
  flex: 0 0 auto;
  justify-content: flex-start;
  align-items: center;
  column-gap: 0.625rem;
  box-sizing: border-box;
  min-height: 2.625rem;
  padding: 0.6875rem 1.25rem;
  border: var(--border);
  border-right: 0;
  border-color: black;
  transition: all var(--transition-duration, 150ms) ease-in-out;
  cursor: pointer;
  background: black;
  color: white;
  display: flex;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 0;
  text-align: center;
  gap: 0.3125rem;
}
@media (min-width: 900px) {
  .shopify-buy__cart-toggle {
    font-size: 1.25rem;
  }
}
.shopify-buy__cart-toggle:hover {
  background: white;
  color: black;
}

.shopify-buy__icon-cart {
  width: 1.625rem;
}
.shopify-buy__icon-cart path, .shopify-buy__icon-cart circle {
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 0.5px;
}

.shopify-buy--visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ---------------------------- */
/* ---------------------------- */
/* --- Collapsible Styles --- */
/* --- Reset --- */
.collapsible {
  color: inherit;
}
.collapsible + .collapsible {
  margin-top: 0;
  border-top: 0;
}

details.collapsible, details.collapsible summary {
  padding-left: 0;
  background-image: none;
  -webkit-appearance: none;
}

details.collapsible summary {
  cursor: pointer;
}
details.collapsible summary::-webkit-details-marker {
  display: none;
}

/* --- --- */
.collapsible__header {
  -webkit-appearance: none;
  position: relative;
  display: block;
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  text-align: left;
  overflow: visible;
  width: auto;
}
.collapsible__header:not(.c--init) {
  display: none;
  pointer-events: none;
  cursor: default;
}
.collapsible__header.c--init {
  pointer-events: auto;
  cursor: pointer;
}
.collapsible__header.c--init span:nth-child(1) {
  display: block;
}
.collapsible__header.c--init span:nth-child(2) {
  display: none;
}
.collapsible__header:not(.c--active) span:nth-child(1) {
  display: block;
}
.collapsible__header:not(.c--active) span:nth-child(2) {
  display: none;
}
.collapsible__header.c--active span:nth-child(1) {
  display: none;
}
.collapsible__header.c--active span:nth-child(2) {
  display: block;
}

/* --- State: Initialized --- */
.collapsible__content.c--init {
  --aniDur: 0.25s;
  --height: 0;
  --width: auto;
  max-height: var(--height);
  max-width: var(--width);
  padding: 0 !important;
  transition: max-width var(--aniDur) ease-out, max-height var(--aniDur) ease-out, opacity var(--aniDur) ease-out;
}
.collapsible__content.c--init:not(.c--active):not(.c--activating) {
  overflow: hidden;
  opacity: 0;
}
.collapsible__content.c--init.c--activating, .collapsible__content.c--init.c--activating > .collapsible__content__inner {
  overflow: hidden;
}
.collapsible__content.c--init.c--active, .collapsible__content.c--init.c--activating {
  opacity: 1;
  transition: max-width var(--aniDur) ease-out, max-height var(--aniDur) ease-out, opacity var(--aniDur) ease-out;
}

.collapsible__content.c--init[data-collapsible-direction=horizontal] {
  --height: auto;
  --width: 0;
}

.collapsible__content.c--init[data-collapsible-transition=none] {
  --aniDur: 0s;
}

/* --- Variations: Type --- */
.collapsible__header[data-collapsible-type=button].c--active {
  background: black;
  color: white;
}

.collapsible[data-collapsible-type=accordion] {
  border-top: 1px solid currentcolor;
  border-bottom: 1px solid currentcolor;
}
.collapsible[data-collapsible-type=accordion] + .collapsible {
  margin-top: 0;
  border-top: 0;
}
.collapsible[data-collapsible-type=accordion] > .collapsible__header {
  padding: 1.5625rem 0 1.25rem;
  width: 100%;
}
.collapsible[data-collapsible-type=accordion] .collapsible__content__inner {
  padding-top: 1.1875rem;
  padding-bottom: 2.88rem;
}
.collapsible[data-collapsible-type=accordion] .collapsible__content__inner h4 {
  margin-top: 1.5625rem;
}
.collapsible[data-collapsible-type=accordion] .collapsible__content__inner h4:first-child {
  margin-top: 0;
}

.collapsible[data-collapsible-type=filter] {
  border-top: 0;
  border-bottom: 0;
}
.collapsible[data-collapsible-type=filter] + .collapsible {
  margin-top: 0;
  border-top: 0;
}
.collapsible[data-collapsible-type=filter] > .collapsible__header {
  width: 100%;
}
.collapsible[data-collapsible-type=filter] .collapsible__content__inner {
  padding-top: 2.25rem;
  padding-bottom: 4.6875rem;
}

.collapsible[data-collapsible-type=image-caption-overlay] {
  margin: 0;
}
.collapsible[data-collapsible-type=image-caption-overlay] figure {
  display: block;
  position: relative;
}
.collapsible[data-collapsible-type=image-caption-overlay] figure img {
  display: block;
  width: auto;
  height: auto;
  justify-self: flex-end;
  align-self: flex-end;
  max-height: 100%;
}
.collapsible[data-collapsible-type=image-caption-overlay] figure, .collapsible[data-collapsible-type=image-caption-overlay] figure img {
  max-height: calc(100svh - var(--page-header-height, 0) - 11.25rem);
}
.collapsible[data-collapsible-type=image-caption-overlay] .collapsible__content__inner {
  padding: 0.3125rem;
}

/* --- Variations: Icon Position --- */
.collapsible__header[data-collapsible-icon-position=left].c--init {
  padding-left: 2.125rem;
}
.collapsible__header[data-collapsible-icon-position=left].c--init > .collapsible__icon {
  left: 0;
  right: auto;
}

/* --- Variations: Icons --- */
.collapsible__icon {
  --translate-y: -50%;
  --rotate: 0deg;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(var(--translate-y)) rotate(var(--rotate));
  transition: transform var(--transition-duration, 150ms) linear;
}
.collapsible__header.c--active .collapsible__icon {
  --rotate: 45deg;
}

.collapsible[data-collapsible-icon=arrow] .collapsible__header.c--active .collapsible__icon {
  --rotate: 180deg;
}

/* --- DEV --- */
.dev-guides {
  display: block;
  position: fixed;
  border-left: var(--col-grid-margin) solid transparent;
  border-right: var(--col-grid-margin) solid transparent;
  width: 100vw;
  max-width: 100%;
  height: 100dvh;
  overflow: hidden;
  mix-blend-mode: multiply;
  opacity: 0.1;
  z-index: 9999;
  inset: 0;
  pointer-events: none;
}
.dev-guides:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  right: calc(var(--col-grid-gutter) * -1);
  background-image: linear-gradient(90deg, var(--col-grid-color) 0, var(--col-grid-color) calc(100% - var(--col-grid-gutter)), rgba(0, 0, 0, 0) calc(100% - var(--col-grid-gutter)), rgba(0, 0, 0, 0) 100%);
  background-size: calc(100% / var(--col-grid-count)) 100%;
  background-position: left;
  background-repeat: repeat-x;
}
html.show-guides .dev-guides {
  display: block;
}
html:not(.show-guides) .dev-guides {
  display: none !important;
}

html.show-guides * {
  outline: 1px solid var(--col-grid-color);
  outline-offset: -0.5px;
  outline-style: dotted;
}

.typographic-baseline-grid:after {
  content: "";
  display: block;
  position: absolute;
  inset: var(--layout-padding-y, 0) var(--space, 0);
  pointer-events: none;
  mix-blend-mode: multiply;
  opacity: 0;
  z-index: 9999;
  background: repeating-linear-gradient(blue, 0px, blue var(--lead), transparent var(--lead), transparent calc(var(--lead) + var(--cap-height)), red calc(var(--lead) + var(--cap-height)), red var(--line-height));
  background-origin: content-box;
}

/* ------------------------------ */
/* --- Essential Style (copy) --- */
@keyframes marquee-animation {
  from {
    transform: translateX(0%);
  }
  to {
    transform: translateX(100%);
  }
}
.marquee,
.marquee__wrapper,
.marquee__item {
  display: block;
  position: relative;
  box-sizing: border-box;
  text-align: center;
  margin: 0;
  padding: 0;
}

.marquee {
  --gap: 4.5rem;
  --duration: 4s;
  --width: auto;
  display: block;
  position: relative;
  width: 100vw;
  max-width: 100%;
}

.marquee__wrapper {
  position: absolute;
  height: 100%;
  width: 400%;
  min-width: 0px;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  list-style: none;
}

.marquee__item {
  width: var(--width, auto);
  min-width: var(--width, 0px);
  flex: 0 0 var(--width, auto);
  transform: translateX(0px);
  padding: 0 calc(var(--gap) / 2);
  display: flex;
  flex-flow: row nowrap;
  gap: var(--gap);
}
.marquee__item > * {
  display: block;
  flex: 0 0 auto;
}

.marquee--run .marquee__item {
  transform: translateX(0%);
  transition: none;
  will-change: transform;
  animation: marquee-animation var(--duration, 2s) linear 0s infinite reverse;
}

/* Tone down the animation to avoid vestibular motion triggers. */
@media (prefers-reduced-motion) {
  .marquee--run .marquee__item {
    animation: none;
  }
}
html.energy-saver .marquee--run .marquee__item {
  animation: none;
}
html.energy-saver .marquee--run {
  overflow-x: auto;
  overflow-y: clip;
}

/* -------------- */
/* --- Light / Dark Mode --- */
html,
body {
  color: var(--color-text);
  background: var(--color-background);
}

/* ----------------------------------- */
/* --- Large Pointer Cursor --- */
a,
button,
.btn,
summary,
input,
textarea,
select,
option,
label,
[role=button],
[role=link],
[onclick],
[tabindex]:not([tabindex="-1"]),
[contenteditable=true] {
  cursor: url(../assets/cursor/cursor_small_hand.cur) 5 0, pointer;
}

/* ----------------------------------- */
/* --- Short Pages --- */
/* ------------------------------------ */
/* --- Swup.js for Page Transitions --- */
/* Define a transition duration during page visits */
html.is-changing .transition-fade {
  transition: opacity 0.4s;
  opacity: 1;
}

/* Define the styles for the unloaded pages */
html.is-animating .transition-fade {
  opacity: 0;
}
