.sectionCalendar {
  padding: 0 48px 110px 48px;
  @media (max-width: 925px) {
    padding: 0 13px 110px 13px;
  }
}

.calendarNoscriptControls {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.calendarNoscriptControls form {
  display: inline;
}

.calendarNoscriptMonth {
  margin: 0 16px;
  font-weight: bold;
}

a.fc-event,
a.fc-more-link {
  color: #000;
}

.fc-daygrid-event .fc-event-title {
  overflow: hidden;
  text-overflow: ellipsis;
}

.fc .fc-daygrid-day.fc-day-today {
  background-color: #2e6b8d33;
}

.fc .fc-prev-button.fc-button-primary,
.fc .fc-next-button.fc-button-primary {
  background-color: var(--main-button-background-color);
  border-color: var(--main-button-border-color);
  color: var(--main-button-color);
  padding: 8px 16px;
  transition: var(--button-transition);
  @media (max-width: 925px) {
    padding: 4px 8px;
  }
  &:hover {
    background-color: var(--main-button-background-color-hover);
    border-color: var(--main-button-border-color-hover);
    color: var(--main-button-color);
  }
  &:active {
    background-color: var(--main-button-background-color-active);
    border-color: var(--main-button-border-color-active);
    color: var(--main-button-color);
  }
  &:disabled:is(:hover, :active) {
    opacity: var(--button-disabled-opacity);
  }
}

.fc .fc-today-button.fc-button-primary {
  font-family: var(--open-sans-condensed-font-family);
  padding: 8px 16px;
  font-size: 20px;
  background-color: #f2f2f2;
  border-color: #f2f2f2;
  color: #000;
  transition: var(--button-transition);
  @media (max-width: 925px) {
    padding: 4px 8px;
  }
  &:hover {
    background-color: #cdcdcd;
    border-color: #cdcdcd;
    color: #000;
  }
  &:active {
    background-color: #a9a9a9;
    border-color: #a9a9a9;
    color: #000;
  }
  &:disabled:is(:hover, :active) {
    background-color: #f2f2f2;
    border-color: #f2f2f2;
    color: #000;
    opacity: var(--button-disabled-opacity);
  }
}

.sectionCalendar h1 {
  margin-top: 42px;
}

.fc .fc-toolbar-title {
  @media (max-width: 925px) {
    font-size: 24px;
  }
}

.calendarNoscriptEvents,
.calendarErrorMessage {
  @media (max-width: 925px) {
    margin-left: 20px;
  }
}

.calendarErrorLabel {
  color: #b22222;
  font-weight: bold;
}

/* Center title in toolbar on larger screens */
.fc .fc-toolbar.fc-header-toolbar::after {
  @media (min-width: 925px) {
    flex: 1;
    content: '';
  }
}

.fc .fc-toolbar.fc-header-toolbar > div.fc-toolbar-chunk:first-child {
  @media (min-width: 925px) {
    flex: 1;
  }
}
/* End center title in toolbar on larger screens */

.modal-anchor {
  width: 0px;
  height: 0px;

  overflow: visible;
}

#eventModal {
  display: none;
  position: absolute;
  z-index: 110;
  max-width: 350px;
  min-width: 280px;
  max-height: 80vh;
  overflow: auto;
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

#eventModal .modal-content-wrapper {
  padding: 20px;
  border: 1px solid #e0e0e0;
}

#eventModal .modal-content-wrapper .modal-content .modal-header {
  font-size: 24px;
}

#eventModal .modal-content-wrapper .modal-content .event-date-time {
  font-size: 16px;
}

#eventModal .event-date-time {
  font-size: 14px;
  color: #666;
  margin-bottom: 10px;
}

#eventModal a {
  font-size: 16px;
  color: #000;
}

#eventModal h2 {
  margin-right: 10px;
}

#eventModal .close {
  color: #aaa;
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 28px;
  font-weight: bold;
  border: none;
  background: none;
}

#eventModal .close:hover,
#eventModal .close:focus {
  color: black;
}
