@import url("https://fonts.googleapis.com/css?family=Material+Icons");
@import url("https://fonts.googleapis.com/css?family=Rubik");
@import url("https://fonts.googleapis.com/css?family=Roboto");
@import url("https://fonts.googleapis.com/css?family=Raleway");
body {
  font-family: "Raleway", sans-serif;
}

h1 {
  text-align: center;
  font-family: "Rubik";
  font-size: 10vh;
}

h3 {
  font-family: "Rubik";
  color: #4c8adb;
}

a {
  color: #4c8adb;
  font-family: "Roboto";
}

main {
  grid-area: content;
  margin: 1em 0;
}

main > div.dsgvo {
  margin: 0 auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  /*word-break: break-all;*/
  /* Instead use this non-standard one: */
  word-break: break-word;
}

img.headerlogo {
  height: 100%;
  /*width: 40vw;
    max-height: 40vh;
    padding: 2vw;*/
}

div.logo {
  display: flex;
  justify-content: center;
  max-width: 50%;
  max-height: 50%;
  margin: 1em auto;
}

div.logo > img {
  width: 100%;
}

@media (min-width: 320px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
}

@media (min-width: 480px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
}

@media (min-width: 600px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
  nav > div#menuicon {
    display: none;
  }
  main > div.dsgvo {
    width: 60%;
    min-width: 570px;
    max-width: 960px;
  }
}

@media (max-width: 600px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
  nav > div#menuicon {
    display: block;
  }
  main > div.dsgvo {
    width: 95%;
  }
}

@media (min-width: 801px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
}

@media (min-width: 1025px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
}

@media (min-width: 1281px) {
  div#gridcontainer {
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-areas: "nav" "content" "foot";
  }
}

h1 {
  text-align: center;
  font-family: "Rubik";
  font-size: 10vh;
}

.centered {
  text-align: center;
}

nav {
  grid-area: nav;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 48px;
  width: 95%;
  max-width: 640px;
  padding: 4px 0;
  margin: 0 auto;
}

nav > div#navbar {
  display: flex;
  justify-content: space-between;
}

nav > div#navbar.closed {
  display: none;
}

nav > div#navbar.opened {
  flex-direction: column;
  position: absolute;
  right: 0px;
  top: 60px;
}

nav > div#navbar.opened > .navitem {
  text-align: right;
}

nav > div#navbar > .navitem {
  padding: 0 1em;
}

nav > div#navbar > .navitem > a {
  font-family: "Rubik";
  text-decoration: none;
  color: #4c8adb;
}

main {
  grid-area: content;
  margin: 1em 0;
}

footer {
  grid-area: foot;
  display: flex;
  justify-content: center;
  padding: 4px 0;
  border-top: 3px solid #4c8adb;
}

img.headerlogo {
  height: 100%;
  /*width: 40vw;
    max-height: 40vh;
    padding: 2vw;*/
}

div.logo {
  display: flex;
  justify-content: center;
  max-width: 50%;
  max-height: 50%;
  margin: 1em auto;
}

div.logo > img {
  width: 100%;
}
