html {
  --text-color: black;
  --background-color: rgb(255,255,255);
  --colorone-color: #D9EAD9;
  --colortwo-color: #E64B2C;
  --blocker-size: 2em;
  scroll-behavior: smooth;
  -moz-osx-font-smoothing: grayscale;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}


@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/SpaceGrotesk-Regular.woff2") format("woff2");
  font-weight: normal;
}

@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/SpaceGrotesk-Bold.woff2") format("woff2");
  font-weight: bold;
}

@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/SpaceGrotesk-Medium.woff2") format("woff2");
  font-weight: medium;
}

@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/SpaceGrotesk-Light.woff2") format("woff2");
  font-weight: 100;
}

@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/space-mono-v6-latin-italic.woff2") format("woff2"), url("/includes/fonts/space-mono-v6-latin-italic.woff") format("woff");
  font-weight: normal;
  font-style: oblique;
}

@font-face {
  font-family: 'Space-Grotesk';
  src: url("/includes/fonts/space-mono-v6-latin-700italic.woff2") format("woff2"), url("/includes/fonts/space-mono-v6-latin-700italic.woff") format("woff");
  font-weight: bold;
  font-style: oblique;
}

body{
  font-family: 'Space-Grotesk';
  font-size: 2em;
  font-feature-settings: 'ss02';
  font-weight: normal;
  margin:0;
}

img{
  width: 100%;
  height: auto;
}

.picturestage{
  margin-top: var(--blocker-size);
  margin-right: 18vw;
}

.rightpicturestage{
  margin-left: 18vw;
}

h1, h2, h3, h4, h5, h6, strong{
  font-weight: bold;
}


p{
  font-weight: normal;
  font-size: 1em;
}

.stage {
  display: grid;
  grid-template-columns: [full-start] var(--blocker-size) [main-start] 1fr [main-end] var(--blocker-size)[full-end];
}

.stage > * {
  margin-top: var(--blocker-size);
  grid-column: main;
}

.introstage{
  display: grid;
  grid-template-rows: [imagetop-start] var(--blocker-size) [top-start] 1fr [bottom-end] var(--blocker-size)[imagebottom-end];
  grid-template-columns: [image-start] var(--blocker-size) [intraimage-start] 1fr [logo-end] 1fr [intraimage-end] var(--blocker-size) [image-end] 1fr [text-end]  ;
}

.headerbild{
  grid-area:  imagetop-start / image-start / imagebottom-end / image-end;
}


  .intrologobild{
    grid-area: top-start / intraimage-start / bottom-end / logo-end ;
  }

  .oeffnungszeitentext{
    color: var(--colortwo-color);
    grid-area: top-start / logo-end / bottom-end / intraimage-end;
    text-align: right;
  }


  .seitentext{
    z-index: 2;
    grid-area: top-start / image-end / imagebottom-end / text-end;
    margin-left: var(--blocker-size);
    color: var(--colorone-color)
    }

    .blackintro{
      z-index: 1;
    }

.seitentext p {
  margin-left: var(--blocker-size);
}

.seitentext p a{
  color: var(--text-color);
  text-decoration: none;
    margin-left: -2em;
}

.seitentext p a:hover{
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-color: var(--colortwo-color);
}

.seitentext .blackintro{
  margin-left: 0;
  color: var(--text-color);
  margin-top: 15em;
}


.logobild{
  max-width: 15em;
}

.logostage {
  display: grid;
  grid-template-columns: 2fr 1fr;
  padding-left: var(--blocker-size);
  padding-right: var(--blocker-size);
  padding-top: var(--blocker-size);
}

.onepagernavigation{
  color: var(--colorone-color);
  margin-left: var(--blocker-size);
}

.onepagernavigation a{
  color: var(--text-color);
  text-decoration: none;
    margin-left: -2em;
}

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

.schluesselbild{
  margin-left: -1em;
  margin-right: -1em;
}

.mapsection{
  margin-top: -3.5em;
  z-index: 1;
}

.indexhigher{
  z-index: 4;
}

.indexlower{
  z-index: 0
}

.zweiteiler{
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.adressenblock{
  display: grid;
  grid-template-columns: 4em 1fr;
}

.svgmapcontainer{
  padding-right: 2em;
}

.footerstage{
  margin-top: var(--blocker-size);
  margin-left: 1em;
  margin-right: 1em;
  margin-bottom: -1em;;
}

.impdat{
  text-align: right;
}

.textwidth{
  max-width: 25em;
  margin-top: -5em;
}

.blackbackground{
  background-color: var(--text-color);
  color: var(--background-color);
  padding-bottom: var(--blocker-size);
}

@media only screen and (max-width: 1300px){
  p{
    font-size: 0.8em;
  }

  .textwidth{
    margin-top: -2em;
  }
}

@media only screen and (max-width: 1000px) {

  html {
    --blocker-size: 1.3em;
  }

  p{
    font-size: 0.6em;
  }

  .mapsection{
    margin-top: -1em;
  }


  .introstage{
    display: grid;
    grid-template-columns: [image-start] var(--blocker-size) [intraimage-start] 1fr [logo-end] 0 [intraimage-end] var(--blocker-size) [image-end] 1fr [text-end]  ;
  }

  .textwidth{
    margin-top: 1em;
  }


  .oeffnungszeitentext{
    margin-top: 9em;
    grid-area: top-start / intraimage-start / bottom-end / logo-end ;
  }

  .oeffnungszeitentext p span{
    background-color: rgba(0,0,0,0.6);
  }





  .zweiteiler{
    display: grid;
    grid-template-columns: 1fr;
  }

  .adressenblock{
    grid-template-columns: 3em 1fr;
  }

  .svgmapcontainer{
    padding-right: 1.5em;
  }

}

@media only screen and (max-width: 850px) {

  .introstage{
    display: grid;
    grid-template-rows: [imagetop-start] var(--blocker-size) [top-start] auto [bottom-end] var(--blocker-size)[imagebottom-end] 1fr [text-end];
    grid-template-columns: [image-start] var(--blocker-size) [intraimage-start] 1fr [intraimage-end] var(--blocker-size) [image-end]  ;
  }

  .headerbild{
    grid-area: imagetop-start / image-start / imagebottom-end / image-end;
  }


    .intrologobild{
      grid-area: top-start / intraimage-start / bottom-end / intraimage-end;
    }

    .oeffnungszeitentext{
      margin-top: 14em;
      grid-area: top-start / intraimage-start / bottom-end / intraimage-end;
    }


    .seitentext{
      margin-left: 0.5em;
      margin-top: 0;
      grid-area: imagebottom-end / image-start / text-end / image-end;
}
    .seitentext  .blackintro{
        margin-left: -0.7em;
      }


}


@media only screen and (max-width: 650px) {

  html {
    --blocker-size: 0.8em;
  }

  .oeffnungszeitentext{
    margin-top: 14em;
  }

  .seitentext{
    margin-left: 1em;
    margin-top: 0;
    grid-area: imagebottom-end / image-start / text-end / image-end;
}
  .seitentext  .blackintro{
      margin-left: -1.2em;
    }

    .picturestage{
      margin-right: 0;
    }


}

@media only screen and (max-width: 450px) {

  .oeffnungszeitentext{
    margin-top: 8em;
  }

  .adressenblock{
    grid-template-columns: 2em 1fr;
  }

  .svgmapcontainer{
    padding-right: 1em;
  }
}
