#lbl {
  color: black;
}

#cb:checked ~ #lbl {
  color: red;
}

body {
  margin: 0px;
  padding: 0px;
  font-family: "Verdana";
  font-size: 1rem;
}
#datenschutzcontainer,
.datenschutzcontainer {
  background-color: #e0e0e0;
  margin: 30px;
  padding: 20px;
  border-radius: 15px;
}

ul {
  padding: 0px;
  margin: 0px;
}

li {
  list-style-type: none;
  padding: 3px 3px 3px 12px;
  border-radius: 4px 12px;
  border: 1px solid silver;
  margin: 5px 5px 5px 10px;
  width: 13rem;
  max-width: 13rem;
  background-color: #e0e0e0;
}

li:hover {
  background-color: lightblue;
}

.main {
  display: grid;
  grid-template-rows: 20% auto 1fr auto;
  grid-template-columns: auto 1fr;
  height: 100vh;
  padding: 0px;
  margin: 0px;
}

.leftmenu {
  grid-area: 3/1 / 4/2;
  background-color: #d0d0d0;
  overflow: hidden;
  padding: 5px;
  background-image: url(../images/turm_grau.png);

  width: 15rem;
  max-width: 15rem;
}

.maincontent {
  grid-area: 3/2 / 4/3;
  background-color: #e8e8e8;
  padding: 5px;
  overflow: auto;
}

.overtop {
  grid-area: 1/1 / 2/3;
}

.top {
  grid-area: 2/1 / 3/3;
  align-items: center;
  xbackground-image: url(images/landscape.svg);
  background-repeat: repeat-x;
  background-size: cover;
  background-color: #025210;
  color: #e0e0e0;
  font-weight: bold;
  vertical-align: center;
  padding: 10px;
}

.b {
  font-weight: bold;
}

#fewo1,
#fewo2 {
  padding: 10px;
}

.logo {
  height: 70px;
  width: 110px;
  margin: 0px 20px;
}

.top ul li {
  font-weight: normal;
  color: #444444;
}

.footer {
  grid-area: 4/1 / 5/3;
  padding: 10px 50px 5px 5px;
  background-color: #222222;
  color: #d0d0d0;
  font-family: Arial;
  font-size: 0.8rem;
  text-align: right;
}

.makesmall {
  animation: smaller 2s;
  animation-fill-mode: forwards;
}

.makewide {
  animation: wider 2s;
  animation-fill-mode: forwards;
}

@keyframes smaller {
  0% {
    max-width: 15rem;
    width: 15rem;
  }
  100% {
    max-width: 1.5rem;
    width: 1.5rem;
  }
}

@keyframes wider {
  0% {
    max-width: 1.5rem;
    width: 1.5rem;
  }
  100% {
    max-width: 15rem;
    width: 15rem;
  }
}

html,
body {
  height: 100%;
  font-size: 1.1rem;
}

.selected {
  display: block;
}

.content {
  display: none;
  padding: 15px;
}

.content.active {
  display: block;
}

ul.topmenu {
  display: inline-flex;
}

ul.topmenu li {
  width: auto;
  color: black;
  padding: 3px 12px;
}

.rot20 {
  transform: rotate(-6deg);
  transform-origin: center;
  display: inline-block;
  font-size: 1.3rem;
  border: 1px solid silver;
  padding: 2px 10px;
  margin-right: 20px;
  border-radius: 5px;
}

.house1,
.house2 {
  width: 100%;
  clear: left;
}

#calendar input {
  font-size: 1.2rem;
}

#calendar input[type="button"] {
  background-color: rgb(120, 164, 120);
  color: white;
  border-radius: 4px;
  padding: 2px 5px;
}

#calendar input[type="button"]:hover {
  background-color: darkgreen;
}

@media (400px <= width <= 1000px) {
  #calendar input {
    font-size: 1.2rem;
  }

  /* etc. */
  html body {
    font-size: 0.5rem;
  }

  @keyframes smaller {
    0% {
      max-width: 10rem;
      width: 10rem;
    }
    100% {
      max-width: 0.75rem;
      width: 0.75rem;
    }
  }

  @keyframes wider {
    0% {
      max-width: 0.75rem;
      width: 0.75rem;
    }
    100% {
      max-width: 10rem;
      width: 10rem;
    }
  }

  .leftmenu {
    width: 10rem;
    max-width: 10rem;
  }

  .rot20 {
    font-size: 0.9rem;
  }

  li {
    max-width: 8rem;
    width: 8rem;
  }
}
