#academicCalendar.fc,
#academicCalendar .fc {
  --fc-button-bg-color: #fff;
  --fc-button-border-color: #b9cce1;
  --fc-button-text-color: var(--skis-navy);
  --fc-button-hover-bg-color: var(--skis-blue);
  --fc-button-hover-border-color: var(--skis-blue);
  --fc-button-active-bg-color: var(--skis-navy);
  --fc-button-active-border-color: var(--skis-navy);
  --fc-today-bg-color: #fff;
}

#academicCalendar .fc-toolbar {
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}

#academicCalendar .fc {
  color: #263246;
  font-weight: 400;
  text-rendering: optimizeLegibility;
}

#academicCalendar .fc-col-header-cell-cushion,
#academicCalendar .fc-list-day-text,
#academicCalendar .fc-list-day-side-text {
  font-weight: 650 !important;
}

#academicCalendar .fc-daygrid-day-number,
#academicCalendar .fc-list-event-time,
#academicCalendar .fc-event-time {
  font-weight: 500 !important;
}

#academicCalendar .fc-list-event-title,
#academicCalendar .fc-event-title {
  font-weight: 600 !important;
}

#academicCalendar .fc-multimonth-title {
  font-weight: 700 !important;
}

#academicCalendar .fc-daygrid-day-number {
  font-size: 1rem;
}

#academicCalendar .fc-event-title,
#academicCalendar .fc-list-event-title {
  letter-spacing: 0;
  line-height: 1.45;
}

#academicCalendar .fc-event,
#academicCalendar .fc-list-event {
  cursor: pointer;
}

#academicCalendar .fc-daygrid-event {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left-width: 4px !important;
  box-shadow: none !important;
  color: #263246 !important;
  margin-top: 3px;
  padding: 3px 5px !important;
}

#academicCalendar .fc-daygrid-event .fc-event-main,
#academicCalendar .fc-daygrid-event .fc-event-title,
#academicCalendar .fc-daygrid-event .fc-event-time,
#academicCalendar .fc-list-event-title a {
  color: #263246 !important;
}

#academicCalendar .fc-daygrid-more-link {
  background: transparent !important;
  color: #506174;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#academicCalendar .fc-list-event:hover td {
  background: #f8fafc !important;
}

#academicCalendar .fc-list-day-cushion,
#academicCalendar .fc-list-table td {
  background: #fff;
  border-color: #e4e8ed;
}

.tooltip {
  font-family: inherit;
  font-weight: 500;
}

#academicCalendar .fc-toolbar-chunk {
  align-items: center;
  display: flex;
}

#academicCalendar .fc-button-group {
  gap: 8px;
}

#academicCalendar .fc-button-group > .fc-button,
#academicCalendar .fc-button-group > .fc-button:first-child,
#academicCalendar .fc-button-group > .fc-button:last-child,
#academicCalendar .fc-button-group > .fc-button:not(:first-child),
#academicCalendar .fc-button-group > .fc-button:not(:last-child) {
  border-radius: 999px !important;
  margin-left: 0 !important;
}

#academicCalendar .fc-button {
  align-items: center !important;
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid #b9cce1 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--skis-navy) !important;
  display: inline-flex !important;
  font-family: inherit !important;
  font-size: .92rem !important;
  font-weight: 650 !important;
  justify-content: center !important;
  line-height: 1 !important;
  min-height: 42px !important;
  padding: 0 18px !important;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease !important;
}

#academicCalendar .fc-prev-button,
#academicCalendar .fc-next-button {
  min-width: 42px !important;
  padding: 0 !important;
}

#academicCalendar .fc-button:hover,
#academicCalendar .fc-button:focus {
  background: var(--skis-blue) !important;
  background-color: var(--skis-blue) !important;
  border-color: var(--skis-blue) !important;
  box-shadow: 0 4px 12px rgba(0, 52, 120, .14) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

#academicCalendar .fc-button-primary:not(:disabled).fc-button-active,
#academicCalendar .fc-button-primary:not(:disabled):active {
  background: var(--skis-navy) !important;
  background-color: var(--skis-navy) !important;
  border-color: var(--skis-navy) !important;
  box-shadow: 0 4px 12px rgba(0, 52, 120, .12) !important;
  color: #fff !important;
}

#academicCalendar .fc-button-primary:focus,
#academicCalendar .fc-button-primary:not(:disabled):active:focus,
#academicCalendar .fc-button-primary:not(:disabled).fc-button-active:focus {
  box-shadow: 0 0 0 .2rem rgba(0, 84, 184, .16) !important;
}

#academicCalendar .fc-button:disabled {
  background: #eef4fb !important;
  background-color: #eef4fb !important;
  border-color: #d7e5f3 !important;
  color: #8a9bb0 !important;
  opacity: 1 !important;
  transform: none !important;
}

#academicCalendar .fc-day-sun .fc-col-header-cell-cushion,
#academicCalendar .fc-day-sun .fc-daygrid-day-number,
#academicCalendar .fc-day-sun .fc-multimonth-title,
#academicCalendar .fc-list-day.fc-day-sun a {
  color: #b44742 !important;
}

#academicCalendar .fc-day-sat .fc-col-header-cell-cushion,
#academicCalendar .fc-day-sat .fc-daygrid-day-number,
#academicCalendar .fc-day-sat .fc-multimonth-title,
#academicCalendar .fc-list-day.fc-day-sat a {
  color: #35699f !important;
}

#academicCalendar .calendar-event-holiday {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #c9514b !important;
  color: #263246 !important;
}

#academicCalendar .calendar-event-exam {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #3b8b62 !important;
  color: #263246 !important;
}

#academicCalendar .calendar-event-vacation {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #c89d24 !important;
  color: #263246 !important;
}

#academicCalendar .calendar-event-vacation .fc-event-main,
#academicCalendar .calendar-event-vacation .fc-event-title,
#academicCalendar .calendar-event-vacation .fc-event-time {
  color: #263246 !important;
}

#academicCalendar .calendar-event-notice {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #6f89a6 !important;
  color: #263246 !important;
}

#academicCalendar .calendar-event-notice .fc-event-main,
#academicCalendar .calendar-event-notice .fc-event-title,
#academicCalendar .calendar-event-notice .fc-event-time {
  color: #263246 !important;
}

#academicCalendar .calendar-event-event {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #3d73ad !important;
  color: #263246 !important;
}

#academicCalendar .calendar-event-other {
  background: #fff !important;
  border: 1px solid #dfe4ea !important;
  border-left: 4px solid #808a98 !important;
  color: #263246 !important;
}

#academicCalendar .fc-list-event.calendar-event-holiday .fc-list-event-dot {
  border-color: var(--skis-red) !important;
}

#academicCalendar .fc-list-event.calendar-event-exam .fc-list-event-dot {
  border-color: #1f8f55 !important;
}

#academicCalendar .fc-list-event.calendar-event-vacation .fc-list-event-dot {
  border-color: #c89d24 !important;
}

#academicCalendar .fc-list-event.calendar-event-notice .fc-list-event-dot {
  border-color: #6f89a6 !important;
}

#academicCalendar .fc-list-event.calendar-event-event .fc-list-event-dot {
  border-color: #3d73ad !important;
}

#academicCalendar .fc-list-event.calendar-event-other .fc-list-event-dot {
  border-color: #808a98 !important;
}

.calendar-event-modal-dialog {
  max-width: min(720px, calc(100vw - 32px));
}

@media (max-width: 720px) {
  #academicCalendar .fc-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  #academicCalendar .fc-toolbar-chunk {
    justify-content: center;
  }

  #academicCalendar .fc-button {
    font-size: .84rem !important;
    min-height: 38px !important;
    padding: 0 12px !important;
  }
}
