.calendar {
  min-width: 20em; }
  .calendar, .calendar.dropdown-menu {
    padding: 0.5rem;
    background-color: #e6e6e4; }

.calendar-header {
  display: flex; }
  .calendar-header .calendar-navigation {
    flex: 1 1 10em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 2px; }
    .calendar-header .calendar-navigation select {
      width: 100%;
      height: 100%; }
    .calendar-header .calendar-navigation .btn {
      padding: 0;
      background-color: white;
      border-radius: 3px;
      flex: 1;
      height: 100%; }
      .calendar-header .calendar-navigation .btn + .btn {
        margin-left: 2px; }
      .calendar-header .calendar-navigation .btn .am-icon {
        font-size: 1.2rem;
        line-height: 1.2rem;
        top: -2px;
        justify-content: center; }
        .calendar-header .calendar-navigation .btn .am-icon:last-child, .calendar-header .calendar-navigation .btn .am-icon:first-child {
          margin-left: 0.25rem;
          margin-right: 0.25rem; }
      .calendar-header .calendar-navigation .btn:hover, .calendar-header .calendar-navigation .btn:focus {
        background-color: #e6bebf;
        cursor: pointer; }
      .calendar-header .calendar-navigation .btn:active, .calendar-header .calendar-navigation .btn.active {
        background-color: #0062ac;
        color: white; }
    .calendar-header .calendar-navigation:first-child {
      text-align: left;
      flex: 0 1 auto; }
    .calendar-header .calendar-navigation:last-child {
      text-align: right;
      flex: 0 1 auto; }

.calendar .calendar-body table {
  background-color: transparent;
  width: 100%;
  border-spacing: 5px;
  border-collapse: separate; }

.calendar .calendar-body th {
  width: 12.5%;
  text-align: center;
  color: #000;
  background-color: #e6e6e4; }

.calendar .calendar-body td {
  width: 12.5%;
  text-align: center;
  border-radius: 3px; }

.calendar .calendar-body td,
.calendar .calendar-body th {
  border: 0 !important; }

.calendar .calendar-body td,
.calendar .calendar-body td.empty,
.calendar .calendar-body td:not(.classDataDay) {
  background-color: #e6e6e4; }
  .calendar .calendar-body td:hover, .calendar .calendar-body td:focus, .calendar .calendar-body td.focused,
  .calendar .calendar-body td.empty:hover,
  .calendar .calendar-body td.empty:focus,
  .calendar .calendar-body td.empty.focused,
  .calendar .calendar-body td:not(.classDataDay):hover,
  .calendar .calendar-body td:not(.classDataDay):focus,
  .calendar .calendar-body td:not(.classDataDay).focused {
    background-color: #e6e6e4;
    cursor: default; }

.calendar .calendar-body .classDataDay {
  background-color: white; }
  .calendar .calendar-body .classDataDay:hover, .calendar .calendar-body .classDataDay:focus, .calendar .calendar-body .classDataDay.focused {
    background-color: #e6bebf;
    color: #000;
    cursor: pointer; }
  .calendar .calendar-body .classDataDay:active, .calendar .calendar-body .classDataDay.active {
    background-color: #0062ac;
    color: white; }

.calendar .calendar-body td.week {
  background-color: #e6e6e4 !important;
  font-style: italic;
  color: #555555; }

.calendar .calendar-body td.today,
.calendar .calendar-body td.classDataDayActive {
  background-color: #b7cbd6;
  color: #000; }

.calendar .calendar-body td.holiday {
  color: #ac1c81; }

.calendar .calendar-body td.disable,
.calendar .calendar-body td.classDataDisable {
  background-color: gray;
  color: white;
  border-radius: 3px;
  pointer-events: none; }

.calendar-footer {
  margin-top: 8px; }
  .calendar-footer .btn + .btn {
    margin-left: 0.25rem; }

.calendar-body.addon {
  margin: 1rem -0.5rem;
  padding: 1rem 0.5rem;
  border-top: 1px solid #adacac;
  border-bottom: 1px solid #adacac;
  background-color: #f4f5f1; }

.calendar-body .formgroup-time label {
  flex: none; }

.calendar-body .formgroup-time input {
  flex: fit-content; }

.dropdown-calendar {
  background-color: #e6e6e4; }
