:root {
  --free-col: #39d64e50;
  --occ-col: #c73c2a50;
}

h1 {
  text-align: center;
}

h2 {
  text-align: center;
}

.kalender {
  width: 70vw;
  max-width: 700px;
  margin: 0 auto 10vh;
}

select {
  padding: 5px 15px;
  background: none;
  border: 2px solid #aaa;
  margin: 0 auto;
}

table {
  border-collapse: collapse;
  width: 100%;
}

table td {
  border: 1px solid black;
  padding: 25px;
  text-align: center;
  background-color: rgba(43, 214, 114, calc(var(--events) / 3));
}

table tr:nth-child(1) td {
  border: none;
  padding: 10px 25px;
}

table td.invalid {
  opacity: 0.3125;
}

.window {
  width: 400px;
  max-height: 300px;
  background-color: white;
  border: 2px solid #525252;
  position: absolute;
  left: calc((100vw - 440px) * var(--x));
  display: none;
  padding: 15px;
  z-index: 99;
}

.window h3 {
  margin: 0;
}

.window.show {
  display: block;
}

.window .date {
  margin: -5px 0 -10px;
  background-image: url(/icon/clock-history.svg);
  padding-left: 20px;
  background-repeat: no-repeat;
  background-size: 15px;
  background-position-y: 5px;
  opacity: .6;
}

.window .place {
  margin: 0;
  background-image: url(/icon/location.svg);
  padding-left: 20px;
  background-repeat: no-repeat;
  background-size: 15px;
  background-position-y: 5px;
  font-weight: bold;
}

.window .desc {
  margin: 4px 0 0;
}

.window .next {
  float: right;
  background-image: url(/icon/caret.svg);
  background-repeat: no-repeat;
  background-size: 24px;
  width: 26px;
  height: 22px;
  transform: rotate(180deg);
}

@media screen and (max-width: 696px) {
  .kalender {
    width: 97vw;
    max-width: unset;
  }
  .window {
    width: 300px;
    left: calc((100vw - 330px) * var(--x));
  }
}

@media screen and (max-width: 500px) {
  .kalender td {
    padding: 10px;
    font-size: 70%;
  }
}

@media screen and (max-width: 450px) {
  .kalender td {
    padding: 10px 0;
    max-width: 0;
  }
  .window {
    width: 200px;
    left: calc((100vw - 220px) * var(--x));
  }
}

@media screen and (max-width: 358px) {
  .kalender td {
    padding: 15px;
    font-size: 100%;
  }

  .kalender {
    overflow-x: scroll;
    padding: 20px 0;
  }
}