:root {
  --division-events: #552988;
  --regular-school-year: #8347AD;
  --year-round-calendar: #00AFAA;
  --year-round-school-year: #00AFAA;
  --public-holiday: #F5A800;
  --catholic-days-of-significance: #b2933b;
}

/*CM Calendar*/
#calendar .fc-view-harness {
  background: #fff;
  margin-bottom: 2rem;
}

#calendar .fc-col-header {
  margin-bottom: 0;
}

/*Calendar*/
.fc-scrollgrid-sync-table {
  margin-bottom: 0;
}

.fc-col-header-cell-cushion,
.fc-daygrid-day-number {
  color: inherit;
}

.fc-h-event .fc-event-title-container,
.fc-daygrid-dot-event .fc-event-title {
  white-space: normal;
}

.fc-daygrid-dot-event {
  align-items: flex-start !important;
  flex-wrap: wrap;
}

.fc-daygrid-event-dot {
  margin: 3px 4px !important;
}

.fc-daygrid-block-event .fc-event-time {
  display: none;
}

.fc-daygrid-dot-event .fc-event-title {
  padding: 0;
}

.fc .fc-list-event-dot {
  border-color: var(--primary-brand);
}

.school .fc .fc-list-event-dot {
  border-color: var(--accent-2);
}

#mobile-calendar-list a {
  color: var(--accent-2);
}

.district #mobile-calendar-list a {
  color: var(--dark-purple);
}

#mobile-calendar-list ul {
  padding: 0 0 1rem;
  margin: 0;
  list-style: none;
}

#mobile-calendar-list h5 {
  margin-bottom: .5rem;
}

#mobile-calendar-list ul li {
  padding: 5px 0;
}

#mobile-calendar-list ul li a {
  padding: 5px 0;
}

/* .school #mobile-calendar-list li.shared.division a {
  color: var(--dark-purple);
} */

.download-cal-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1rem;
}

.btn-subscribe {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
  background: var(--accent-2);
  color: #fff;
  padding: .25rem .5rem;
  border-radius: 5px;
  font-size: 90%;
}

.fc-direction-ltr .fc-list-table .fc-list-event-graphic {
    vertical-align: middle;
}

.download-cal-buttons {
  margin-bottom: 1rem;
}

/* Calendar Custom Styling */
#calendar {
  margin-bottom: 2rem;
}

#calendar a {
  color: var(--dark-font-color);
  font-weight: 400;
  border-color: var(--accent-2);
}

.district #calendar a {
  border-color: var(--dark-purple);
}

#calendar-list ul {
  list-style: none;
  padding-left: 0;
}

#calendar-list h5 {
  margin: .5rem 0;
}

.fc-scrollgrid>thead a {
  font-weight: 600;
}

.fc-daygrid-dot-event .fc-event-title,
.fc-h-event .fc-event-title {
  font-weight: 600 !important;
}

.fc-direction-ltr .fc-daygrid-event.fc-event-end,
.fc-direction-rtl .fc-daygrid-event.fc-event-start {
  border-color: var(--accent-2);
}

.list-view-link a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 1rem 0;
}

/* #calendar .fc-h-event.shared-event.ecsd-division {
  border-color: var(--dark-purple);
} */

/* .shared-event.ecsd-division .fc-event-main {
  background: var(--dark-purple) !important;
  border: 1px solid var(--dark-purple) !important;
} */

.fc-event-main {
  background: var(--accent-2) !important;
  border: 1px solid var(--accent-2) !important;
}

.fc-daygrid-event-dot {
  border-color: var(--accent-2) !important;
}

/* .shared-event.ecsd-division .fc-daygrid-event-dot {
  border-color: var(--dark-purple) !important;
}

.shared-event.ecsd-division .fc-list-event-dot {
  border-color: var(--dark-purple) !important;
} */

.district .fc-event-main {
  background: var(--dark-purple) !important;
  border: 1px solid var(--dark-purple) !important;
}

.district .fc-daygrid-event-dot {
  border-color: var(--dark-purple) !important;
}

.legend-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 1rem;
  margin-bottom: 1rem;
}

.event-legend {
  display: flex;
  column-gap: 2rem;
}

.event-legend-item {
  position: relative;
}

.event-legend-item::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%);
}

.event-legend-item.district::before {
  background: var(--dark-purple);
}

.event-legend-item.school::before {
  background: var(--accent-2);
}

.fc .fc-button-primary:focus, 
.fc .fc-button-primary:not(:disabled).fc-button-active:focus, 
.fc .fc-button-primary:not(:disabled):active:focus {
    box-shadow: none;
}

@media all and (max-width: 48em) {
  .event-legend {
    display: flex;
    margin: 1rem 0 0;
  }
}


/* Calendar Filter */
.calendar-filters-container {
  display: block;
  margin-bottom: 2rem;
  background: var(--light-grey);
  padding: 1.5rem;
}

.calendar-filters-container p {
  margin-top: 0;
}

.calendar-filters-heading h3 {
  margin-top: 0;
  font-size: 1.375rem;
}

.target-calendar-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.filter-checkbox-wrapper {
  padding: 0.35rem .5rem;
  border-radius: 3px;
  display: flex;
  align-items: center;
}

.filter-checkbox-wrapper label {
  text-transform: capitalize;
  margin-left: 5px;
  font-weight: var(--font-medium);
}

.filter-checkbox-wrapper.--public-holiday label {
  color: var(--dark-font-color);
}

.filter-checkbox-wrapper.--catholic-days-of-significance label {
  text-transform: unset;
}

.filter-checkbox-wrapper:first-of-type {
  padding-left: 0;
}

/* Calendar Legend */
/* divison-events */
.filter-checkbox-wrapper.--division-events {
  background: var(--division-events);
  color: white;
}

#calendar .fc-daygrid-event.--division-events .fc-daygrid-event-dot,
#calendar .fc-event.--division-events .fc-list-event-dot,
#calendar .fc-daygrid-event.--division-events {
  border-color: var(--division-events)!important;
}

#calendar .fc-daygrid-event.--division-events .fc-event-main {
  background: var(--division-events)!important;
  border: 1px solid var(--division-events) !important;
  /* color: var(--dark-font-color); */
}

#calendar .fc-v-event.--division-events {
  background: var(--division-events)!important;
  border-color: var(--division-events)!important;
}

/* --regular-school-year */
.filter-checkbox-wrapper.--regular-school-year {
  background: var(--regular-school-year);
  color: white;
}

#calendar .fc-daygrid-event.--regular-school-year .fc-daygrid-event-dot,
#calendar .fc-event.--regular-school-year .fc-list-event-dot,
#calendar .fc-daygrid-event.--regular-school-year {
  border-color: var(--regular-school-year)!important;
}

#calendar .fc-daygrid-event.--regular-school-year .fc-event-main {
  background: var(--regular-school-year)!important;
  border: 1px solid var(--regular-school-year) !important;
}

#calendar .fc-v-event.--regular-school-year {
  background: var(--regular-school-year)!important;
  border-color: var(--regular-school-year)!important;
}

/* --year-round-school-year */
.filter-checkbox-wrapper.--year-round-school-year {
  background: var(--year-round-school-year);
  color: white;
}

#calendar .fc-daygrid-event.--year-round-school-year .fc-daygrid-event-dot,
#calendar .fc-event.--year-round-school-year .fc-list-event-dot,
#calendar .fc-daygrid-event.--year-round-school-year {
  border-color: var(--year-round-school-year)!important;
}

#calendar .fc-daygrid-event.--year-round-school-year .fc-event-main {
  background: var(--year-round-school-year)!important;
  border: 1px solid var(--year-round-school-year) !important;
}

#calendar .fc-v-event.--year-round-school-year {
  background: var(--year-round-school-year)!important;
  border-color: var(--year-round-school-year)!important;
}

/* --year-round-calendar */
.filter-checkbox-wrapper.--year-round-calendar {
  background: var(--year-round-school-year);
  color: white;
}

#calendar .fc-daygrid-event.--year-round-calendar .fc-daygrid-event-dot,
#calendar .fc-event.--year-round-calendar .fc-list-event-dot,
#calendar .fc-daygrid-event.--year-round-calendar {
  border-color: var(--year-round-calendar)!important;
}

#calendar .fc-daygrid-event.--year-round-calendar .fc-event-main {
  background: var(--year-round-calendar)!important;
  border: 1px solid var(--year-round-calendar) !important;
}

#calendar .fc-v-event.--year-round-calendar {
  background: var(--year-round-calendar)!important;
  border-color: var(--year-round-calendar)!important;
}

/* --public-holiday */
.filter-checkbox-wrapper.--public-holiday {
  background: var(--public-holiday);
}

#calendar .fc-daygrid-event.--public-holiday .fc-daygrid-event-dot,
#calendar .fc-event.--public-holiday .fc-list-event-dot,
#calendar .fc-daygrid-event.--public-holiday {
  border-color: var(--public-holiday)!important;
}

#calendar .fc-daygrid-event.--public-holiday .fc-event-main {
  background: var(--public-holiday)!important;
  border: 1px solid var(--public-holiday) !important;
  color: var(--dark-font-color);
}

#calendar .fc-v-event.--public-holiday {
  background: var(--public-holiday)!important;
  border-color: var(--public-holiday)!important;
}

/* --catholic-days-of-significance */
.filter-checkbox-wrapper.--catholic-days-of-significance {
  background: var(--catholic-days-of-significance);
  color: white;
}

#calendar .fc-daygrid-event.--catholic-days-of-significance .fc-daygrid-event-dot,
#calendar .fc-event.--catholic-days-of-significance .fc-list-event-dot,
#calendar .fc-daygrid-event.--catholic-days-of-significance {
  border-color: var(--catholic-days-of-significance)!important;
}

#calendar .fc-daygrid-event.--catholic-days-of-significance .fc-event-main {
  background: var(--catholic-days-of-significance)!important;
  border: 1px solid var(--catholic-days-of-significance) !important;
}

#calendar .fc-v-event.--catholic-days-of-significance {
  background: var(--catholic-days-of-significance)!important;
  border-color: var(--catholic-days-of-significance)!important;
}