@media print {
  @page {
    size: landscape;
  }
  body {
    margin: 0;
  }

  .h-style {
    display: none;
  }
}
body {
  background-color: #fff;
}
@media screen {
  body {
    padding: 1em;
  }
}

.kabcourses-yearcalendar {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: 400;
  color: #3f3f3f;
}
@media print {
  .kabcourses-yearcalendar {
    font-size: 0.95rem;
  }
}
.kabcourses-yearcalendar__title {
  display: flex;
  justify-content: center;
  align-items: baseline;
}
.kabcourses-yearcalendar__title .arrow {
  font-size: 250%;
  opacity: .7;
  color: inherit;
}
.kabcourses-yearcalendar__title .arrow.arrow-right span:before {
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
.kabcourses-yearcalendar__year {
  margin: 0 0 .2em;
  font-size: 350%;
  font-weight: bold;
}
@media screen {
  .kabcourses-yearcalendar__months {
    overflow-x: auto;
  }
}
.kabcourses-yearcalendar__monthsinner {
  display: flex;
  justify-content: stretch;
}
@media screen {
  .kabcourses-yearcalendar__monthsinner {
    min-width: 1200px;
  }
}
.kabcourses-yearcalendar__month {
  flex: 0 0 auto;
  width: calc(8.333% - 0.125pt);
  border-left: 0.25pt solid #aaa;
}
.kabcourses-yearcalendar__month:last-child {
  border-right: 0.25pt solid #aaa;
}
.kabcourses-yearcalendar__day {
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 2.5em;
  border-top: 0.25pt solid #aaa;
  padding: .1em .5em 0;
}
.kabcourses-yearcalendar__day__col {
  flex: 1 1 auto;
  min-width: 0;
}
.kabcourses-yearcalendar__day__col--number {
  flex: 0 0 1.5em;
}
.kabcourses-yearcalendar__day__col--name {
  flex: 0 0 1.8em;
}
.kabcourses-yearcalendar__day__col--title {
  text-align: center;
  font-weight: bold;
  font-size: 140%;
}
.kabcourses-yearcalendar__day__col--content {
  display: flex;
  flex-direction: column;
  gap: .3em;
  overflow: hidden;
  hyphens: auto;
}
.kabcourses-yearcalendar__day__col--content .nowrap {
  white-space: nowrap;
}
.kabcourses-yearcalendar__day__col--content .publicholiday {
  font-size: 80%;
}
.kabcourses-yearcalendar__day__col--content .courses {
  display: flex;
  gap: 0 .4em;
}
.kabcourses-yearcalendar__day__col--kw {
  flex: 0 0 1.7em;
  text-align: right;
  font-size: 75%;
}
.kabcourses-yearcalendar__day.is-title {
  height: 3em;
}
.kabcourses-yearcalendar__day.is-saturday {
  font-weight: bold;
  background-color: #fdfdd3;
}
.kabcourses-yearcalendar__day.is-school-holiday {
  background-color: #fff705;
}
.kabcourses-yearcalendar__day.is-sunday {
  font-weight: bold;
  background-color: #fccb9d;
}
.kabcourses-yearcalendar__day.is-public-holiday {
  font-weight: bold;
  color: #b53333;
  background-color: #f4dcdc;
}
@media screen {
  .kabcourses-yearcalendar__day.is-today {
    outline: 2.5pt solid currentColor;
    outline-offset: -2.25pt;
  }
}
.kabcourses-yearcalendar__day:last-child {
  border-bottom: 0.25pt solid #aaa;
}
