.calendar-list {
    list-style: none;
    margin: 0 0 30px 0;
    padding: 0;
    border: 1px solid #e5e5e5;
}

.calendar-list__entry {
  display: flex;
  flex-direction: row;
  padding: 15px;
}

.calendar-list__entry+ .calendar-list__entry {
  border-top: 1px solid #e5e5e5;
}

.calendar-list__entry-date-time,
.calendar-list__entry-text {
  width: 50%;
}

.calendar-list__entry-date {
  font-weight: bold;
}

.calendar-list__entry-title {
  font-weight: bold;
  font-size: 1em;
}

/* Basic styling for the filters*/
.calendar-widget-filters {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0 0 30px 0;
  padding: 0;
  list-style: none;
}

.calendar-widget-filters p {
  margin: 0;
}

.calendar-widget-filters .dropdown {
  position: relative;
  display: inline-block;
  margin-left: 10px;
}

.calendar-widget-filters .calendar-filter-dropbtn {
  background-color: #3498db;
  color: white;
  padding: 10px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}

.calendar-widget-filters  .dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.calendar-widget-filters  .dropdown-content .checkbox-label {
  display: block;
  padding: 8px;
  cursor: pointer;
}

.calendar-widget-filters  .dropdown-content .checkbox-label input {
  margin-right: 10px;
}

.calendar-widget-filters  .dropdown-content .checkbox-label:hover {
  background-color: #f1f1f1;
}

/* Show the dropdown when clicked */
.calendar-widget-filters .show,
.calendar-list__entry.show {
  display: block;
}

.calendar-list__entry.hide {
  display: none;
}

/* ICS Button */
.calendar-ics-button {
  background-color: #3498db;
  color: white;
  padding: 10px;
  font-size: 16px;
  border: none;
  cursor: pointer;
}

/* Calendar Modal */

/**************************\
  Basic Modal Styles
\**************************/

.modal {
  font-family: -apple-system,BlinkMacSystemFont,avenir next,avenir,helvetica neue,helvetica,ubuntu,roboto,noto,segoe ui,arial,sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 500px;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #00449e;
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
}

.modal__header .modal__close:before { content: "\2715"; }

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0,0,0,.8);
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0,0,0,.8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out,-webkit-transform .25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

#fullcalmodal-date {
  font-style: italic;
  margin-top: 10px;
}

.modal__footer {
  display: flex;
  justify-content: space-between;
}

.fc .fc-daygrid-event {
  cursor: pointer;
}

.fc .fc-daygrid-event .fc-event-title {
  text-overflow: ellipsis;
}

.fc .fc-list-event-title a {
  text-decoration: underline;
  cursor: pointer;
}

.fc-h-event {
  background-color: #8550b3;
  border-color: #8550b3;
}

.fc-daygrid-dot-event.fc-event-mirror, .fc-daygrid-dot-event:hover {
  background: #ddd;
}

/**************************\
  Animation Style
\**************************/
@keyframes mmfadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes mmfadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
  to { transform: translateY(0); }
}

@keyframes mmslideOut {
  from { transform: translateY(0); }
  to { transform: translateY(-10%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

a.fc-event.fc-daygrid-event::after {
  content: "click for details";
  display:block;
  position: absolute;
  left: -4em;
  bottom: -1.5em;
  opacity: .01;
  font-style: italic;
  font-size: .85em;
  transition: left .25s .5s, opacity .25s .5s;
}

a.fc-event.fc-daygrid-event:hover::after {
  left: .25em;
  opacity: 1;
}