.machine-select {
  padding: 15px;
  background: #333333;
}

.calendar {
  width: 100%;
  padding: 10px 25px 0;
}

.calendar.is-small,
:lang(si) .calendar,
:lang(zh-cmn-Hant) .calendar,
:lang(km) .calendar,
:lang(vi) .calendar,
:lang(th) .calendar,
:lang(zh-cmn-Hans) .calendar {
  padding-left: 0;
  padding-right: 0;
}

.calendar__inner {
  border: #cccccc 1px solid;
  padding: 20px 5px 15px;
  background: #ffffff;
}

.calendar__inner.is-small,
:lang(si) .calendar__inner,
:lang(zh-cmn-Hant) .calendar__inner,
:lang(km) .calendar__inner,
:lang(vi) .calendar__inner,
:lang(th) .calendar__inner,
:lang(zh-cmn-Hans) .calendar__inner {
  padding-left: 0;
  padding-right: 0;
}

.calendar__line {
  display: flex;
  width: 100%;
}

.calendar__week {
  margin-bottom: 5px;
}

.calendar__item {
  width: 100%;
  padding: 4px 0;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
}

.calendar.is-small .calendar__week .calendar__item,
:lang(si) .calendar__week .calendar__item,
:lang(zh-cmn-Hant) .calendar__week .calendar__item,
:lang(km) .calendar__week .calendar__item,
:lang(vi) .calendar__week .calendar__item,
:lang(th) .calendar__week .calendar__item,
:lang(zh-cmn-Hans) .calendar__week .calendar__item {
  font-size: 1.0rem;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  white-space: nowrap;
}

.calendar__item span, .calendar__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  margin: auto;
  border-radius: 18px;
}

.calendar__item span.unregistered, .calendar__item a.unregistered {
  background: #CEEFBF;
}

.calendar__item span.registered, .calendar__item a.registered {
  background: #F9E6AA;
}

.calendar .sunday,
.calendar .sunday a {
  color: #eb5151;
}

.calendar .saturday {
  color: #3d5998;
}

.calendar .disabled {
  color: #cccccc;
}

.calendar-heading {
  margin-top: 14px;
  line-height: 1;
}

.calendar-heading__unregistered, .calendar-heading__registered {
  position: relative;
  margin-bottom: 10px;
  padding-left: 18px;
  font-size: 1.0rem;
}

.calendar-heading__unregistered::before, .calendar-heading__registered::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 12px;
  height: 12px;
  vertical-align: middle;
  border-radius: 2px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.calendar-heading__unregistered::before {
  background: #CEEFBF;
}

.calendar-heading__registered::before {
  background: #F9E6AA;
}
