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

:focus-visible {
  outline-offset: 3px;
}

:where(html) {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
  scrollbar-gutter: stable;
  line-height: 1.5;
}

:where(h1) {
  margin-block: .67em;
  font-size: 2em;
}

:where(abbr[title]) {
  cursor: help;
  text-decoration-line: underline;
  text-decoration-style: dotted;
}

@media (forced-colors: active) {
  mark {
    color: highlighttext;
    background-color: highlight;
  }
}

:where(del, ins, s):before, :where(del, ins, s):after {
  content: "test";
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(100%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

:where(s):before {
  content: "stricken text start ";
}

:where(s):after {
  content: " stricken text end";
}

:where(del):before {
  content: "deletion start ";
}

:where(del):after {
  content: " deletion end";
}

:where(ins):before {
  content: "insertion start ";
}

:where(ins):after {
  content: " insertion end";
}

:where(audio, iframe, img, svg, video) {
  max-block-size: 100%;
  max-inline-size: 100%;
}

:where(fieldset) {
  min-inline-size: 0;
}

:where(label):has( + :where(textarea, input, select)) {
  display: block;
}

:where(textarea:not([rows])) {
  min-block-size: 6em;
}

:where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}

:where([type="search"]) {
  -webkit-appearance: textfield;
}

@supports (-webkit-touch-callout: none) {
  :where([type="search"]) {
    border: 1px solid -apple-system-secondary-label;
    background-color: canvas;
  }
}

:where([type="tel"], [type="url"], [type="email"], [type="number"]):not(:placeholder-shown) {
  direction: ltr;
}

:where(table) {
  border-collapse: collapse;
  border: 1px solid;
}

:where(th, td) {
  border: 1px solid;
  padding: .25em .5em;
}

:where(dialog)::backdrop {
  background: lab(0% 0 0 / .3);
}

:where(dialog), :where(dialog)::backdrop {
  transition: opacity .3s ease-out, display .3s allow-discrete, overlay .3s allow-discrete;
  opacity: 0;
}

:where(dialog[open]), :where(dialog[open])::backdrop {
  opacity: 1;
}

@starting-style {
  :where(dialog[open]), :where(dialog[open])::backdrop {
    opacity: 0;
  }
}

[hidden]:not([hidden="until-found"]) {
  display: none !important;
}

:root {
  --ff-primary: soleil, avenir-next-lt-pro, system-ui;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fs-base: 1rem;
  --fs-body: clamp(1.0625rem, .776rem + .5961vw, 1.3125rem);
  --fs-md: clamp(1rem, .8567rem + .2981vw, 1.125rem);
  --fs-sm: .875rem;
  --fs-h1: 1.5rem;
  --fs-h2: var(--fs-body);
  --fs-h3: var(--fs-body);
  --lh-header: 2rem;
  --lh-base: 1.5;
  --lh-body: var(--lh-base);
  --lh-sm: 1.2;
  --panel-spacer-outside: clamp(3rem, -.4382rem + 7.1535vw, 6rem);
  --panel-spacer-inside: clamp(2rem, -2.5842rem + 9.538vw, 6rem);
  --page-max-width: 94rem;
  --page-offset: 0;
  --clr-bg: #fff;
  --clr-text: #212121;
  --clr-text-muted: #737373;
  --clr-focus: #5299e0;
}

body {
  background-color: var(--clr-bg);
  font-family: var(--ff-primary);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  text-rendering: optimizelegibility;
  margin: 0;
}

:is(h1, h2, h3, h4) {
  line-height: var(--lh-sm, 1.2);
}

:is(h2, h3, h4):not(:first-child) {
  margin-block-start: 2em;
}

a {
  color: var(--clr-text);
  text-underline-offset: .15em;
  text-decoration: none;
}

a:hover {
  color: var(--clr-text);
  text-decoration: underline;
}

.small {
  font-size: var(--fs-sm);
}

img {
  height: auto;
}

figure {
  margin: 0;
}

.img-caption {
  font-size: var(--fs-sm);
}

.list-inline {
  margin-block: 0;
  padding-inline-start: 0;
  list-style-type: "";
}

.list-inline li {
  display: inline;
}

.list-inline li + li:before {
  content: "|";
  padding-inline: .625ch;
}

h1 {
  font-size: 1.5rem;
  font-weight: var(--fw-bold);
  line-height: var(--lh-header);
  margin-block: 0;
}

h2 {
  font-size: var(--fs-body);
  font-weight: var(--fw-semibold);
}

.page-wrapper {
  max-width: var(--page-max-width, 80rem);
  margin-block: var(--page-offset, 0);
  margin-inline: auto;
}

.panels {
  display: grid;
}

@media (width > 53em) {
  .panels {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (width <= 53em) {
  .panels {
    scroll-snap-type: y mandatory;
    height: 100dvh;
    overflow-y: scroll;
  }

  .panels:has(.smallprint) {
    scroll-snap-align: none;
    height: auto;
  }
}

.panel {
  width: 100%;
  padding-inline: var(--panel-spacer-outside, 3rem);
  font-size: var(--fs-body);
}

@media (width > 53em) {
  .panel {
    grid-row: span 3;
    grid-template-rows: subgrid;
    display: grid;
  }
}

@media (width <= 53em) {
  .panel {
    scroll-snap-align: start;
    flex-direction: column;
    height: 100dvh;
    display: flex;
  }
}

.panel:nth-child(odd) {
  padding-inline-end: var(--panel-spacer-inside, 2rem);
}

.panel:nth-child(2n) {
  padding-inline-start: var(--panel-spacer-inside, 2rem);
}

@media (width <= 53em) {
  .panel {
    --panel-spacer-inside: var(--panel-spacer-outside);
  }
}

.panel-header, .panel-footer {
  line-height: var(--lh-header);
}

.panel-header {
  min-height: var(--header-height, 7rem);
  margin-block: 3rem 0;
}

@media (width <= 53em) {
  .panel-header {
    --header-height: 0;
    height: fit-content;
  }
}

.panel-footer {
  margin-block: 2rem 3rem;
}

@media (width <= 53em) {
  .panel-footer {
    order: 4;
  }
}

.panel-body {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.panel-body :where(h2, p, li, dt, dd) {
  margin-block: 0;
}

@media (width <= 53em) {
  #title .panel-body {
    justify-content: space-evenly;
  }

  .panels:has(.smallprint) #body.panel {
    scroll-snap-align: none;
    height: auto;
  }

  .panels:has(.smallprint) #body .panel-body {
    height: auto;
  }

  .panels:has(.smallprint) #body .panel-footer {
    margin-block-start: auto;
    padding-block-start: 2rem;
  }

  .hero {
    width: var(--hero-pic-width, 76vw);
    max-width: calc(100vw - 2 * var(--panel-spacer-outside));
    margin-inline: auto;
  }
}

blockquote.hero-body {
  margin-block: 3rem 0;
  margin-inline: 0;
}

blockquote.hero-body span {
  float: right;
}

blockquote.hero-body span:before {
  content: "(";
}

blockquote.hero-body span:after {
  content: ")";
}

.header-links li abbr {
  display: none;
}

.header-links.shorten li abbr {
  display: inline;
}

.header-links.shorten li span {
  display: none;
}

.footer-links {
  font-size: var(--fs-md);
  text-transform: lowercase;
}

.aktuelles {
  margin-block-start: 3rem;
}

@media (width <= 53em) {
  .aktuelles {
    order: 1;
  }
}

.aktuelles img {
  width: fit-content;
  max-height: var(--aktuelles-img-h, 12rem);
}

.aktuell + .aktuell {
  margin-block-start: 3rem;
}

.aktuell :where(h2, p, li, dt, dd) {
  margin-block: 0 var(--flow-space, 1.5rem);
}

.aktuell h2 {
  --flow-space: .5rem;
}

@media (width <= 53em) {
  .details-virtual {
    order: 2;
    margin-block-start: auto;
  }
}

@media (width > 53em) {
  .details-virtual {
    margin-block-start: -.375rem;
  }
}

@media (width <= 53em) {
  .details-physical {
    order: 3;
    margin-block-start: .75rem;
  }
}

@media (width > 53em) {
  .details-physical {
    margin-block-start: auto;
  }
}

@keyframes fader {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.fading-slideshow {
  grid-template-areas: "slideshow";
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  position: relative;
}

.fading-slideshow > li {
  background-color: #fff;
  grid-area: slideshow;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.fading-slideshow > li:first-of-type {
  z-index: 20;
  animation-name: fader;
  animation-duration: 1s;
  animation-delay: 8s;
}

.fading-slideshow > li:nth-of-type(2) {
  z-index: 10;
}

.fading-slideshow > li:nth-of-type(n+3) {
  display: none;
}

.smallprint > * {
  font-size: var(--fs-md);
  margin-block-start: .75rem;
}

.smallprint h3 {
  font-weight: var(--fw-semibold);
}

.smallprint a {
  text-decoration: underline dotted;
}

.sr-only, .visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}
/*# sourceMappingURL=styles.css.map */
