:root {
  --color-muted: #666;
  --color-text: #111;

  --font-size-small: calc(17rem / 16);
  --line-height-small: 1.765;
  --font-size-1: calc(22rem / 16);
  --line-height-1: 1.727;
  --font-size-2: calc(28rem / 16);
  --line-height-2: 1.643;
  --font-size-3: calc(36rem / 16);
  --line-height-3: 1.611;
  --font-size-4: calc(45rem / 16);
  --line-height-4: 1.6;
  --font-size-5: calc(58rem / 16);
  --line-height-5: 1.569;
  --spacing-1: 0.252rem;
  --spacing-2: 0.408rem;
  --spacing-3: 0.630rem;
  --spacing-4: 1.068rem;
  --spacing-5: 1.727rem;
  --spacing-6: 2.795rem;
  --spacing-7: 4.522rem;
  --spacing-8: 7.317rem;
}

html,
body {
  padding: 0;
  margin: 0;
  font-family: "Open Sans", sans-serif;
}

body {
  font-size: var(--font-size-1);
}

a {
  color: inherit;
  text-decoration: none;
}

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

* {
  box-sizing: border-box;
}

h1, h2, h3, h4 {
  font-weight: 700;
}
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on January 19, 2021 */

@font-face {
  font-family: 'Open Sans';
  src: url('/static/fonts/opensans-italic-webfont.woff2') format('woff2'),
       url('/static/fonts/opensans-italic-webfont.woff') format('woff');
  font-weight: 400;
  font-style: italic;
}

@font-face {
  font-family: 'Open Sans';
  src: url('/static/fonts/opensans-regular-webfont.woff2') format('woff2'),
       url('/static/fonts/opensans-regular-webfont.woff') format('woff');
  font-weight: 400;
  font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/static/fonts/opensans-bold-webfont.woff2') format('woff2'),
         url('/static/fonts/opensans-bold-webfont.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Open Sans';
    src: url('/static/fonts/opensans-semibold-webfont.woff2') format('woff2'),
         url('/static/fonts/opensans-semibold-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
.container {
  min-height: 100vh;
  padding: 0 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.main {
  padding: 5rem 1rem;
  max-width: 50rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.nav {
  color: var(--color-muted);
}

.nav a {
  display: inline-block;
  padding: 0.5rem 2rem;
}

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

.footer {
  width: 100%;
  height: 100px;
  height: var(--spacing-7);
  border-top: 1px solid #eaeaea;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem 1rem;

  color: var(--color-muted);
  font-size: var(--font-size-small);
}

.footer img {
  margin-left: 0.5rem;
}

.footer a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer a:hover {
  color: var(--color-text);
}
.title { margin: 0; line-height: 1.15; font-size: var(--font-size-5); text-align: center; }
@media (max-width: 400px) { .title { font-size: var(--font-size-4); } }
.info { font-size: var(--font-size-small); }
a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 480px) { .footer { height: auto; min-height: var(--spacing-7); flex-wrap: wrap; padding: 1rem 0; } }

.legal {
  width: 100%;
  align-items: stretch;
  overflow-wrap: anywhere;
}
.legal section + section { margin-top: var(--spacing-6); }
.legal h1, .legal h2 { font-size: var(--font-size-3); }
.legal h3 { font-size: var(--font-size-2); }
.legal p { line-height: var(--line-height-1); }
.legal a { text-decoration: underline; }
#datenschutz { scroll-margin-top: 1rem; }
