@charset "UTF-8";
/* literata-500 - latin */
@font-face { font-family: 'Literata'; font-style: normal; font-weight: 500; src: local(""), url("/fonts/literata-v23-latin-500.woff2") format("woff2"), url("/fonts/literata-v23-latin-500.woff") format("woff"); }
/* roboto-regular - latin */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local(""), url("/fonts/roboto-v29-latin-regular.woff2") format("woff2"), url("/fonts/roboto-v29-latin-regular.woff") format("woff"); }
/* roboto-italic - latin */
@font-face { font-family: 'Roboto'; font-style: italic; font-weight: 400; src: local(""), url("/fonts/roboto-v29-latin-italic.woff2") format("woff2"), url("/fonts/roboto-v29-latin-italic.woff") format("woff"); }
/* roboto-700 - latin */
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 700; src: local(""), url("/fonts/roboto-v29-latin-700.woff2") format("woff2"), url("/fonts/roboto-v29-latin-700.woff") format("woff"); }
@media screen, projection { :root { --fill: .5em; --stroke: .75em; --hhght: 4.2em; --fhght: 3em; }
  html { height: 100%; box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; line-height: 1.15; scroll-behavior: smooth; }
  *, *::before, *::after { box-sizing: inherit; }
  body { min-height: 100%; max-width: 100em; margin: 0 auto; padding: 0; color: #111; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Roboto, "Segoe UI", sans-serif; font-size: 100%; line-height: 1.4; }
  h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; }
  h1 { margin: 1.333em 0 .67em 0; color: #00354e; font-family: Literata, serif; font-size: 150%; font-weight: 500; letter-spacing: .025em; }
  h2 { margin: 2em 0 .5em; font-size: 125%; }
  h3, h4, h5, h6 { margin: 1.4em 0 0; font-size: 100%; }
  h3 + * { margin-top: .5rem; }
  h4 + *, h5 + * { margin-top: 0; }
  a { color: inherit; background-color: transparent; }
  b, strong { font-weight: bolder; }
  img { max-width: 100%; height: auto; border: 0; -ms-interpolation-mode: bicubic; }
  img:not([alt]) { filter: grayscale(100%); }
  img[src$=".svg"] { width: 100%; height: auto; max-width: none; }
  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; }
  [lang="en"] q:before { content: '“'; }
  [lang="en"] q:after { content: '”'; }
  hr { height: 0; margin: 1.4em auto; color: inherit; border: none; border-top: 1px solid; }
  hr + * { margin-top: 0; }
  *:focus:not(:focus-visible) { outline: none; }
  button, input, optgroup, select, textarea { font: inherit; line-height: 1.15; margin: 0; }
  textarea { resize: vertical; }
  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; }
  fieldset { padding: 0; margin: 0; border: none; }
  button, summary { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  [hidden] { display: none; }
  .visually_hidden, .vh { position: absolute; clip: rect(0 0 0 0); overflow: hidden; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; }
  /* LAYOUT */
  body > * { padding-left: 1em; padding-right: 1em; padding-left: var(--fill); padding-right: var(--fill); }
  /* */
  #splash { position: fixed; z-index: 20; opacity: 1; top: 0; left: 0; right: 0; bottom: 0; background-color: #fff; background-image: linear-gradient(to bottom, #a6afbe, #949dac 40%, #e0e9f8 55%, #ecf3fd 65%, #d8deee); transform: translate3d(0, 0, 0); transition: opacity .5s, transform 1s; }
  #splash.fading { opacity: 0; transform: translate3d(0, -25%, 0); }
  .splash_image { position: absolute; z-index: 0; top: 0; left: 0; right: 0; bottom: 0; }
  .splash_image img { display: block; width: auto; height: 100%; -o-object-fit: cover; object-fit: cover; }
  .splash_text { position: absolute; z-index: 1; top: 40%; right: 10vw; }
  .splash_text h1 { margin: 0; font-size: clamp(2rem, 4vw, 9rem); line-height: 1.2; text-indent: -12vw; text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.3); filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.7)); }
  .splash_text q:before { color: #e30613; font-size: 150%; }
  .splash_text [lang="en"] q:after { content: '”'; }
  /* */
  nav { color: #00354e; }
  nav button { cursor: pointer; padding: 0; background: none; border: 0; }
  nav ul { margin: 0; padding: 0; list-style: none; }
  nav a { text-decoration: none; transition: color .2s; }
  nav .current a, nav .active a, nav a:hover { color: rgba(0, 53, 78, 0.5); }
  #navicon, #navicon:before, #navicon:after { height: .2em; width: 2em; background: #00354e; border-radius: 2px; transition-timing-function: ease-in-out; }
  #navicon { position: relative; display: inline-block; vertical-align: middle; margin-top: -.1em; transition-duration: .3s; transition-delay: 0; transition-property: background; }
  #navicon:before, #navicon:after { content: ''; position: absolute; left: 0; transition-duration: .15s, .15s; transition-delay: .15s, 0s; transform-origin: 50% 50%; }
  #navicon:before { top: -.5em; transition-property: top, transform; }
  #navicon:after { bottom: -.5em; transition-property: bottom, transform; }
  [aria-expanded="true"] #navicon { background-color: transparent; transition-duration: .2s; }
  [aria-expanded="true"] #navicon:before, [aria-expanded="true"] #navicon:after { transition-delay: 0s, .2s; transform-origin: 50% 50%; }
  [aria-expanded="true"] #navicon:before { top: 0; transform: rotate3d(0, 0, 1, 45deg); }
  [aria-expanded="true"] #navicon:after { bottom: 0; transform: rotate3d(0, 0, 1, -45deg); }
  #menu { position: fixed; z-index: 10; width: 100%; top: calc(var(--hhght) + var(--stroke)); bottom: var(--fhght); left: -100%; padding: 1em var(--fill); background: #fff; background: rgba(255, 255, 255, 0.98); transform: translateX(-100%); transition: transform .2s; }
  .open { overflow: hidden; }
  .open #menu { overflow-y: auto; left: 0; transform: translateX(0); }
  .open footer { top: initial; bottom: 0; background: #fff; background: rgba(255, 255, 255, 0.98); border-top: 1px solid rgba(0, 53, 78, 0.2); }
  #meta { display: -ms-flexbox; display: flex; -ms-flex-pack: end; justify-content: flex-end; text-transform: uppercase; line-height: 1; font-size: 87.5%; }
  #meta li + li { margin-left: .5em; padding-left: .6em; border-left: 1px solid #111; }
  #navigation { padding: 2vw 0; font-size: 112.5%; }
  #navigation a { display: block; padding: 2vw 0; }
  #navigation li + li { border-top: 1px solid rgba(0, 53, 78, 0.2); }
  /* */
  header { min-height: 4.2em; padding-top: .75em; padding-bottom: .75em; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-align: center; align-items: center; }
  header h1 { max-width: 20rem; margin: 0; padding-right: 2.8rem; }
  header h1 a { display: block; }
  header h1 img { display: block; transform: translateY(7%); }
  [lang="de"] #meta [lang="en"] a { color: #e30613; }
  [lang="en"] #meta [lang="de"] a { color: #e30613; }
  [lang="de"] #meta [lang="de"] a, [lang="en"] #meta [lang="en"] a { pointer-events: none; }
  .banner { position: relative; height: 50vw; max-height: 80vh; max-height: min(76vh, 50em); padding: 0; color: #00354e; background: linear-gradient(to bottom, #a6afbe, #949dac 40%, #e0e9f8 55%, #ecf3fd 65%, #d8deee); border-top: var(--stroke) solid #00354e; backface-visiblity: hidden; }
  .plain .banner { height: 0; }
  .banner_wrap { height: 100%; overflow: hidden; display: grid; place-items: center; padding: 4vw var(--fill) 1em; transform: translateZ(0); }
  .hero { position: absolute; z-index: 0; top: 0; left: 0; right: 0; bottom: 0; transform: translate3d(0, var(--trly, 0), 0); }
  .hero img { display: block; width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; }
  .plx .hero { top: -10%; }
  .tp img { -o-object-position: top; object-position: top; }
  .btm img { -o-object-position: bottom; object-position: bottom; }
  .banner_content { position: relative; z-index: 2; justify-self: start; -ms-flex-item-align: start; align-self: start; }
  .banner_content h1 { opacity: .999; max-width: 80vw; margin: 0; margin-left: 12vw; text-indent: -12vw; font-size: clamp(1rem, 3vw, 2.2rem); line-height: 1.2; text-shadow: 1px 1px 0px rgba(255, 255, 255, 0.5); filter: drop-shadow(0 0 4px #fff); transform: translate3d(0, calc(var(--trly, 0) * 1.2), 0); }
  .banner_content q:before { color: #e30613; font-size: 150%; line-height: 0.9333333333; }
  [lang="en"] .banner_content q:before { line-height: 0; vertical-align: middle; }
  .banner_content h1 br { display: none; }
  .banner_content ul { padding: 0; }
  .banner_content li { list-style-type: '- '; }
  .home .hero img { -o-object-fit: contain; object-fit: contain; }
  .home .banner_content { width: 38%; justify-self: end; -ms-flex-item-align: center; align-self: center; }
  .home .banner_content h1 { margin-left: 0; color: #fff; font-size: clamp(1rem, 4vw, 2.5rem); text-shadow: 1px 1px 0px rgba(0, 53, 78, 0.1); filter: none; }
  .home .banner_content ul { margin-top: 2.8em; }
  .rght .banner_content { justify-self: end; }
  .jcntr .banner_content { justify-self: center; }
  .cntr .banner_content { -ms-flex-item-align: center; align-self: center; }
  .content { padding-top: max(1em, 4vw); padding-bottom: max(2.8em, 8vw); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
  main > *:first-child { margin-top: 0; }
  main > *:last-child { margin-bottom: 0; }
  main ul { padding-left: 1ch; }
  main ul li { list-style-type: '- '; }
  main li + li { margin-top: .25em; }
  aside { margin-top: 1.4em; }
  aside figure { margin: 0; }
  aside img { width: 14em; }
  aside figcaption { padding-left: 1em; font-size: 87.5%; font-style: italic; }
  address { font-style: normal; }
  #qr { margin: 1.4em 0; }
  #qr svg { width: 7em; height: auto; }
  /* */
  footer { position: -webkit-sticky; position: sticky; z-index: 11; top: 100vh; min-height: var(--fhght); display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; -ms-flex-pack: center; justify-content: center; background: transparent; transition: background .2s; }
  footer ul { width: 100%; margin: 0; padding: 0; list-style: none; text-align: center; display: -ms-flexbox; display: flex; }
  footer li { -ms-flex: 0 0 33.3%; flex: 0 0 33.3%; }
  footer a { display: block; text-align: center; text-decoration: none; } }
@media only screen and (max-width: 35em) { :root { --mq: '< 35'; }
  body { font-size: 93.75%; }
  .splash_text { top: 50%; }
  .banner { height: 62.5vw; }
  .banner h1 ~ * { font-size: 73.3333333333%; }
  .home .banner_content { width: 48%; }
  .home .banner_content ul { margin-top: 2em; } }
@media only screen and (min-width: 24em) { :root { --mq: '24'; --fill: 1em; } }
@media only screen and (min-width: 44em) { :root { --mq: '44'; --stroke: 1em; }
  header { padding-top: 1em; padding-bottom: 1em; }
  .banner_content h1 br { display: initial; }
  .home .banner_content p { margin-top: 2.8em; }
  .trfd .banner_content { transform: translate(-10%, -150%); }
  .jcntr .banner_content { transform: translate(10%, -15%); }
  .content { display: -ms-flexbox; display: flex; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
  .content > * { -ms-flex: 0 0 auto; flex: 0 0 auto; }
  .content:before { content: ''; width: 8%; }
  .content aside { width: 28%; padding-right: 2.8rem; padding-right: var(--gap); }
  .content main { width: 64%; }
  .contact { display: -ms-flexbox; display: flex; gap: var(--fill); }
  #qr { margin: 1em; }
  aside { display: -ms-flexbox; display: flex; -ms-flex-direction: column-reverse; flex-direction: column-reverse; -ms-flex-align: end; align-items: flex-end; }
  footer ul { text-align: left; }
  footer li { -ms-flex: 0 0 auto; flex: 0 0 auto; }
  footer a { margin-right: 1.4em; text-align: left; } }
@media only screen and (min-width: 52em) { :root { --mq: '52'; --gap: 2.8rem; }
  header { -ms-flex-align: unset; align-items: unset; }
  header h1 { -ms-flex-item-align: end; align-self: flex-end; width: 28%; max-width: none; padding-right: 2.8rem; padding-right: var(--gap, 2.8rem); }
  .home .banner_content p { margin-top: 4.2em; }
  nav { -ms-flex: 1 0 auto; flex: 1 0 auto; font-size: 93.75%; }
  nav button { display: none; }
  nav a { white-space: nowrap; }
  #menu { position: relative; width: auto; top: auto; left: auto; right: auto; bottom: auto; width: auto; height: 100%; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; transform: translateX(0); }
  #menu ul { display: -ms-flexbox; display: flex; line-height: 1; }
  #meta { margin: 0 0 auto 0; padding-bottom: .5em; }
  #meta span { position: absolute; clip: rect(0 0 0 0); overflow: hidden; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; }
  #navigation { margin: 0; padding: 0; font-size: 100%; }
  #navigation li:first-child { display: none; }
  #navigation li + li { margin-left: 1em; border-top: 0; }
  #navigation li:first-child + li { margin-left: 0; }
  #navigation a { padding: 0; }
  .open { overflow-y: initial; }
  .open #menu { overflow-y: initial; } }
@media only screen and (min-width: 64em) { :root { --mq: '64'; --fill: 3em; --gap: 3.5rem; }
  body { font-size: 106.25%; }
  header { padding-top: 1.4em; padding-bottom: 1.4em; }
  header h1 img { transform: translateY(5%); }
  nav { font-size: 100%; }
  .home .banner_content { font-size: 112.5%; } }
@media only screen and (min-width: 72em) { :root { --mq: '72'; --fill: 4.5em; --gap: 4.2rem; }
  body { font-size: 112.5%; }
  #navigation li + li { margin-left: 1.4em; } }
@media only screen and (min-width: 84em) { :root { --mq: '84'; }
  header h1 img { transform: translateY(6%); } }
@media only screen and (min-width: 100em) { :root { --mq: '100em'; --fill: 6em; }
  html { overflow-x: hidden; }
  body { font-size: 125%; }
  .banner:before { content: ''; position: absolute; z-index: -1; top: calc(var(--stroke) * -1); bottom: 0; left: 50%; margin-left: -50vw; width: 100vw; background: linear-gradient(to bottom, #a6afbe, #949dac 40%, #e0e9f8 55%, #ecf3fd 65%, #d8deee); background: rgba(216, 222, 238, 0.5); border-top: var(--stroke) solid #00354e; }
  .banner_wrap { box-shadow: 0 0 15px rgba(0, 0, 0, 0.5); } }
/* IE 10+ */
@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: .5em 2em; color: #fff; background: rgba(0, 0, 0, 0.7); -webkit-font-smoothing: antialiased; }
