/*
███████████████████████████████████████████████████████████████████████████████████████████████
    Kalender
███████████████████████████████████████████████████████████████████████████████████████████████
*/
.calendar_legend {
  display: block;
  margin: 0 0 1em 0;
}
.calendar_legend table {
  margin: 0 auto;
}
.calendar_legend table .desc {
  white-space: nowrap;
}
/* .calendar_legend *,
.calendar_sheet * {
  font-size: 15px;
} */
.calendar_sheet {
  overflow: visible;
  float: left;
  width: 30%;
  min-height: 280px;
  margin: 1.66666%;
}
.calendar_sheet:nth-of-type(3n+1) {
  clear: left;
}
.calendar_sheet.hide_cal {
  display: none;
}
.calendar_sheet.hide_cal.showit {
  display: block;
}
.calendar_sheet .heading {
  text-align: left;
  padding-left: 1em;
  font-size: 1.4em;
}
.calendar_sheet .heading * {
  font-size: inherit;
}
.calendar_sheet table,
.calendar_legend table {
  border-collapse: separate;
  border-spacing: 1px;
}
.calendar_sheet table *,
.calendar_legend table * {
  text-align: center;
  cursor: default;
}
.calendar_sheet table th {
  color: #585858;
  font-size: .85em;
}
.calendar_sheet table td,
.calendar_legend table td {
  font-family: monospace;
  vertical-align: middle;
  height: 40px;
  width: 40px;
  color: #fff;
  background-color: #14847f;
}
.calendar_sheet td.empty {
  border: none;
  background-color: rgba(0,0,0,.04);
}
.calendar_legend td.desc {
  border: none;
  font-weight: normal;
  color: #585858;
  padding-right: 55px;
  padding-left: 1em;
  background-color: transparent;
}
.calendar_sheet td.marked,
.calendar_legend td.marked {
  background-color: #D0604C;
  color: #fff;
}
.toggle_btn_con {
  display: block;
  overflow: auto;
  float: none;
  clear: both;
  padding: 1em 0 1em 0;
  text-align: center;
}
#toggle_calender_btn {
  font-size: 1em;
}
@media (max-width: 990px) {
  .calendar_sheet {
    width: 31%;
    margin: 1%;
  }
  .calendar_sheet .heading {
    font-size: 1.2em;
  }
  .calendar_sheet table td,
  .calendar_legend table td {
    height: 35px;
    width: 35px;
  }
}
@media (max-width: 770px) {
  .calendar_sheet.hide_cal {
    display: block;
  }
  .toggle_btn_con {
    display: none;
  }
  .calendar_sheet {
    width: 46%;
    margin: 2%;
  }
  .calendar_sheet:nth-of-type(3n+1) {
    clear: none;
  }
  .calendar_sheet:nth-of-type(2n+1) {
    clear: left;
  }
  .calendar_sheet table td,
  .calendar_legend table td {
    height: 40px;
    width: 40px;
  }
}
@media (max-width: 600px) {
  .calendar_sheet table td,
  .calendar_legend table td {
    height: 33px;
    width: 33px;
  }
}
@media (max-width: 500px) {
  .calendar_sheet {
    width: 100%;
    margin: 2% 0;
    clear: both !important;
    min-height: unset;
  }
  .calendar_sheet .heading {
    text-align: center;
    padding-left: 0;
  }
  .calendar_sheet table {
    margin-left: auto;
    margin-right: auto;
  }
  .calendar_legend td.desc {
    padding-right: 1em;
  }
  .calendar_sheet table td,
  .calendar_legend table td {
    height: 40px;
    width: 40px;
  }
}
@media (max-width: 290px) {
  .calendar_sheet table td,
  .calendar_legend table td {
    height: 33px;
    width: 33px;
  }
}