@charset "UTF-8";
@font-face {
  font-family: "Neulis Cursive";
  src: url("/fonts/NeulisCursive-Regular.woff2") format("woff2"), url("/fonts/NeulisCursive-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Neulis Neue";
  src: url("/fonts/NeulisNeue-Regular.woff2") format("woff2"), url("/fonts/NeulisNeue-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Neulis Neue";
  src: url("/fonts/NeulisNeue-Light.woff2") format("woff2"), url("/fonts/NeulisNeue-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: "Neulis Neue";
  src: url("/fonts/NeulisNeue-LightItalic.woff2") format("woff2"), url("/fonts/NeulisNeue-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: "Neulis Neue";
  src: url("/fonts/NeulisNeue-SemiBold.woff2") format("woff2"), url("/fonts/NeulisNeue-SemiBold.woff") format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: "Neulis Neue";
  src: url("/fonts/NeulisNeue-SemiBoldItalic.woff2") format("woff2"), url("/fonts/NeulisNeue-SemiBoldItalic.woff2") format("woff");
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: "Neulis";
  src: url("/fonts/NeulisSans-Regular.woff") format("woff2"), url("/fonts/NeulisSans-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@media screen {
  :root {
    --fluid-16-20: clamp(1rem, 0.9286rem + 0.3571vi, 1.25rem);
    --fluid-18-24: clamp(1.125rem, 0.9855rem + 0.6977vw, 1.5rem);
    --fluid-20-32: clamp(1.25em, 0.9709em + 1.3953vw, 2em);
    --fluid-24-48: clamp(1.5em, 0.9419em + 2.7907vw, 3em);
    --fluid-24-64: clamp(1.5rem, 0.5698rem + 4.6512vw, 4rem);
    --fluid-32-80: clamp(2rem, 1.1429rem + 4.2857vw, 5rem);
    --fluid-32-96: clamp(2rem, 0.8571rem + 5.7143vw, 6rem);
    --mrgn: .5rem;
    --fill: .5rem;
    --pad: calc(var(--mrgn) + var(--fill));
    --pdng: 2.8rem;
    --mxp: 48em;
    --container-max: 74ch;
    --orange: #ff6f00;
    --yellow: #f7a300;
    --beige: #feead3;
    --blue: #23485a;
    --blue_medium: #7dc9d3;
    --blue_light: #d5ecf4;
    --green: #00b5a1;
    --green_light: #d6ebe2;
    --white: #ffffff;
    --white_hsl: 0deg 0% 100%;
    --black: #000000;
    --black_hsl: 0deg 0% 0%;
    --main_color: var(--blue);
    --brds: 1em;
  }
  html {
    height: 100%;
    box-sizing: border-box;
    -ms-text-size-adjust: 100%;
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
    line-height: 1.15;
    scroll-behavior: smooth;
    accent-color: inherit;
  }
  *, *::before, *::after {
    box-sizing: inherit;
  }
  body {
    min-height: 100%;
    margin: 0;
    color: var(--main_color);
    font-family: "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-size: 100%;
    line-height: 1.4;
    letter-spacing: 0.02em;
    overscroll-behavior-y: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  }
  h1 {
    margin: 1.333em 0 0.67em 0;
    font-size: var(--fluid-24-48);
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.025em;
  }
  h1 .alt {
    fill: var(--blue_light);
  }
  h1 svg {
    vertical-align: top;
    height: 1.8em;
    margin-right: 1em;
  }
  h2 {
    margin: 2em 0 1em;
    font-size: var(--fluid-24-48);
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: 0.025em;
  }
  h3, h4, h5, h6 {
    margin: 1.4em 0 0;
    font-size: 100%;
  }
  h3 {
    font-size: 125%;
    font-size: 112.5%;
    line-height: 1.2;
  }
  h3 + * {
    margin-top: 0.5rem;
  }
  h4 + *, h5 + * {
    margin-top: 0.25em;
  }
  a {
    color: inherit;
    background-color: transparent;
  }
  b, strong {
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 600;
  }
  em, i {
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  }
  img {
    max-width: 100%;
    height: auto;
    border: 0;
    -ms-interpolation-mode: bicubic;
  }
  svg {
    max-width: 100%;
    height: auto;
  }
  svg:not(:root) {
    overflow: hidden;
  }
  video, picture, canvas, iframe, object {
    display: block;
    max-width: 100%;
    height: auto;
  }
  figure {
    margin-left: auto;
    margin-right: auto;
  }
  figure img {
    vertical-align: top;
  }
  details {
    margin: 1.4em 0;
  }
  summary {
    cursor: pointer;
    list-style: none;
  }
  ::-webkit-details-marker {
    display: none;
  }
  hr {
    height: 0;
    margin: 2.8em auto;
    color: inherit;
    border: none;
    border-top: 1px solid var(--blue_medium);
  }
  hr + * {
    margin-top: 0;
  }
  button, summary {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  [hidden] {
    display: none;
  }
  .visually_hidden, .vh, .js #news_pagination {
    position: absolute;
    clip: rect(0 0 0 0);
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
  .pill, footer li a, footer p:last-child a, button[type=submit], .lbx figcaption, main a[title=""], .lead a[title=""], #menu > li > a {
    display: inline-block;
    padding: 0.375em 1.5em;
    line-height: 1.25;
    color: var(--black);
    text-decoration: none;
    background: var(--orange);
    border: 0;
    border-radius: 999px;
    transition: color 0.2s, background-color 0.2s;
  }
  .center {
    text-align: center;
  }
  .center p {
    max-width: none;
  }
  .justify p {
    max-width: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .justify p a[title=""] {
    margin-right: 0;
  }
  /* HEADER */
  header {
    position: fixed;
    position: absolute;
    top: 0;
    z-index: 100;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1em var(--fill);
    padding: 1em;
    transform: translateY(0);
    will-change: transform;
    transition: transform 1s;
    backface-visibility: hidden;
  }
  header > * {
    margin: 0;
  }
  header h1 {
    position: relative;
    z-index: 1;
    max-width: 62%;
    font-size: 100%;
    line-height: 1;
  }
  header h1 a {
    text-decoration: none;
  }
  header img {
    display: block;
    width: auto;
    height: 3em;
    margin-left: -0.5em;
  }
  header.sticky {
    transform: translateY(-100%);
  }
  #navicon {
    display: inline-block;
    cursor: pointer;
    height: calc(1.5em + 6px);
    margin: 0 0 0 auto;
    width: 3em;
    height: 3em;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font: inherit;
    background: var(--orange);
    border-radius: 999em;
  }
  #navicon span, #navicon span:before, #navicon span:after {
    height: 2px;
    width: 1.5em;
    background: var(--black);
    transition-timing-function: ease-in-out;
  }
  #navicon span {
    position: relative;
    display: inline-block;
    transition-duration: 0.1s, 0.1s;
    transition-delay: 0, 0;
    transition-property: background, width;
  }
  #navicon span:before, #navicon span:after {
    content: "";
    position: absolute;
    left: 0;
    transition-duration: 0.1s, 0.1s, 0.2s, 0.1s;
    transition-delay: 0.1s, 0, 0, 0;
  }
  #navicon span:before {
    top: -0.6em;
    transition-property: top, transform, background, width;
  }
  #navicon span:after {
    bottom: -0.6em;
    transition-property: bottom, transform, background, width;
  }
  #navicon[aria-expanded=true] span {
    background-color: transparent;
  }
  #navicon[aria-expanded=true] span:before, #navicon[aria-expanded=true] span:after {
    transition-delay: 0, 0.1s;
  }
  #navicon[aria-expanded=true] span:before {
    top: 0;
    transform: rotate(45deg);
  }
  #navicon[aria-expanded=true] span:after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  nav {
    text-align: center;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    line-height: 1.2;
    user-select: none;
  }
  nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  nav a {
    display: inline-block;
    text-decoration: none;
    transition: color 0.2s, background-color 0.2s;
  }
  nav a:not([href]) {
    cursor: pointer;
  }
  #logo {
    display: none;
  }
  #menu a {
    position: relative;
    display: inline-flex;
    align-items: center;
  }
  #menu > li {
    display: inline-block;
    vertical-align: top;
    margin: 0 0 1.25em 0;
  }
  #menu > li > a {
    color: var(--white);
    background: var(--blue);
  }
  #menu ul {
    margin: 1em 0;
  }
  #menu ul li a {
    padding: 0.375em 1.5em 0.375em 0;
  }
  #menu ul li a:before {
    content: "";
    opacity: 0;
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    background: var(--orange);
    border-radius: 999em;
    transition: opacity 0.25s;
  }
  #menu ul li a:hover:before {
    opacity: 1;
  }
  #menu [aria-current=page]:before {
    opacity: 1;
  }
  nav p {
    margin: 0;
    padding: 1em 0;
    text-align: center;
  }
  nav a[href^="/kontakt"], nav a[href^=tel] {
    display: inline-block;
    padding: 0.5em 1.25em;
    color: var(--black);
    background: var(--orange);
    border-radius: 999px;
  }
  nav a[href^="/kontakt"]:hover, nav a[href^=tel]:hover {
    color: var(--white);
    background: var(--blue);
  }
  nav p:last-child a {
    margin: 0 1em;
  }
  nav p svg {
    vertical-align: bottom;
    width: 1.4em;
    height: 1.4em;
  }
  /* INTRODUCTION */
  #intro {
    top: -1px;
    z-index: 0;
    min-height: 8em;
  }
  .banner {
    padding: 0;
  }
  .banner img {
    display: block;
  }
  .banner > * + * {
    display: none;
  }
  .slideshow {
    display: grid;
    grid-template-areas: "billboard";
    place-items: center;
  }
  .slideshow > * {
    grid-area: billboard;
    opacity: 0;
    transition: opacity 6s;
  }
  .slideshow > .current {
    opacity: 1;
  }
  .slideshow > * + * {
    display: block;
  }
  .lead {
    position: relative;
    padding-top: 10em;
    padding-top: 8em;
    padding-bottom: calc(var(--pdng) + var(--brds));
    padding-right: var(--pad);
    padding-left: var(--pad);
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  }
  .lead > * {
    position: relative;
    z-index: 3;
  }
  .lead h1 {
    max-width: 68vw;
    margin: 0 0 0.5em 0;
    font-family: "Neulis Cursive", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-size: var(--fluid-24-64);
    font-size: var(--fluid-32-80);
    line-height: 1;
  }
  .lead > p {
    max-width: 60ch;
    font-size: var(--fluid-16-20);
  }
  .lead p:last-of-type > a:only-child {
    margin-top: 1.4em;
  }
  .lead ul {
    position: relative;
    margin: 3em 0 0;
    padding: 2em 2em 0;
    list-style-type: none;
  }
  .lead ul:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2em;
    border-top: 2px solid;
    border-left: 2px solid;
    border-radius: var(--brds) 0 0 0;
  }
  .lead ul a {
    padding: 0.5em 0;
    display: flex;
    align-items: center;
    text-decoration: none;
    font-weight: bold;
  }
  .lead ul a:before {
    flex-shrink: 0;
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background: no-repeat center;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E %3Ccircle cx='20' cy='20' r='19.25' stroke='%2323485a' stroke-width='1.5' fill='transparent'/%3E %3Cpath fill='%2323485a' d='m20.047 9.227-1.1 1.1 7.54 7.5h-6.075a11.312 11.312 0 0 0-5.058 1.043 7.3 7.3 0 0 0-3.233 3.064 10 10 0 0 0-1.122 4.919v.965h1.538v-.73a7.728 7.728 0 0 1 1.995-5.671 7.729 7.729 0 0 1 5.749-2.021h6.232l-7.561 7.509 1.1 1.1 9.361-9.387-9.366-9.391Z'/%3E%3C/svg%3E");
    background-size: contain;
    transform: rotate(90deg);
    margin-right: 0.5em;
  }
  .lead ul a:hover:before {
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background: no-repeat center;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E %3Ccircle cx='20' cy='20' r='19.25' stroke='%2323485a' stroke-width='1.5' fill='%2323485a'/%3E %3Cpath fill='%23ffffff' d='m20.047 9.227-1.1 1.1 7.54 7.5h-6.075a11.312 11.312 0 0 0-5.058 1.043 7.3 7.3 0 0 0-3.233 3.064 10 10 0 0 0-1.122 4.919v.965h1.538v-.73a7.728 7.728 0 0 1 1.995-5.671 7.729 7.729 0 0 1 5.749-2.021h6.232l-7.561 7.509 1.1 1.1 9.361-9.387-9.366-9.391Z'/%3E%3C/svg%3E");
    background-size: contain;
  }
  .lead .signet {
    position: absolute;
    overflow: hidden;
    z-index: 2;
    width: 54vw;
    right: 0;
    top: 0;
    top: 50%;
    color: var(--orange);
    transform: translate3d(0, -50%, 0);
  }
  .lead .signet svg {
    transform: translate3d(15%, 0, 0);
  }
  .lead a[title=""]:hover {
    color: var(--white);
    background: var(--blue);
  }
  .banner + .lead {
    padding-top: var(--pdng);
  }
  .banner + .lead .signet {
    top: 0;
  }
  .logos {
    --altc: currentColor;
    position: absolute;
    top: calc(var(--pdng) - 1em);
    right: var(--mrgn);
  }
  .logos svg {
    display: block;
    font-size: var(--fluid-24-64);
    height: 1.4em;
    margin-bottom: 0.25em;
  }
  /* MAIN */
  main {
    position: relative;
    z-index: 1;
    margin-top: calc(var(--brds) * -1);
    background: var(--white);
    border-radius: var(--brds) var(--brds) 0 0;
  }
  main > * {
    padding-right: var(--pad);
    padding-left: var(--pad);
  }
  main > div, main > section, main > blockquote {
    position: relative;
    padding-top: var(--pdng);
    padding-bottom: var(--pdng);
  }
  main > div > *:first-child, main > section > *:first-child, main > blockquote > *:first-child {
    margin-top: 0;
  }
  main > div > *:last-child, main > section > *:last-child, main > blockquote > *:last-child {
    margin-bottom: 0;
  }
  main > section {
    background-color: var(--white);
  }
  main > div:first-child, main > section:first-child {
    border-radius: var(--brds) var(--brds) 0 0;
  }
  main > section[class]:after {
    content: "";
    position: absolute;
    bottom: calc(var(--brds) * -1);
    left: 0;
    right: 0;
    height: var(--brds);
    background: inherit;
  }
  main > *:after {
    color: var(--white);
  }
  main > section:last-child {
    padding-bottom: calc(var(--pdng) * 2);
  }
  main > section[class]:last-child:after {
    box-shadow: 0 20em 0 20em;
  }
  main p {
    max-width: var(--mxp);
  }
  main ul {
    padding-left: 1.5em;
  }
  main ul ::marker {
    color: var(--orange);
    font-size: 1rem;
  }
  main ul li {
    list-style-type: "●  ";
    margin-top: 0.7em;
  }
  main ol {
    padding-left: 1.5em;
  }
  main a {
    text-underline-offset: 0.125em;
    transition: text-decoration-color 0.25s;
  }
  main a:hover {
    text-decoration-color: var(--blue_medium);
  }
  main a[title=""] {
    margin-top: 1em;
    margin-right: 1em;
  }
  main a[title=""]:hover {
    color: var(--white);
    background: var(--blue);
  }
  main a[title=""][href$=".pdf"] {
    padding-right: 0.375em;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
  }
  main a[title=""][href$=".pdf"]:after {
    content: "";
    display: inline-flex;
    flex-shrink: 0;
    width: 1.75em;
    height: 1.75em;
    margin: -0.25em -0.25em -0.25em 1em;
    background: no-repeat center;
    background-size: contain;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E %3Cpath fill='none' stroke='%23000' stroke-width='1.5px' d='M.75 20C.75 9.376 9.376.75 20 .75S39.25 9.376 39.25 20 30.624 39.25 20 39.25.75 30.624.75 20Z'/%3E %3Cpath fill='%23000' d='M11.76 30.51v-1.5h16.49v1.5H11.76Zm.38-12.11 1.14-1.12 5.96 6.15V9.49h1.53v13.92l5.96-6.13 1.14 1.12-7.86 7.87-7.87-7.87Z'/%3E%3C/svg%3E");
  }
  main a[title=""][href$=".pdf"]:hover:after {
    filter: invert(100%);
  }
  main > *:last-child:not(section, div) {
    margin-bottom: 2.8em;
  }
  .beige {
    background-color: var(--beige);
  }
  main > .beige:after {
    color: var(--beige);
  }
  .gruen {
    background-color: var(--green_light);
  }
  main > .gruen:after {
    color: var(--green_light);
  }
  .blau {
    color: var(--white);
    background-color: var(--blue);
  }
  main > .blau:after {
    color: var(--blue);
  }
  .hellblau {
    background-color: var(--blue_light);
  }
  main > .hellblau:after {
    color: var(--blue_light);
  }
  .mittelblau {
    background: var(--blue_medium);
  }
  .gelb {
    background-color: var(--yellow);
  }
  main > .gelb:after {
    color: var(--yellow);
  }
  .weiss {
    background-color: var(--white);
  }
  .quote .signet {
    color: var(--yellow);
  }
  .hgroup {
    position: relative;
    z-index: 2;
    max-width: 28ch;
  }
  .hgroup em {
    display: block;
    margin: 0 0 1em 0;
    font-size: 1rem;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-style: normal;
    font-weight: bold;
  }
  .hgroup span {
    display: none;
  }
  .quote {
    position: relative;
    color: var(--white);
    background: var(--blue);
    border-radius: var(--brds) var(--brds) 0 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .quote blockquote {
    position: relative;
    z-index: 3;
    margin: 0;
    margin-left: 20%;
    font-size: var(--fluid-18-24);
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 300;
    font-style: italic;
    line-height: 1.25;
  }
  .quote cite {
    display: block;
    font-size: 1rem;
    font-family: "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-style: normal;
    line-height: 1.4;
  }
  .quote .signet {
    position: absolute;
    overflow: hidden;
    z-index: 2;
    width: 40%;
    top: 1em;
    left: 0;
  }
  .quote .signet svg {
    transform: translate3d(-15%, 0, 0);
  }
  .quote + div[class], .quote + section[class] {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .stoerer {
    position: absolute;
    z-index: 3;
    top: 0;
    left: var(--mrgn);
    min-width: 10em;
    aspect-ratio: 1/1;
    padding: 1.5em;
    display: flex;
    color: var(--white);
    font-size: clamp(0.75rem, 0.657rem + 0.4651vw, 1rem);
    text-align: center;
    background: var(--blue);
    border-radius: 999em;
    transform: translate3d(-10%, -80%, 0) rotate(-8deg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .stoerer > * {
    margin: auto;
  }
  .stoerer a {
    text-decoration: none;
  }
  .tiles {
    counter-reset: tls;
    margin: 2em 0;
    --grid-layout-gap: 1em;
    --grid-column-count: 3;
    --grid-item--min-width: 16em;
    --grid-layout-linegap: 1em;
    --gap-count: calc(var(--grid-column-count) - 1);
    --total-gap-width: calc(var(--gap-count) * var(--grid-layout-gap));
    --grid-item--max-width: calc((100% - var(--total-gap-width)) / var(--grid-column-count));
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(max(var(--grid-item--min-width), var(--grid-item--max-width)), 1fr));
    grid-gap: var(--grid-layout-linegap) var(--grid-layout-gap);
  }
  .tiles.zwei {
    --grid-column-count: 2;
  }
  .tiles.vier {
    --grid-item--min-width: 12em;
    --grid-column-count: 4;
  }
  .tiles:has(.more), .tiles:has(.disclose) {
    --grid-layout-linegap: 2em;
  }
  .popups {
    margin-bottom: 2em;
  }
  .tile {
    position: relative;
    padding: 1em;
    display: flex;
    flex-direction: column;
    border-radius: var(--brds);
  }
  .tile > *:first-child {
    margin-top: 0;
  }
  .tile h3 {
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: bold;
  }
  .tile h3 img, .tile h3 svg {
    height: 3em;
    vertical-align: top;
  }
  .tile .subtitle {
    margin-top: 0;
  }
  .tile > figure {
    margin: auto -1em -1em -1em;
  }
  .tile figure {
    display: flex;
    justify-content: space-between;
    border-radius: var(--brds);
  }
  .tile figure > img:only-child {
    width: 100%;
  }
  .tile figure img:nth-last-child(2),
  .tile figure img:nth-last-child(2) + img {
    width: calc(50% - 0.5em);
  }
  .tile img {
    border-radius: var(--brds);
  }
  .link_tile {
    display: flex;
    flex-direction: column;
  }
  .link_tile h3 {
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 400;
  }
  .link_tile h3 a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .link_tile figure {
    margin-top: auto;
    background: var(--yellow);
  }
  .link_tile figcaption {
    aspect-ratio: 1/1;
    width: 100%;
    margin: 1em !important;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
  .link_tile figcaption p {
    margin: 0.5em 0;
    font-size: 125%;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 100;
  }
  .link_tile a {
    text-decoration: none;
  }
  .link_tile > a:last-child {
    --afll: var(--orange);
    position: absolute;
    left: 50%;
    bottom: 0;
    color: var(--blue);
    transform: translate(-50%, 50%);
    transition: color 0.25s;
  }
  .link_tile:hover > a:last-child {
    color: var(--white);
  }
  .txtonly .lower {
    padding: 1em;
  }
  .upper {
    margin-bottom: 1em;
  }
  .upper > *:first-child {
    margin-top: 0;
  }
  .upper > *:last-child {
    margin-bottom: 0;
  }
  a.upper:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .lower {
    min-height: 1.4em;
    margin: auto -1em -1em;
    border-radius: var(--brds);
  }
  .lower > * {
    border-radius: inherit;
  }
  .lower > *:first-child {
    margin-top: 0;
  }
  .lower > *:last-child {
    margin-bottom: 0;
  }
  .liste {
    background: var(--blue_medium);
  }
  .liste .upper {
    padding-top: 0.5rem;
  }
  .liste .lower {
    min-height: 9em;
    background: var(--blue_light);
  }
  .liste:before {
    counter-increment: tls;
    content: counter(tls);
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 300;
    font-size: 150%;
    line-height: 1.5;
    color: var(--white);
    background: var(--blue);
    border-radius: 999em;
    transform: translate(-50%, -50%);
  }
  .liste h3 {
    max-width: 26ch;
    font-size: 125%;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
  }
  .blau {
    --altc: var(--white);
  }
  .blau .lower {
    color: var(--blue);
    background: var(--blue_light);
  }
  .gelb {
    --altc: var(--blue);
  }
  .gelb .lower {
    color: var(--blue);
    background: var(--beige);
  }
  .mittelblau {
    --altc: var(--blue);
  }
  .mittelblau .lower {
    background: var(--white);
  }
  .kontakt .tile:last-child,
  .kontakt .tile:last-child .lower {
    background-color: rgba(255, 255, 255, 0);
  }
  .kontakt .tile:last-child .upper {
    margin: -1em -1em 1em;
    padding: 1em;
    border-radius: var(--brds);
  }
  .kontakt .gelb:last-child .upper {
    background-color: var(--beige);
  }
  .kontakt .blau:last-child .upper {
    color: var(--blue);
    background-color: var(--blue_light);
  }
  .icn {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    width: 4em;
    height: 4em;
  }
  .icn + h3 {
    margin: 1.4em 0 0.5em 0;
    padding-right: 4em;
    font-family: "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 300;
    font-size: var(--fluid-18-24);
  }
  #map_wrap {
    position: relative;
    margin-left: calc(var(--pad) * -1);
    margin-right: calc(var(--pad) * -1);
  }
  #map_wrap h2 {
    margin-left: var(--pad);
    margin-top: 0;
  }
  #map {
    letter-spacing: initial;
    transform: scale(1.4);
    transform-origin: 100% 75%;
  }
  #map g[id]:hover text {
    fill: var(--blue_medium);
  }
  #map g[id] {
    position: relative;
    z-index: 3;
  }
  #map .bld {
    font-size: 14px;
  }
  #cards article {
    display: none;
    position: absolute;
    z-index: 4;
    left: var(--mrgn);
    top: 50%;
    width: 18em;
    max-width: calc(100vw - var(--mrgn) * 2);
    padding: 1.4em;
    color: var(--white);
    background: var(--blue);
    border-radius: 1em;
    transform: translate(0, -50%);
  }
  #cards article > *:first-child {
    margin-top: 0;
  }
  #cards article > *:last-child {
    margin-bottom: 0;
  }
  #cards article h4 {
    padding-right: 2em;
  }
  #cards article h4 + p {
    margin-top: revert;
  }
  #cards article.open {
    display: block;
  }
  #cards button {
    cursor: pointer;
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    padding: 0;
    color: var(--blue);
    background: rgba(0, 0, 0, 0);
    border: 0;
    transform: rotate(45deg);
  }
  #cards button svg {
    pointer-events: none;
    display: block;
    width: 2em;
  }
  #cards button:hover {
    color: var(--white);
  }
  .button_btn, #modal_overlay_close, .disclose {
    cursor: pointer;
    margin: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0);
    border: none;
  }
  .button_btn svg, #modal_overlay_close svg, .disclose svg {
    pointer-events: none;
  }
  .disclose {
    position: absolute;
    left: 50%;
    bottom: 0;
    color: var(--black);
    transform: translate(-50%, 50%);
  }
  .disclose:hover {
    color: var(--white);
  }
  .js .popups .post_content {
    display: none;
  }
  .js .popups .tile {
    cursor: pointer;
  }
  .sidebar_image, .columns > *:nth-child(2) img, .wrp aside img {
    position: relative;
    z-index: 3;
    display: inline-block;
    max-width: 18em;
    vertical-align: top;
    border-radius: var(--brds);
  }
  .wrp .txt > *:first-child {
    margin-top: 0;
  }
  .wrp .txt > *:last-child {
    margin-bottom: 0;
  }
  .wrp .txt li + li {
    margin-top: 0.5em;
  }
  .wrp aside {
    margin: 1.4em 0 0 0;
    word-spacing: 1.4em;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
  }
  .wrp aside img {
    margin: 0 auto 1.4em;
  }
  .wrp figcaption {
    margin-top: 0.25em;
  }
  .columns > *:first-child > *:first-child {
    margin-top: 0;
  }
  .columns > *:first-child > *:last-child {
    margin-bottom: 0;
  }
  .columns > *:nth-child(2) > * {
    margin: 0 auto 1.4em;
    word-spacing: initial;
  }
  .columns > aside {
    margin: 1.4em 0 0 0;
    word-spacing: 1.4em;
    text-align: center;
  }
  .columns > *:nth-child(2) ~ * {
    display: none;
  }
  .columns figcaption {
    margin-top: 0.25em;
  }
  .donate {
    margin: 2.8em 0;
    border-radius: var(--brds);
  }
  .donate .txt {
    position: relative;
    padding: 1.5em 3em 1em 1em;
  }
  .donate .txt > *:first-child {
    margin-top: 0;
  }
  .donate .txt > *:last-child {
    margin-bottom: 0;
  }
  .donate h2, .donate h3 {
    margin: 0;
    font-size: 100%;
    font-weight: bold;
  }
  .donate h2 + *, .donate h3 + * {
    margin-top: 0.25em;
  }
  .donate svg:last-child, .donate .txt img:last-child {
    position: absolute;
    right: 1em;
    bottom: 0;
    max-width: 28vw;
    transform: translateY(calc(50vw - 1em));
  }
  .donate aside {
    height: 50vw;
    overflow: hidden;
    border-radius: 0 0 var(--brds) var(--brds);
  }
  .donate aside img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .donate svg * {
    transition: fill 0.2s;
  }
  .donate svg:hover ellipse {
    fill: var(--blue) !important;
  }
  .donate svg:hover path {
    fill: var(--white);
  }
  .lbx {
    position: relative;
    position: relative;
    z-index: 3;
  }
  .lbx a:first-child:after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .lbx figcaption {
    margin-top: 0.75em;
    margin-left: 1rem;
    color: var(--blue);
    background: rgba(255, 255, 255, 0);
    border: 1px solid;
  }
  @keyframes highlight {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  summary > span {
    display: flex;
    align-items: center;
  }
  summary svg {
    width: 2em;
    height: 2em;
    margin-right: 1em;
    transform: rotate(0);
    transition: transform 0.25s;
  }
  summary.nosm > span:after {
    content: "Mehr erfahren";
    display: inline;
  }
  [open] > summary svg {
    transform: rotate(-90deg);
  }
  [open] > .nosm > span:after {
    content: "Schließen";
  }
  [open] > summary + div {
    animation: highlight 1s;
  }
  .impressions {
    position: relative;
    z-index: 2;
    margin: 0;
    padding: 0;
  }
  .impressions img {
    display: block;
    width: 100%;
    border-radius: var(--brds);
  }
  .impressions + section[class] {
    margin-top: calc(var(--brds) * 2 * -1);
    padding-top: calc(var(--brds) * 2 + var(--pdng));
  }
  .facts ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8em, 1fr));
    gap: 1em;
    padding: 0;
    list-style-type: none;
    line-height: 1;
  }
  .facts li {
    position: relative;
    padding: 1em 0;
    text-align: center;
    white-space: nowrap;
    list-style-type: none;
  }
  .facts li:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1em;
    border-top: 1px solid;
    border-right: 1px solid;
    border-radius: 0 var(--brds) 0 0;
  }
  .facts strong {
    display: block;
    font-size: var(--fluid-32-96);
    font-weight: 400;
    color: var(--orange);
  }
  .footnotes {
    margin-top: 3em;
  }
  .footnotes hr {
    display: none;
  }
  .footnotes ol {
    padding: 0;
    font-size: 87.5%;
    line-height: 1.4;
  }
  .supplement {
    --afll: var(--orange);
    margin: 2.8em auto;
    background: var(--beige);
    border-radius: var(--brds);
  }
  .supplement summary {
    padding: 1em;
  }
  .supplement summary svg {
    flex-shrink: 0;
    margin: 0;
    transform: rotate(90deg);
  }
  .supplement[open] summary svg {
    transform: rotate(-90deg);
  }
  .supplement h3 {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .supplement div {
    padding: 0 1em 3em 1em;
  }
  .supplement div > *:first-child {
    margin-top: 0;
  }
  .supplement div > *:last-child {
    margin-bottom: 0;
  }
  .supplement div > * {
    max-width: var(--mxp);
    margin-left: auto;
    margin-right: auto;
  }
  #modal_overlay {
    position: fixed;
    z-index: -1;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 4.5em var(--pad) 1em;
    display: flex;
    background: var(--blue);
    transform: translate3d(0, -100%, 0);
  }
  #modal_overlay.show {
    z-index: 100;
    opacity: 1;
    transform: translate3d(0, 0%, 0);
  }
  #modal_overlay_content {
    overflow-y: auto;
    max-height: 100%;
    max-width: 40em;
    margin: auto;
    border-radius: var(--brds);
    background: var(--white);
  }
  #modal_overlay_content > * {
    margin: 0;
  }
  #modal_overlay_content .disclose, #modal_overlay_content .more {
    display: none;
  }
  #modal_overlay_close {
    position: absolute;
    top: 1em;
    right: 1em;
    transform: rotate(45deg);
  }
  #modal_overlay_close svg {
    width: 2.5em;
  }
  #modal_overlay_close:hover {
    color: var(--white);
  }
  article h1 {
    margin: 1rem 0 1em;
  }
  .pubdate {
    margin-bottom: 0;
  }
  .news article {
    --astrk: transparent;
    --afll: var(--orange);
    position: relative;
    padding: 1em;
    display: flex;
    flex-direction: column;
    border-radius: var(--brds);
  }
  .news article:hover {
    --afll: var(--blue);
  }
  .news article:hover .more {
    color: var(--white);
  }
  .news h3 {
    margin: 0.5em 1em 0.5em 0;
    font-weight: 300;
    font-size: var(--fluid-18-24);
  }
  .news h3 a {
    text-decoration: none;
  }
  .news h3 a:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .news .more {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
  }
  article[data-idx="1"] {
    background-color: var(--green_light);
  }
  article[data-idx="2"] {
    background-color: var(--white);
  }
  article[data-idx="3"] {
    background-color: var(--blue_light);
  }
  #news {
    --grid-item--min-width: 18em;
  }
  #news .tile {
    background: var(--beige);
  }
  #news .tile:nth-child(3n+1) {
    background: var(--green_light);
  }
  #news .tile:nth-child(3n+3) {
    background: var(--blue_light);
  }
  #news_pagination {
    padding-top: 0;
    text-align: center;
  }
  .pagination {
    list-style-type: none;
  }
  .pagination li {
    display: inline-block;
  }
  .pagination a, .pagination span {
    display: inline-block;
    padding: 1em;
  }
  .js #news_loader {
    display: block;
  }
  #news_loader {
    --cstrk: var(--blue);
    --cfll: rgba(0,0,0,0);
    display: none;
    padding-top: 0;
    text-align: center;
  }
  .fin ~ #news_loader {
    opacity: 0.4;
    pointer-events: none;
  }
  #news_loader p {
    max-width: none;
  }
  #news_loader button {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    background: none;
    border: 0;
  }
  #news_loader button:hover {
    --cstrk: var(--orange);
    --cfll: var(--orange);
  }
  #news_loader svg {
    width: 2em;
    height: 2em;
    margin-right: 1em;
  }
  .story img {
    border-radius: var(--brds);
  }
  .story aside figcaption {
    padding-top: 0.5em;
  }
  .poster {
    margin-bottom: 4em;
  }
  .poster > div {
    background-color: var(--green_light);
    border-radius: var(--brds);
  }
  .back {
    margin-top: 1.4em;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }
  .back:hover {
    --astrk: var(--orange);
    --afll: var(--orange);
  }
  .back svg {
    width: 2em;
    height: 2em;
    margin-right: 1em;
  }
  .job_summary {
    position: relative;
    z-index: 2;
    padding: 1em 4em 1em 1em;
    color: var(--white);
    background: var(--blue);
    border-radius: var(--brds);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .job_summary + .job_summary {
    margin-top: 1em;
  }
  .job_summary > * {
    margin: 0;
    line-height: 1.4;
  }
  .job_summary p {
    max-width: none;
  }
  .job_summary a {
    text-decoration: none;
  }
  .job_summary a:after {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .job_summary .more {
    --astrk: transparent;
    --afll: var(--orange);
    position: absolute;
    right: 1em;
    top: 50%;
    color: var(--blue);
    width: 2em;
    height: 2em;
    transform: translate(0, -50%);
    transition: transform 0.4s;
  }
  .job_summary .more circle {
    transition: fill 0.4s;
  }
  .job_summary:hover .more {
    --afll: var(--white);
  }
  .jobs {
    margin-bottom: 2.8em;
  }
  .job summary {
    list-style: none;
    user-select: none;
  }
  .job + .job {
    margin-top: 1em;
  }
  .job[open] .more {
    transform: translate(0, -50%) rotate(-90deg);
  }
  .job_description {
    margin-top: calc(var(--brds) * -1);
    padding: calc(var(--brds) + 1.4em) 1.4em 3em 1em;
    background: var(--blue_light);
    border-radius: 0 0 var(--brds) var(--brds);
  }
  .job_description > *:first-child {
    margin-top: 0;
  }
  .job_description > *:last-child {
    margin-bottom: 0;
  }
  .job_description h3 {
    margin: 2em 0 1em;
    font-family: "Neulis Neue", "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 400;
  }
  .job_description li + li {
    margin-top: 0.5em;
  }
  .job_description .cta {
    margin-top: 2em;
  }
  #stimmen h3 {
    margin: 1em 0;
    font-family: "Neulis", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    font-weight: 300;
  }
  /* FORMS */
  *:focus:not(:focus-visible) {
    outline: none;
  }
  button, input, optgroup, select, textarea {
    font: inherit;
    line-height: 1.15;
    margin: 0;
  }
  textarea {
    resize: vertical;
  }
  button > * {
    pointer-events: none;
  }
  button, input {
    overflow: visible;
  }
  button, select {
    text-transform: none;
  }
  button, [type=button], [type=reset], [type=submit] {
    -webkit-appearance: button;
  }
  button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }
  button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }
  form {
    max-width: var(--mxp);
    line-height: 1.5;
  }
  form p {
    margin: 1.5em 0;
  }
  fieldset {
    padding: 0;
    margin: 0;
    border: none;
  }
  fieldset p > label:first-child {
    display: block;
    margin-bottom: 0.25em;
  }
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=date],
  input[type=number],
  textarea {
    appearance: none;
    display: block;
    width: 100%;
    padding: 0.375em 1em;
    color: var(--black);
    background: var(--blue_light);
    border: 2px solid var(--blue_light);
    border-radius: 1em;
    box-shadow: 0 0 0 2px transparent;
    outline: none;
    transition: border-color 0.25s;
  }
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=tel]:focus,
  input[type=date]:focus,
  input[type=number]:focus,
  textarea:focus {
    box-shadow: 0 0 0 2px var(--blue);
  }
  input[type=number] {
    width: 5em;
  }
  input.invalid {
    box-shadow: 0 0 0 2px var(--orange);
  }
  .req:after {
    content: " *";
  }
  input[type=file] {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
    text-overflow: ellipsis;
    padding-left: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: 0;
  }
  input[type=file]::-webkit-file-upload-button {
    margin-right: 1em;
    padding: 0.5em 1.5em;
    color: var(--black);
    background: var(--blue_light);
    border: none;
    border-radius: 1.1em;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
  }
  input[type=file]::before {
    display: inline-block;
    margin-right: 1em;
    padding: 0.5em 1.5em;
    color: var(--black);
    background: var(--blue_light);
    border-radius: 1.1em;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    cursor: pointer;
  }
  select {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 0.5em 36px 0.5em 0.5em;
    background: calc(100% - 10px) 50% no-repeat var(--blue_light);
    border: none;
    border-radius: 0;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='7'%3E  %3Cpath fill='%2323485a' d='M7.4 4.2L1.2 0 0 1.8l7.4 5 7.5-5L13.7 0 7.4 4.2z'/%3E%3C/svg%3E");
    background-size: 16px;
    border-radius: 1.1em;
    outline: transparent;
  }
  select:focus {
    color: var(--blue);
  }
  select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
  }
  .combo {
    margin: 1em 0;
    display: flex;
    justify-content: space-between;
  }
  .combo p {
    margin: 0;
  }
  .combo p:first-child {
    width: calc(30% - 0.5em);
  }
  .combo p:first-child + p {
    width: 70%;
  }
  .tick {
    display: block;
  }
  .tick input[type=hidden] {
    position: absolute;
  }
  .tick input[type=checkbox],
  .tick input[type=radio] {
    position: absolute;
    clip: rect(0 0 0 0);
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
  .tick label {
    display: inline-block;
    min-height: 2.2em;
    padding-right: 1.4em;
    padding-left: 3rem;
  }
  .tick label:before {
    content: "";
    float: left;
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin-top: -0.25em;
    margin-left: -3rem;
    margin-right: 0.5em;
    vertical-align: top;
    cursor: pointer;
    background: no-repeat center var(--blue_light);
    border: none;
    border-radius: 999em;
    transition: all 0.2s ease-out;
  }
  .tick input[type=radio] + label:before {
    border-radius: 100%;
    border: 0.6em solid transparent;
  }
  .tick input[type=radio]:checked + label:before {
    background-color: var(--blue);
    border-color: var(--blue_light);
  }
  .tick input[type=checkbox] + label:before {
    background-size: 1.4rem;
  }
  .tick input[type=checkbox]:checked + label:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 64 64'%3E%3Cpath fill='%2323485a' d='M60.455 6.113c-18.252 11.191-31.496 25.31-37.447 32.394L8.436 27.09 2 32.278l25.181 25.609C31.515 46.787 45.241 25.091 62 9.676l-1.545-3.563Z' style='fill-rule:nonzero'/%3E%3C/svg%3E");
  }
  .submission {
    margin-top: 2em;
  }
  button[type=submit] {
    cursor: pointer;
    background: var(--orange);
  }
  #ds {
    hyphens: auto;
  }
  #ds a {
    word-break: break-all;
  }
  .av figure {
    height: 100%;
  }
  .av .prvw {
    position: relative;
  }
  .av .mov {
    display: none;
    height: 100%;
  }
  .av img, .av video {
    vertical-align: top;
    max-height: 100%;
  }
  .av.ready .prvw {
    cursor: pointer;
  }
  .av.ready .prvw:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    aspect-ratio: 1;
    height: 32%;
    transform: translate(-50%, -50%);
    background: no-repeat center;
    background-image: url("data:image/svg+xml;charset=utf8,<svg width='44px' height='44px' viewBox='0 0 44 44' xmlns='http://www.w3.org/2000/svg' ><path d='M22,44 C34.15,44 44,34.15 44,22 C44,9.85 34.150,0 22,0 C9.85,0 0,9.85 0,22 C0,34.15 9.85,44 22,44 Z M37,22 L13,34 L13,10 L37,22 Z' fill='%23ff6f00'></path></svg>");
    background-size: cover;
  }
  .av.fs {
    position: fixed;
    z-index: 100000;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 10%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--blue) no-repeat 98% 20px;
    background-size: 3em;
    background-image: url("data:image/svg+xml;charset=utf8,<svg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'><g transform-origin='center' transform='rotate(45)'> <circle fill='%23ff6f00' r='20' cx='20' cy='20'></circle><path class='cross' fill='%23fff' d='M19.227 31.429v-10.66H8.571v-1.543h10.658V8.571h1.542v10.656h10.658v1.543H20.771v10.659h-1.544Z'></path></g></svg>");
  }
  .av.fs .prvw {
    display: none;
  }
  .av.fs .mov {
    display: block;
    cursor: pointer;
  }
  body:has(.fs) #sitemap, body:has(.fs) #skip {
    display: none;
  }
  /* */
  .fin {
    position: relative;
    display: grid;
    grid-template-areas: "cntr";
    grid-template-rows: initial;
    place-content: center;
    background: var(--blue);
  }
  .fin main {
    overflow-y: auto;
    width: min(100% - var(--fill) * 2, var(--container-max, 74ch));
    max-height: 92vh;
    margin: auto;
    padding: clamp(1em, var(--pad), 3rem);
    padding-right: min(14%, 4.2rem);
    background: var(--white);
    border-radius: var(--brds);
  }
  .fin main > * {
    padding-right: 0;
    padding-left: 0;
  }
  .fin main > *:first-child {
    margin-top: 0;
  }
  .fin main > *:last-child {
    margin-bottom: 0;
  }
  .fin main > p:last-child a[title]:only-child {
    display: inline-flex;
    align-items: center;
    padding-right: 0.25em;
  }
  .fin main > p:last-child a[title]:only-child:after {
    flex-shrink: 0;
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background: no-repeat center;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E %3Ccircle cx='20' cy='20' r='19.25' stroke='%23000000' stroke-width='1.5' fill='transparent'/%3E %3Cpath fill='%23000000' d='m20.047 9.227-1.1 1.1 7.54 7.5h-6.075a11.312 11.312 0 0 0-5.058 1.043 7.3 7.3 0 0 0-3.233 3.064 10 10 0 0 0-1.122 4.919v.965h1.538v-.73a7.728 7.728 0 0 1 1.995-5.671 7.729 7.729 0 0 1 5.749-2.021h6.232l-7.561 7.509 1.1 1.1 9.361-9.387-9.366-9.391Z'/%3E%3C/svg%3E");
    background-size: contain;
    width: 1.75em;
    height: 1.75em;
    margin-left: 0.5em;
  }
  .fin main > p:last-child a[title]:only-child:hover:after {
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    background: no-repeat center;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E %3Ccircle cx='20' cy='20' r='19.25' stroke='%23ffffff' stroke-width='1.5' fill='%2323485a'/%3E %3Cpath fill='%23ffffff' d='m20.047 9.227-1.1 1.1 7.54 7.5h-6.075a11.312 11.312 0 0 0-5.058 1.043 7.3 7.3 0 0 0-3.233 3.064 10 10 0 0 0-1.122 4.919v.965h1.538v-.73a7.728 7.728 0 0 1 1.995-5.671 7.729 7.729 0 0 1 5.749-2.021h6.232l-7.561 7.509 1.1 1.1 9.361-9.387-9.366-9.391Z'/%3E%3C/svg%3E");
    background-size: contain;
    width: 1.75em;
    height: 1.75em;
  }
  #leave_page {
    display: none;
    position: absolute;
    z-index: 2;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
  }
  /* FOOTER */
  footer {
    position: sticky;
    z-index: 2;
    top: 100vh;
    margin-left: var(--mrgn);
    margin-right: var(--mrgn);
    padding-top: 1.4em;
    padding-bottom: 1.4em;
    padding-right: var(--fill);
    padding-left: var(--fill);
    display: grid;
    grid-template-areas: "lg sm" "ul ul";
    grid-template-columns: 1fr 1fr;
    gap: 1.4em 1em;
    align-items: center;
    color: var(--white);
    background: var(--blue);
    border-radius: var(--brds) var(--brds) 0 0;
  }
  footer > *:first-child {
    grid-area: lg;
    margin-top: 0;
  }
  footer p:last-child {
    grid-area: sm;
    justify-self: end;
  }
  footer a {
    text-decoration: none;
  }
  footer svg {
    vertical-align: top;
  }
  footer p {
    max-width: 10em;
    margin: 0 auto;
  }
  footer ul {
    grid-area: ul;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    list-style-type: none;
    line-height: 1.2;
  }
  footer ul > li {
    flex: 0 0 calc(50% - 0.5em);
  }
  footer ul > li a {
    display: block;
    text-align: center;
  }
  footer li a, footer p:last-child a {
    display: inline-block;
    white-space: nowrap;
    padding: 0.5em 0.75em;
    color: var(--blue);
    background: var(--white);
    border-radius: 999px;
  }
  footer li a:hover, footer p:last-child a:hover {
    color: var(--white);
    background: var(--orange);
  }
  footer li {
    margin: 0.75em 0;
  }
  footer p:last-child {
    word-spacing: 0.5em;
  }
  footer p:last-child a {
    padding: 0.5em;
  }
  footer p:last-child svg {
    vertical-align: top;
    width: 1.2em;
    height: 1.2em;
  }
  #skip {
    position: fixed;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    right: 0;
    bottom: 3em;
    padding: 0.5em 1em 0.5em 1em;
    background: var(--white);
    border-radius: 999em 0 0 999em;
    transition: opacity 0.4s;
  }
  #skip svg {
    width: 1.5em;
    height: 1.5em;
    display: block;
  }
  .off_screen ~ #skip {
    opacity: 1;
    pointer-events: auto;
  }
  /* baguettebox */
  /*!
   * baguetteBox.js
   * @author  feimosi
   * @version %%INJECT_VERSION%%
   * @url https://github.com/feimosi/baguetteBox.js
   */
  #baguetteBox-overlay {
    display: none;
    opacity: 0;
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000000;
    background-color: #222;
    background-color: var(--blue);
    transition: opacity 0.5s ease;
  }
  #baguetteBox-overlay.visible {
    opacity: 1;
  }
  #baguetteBox-overlay .full-image {
    display: inline-block;
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
  }
  #baguetteBox-overlay .full-image figure {
    display: inline;
    margin: 0;
    height: 100%;
  }
  #baguetteBox-overlay .full-image img {
    display: inline-block;
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    max-height: 90%;
    max-width: 90%;
    vertical-align: middle;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.6);
    border-radius: var(--brds);
  }
  #baguetteBox-overlay .full-image figcaption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 0.5em 1em;
    text-align: center;
    line-height: 1.4;
    white-space: normal;
    color: #ccc;
    background-color: #000;
    background-color: rgba(0, 0, 0, 0.6);
    font-family: sans-serif;
  }
  #baguetteBox-overlay .full-image:before {
    content: "";
    display: inline-block;
    height: 50%;
    width: 1px;
    margin-right: -1px;
  }
  #baguetteBox-slider {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    white-space: nowrap;
    transition: left 0.4s ease, transform 0.4s ease;
  }
  #baguetteBox-slider.bounce-from-right {
    animation: bounceFromRight 0.4s ease-out;
  }
  #baguetteBox-slider.bounce-from-left {
    animation: bounceFromLeft 0.4s ease-out;
  }
  @keyframes bounceFromRight {
    0% {
      margin-left: 0;
    }
    50% {
      margin-left: -30px;
    }
    100% {
      margin-left: 0;
    }
  }
  @keyframes bounceFromLeft {
    0% {
      margin-left: 0;
    }
    50% {
      margin-left: 30px;
    }
    100% {
      margin-left: 0;
    }
  }
  .baguetteBox-button#previous-button, .baguetteBox-button#next-button {
    top: 50%;
    top: calc(50% - 22px);
    width: 3em;
    height: 3em;
  }
  .baguetteBox-button {
    position: absolute;
    cursor: pointer;
    outline: none;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 999em;
    background-color: rgba(0, 0, 0, 0);
    color: var(--blue);
    transition: background-color 0.4s ease;
  }
  .baguetteBox-button:hover {
    color: var(--white);
  }
  .baguetteBox-button#next-button {
    right: 2%;
  }
  .baguetteBox-button#previous-button {
    left: 2%;
  }
  .baguetteBox-button#close-button {
    top: 20px;
    right: 2%;
    right: 2%;
    width: 3em;
    height: 3em;
  }
  .baguetteBox-button svg {
    position: absolute;
    left: 0;
    top: 0;
  }
  /*
      Preloader
      Borrowed from http://tobiasahlin.com/spinkit/
  */
  .baguetteBox-spinner {
    width: 40px;
    height: 40px;
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -20px;
    margin-left: -20px;
  }
  .baguetteBox-double-bounce1,
  .baguetteBox-double-bounce2 {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #fff;
    opacity: 0.6;
    position: absolute;
    top: 0;
    left: 0;
    animation: bounce 2s infinite ease-in-out;
  }
  .baguetteBox-double-bounce2 {
    animation-delay: -1s;
  }
  @keyframes bounce {
    0%, 100% {
      transform: scale(0);
    }
    50% {
      transform: scale(1);
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media only screen and (min-width: 24em) {
  :root {
    --mq: "24";
  }
  #navicon {
    width: 3.5em;
    height: 3.5em;
  }
  #navicon span, #navicon span:before, #navicon span:after {
    width: 1.75em;
  }
  #navicon span:before {
    top: -0.7em;
  }
  #navicon span:after {
    bottom: -0.7em;
  }
  #map .bld {
    font-size: 15px;
  }
  #map .bld ~ tspan {
    display: inline;
  }
}
@media only screen and (min-width: 35em) {
  :root {
    --mq: "35";
    --mrgn: 1rem;
    --fill: 1rem;
    --brds: 1.5em;
  }
  header img {
    max-height: 4em;
  }
  #navicon {
    width: 4em;
    height: 4em;
  }
  #navicon span, #navicon span:before, #navicon span:after {
    width: 2em;
  }
  .lead ul {
    width: min-content;
    min-width: 50%;
  }
  .lead ul a {
    white-space: nowrap;
  }
  #news_digest {
    display: grid;
    grid-template-areas: "a b" "a c";
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
  #news_digest article {
    margin: 0;
  }
  article[data-idx="1"] {
    grid-area: a;
  }
  article[data-idx="2"] {
    grid-area: b;
  }
  article[data-idx="3"] {
    grid-area: c;
  }
  #map {
    transform: scale(1.2);
  }
}
@media only screen and (max-width: 43.999em) {
  header:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: hsl(var(--white_hsl) / 92%);
    transform: translate3d(0, -100%, 0);
    transition: transform 0.2s;
  }
  .nvopen header {
    position: fixed;
  }
  .nvopen header:before {
    transform: translate3d(0, 0, 0);
  }
  #sitemap {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--hhght, 6em) + 1em);
    background: var(--white);
    transform: translate3d(0, -110%, 0);
    transition: transform 0.5s;
  }
  .nvopen header {
    position: fixed;
  }
  .nvopen header:before {
    transform: translate3d(0, 0, 0);
  }
  .nvopen #sitemap {
    transform: translate3d(0, 0, 0);
  }
  @supports (height: 100dvh) {
    #sitemap {
      height: 100dvh;
    }
    .nvopen {
      overflow: hidden;
    }
  }
  nav p {
    padding: 1em 0;
  }
  #menu > li {
    display: block;
  }
  #menu ul {
    position: absolute;
    top: -999em;
    left: -999em;
  }
  #menu .reveal + ul {
    position: static;
  }
  #menu + p + p {
    margin-top: auto;
  }
}
@media only screen and (min-width: 44em) {
  :root {
    --mq: "44";
    --mrgn: 1.5rem;
    --fill: 1.5rem;
  }
  body {
    display: grid;
    grid-template-areas: "head" "preface" "content" "foot";
    grid-template-columns: 1fr;
    grid-template-rows: auto max-content 1fr auto;
    gap: 0;
  }
  header {
    position: absolute;
    clip: rect(0 0 0 0);
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
  }
  #sitemap {
    grid-area: head;
    position: fixed;
    z-index: 100;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    align-items: flex-start;
    gap: 0 0.5em;
    font-size: 87.5%;
    text-align: left;
    padding: 1em var(--mrgn) 1em 1em;
    padding: 1em;
    padding-top: 1.5em;
    transform: translate3D(0, 0, 0);
    transition: transform 0.5s;
  }
  #sitemap.off_screen {
    transform: translate3D(0, -100%, 0);
  }
  #sitemap p {
    padding: 0;
  }
  #sitemap:before {
    content: "";
    position: absolute;
    opacity: 0;
    z-index: -1;
    top: 0;
    left: 0;
    right: 0;
    height: 19em;
    background: var(--white);
    border-radius: 0 0 var(--brds) var(--brds);
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
    transform: translate3d(0, -100%, 0);
    transition: transform 0.2s, opacity 0.2s;
  }
  #sitemap.extended:before {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: transform 0.2s, opacity 0.4s;
  }
  #sitemap a[href^=tel] {
    display: none;
  }
  #sitemap p:last-child {
    white-space: nowrap;
    word-spacing: 0.5em;
  }
  #sitemap p:last-child a {
    display: inline-block;
    margin: 0;
    padding: 0.4em;
    background: var(--white);
    border-radius: 999px;
  }
  #sitemap p:last-child a:hover {
    color: var(--white);
    background: var(--blue);
  }
  #logo {
    display: block;
    margin-right: 1em;
    transform: translateY(-6%);
  }
  #logo svg {
    max-width: 12em;
    vertical-align: top;
    width: 100%;
  }
  .a125 #sitemap {
    align-items: flex-start;
  }
  .a125 #logo svg {
    max-width: 13em;
  }
  #menu {
    position: relative;
    justify-self: center;
    margin: 0 auto;
    display: flex;
    background: var(--white);
    border-radius: 999em;
  }
  #menu:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: var(--mlft, 0);
    width: var(--mwdth, 0);
    height: 100%;
    background: var(--main_color);
    border-radius: 999em;
    transition: width, left;
    transition-duration: 0.1s;
  }
  #menu.transit:before {
    transition-duration: 0s;
  }
  #menu > li:first-child {
    display: none;
  }
  #menu > li {
    margin: 0;
  }
  #menu > li + li {
    margin-right: 2vw;
    margin-right: 0;
  }
  #menu > li:last-child {
    margin-right: 0;
  }
  #menu > li > a {
    padding-left: 0.75em;
    padding-right: 0.75em;
    white-space: nowrap;
    color: var(--main_color);
    background-color: transparent;
    transition: color 0.2s, background-color 0.2s;
  }
  #menu ul {
    display: none;
    position: absolute;
    margin: 0;
    margin-left: 0.75em;
    padding: 2em 0 0 0;
    transition: transform 0.2s;
  }
  #menu ul:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 1em;
    left: -1em;
    right: -1em;
    bottom: -1em;
    border-radius: 1em;
  }
  #menu ul li a {
    padding: 0.25em 0;
  }
  #menu ul li a:before {
    content: none;
  }
  #menu ul a:hover,
  #menu ul [aria-current=page] {
    color: var(--orange);
  }
  #menu > li:hover ul {
    display: block;
    transform: translateY(0%);
  }
  #menu + p {
    margin: 0;
    justify-self: flex-end;
  }
  #menu + p ~ * {
    display: none;
  }
  #menu [aria-current=page] {
    font-weight: normal;
  }
  .ready #menu > li:hover > a {
    color: var(--white);
  }
  .ready #menu > li.active > a,
  .ready #menu > li.current > a {
    color: var(--white);
  }
  .ready #menu:hover > li.active > a,
  .ready #menu:hover > li.current > a {
    color: var(--main_color);
  }
  .ready #menu:hover > li.active:hover > a,
  .ready #menu:hover > li.current:hover > a {
    color: var(--white);
  }
  #intro {
    grid-area: preface;
  }
  #intro.sticks {
    position: sticky;
  }
  #intro.sticks.faded {
    opacity: 0;
  }
  main {
    grid-area: content;
  }
  #map .bld {
    font-size: 11px;
  }
  #map .xtn {
    display: inline;
  }
  .donate {
    display: flex;
  }
  .donate .txt {
    flex: 4;
    display: flex;
    flex-direction: column;
  }
  .donate p:has(a[title]) {
    padding-top: 1em;
    margin-top: auto;
    margin-bottom: 2em;
  }
  .donate svg:last-child, .donate .txt img:last-child {
    transform: translate(75%, 20%);
  }
  .donate aside {
    flex: 3;
    height: initial;
    aspect-ratio: 1/1;
    border-radius: 0 var(--brds) var(--brds) 0;
  }
  .kontakt .tile:last-child:has(img + img) {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1em;
  }
  .kontakt .tile:last-child:has(img + img) .upper {
    order: 2;
    padding: 0 0 0 1em;
  }
  .kontakt .tile:last-child:has(img + img) > figure {
    margin: -1em 0 -1em -1em;
  }
  .kontakt .tile:last-child:has(img + img) img {
    flex-shrink: 0;
  }
  .kontakt .tile:last-child .upper {
    margin: -1em -1em -1em 0;
    padding: 1em !important;
  }
  footer {
    grid-area: foot;
    display: flex;
    align-items: center;
  }
  footer p:first-child {
    flex-grow: 0;
    width: 6em;
    margin: 0 1em 0 0;
  }
  footer ul {
    font-size: 75%;
    flex-grow: 1;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  footer ul > li {
    flex: initial;
  }
  footer ul > li a {
    display: inline-block;
  }
  footer li {
    flex: 0 0 auto;
    margin: 0 0.5em 0 0;
    text-align: center;
  }
  footer li a {
    padding: 0.5em 1.25em;
  }
  footer li:last-child {
    margin: 0;
  }
  footer p:last-child {
    flex-grow: 0;
    width: auto;
    white-space: nowrap;
    word-spacing: initial;
  }
}
@media only screen and (min-width: 48em) {
  :root {
    --mq: "48";
  }
  #sitemap {
    grid-template-columns: 10em 1fr 8em;
  }
}
@media only screen and (min-width: 52em) {
  :root {
    --mq: "52";
    --mrgn: 2rem;
    --fill: 2rem;
    --pdng: 4.2rem;
  }
  #sitemap {
    font-size: 93.75%;
    padding-top: 2em;
  }
  #menu > li > a {
    padding-left: 1em;
    padding-right: 1em;
  }
  #menu ul {
    margin-left: 1em;
  }
  .quote blockquote {
    margin-left: 30%;
    margin-right: 10%;
  }
  .cols, .columns, .wrp {
    display: grid;
    grid-template-areas: "mn sd";
    grid-template-columns: 2fr 1fr;
    gap: 4em;
    margin-right: calc(var(--fill) * -1);
  }
  .wrp .txt {
    grid-area: mn;
  }
  .wrp aside {
    grid-area: sd;
    margin: 0;
    word-spacing: initial;
    text-align: initial;
  }
  .wrp aside img {
    display: block;
    max-width: 100%;
  }
  .columns > *:first-child {
    grid-area: mn;
  }
  .columns > *:nth-child(2) {
    margin: 0;
    grid-area: sd;
    word-spacing: initial;
    text-align: initial;
    transform: translateX(0);
  }
  .columns > *:nth-child(2) img {
    display: block;
    max-width: 100%;
  }
  .bildoben aside {
    position: relative;
  }
  .bildoben aside img {
    transform: translateY(calc((var(--pdng) + 50%) * -1));
  }
  .bildoben aside figure {
    position: absolute;
    transform: translateY(calc((var(--pdng) + 50%) * -1));
  }
  .bildoben aside figure img {
    transform: none;
  }
  section:has(.bildoben) .hgroup {
    max-width: 24ch;
  }
  .bildunten aside {
    position: relative;
  }
  .bildunten aside img {
    transform: translateY(calc(25% + var(--pdng)));
  }
  .bildunten aside figure {
    position: absolute;
    transform: translateY(calc(25% + var(--pdng)));
  }
  .bildunten aside figure img {
    transform: none;
  }
  .wrp:has(details) > *:last-child img ~ img, .columns:has(details) > *:last-child img ~ img {
    display: none;
  }
  .wrp:has(details[open]) > *:last-child img ~ img, .columns:has(details[open]) > *:last-child img ~ img {
    display: block;
  }
  .lbx figcaption {
    margin-left: 0;
  }
  #modal_overlay {
    position: fixed;
    z-index: -1;
    opacity: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1em var(--pad);
  }
  #leave_page {
    display: block;
  }
  footer ul {
    font-size: 81.25%;
  }
}
@media only screen and (min-width: 64em) {
  :root {
    --mq: "64";
    --mrgn: 3rem;
    --fill: 3rem;
  }
  #sitemap {
    font-size: 100%;
  }
  #menu > li > a {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  #menu ul {
    margin-left: 1.5em;
  }
  #map_wrap {
    position: relative;
    margin-top: calc(var(--pdng) * -1);
    margin-left: calc(var(--pad) * -1);
    margin-right: calc(var(--pad) * -1);
  }
  #map_wrap h2 {
    position: absolute;
    z-index: 2;
    top: var(--pdng);
    left: var(--pad);
    margin: 0;
  }
  #map {
    transform: none;
  }
  #cards article {
    top: var(--cy, 50%);
  }
  footer p:first-child {
    width: 8em;
  }
  footer ul {
    font-size: 87.5%;
  }
  footer li {
    margin-right: 1em;
  }
}
@media only screen and (min-width: 72em) {
  :root {
    --mq: "72";
    --mrgn: 4rem;
    --fill: 4rem;
    --brds: 2em;
  }
  #sitemap {
    gap: 0 2em;
  }
  #sitemap p:last-child {
    display: initial;
    word-spacing: 1em;
  }
  footer ul {
    font-size: 100%;
  }
  footer p:first-child {
    width: 10em;
  }
  footer p:last-child {
    word-spacing: 0.5em;
  }
}
@media only screen and (min-width: 80em) {
  :root {
    --mq: "80";
    --mrgn: 6rem;
    --fill: 6rem;
    --brds: 1.5em;
  }
  #intro {
    min-height: 10em;
  }
  #standorte tspan {
    font-size: 9px;
  }
}
@media only screen and (min-width: 90em) {
  :root {
    --mq: "90";
    --mrgn: 7rem;
    --fill: 6rem;
    --pdng: 4rem;
  }
}
@media only screen and (min-width: 91em) {
  :root {
    --mq: "91";
  }
  html {
    font-size: 1.111vw;
  }
}
@media print {
  * {
    color: #000 !important;
    text-shadow: none !important;
    background-color: transparent !important;
  }
  body {
    margin: 1cm;
    font: 12pt/1.2 "Helvetica Neue", sans-serif;
  }
  h1 {
    font-size: 125%;
  }
  h2 {
    font-size: 112.5%;
  }
  h3, h4, h5, h6 {
    font-size: 100%;
    margin: 0;
  }
  h2, h3 {
    page-break-after: avoid;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  ul, ol {
    page-break-inside: avoid;
  }
  li {
    margin: 0 0 0 1em;
    padding: 0;
  }
  a, a:visited {
    text-decoration: underline;
  }
  img {
    max-width: 100% !important;
    height: auto;
    page-break-inside: avoid;
  }
  pre, blockquote {
    padding: 1em;
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  hr {
    margin: 2em 0;
    border: 0;
    border-bottom: 1px solid #000;
  }
  table {
    page-break-inside: auto;
  }
  tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }
  thead {
    display: table-header-group;
  }
  tfoot {
    display: table-footer-group;
  }
  /*
  #divs {
  display : none;
  }
  */
}
.dev body:before {
  content: var(--mq);
  position: fixed;
  z-index: 1000;
  bottom: 10px;
  left: 10px;
  padding: 0.5em 2em;
  color: #fff;
  background: rgba(0, 0, 0, 0.7);
  -webkit-font-smoothing: antialiased;
}
