@-webkit-viewport { width: device-width; }
@-moz-viewport { width: device-width; }
@-ms-viewport { width: device-width; }
@-o-viewport { width: device-width; }
@viewport { width: device-width; }
@media screen, projection { html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; background: #ebf0e1; }
  *, *:before, *:after { -webkit-box-sizing: inherit; -moz-box-sizing: inherit; box-sizing: inherit; }
  body { max-width: 64rem; margin: 0 auto; padding: 0; color: #76561e; font-family: Georgia, serif; font-size: 93.75%; line-height: 1.5; font-display: swap; background: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
  article, aside, footer, header, nav, section, figcaption, figure, main { display: block; }
  audio, video { display: inline-block; }
  p { margin: .5em 0; }
  h1 { margin: 1em 0; font-size: 106.6666666667%; text-transform: uppercase; letter-spacing: .2em; }
  h2, h3, h4 { font-size: 100%; margin: 1em 0 0; }
  h2 + *, h3 + *, h4 + * { 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; }
  svg:not(:root) { overflow: hidden; }
  figure { margin: 1em auto; }
  hr { height: 0; }
  /*  */
  header { overflow: auto; background: no-repeat center; background-image: url("/images/titel.jpg"); background-size: cover; }
  header h1 { margin: 3em 1rem 6em; font-size: 100%; text-align: right; }
  header img { max-width: 80%; }
  header p { margin: 0; padding: 1rem; text-align: center; color: white; font-size: 80%; font-size: 3.6vw; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; letter-spacing: .075em; background: #eb9234; }
  nav { position: -webkit-sticky; position: sticky; top: 0; z-index: 10000; padding: 0.5rem 1rem; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif; color: white; text-transform: uppercase; letter-spacing: .15em; background: #b0971a; box-shadow: 0 0.25em 0.5em -0.25em rgba(0, 0, 0, 0.3); }
  nav:before { content: ''; display: block; width: 64px; height: calc(1.5em + 1em); background: no-repeat left center; background-size: 2em; background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E    %3Cpath fill='%23fff' d='M36 19.4h2.3c.5 0 .9.2 1.4.3.5.1 1 .1 1.5 0 .4 0 .8.2 1.2.3.4.1.8 0 1.2.1.4.1.7.2 1 .3.4.1.8.3 1.1.3.4.1.8.1 1.1.3.6.3 1.3.2 2 .3 1.2.3 2.4.6 3.6 1 .5.2.9.7 1.3.9 1.4.9 2.2 2.4 3 4.1.5 1 .9 1.9 1.2 3 .2.8.4 1.6.5 2.4.2.7.1 1.6.1 2.4v1.7c0 1.5-.4 2.9-.6 4.4-.1.5-.2.9-.3 1.3-.2 1.2-.8 2.1-1.2 3.1-.8 1.8-1.8 3.3-2.9 4.8-.5.7-1.1 1.4-1.6 2.2-.5.8-1.3 1.4-2.1 1.8-.9.5-1.8 1.3-2.8 1.7-1 .5-1.8 1-2.8 1.6-.4.3-.8.2-1.2.4-.7.3-1.5.3-2.2.3-.5.1-.9.5-1.4.3-.4-.1-.9-.2-1.2.3H38c-1.1.1-2.1.2-3.2.3-.5.1-1 .3-1.5.3s-1 .1-1.5 0c-1.5-.3-3-.6-4.5-1.5-1-.7-2-1.2-3.2-1-1.1.1-2.1-.5-3.2-.3-1.1.1-2.1 0-3.2.1-1 .1-1.9.3-2.9.6s-2 .7-3 1c-.6.2-1.3.3-1.9.7-.9.6-1.9.7-2.7 1.7 0 .1-.3.1-.5.2-1 .3-1.8 1-2.9.9-.4 0-.4-.1-.2-.5-.1-.1-.2-.2-.3-.2-.4.1-.8.2-1.1.3-.1 0-.2-.1-.2-.1.1-.1.1-.3.1-.3.9-.8 1.7-1.6 2.6-2.4.3-.3.7-.5 1-.7.6-.5 1.3-.9 1.9-1.4.4-.3.7-1 1.2-.5.1 0 .2-.1.2-.1.1-.9.7-.9 1.1-1 .5-.2.9-.5 1.4-.7.6-.4 1.4-.2 2-.7.9.3 1.6-.4 2.5-.3.8.1 1.7-.2 2.5.1 1.5.5 3.1 0 4.6.3 1.4.3 2.9.1 4.3.3 1.2.3 2.6.1 3.7.9h.1c1.4.1 2.7.3 4.1.3.6 0 1.2-.5 1.8-.3.6.1 1.2-.2 1.8-.5.4-.3 1 .1 1.3-.4.9.1 1.7-.4 2.6-.7 1.1-.3 2.2-.7 3.2-1.5 1-.9 2.3-1.1 3.2-2.2.2-.3.5-.5.8-.7.5-.6.9-1.3 1.5-1.7.2-.1.4-.5.5-.7.1-.1.1-.4.2-.5 1.7-2 2.7-3.7 3.7-6.7l.9-2.4c.1-.1.1-.3.1-.4.1-1.7.3-3.4.2-5-.1-1.5-.5-2.9-1.3-4-.9-1-1.7-2.1-2.8-2.9-.5-.4-1-.6-1.6-.9-.6-.3-1.2-.5-1.7-.9-.7-.5-1.5-.4-2.2-.7-.8-.3-1.6-.5-2.4-.7-.8-.2-1.5-.5-2.2-.6-.8-.1-1.5-.3-2.3-.6-.2-.1-.5.5-.8-.1-.5.7-1-.3-1.5-.1-.6.2-1.1.1-1.7.1-.6 0-1.1-.1-1.7 0-.5.1-1.1-.3-1.5.3-1-.7-1.8.7-2.8.3-.9.5-1.9.6-2.9 1-.7.3-1.4.5-2 .9-1.5 1.2-3.3 2-4.2 4.3-.1.3-.4.4-.5.7-.2.4-.5.8-.5 1.3.1.6-.3 1.2 0 1.8.3.7.5 1.5.9 2 1.4 1.5 2.7 3.1 4.3 4.1.6.4 1.2.7 1.9.7 1.5-.1 3 .5 4.6.3.6.5 1.2.1 1.7.3.6.2 1.1.1 1.6.3.5.3.7-.2 1.1-.1.4.1.8.1 1.1 0 1-.4 2-.6 2.9-1.2l.3-.3-.2-.3c-.2-.2-.4-.3-.6-.5-.4-.7-1-.9-1.6-1-1.5-.5-3.1-.9-4.6-1.2-.2-.1-.4-.2-.5-.3-.7-.3-1.3-.7-2-1-.9-.3-1.3-1.2-1.9-2 0-.8-.1-1.6 0-2.4.1-.4.3-.8.5-1.2.7-1 1.5-1.8 2.5-2.2.1-.1.2-.1.2-.1 1-.1 1.9-.3 2.9-.3.5 0 .9.2 1.4.3.5.1.9-.1 1.3.1.5.2.9.2 1.4.3.5.1 1 .4 1.5.6.5.2.9.4 1.4.7 1 .5 2 1 2.9 1.6 1.2.8 2.4 1.6 3.4 2.6 1 .9 1.4 2.2 1.5 3.7.2 1.8-.4 3.5-.8 5.2-.1.4-.3.8-.5 1.1-.7 1.1-1.5 2.2-2.3 3.2-.1.1-.2.3-.3.3-1.6.1-2.8 1.6-4.2 2.3-.3.1-.4.4-.7.1-.3-.3-.7.1-1-.3-.5.5-1.2 0-1.7.3s-1 .2-1.4.5c-.4.3-1 0-1.6.1-.6.1-1.2.3-1.8.5-.5.2-.9.3-1.3.2-.5-.1-1 0-1.5.3-.6.4-1.1.4-1.7.1-.2-.1-.4-.1-.6-.1-1.2.1-2.4-.1-3.5-.7-.7.2-1.3-.4-1.9-.7-.6-.3-1.1-.6-1.7-.9-.5-.3-1.1-.5-1.6-.8-1.2-.7-2.3-1.8-3.4-2.8-1.2-1.2-2.4-2.4-3.4-3.8-.7-1-1.3-2-1.6-3.3-.4-1.5-.9-3.1-.6-4.7.2-1.1.4-2.2.7-3.2.4-1.4.7-2.9 1.4-4.1.6-1 1.2-2.1 1.8-3.1.3-.5.8-.9 1.2-1.2.9-.9 1.8-1.8 2.8-2.6 1-.8 2-1.3 3-2 .8-.6 1.7-.9 2.6-1.1.5-.1.9-.3 1.2-1 .6-1.2 1.5-2 2.7-1.8.8.1 1.6-.2 2.5-.3.8-.1 1.6-.1 2.5 0 .4 0 .7-.7 1.2-.2.4.5.8-.3 1.2-.2.4.1.9 0 1.3.1.6.1 1-.5 1.6-.3.5.1 1.1.2 1.6 0 1.5-.5 3-.3 4.5-.3 1.3 0 2.5-.2 3.7-.4 1.3-.2 3-.7 4.5-1.7.5-.3 1-.5 1.4-.9.4-.3.7.4 1-.1.3-.3.6-.5 1-.8.3-.3.7-.5 1-.8.2-.1.3-.3.4-.3.3 0 .5-.1.8-.1 0 .5-.4.5-.6.7-.9 1-2 1.5-3 2.4 0 .1-.2.1-.2.1 0 .1 0 .3.1.4 0 .1.2.1.2.1.2-.3.4-.5.6-.7.7-.7 1.5-.9 2.2-1.6.9-.9 1.9-1.6 2.7-2.6.3-.3.6-.5.9-.8.1 0 .2 0 .2.1v.3L58.4 6c-.6.6-1.3 1-1.9 1.6-1.6 1.4-3.3 2.5-5 3.5-.9.5-1.8 1-2.7 1.1-.8.1-1.3.9-2.1.7-.3.5-.7.2-1 .3-.4.1-.7.3-1 .3-1.8.1-3.5.2-5.3.3-1.4.1-2.7.3-4.1.3-1.4.1-2.8-.2-4.1.1-1.3.2-2.6.3-3.9.9-.7.3-1.2 1-2 1-.1 0-.2.2-.3.2-.5 0-.9-.5-1.3.3-.3.4-.9.4-1.2.7-1 .9-1.9 2-3.1 2.6l-.3.3c-.6.7-1.1 1.5-1.8 2-.3.2-.5.5-.7.9-.5 1.1-1.3 1.8-1.9 2.8-.6 1-1 2.2-1.4 3.3-.3.7-.4 1.4-.6 2-.1.5-.1 1 .2 1.6.8 1.6 1.6 3.2 2.8 4.3 1.4 1.4 2.9 2.8 4.6 3.6.5.3.9.7 1.3.9 1.1.7 2.3 1.3 3.4 1.9.9.5 1.6 1 2.5 1.3.8.3 1.7.5 2.6.9.7.3 1.4.4 2.1.3.2 0 .5.1.7.2.3.1.5.2.7.1.6-.5 1.2-.3 1.7-.3 1.4-.1 2.7-.4 4-.9.7-.3 1.5-.4 2.2-.7 1.7-.9 3.4-1.8 4.3-3.9 1.1-1 1.4-2.7 2-4.1.2-.4.3-.8.4-1.2.2-.6-.1-1.2-.3-1.6-.8-1.4-1.8-2.8-3.1-3.6-.8-.5-1.6-1.2-2.4-1.8-1.1-.9-2.2-1.6-3.5-1.9-.3-.1-.7-.2-1-.5-.5-.5-1-.5-1.5-.5-.6-.1-1-.4-1.6-.3-.8.1-1.5.5-2.4.3-.2 0-.5.2-.6.4-.6.7-1.1 1.4-1.6 2.1-.2.3-.3.8-.4 1.2 0 .1.1.4.2.5.6.4 1.1.8 1.7 1.1.5.3 1 .5 1.5.7.6.2 1.1.3 1.7.5.5.1 1.1.3 1.6.5 1.7.7 3.5 1.3 4.8 3.2.6.9.8 1.9 1 2.9.1.5 0 .9-.4 1.1-.6.3-1.1.8-1.7.7-.9-.2-1.6.3-2.4.7-.9.5-1.9.8-2.9.9-.8.1-1.3-.7-2-.7-1.3-.9-2.8-1-4.2-.9-.4 0-.7.3-1 .3-1.3.3-2.6-.3-3.6-1.3-1.1-1-2.1-2.2-3.1-3.3-.3-.3-.7-.6-.7-1.2 0-.1-.2-.3-.3-.3-.2-.2-.6-.3-.7-.6-.2-.5-.2-1-.3-1.6-.1-.7-.2-1.2-.3-1.9-.1-1.5.5-2.8 1.1-4 .8-1.6 2.1-2.1 3.2-3 1.2-1 3.7-1.9 5.2-2.2l.6-.3c1.2-.5 2.5-.7 3.7-1 1.4-.4 2.5-.2 3.5-.4'/%3E%3C/svg%3E"); }
  nav a { position: relative; max-height: 0; overflow: hidden; display: block; line-height: 2.5; text-decoration: none; transition: max-height .24s; }
  nav a:hover { color: white; }
  nav a:before { content: ''; display: block; position: absolute; top: 0; left: 0; right: 0; border-top: 1px solid rgba(255, 255, 255, 0.3); }
  nav a:first-of-type { margin-top: 0; transition: margin .25s; }
  nav > * { height: calc(1.5em + 1em); }
  nav[data-current='willkommen'] a[href="/#willkommen"] { color: rgba(255, 255, 255, 0.6); }
  nav[data-current='willkommen'] a[href="/#willkommen"]:hover { color: white; }
  nav[data-current='angebote'] a[href="/#angebote"] { color: rgba(255, 255, 255, 0.6); }
  nav[data-current='angebote'] a[href="/#angebote"]:hover { color: white; }
  nav[data-current='schwerpunkte'] a[href="/#schwerpunkte"] { color: rgba(255, 255, 255, 0.6); }
  nav[data-current='schwerpunkte'] a[href="/#schwerpunkte"]:hover { color: white; }
  nav[data-current='vita'] a[href="/#vita"] { color: rgba(255, 255, 255, 0.6); }
  nav[data-current='vita'] a[href="/#vita"]:hover { color: white; }
  nav[data-current='kontakt'] a[href="/#kontakt"] { color: rgba(255, 255, 255, 0.6); }
  nav[data-current='kontakt'] a[href="/#kontakt"]:hover { color: white; }
  #navicon { cursor: pointer; position: absolute; top: calc(1rem + .5em); left: 1rem; right: 1rem; width: calc(100% - 2rem); height: 1.5em; padding: 0; display: -ms-flexbox; display: flex; -ms-flex-pack: end; justify-content: flex-end; -ms-flex-align: center; align-items: center; border: 0; background: transparent; outline: none; }
  #navicon i { margin-right: .75em; color: white; font-style: normal; text-transform: uppercase; letter-spacing: .15em; }
  #navicon span, #navicon span:before, #navicon span:after { height: 2px; width: 24px; background: white; border-radius: 1px; transition-timing-function: ease-in-out; }
  #navicon span { position: relative; display: inline-block; -ms-flex-negative: 0; flex-shrink: 0; vertical-align: middle; margin-top: -.2em; transition-duration: .1s; transition-delay: 0; transition-property: background; }
  #navicon span:before, #navicon span:after { content: ''; position: absolute; left: 0; transition-duration: .1s, .1s; transition-delay: .1s, 0; }
  #navicon span:before { top: -8px; transition-property: top, transform; }
  #navicon span:after { bottom: -8px; transition-property: bottom, transform; }
  .nav-open a { max-height: 3em; }
  .nav-open a:first-of-type { margin-top: .5em; }
  .nav-open #navicon span { background-color: transparent; }
  .nav-open #navicon span:before, .nav-open #navicon span:after { transition-delay: 0, .1s; }
  .nav-open #navicon span:before { top: 0; transform: rotate(45deg); }
  .nav-open #navicon span:after { bottom: 0; transform: rotate(-45deg); }
  .banner { position: relative; overflow: hidden; height: 30vh; min-height: 200px; background: no-repeat center; background-size: cover; }
  .banner:before { content: ""; position: absolute; z-index: 10; top: 0; right: 0; bottom: 0; left: 0; box-shadow: inset 0 12px 15px -4px rgba(0, 0, 0, 0.2), inset 0 -12px 15px -4px rgba(0, 0, 0, 0.2); }
  .banner div { position: absolute; top: -40px; right: 0; bottom: 0; left: 0; background: no-repeat center; background-size: cover; backface-visibility: hidden; transform: translateY(0px); }
  .content { padding: 1.5rem; }
  .content h1:after { content: ''; display: block; max-width: 600px; border-bottom: 1px solid; }
  .content p { max-width: 50em; }
  .content a { font-weight: 600; position: relative; display: inline-block; text-decoration: none; }
  .content a:after { content: ''; position: absolute; left: 0; width: 100%; bottom: .2em; border-top: 1px solid; opacity: .4; }
  .content a:hover:after { opacity: 1; }
  .content a[href^="mailto"] { font-weight: 400; }
  .content a[href^="mailto"]:after { opacity: .1; }
  .content ul { padding-left: 20px; }
  .content li + li { margin-top: .25em; }
  .content dl { display: grid; grid-template-columns: max-content auto; grid-row-gap: .5em; }
  .content dd { margin: 0; padding-left: 1em; }
  .content > *:first-child { margin-top: 0; }
  .content > *:last-child { margin-bottom: 0; }
  #willkommen h1 { color: #eb9234; }
  #angebote, #kontakt { color: white; background-color: #cfa528; }
  #schwerpunkte, #impressum { color: white; background-color: #b0971a; }
  #vita { color: white; background-color: #eb9234; }
  .wrapper aside { margin: 1.5em 0; }
  .wrapper figure { max-width: 26em; }
  .cols { -moz-column-width: 22em; column-width: 22em; -moz-column-gap: 4em; column-gap: 4em; }
  .cols > div { page-break-inside: avoid; break-inside: avoid; }
  .cols > div > h2:first-child { margin-top: 0; }
  footer { -moz-columns: 2 22em; columns: 2 22em; -moz-column-gap: 4em; column-gap: 4em; padding-top: 3.5em; }
  footer > h1 { font-size: 100%; margin-top: -2em; margin-bottom: 0; }
  footer h1, footer h2, footer h3, footer h4 { -moz-break-after: avoid; break-after: avoid; }
  footer > * { page-break-inside: avoid; break-inside: avoid; }
  .js footer.hidden { display: none; }
  .js footer:not(.hidden) { padding-top: 7rem; }
  .js footer:not(.hidden) + p #ds { opacity: 0; }
  #impressum a { font-weight: normal; } }
@media only screen and (min-width: 44rem) { header p, nav, .content { padding-left: 4rem; padding-right: 4rem; }
  header h1 { margin: 4.5em 1rem 12em; }
  #navicon { left: 4rem; right: 4rem; width: calc(100% - 8rem); }
  .content { padding-top: 3rem; padding-bottom: 3rem; }
  .wrapper { display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; }
  .wrapper > *:first-child { width: 52%; -ms-flex: 0 0 52%; flex: 0 0 52%; }
  .wrapper > *:last-child { width: 40%; -ms-flex: 0 0 40%; flex: 0 0 40%; }
  .wrapper aside { margin: 0; } }
@media only screen and (min-width: 50rem) { header p { font-size: 180%; text-align: left; } }
@media only screen and (min-width: 56rem) { .banner { min-height: 260px; }
  nav { display: -ms-flexbox; display: flex; -ms-flex-align: center; align-items: center; }
  nav:before { -ms-flex-order: 100; order: 100; margin-left: auto; opacity: .5; }
  nav a { max-height: none; display: inline-block; margin-right: 1.5em; padding: .5em 0; line-height: 1.5; }
  nav a:before { content: none; }
  nav a:after { content: ''; display: block; position: absolute; bottom: .1em; left: 0; right: 0; }
  nav a:first-of-type { margin-top: 0; transition: margin .25s; }
  nav > * { height: calc(1.5em + 1em); }
  #navicon { display: none; }
  .nav-open a { max-height: none; }
  .nav-open a:first-of-type { margin-top: 0; }
  #osmap { display: block; } }
@media only screen and (min-width: 64em) { header p, nav, .content { padding-left: 6rem; padding-right: 6rem; }
  .content { padding-top: 4.5rem; padding-bottom: 4.5rem; } }
/* 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: 137.5%; }
  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: 50% !important; height: auto; page-break-inside: avoid; }
  figure { margin: 1em auto; }
  header { padding-bottom: 1.5em; margin-bottom: 1.5em; border-bottom: 1px solid; }
  header p { margin-bottom: 0; font-size: 12pt; }
  section { margin: 3em 0; }
  h1 img { filter: grayscale(100%); }
  nav, #impressum { display: none; } }
body:before { position: fixed; z-index: 1000; bottom: 10px; right: 10px; padding: .5em 2em; color: #fff; background: rgba(0, 0, 0, 0.7); -webkit-font-smoothing: antialiased; }
