/* Container for the event cards */
.libev-event-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: flex-start;
  margin-bottom: 2rem;
}

/* Each event card */
.libev-event-card {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 1rem;
  width: 250px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.2s ease;
}

.libev-event-card:hover {
  transform: translateY(-4px);
}

.libev-event-card img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.libev-event-card h3 {
  margin-top: 0.5em;
  font-size: 1.2em;
}

.libev-event-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    margin-bottom: 0.5rem;
}

.libev-event-card h3 a {
    text-decoration: none;
    color: #0057a8;
}

.libev-event-card h3 a:hover {
    text-decoration: underline;
}

.libev-event-small .libev-event-card { font-size: 0.9em; }
.libev-event-medium .libev-event-card { font-size: 1em; }
.libev-event-large .libev-event-card { font-size: 1.2em; }

.libev-field {
    background: #f9f9f9;
    padding: 1em;
    border: 1px solid #ddd;
    margin-bottom: 1em;
    border-radius: 4px;
}
.sortable-placeholder {
    background: #e0e0e0;
    height: 50px;
    margin-bottom: 1em;
    border: 2px dashed #aaa;
}
.field-options {
    display: block;
    width: 100%;
    height: 5em;
    margin-top: 0.3em;
}
.options-label {
    display: block;
    margin-top: 0.5em;
}
.libev-modal {
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5); /* Dim background */
    display: flex;
    justify-content: center;
    align-items: center;
}

.libev-error-message {
    color: red;
    font-weight: bold;
    margin-top: 1em;
}

.libev-modal-content {
    background-color: #fff;
    padding: 2em;
    border-radius: 8px;
    max-width: 500px;
    width: 90%;
    position: relative;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.libev-modal-close {
    position: absolute;
    top: 0.5em;
    right: 1em;
    font-size: 1.5em;
    color: #333;
    cursor: pointer;
}

.libev-register-button {
    display: inline-block;
    background: #0006aa;
    color: white;
    border: none;
    padding: 0.5em 1em;
    border-radius: 3px;
    font-size: 1em;
    cursor: pointer;
    position: relative;
    z-index: 10;
}

.libev-register-button:hover {
    background: #005177;
}
.libev-cancel-button {
    display: inline-block;
    background: #773200;
    color: white;
    border: none;
    padding: 0.5em 1em;
    border-radius: 3px;
    font-size: 1em;
    cursor: pointer;
    position: relative;
    z-index: 10;
}

.libev-cancel-button:hover {
    background: #770016;
}
.libev-submit-button {
    all: unset;
    display: inline-block;
    background-color: #0073aa;
    color: white;
    padding: 0.5em 1.2em;
    border-radius: 4px;
    font-size: 1em;
    cursor: pointer;
    appearance: button;
    text-align: center;
}
.libev-submit-button:focus {
    outline: 2px solid #005177;
    outline-offset: 2px;
}
.libev-submit-button:hover {
    background: #005177;
}
.regform-field-item {
    border: 1px solid #ddd;
    padding: 10px;
    margin-bottom: 10px;
    background: #fff;
}
.regform-field-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.page-id-library-calendar .transparent-header {
    position: relative;
    z-index: 1000;
}

.page-id-library-calendar #library-calendar-wrapper {
    padding-top: 100px;
    background-color: #fff;
    z-index: 1;
    position: relative;
}


#library-calendar-wrapper  .fc  .fc-non-business {
    background-color: #b0acac;
}

#library-calendar-wrapper .fc-daygrid-event {
  white-space: normal !important;
  word-break: break-word;
  overflow-wrap: break-word;
  display: block;
  padding: 2px 4px;
  max-width: 100%;
}

#library-calendar-wrapper .fc-event-title {
  white-space: normal !important;
}

#library-calendar-wrapper .closed-day {
    background-color: #c3c0c0; /* light gray */
    opacity: 0.5;
    pointer-events: none;
}

#library-calendar-wrapper .open-day {
    background-color: #eaffea !important; /* soft green */
}

#library-calendar-wrapper .business-hour {
    background-color: #cef3ce; /* soft green */
}

#library-calendar-wrapper .closed-hour {
    background-color: #bab7b7; /* soft gray for closed */
}

#library-calendar-wrapper .open-hour {
    background-color: #eaffea !important;
}

#library-calendar-wrapper .fc-timegrid-slot.closed-hour {
    background-color: #f0f0f0 !important;
}

#library-calendar-wrapper .fc-timegrid-slot.open-hour {
    background-color: #84d084 !important; /* soft green */
}


#library-calendar-wrapper  .fc-event.holiday-label {
    background-color: transparent !important;
    border: none !important;
    color: #c00 !important;
    font-weight: bold;
    pointer-events: none;
    text-decoration: none;
}

#library-calendar-wrapper  .fc-event.holiday-label a {
    color: #c00 !important;
    text-decoration: none !important;
    pointer-events: none;
}

/* Constrain calendar event titles inside day boxes */
#library-calendar-wrapper  .fc  .fc-event-title-container {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  
  #library-calendar-wrapper  .fc  .fc-event {
    max-width: 100%;
    box-sizing: border-box;
  }

 /* Constrain event titles in dayGridMonth */
/* FullCalendar event text wrap for dayGridMonth view */
#library-calendar-wrapper  .fc-daygrid-event {
    display: block;
    white-space: normal;     /* Allow wrapping */
    word-break: break-word;  /* Break long words if needed */
    padding: 2px 4px;
    box-sizing: border-box;
    max-width: 100%;
  }
  
#library-calendar-wrapper  .fc-daygrid-event   .fc-event-title {
    white-space: normal;     /* Enable text wrapping for title */
  }
  
   
#library-calendar-wrapper  .fc-icon,
#library-calendar-wrapper  .fc-unselectable {
    -moz-user-select: none;
    -ms-user-select: none
}

#library-calendar-wrapper  .fc  .fc-button,
#library-calendar-wrapper  .fc-icon {
    text-transform: none;
    font-weight: 400
}

#library-calendar-wrapper  .fc-not-allowed,
#library-calendar-wrapper  .fc-not-allowed  .fc-event {
    cursor: not-allowed
}

#library-calendar-wrapper  .fc  .fc-button:not(:disabled),
#library-calendar-wrapper  .fc a[data-navlink],
#library-calendar-wrapper  .fc-event  .fc-event-draggable,
#library-calendar-wrapper  .fc-event[href] {
    cursor: pointer
}

#library-calendar-wrapper  .fc-unselectable {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent
}

#library-calendar-wrapper  .fc {
    display: flex;
    flex-direction: column;
    font-size: 1em
}

#library-calendar-wrapper  .fc  .fc-button,
#library-calendar-wrapper  .fc-icon {
    display: inline-block;
    text-align: center
}

.fc,
#library-calendar-wrapper  .fc *,
#library-calendar-wrapper  .fc :after,
#library-calendar-wrapper  .fc :before {
    box-sizing: border-box
}

#library-calendar-wrapper  .fc table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1em
}

#library-calendar-wrapper  .fc th {
    text-align: center
}

#library-calendar-wrapper  .fc td,
#library-calendar-wrapper  .fc th {
    vertical-align: top;
    padding: 0
}

#library-calendar-wrapper  .fc  .fc-button,
#library-calendar-wrapper  .fc  .fc-button   .fc-icon,
#library-calendar-wrapper  .fc  .fc-button-group,
#library-calendar-wrapper  .fc  .fc-timegrid-slot-label {
    vertical-align: middle
}

#library-calendar-wrapper  .fc a[data-navlink]:hover {
    text-decoration: underline
}

#library-calendar-wrapper  .fc  .fc-button:hover,
#library-calendar-wrapper  .fc  .fc-list-event-title a,
a#library-calendar-wrapper  .fc-event,
a#library-calendar-wrapper  .fc-event:hover {
    text-decoration: none
}

#library-calendar-wrapper  .fc-direction-ltr {
    direction: ltr;
    text-align: left
}

#library-calendar-wrapper  .fc-direction-rtl {
    direction: rtl;
    text-align: right
}

#library-calendar-wrapper  .fc-theme-standard td,
#library-calendar-wrapper  .fc-theme-standard th {
    border: 1px solid #ddd;
    border: 1px solid var(--fc-border-color, #ddd)
}

#library-calendar-wrapper  .fc-liquid-hack td,
#library-calendar-wrapper  .fc-liquid-hack th {
    position: relative
}

@font-face {
    font-family: fcicons;
    src: url("data:application/x-font-ttf;charset=utf-8;base64,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") format('truetype');
    font-weight: 400;
    font-style: normal
}

#library-calendar-wrapper  .fc-icon {
    width: 1em;
    height: 1em;
    -webkit-user-select: none;
    user-select: none;
    font-family: fcicons !important;
    speak: none;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

#library-calendar-wrapper  .fc-icon-chevron-left:before {
    content: "\e900"
}

#library-calendar-wrapper  .fc-icon-chevron-right:before {
    content: "\e901"
}

#library-calendar-wrapper  .fc-icon-chevrons-left:before {
    content: "\e902"
}

#library-calendar-wrapper  .fc-icon-chevrons-right:before {
    content: "\e903"
}

#library-calendar-wrapper  .fc-icon-minus-square:before {
    content: "\e904"
}

#library-calendar-wrapper  .fc-icon-plus-square:before {
    content: "\e905"
}

#library-calendar-wrapper  .fc-icon-x:before {
    content: "\e906"
}

#library-calendar-wrapper  .fc  .fc-button {
    overflow: visible;
    text-transform: none;
    margin: 0;
    font-family: inherit
}

#library-calendar-wrapper  .fc  .fc-button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

#library-calendar-wrapper  .fc  .fc-button {
    -webkit-appearance: button;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    padding: .4em .65em;
    font-size: 1em;
    line-height: 1.5;
    border-radius: .25em
}

#library-calendar-wrapper  .fc  .fc-button:focus {
    outline: 0;
    box-shadow: 0 0 0 .2rem rgba(44, 62, 80, .25)
}

#library-calendar-wrapper  .fc  .fc-button-primary:focus,
#library-calendar-wrapper  .fc  .fc-button-primary:not(:disabled)  .fc-button-active:focus,
#library-calendar-wrapper  .fc  .fc-button-primary:not(:disabled):active:focus {
    box-shadow: 0 0 0 .2rem rgba(76, 91, 106, .5)
}

#library-calendar-wrapper  .fc  .fc-button:disabled {
    opacity: .65
}

#library-calendar-wrapper  .fc  .fc-button-primary {
    color: #fff;
    color: var(--fc-button-text-color, #fff);
    background-color: #2C3E50;
    background-color: var(--fc-button-bg-color, #2C3E50);
    border-color: #2C3E50;
    border-color: var(--fc-button-border-color, #2C3E50)
}

#library-calendar-wrapper  .fc  .fc-button-primary:hover {
    color: #fff;
    color: var(--fc-button-text-color, #fff);
    background-color: #1e2b37;
    background-color: var(--fc-button-hover-bg-color, #1e2b37);
    border-color: #1a252f;
    border-color: var(--fc-button-hover-border-color, #1a252f)
}

#library-calendar-wrapper  .fc  .fc-button-primary:disabled {
    color: #fff;
    color: var(--fc-button-text-color, #fff);
    background-color: #2C3E50;
    background-color: var(--fc-button-bg-color, #2C3E50);
    border-color: #2C3E50;
    border-color: var(--fc-button-border-color, #2C3E50)
}

#library-calendar-wrapper  .fc  .fc-button-primary:not(:disabled)  .fc-button-active,
#library-calendar-wrapper  .fc  .fc-button-primary:not(:disabled):active {
    color: #fff;
    color: var(--fc-button-text-color, #fff);
    background-color: #1a252f;
    background-color: var(--fc-button-active-bg-color, #1a252f);
    border-color: #151e27;
    border-color: var(--fc-button-active-border-color, #151e27)
}

#library-calendar-wrapper  .fc  .fc-button   .fc-icon {
    font-size: 1.5em
}

#library-calendar-wrapper  .fc  .fc-button-group {
    position: relative;
    display: inline-flex
}

#library-calendar-wrapper  .fc  .fc-button-group>  .fc-button {
    position: relative;
    flex: 1 1 auto
}

#library-calendar-wrapper  .fc  .fc-button-group>  .fc-button  .fc-button-active,
#library-calendar-wrapper  .fc  .fc-button-group>  .fc-button:active,
#library-calendar-wrapper  .fc  .fc-button-group>  .fc-button:focus,
#library-calendar-wrapper  .fc  .fc-button-group>  .fc-button:hover {
    z-index: 1
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-button-group>  .fc-button:not(:first-child) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-button-group>  .fc-button:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-button-group>  .fc-button:not(:first-child) {
    margin-right: -1px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-button-group>  .fc-button:not(:last-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

#library-calendar-wrapper  .fc  .fc-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center
}

#library-calendar-wrapper  .fc  .fc-toolbar  .fc-header-toolbar {
    margin-bottom: 1.5em
}

#library-calendar-wrapper  .fc  .fc-toolbar  .fc-footer-toolbar {
    margin-top: 1.5em
}

#library-calendar-wrapper  .fc  .fc-toolbar-title {
    font-size: 1.75em;
    margin: 0
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-toolbar>*>:not(:first-child) {
    margin-left: .75em
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-toolbar>*>:not(:first-child) {
    margin-right: .75em
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-toolbar-ltr {
    flex-direction: row-reverse
}

#library-calendar-wrapper  .fc  .fc-scroller {
    -webkit-overflow-scrolling: touch;
    position: relative
}

#library-calendar-wrapper  .fc  .fc-scroller-liquid {
    height: 100%
}

#library-calendar-wrapper  .fc  .fc-scroller-liquid-absolute {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0
}

#library-calendar-wrapper  .fc  .fc-scroller-harness {
    position: relative;
    overflow: hidden;
    direction: ltr
}

#library-calendar-wrapper  .fc  .fc-scroller-harness-liquid {
    height: 100%
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-scroller-harness>  .fc-scroller {
    direction: rtl
}

#library-calendar-wrapper  .fc-theme-standard   .fc-scrollgrid {
    border: 1px solid #ddd;
    border: 1px solid var(--fc-border-color, #ddd)
}

#library-calendar-wrapper  .fc  .fc-scrollgrid,
#library-calendar-wrapper  .fc  .fc-scrollgrid-section-footer>*,
#library-calendar-wrapper  .fc  .fc-scrollgrid-section-header>* {
    border-bottom-width: 0
}

#library-calendar-wrapper  .fc  .fc-scrollgrid,
#library-calendar-wrapper  .fc  .fc-scrollgrid table {
    width: 100%;
    table-layout: fixed
}

#library-calendar-wrapper  .fc  .fc-scrollgrid table {
    border-top-style: hidden;
    border-left-style: hidden;
    border-right-style: hidden
}

#library-calendar-wrapper  .fc  .fc-scrollgrid {
    border-collapse: separate;
    border-right-width: 0
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-liquid {
    height: 100%
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section,
#library-calendar-wrapper  .fc  .fc-scrollgrid-section table,
#library-calendar-wrapper  .fc  .fc-scrollgrid-section>td {
    height: 1px
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section-liquid>td {
    height: 100%
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section>* {
    border-top-width: 0;
    border-left-width: 0
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section-body table,
#library-calendar-wrapper  .fc  .fc-scrollgrid-section-footer table {
    border-bottom-style: hidden
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section-sticky>* {
    background: var(--fc-page-bg-color, #fff);
    position: sticky;
    z-index: 3
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section-header  .fc-scrollgrid-section-sticky>* {
    top: 0
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-section-footer  .fc-scrollgrid-section-sticky>* {
    bottom: 0
}

#library-calendar-wrapper  .fc  .fc-scrollgrid-sticky-shim {
    height: 1px;
    margin-bottom: -1px
}

#library-calendar-wrapper  .fc-sticky {
    position: sticky
}

#library-calendar-wrapper  .fc  .fc-view-harness {
    flex-grow: 1;
    position: relative
}

#library-calendar-wrapper  .fc  .fc-bg-event,
#library-calendar-wrapper  .fc  .fc-highlight,
#library-calendar-wrapper  .fc  .fc-non-business,
#library-calendar-wrapper  .fc  .fc-view-harness-active>  .fc-view {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

#library-calendar-wrapper  .fc  .fc-col-header-cell-cushion {
    display: inline-block;
    padding: 2px 4px
}

#library-calendar-wrapper  .fc  .fc-non-business {
    background: rgba(215, 215, 215, .3);
    background: var(--fc-non-business-color, rgba(215, 215, 215, .3))
}

#library-calendar-wrapper  .fc  .fc-bg-event {
    background: var(--fc-bg-event-color, #8fdf82);
    opacity: .3;
    opacity: var(--fc-bg-event-opacity, .3)
}

#library-calendar-wrapper  .fc  .fc-bg-event   .fc-event-title {
    margin: .5em;
    font-size: .85em;
    font-size: var(--fc-small-font-size, .85em);
    font-style: italic
}

#library-calendar-wrapper  .fc  .fc-highlight {
    background: rgba(188, 232, 241, .3);
    background: var(--fc-highlight-color, rgba(188, 232, 241, .3))
}

#library-calendar-wrapper  .fc  .fc-cell-shaded,
#library-calendar-wrapper  .fc  .fc-day-disabled {
    background: rgba(208, 208, 208, .3);
    background: var(--fc-neutral-bg-color, rgba(208, 208, 208, .3))
}

#library-calendar-wrapper  .fc-event   .fc-event-main {
    position: relative;
    z-index: 2
}

#library-calendar-wrapper  .fc-event-dragging:not(  .fc-event-selected) {
    opacity: .75
}

#library-calendar-wrapper  .fc-event-dragging  .fc-event-selected {
    box-shadow: 0 2px 7px rgba(0, 0, 0, .3)
}

#library-calendar-wrapper  .fc-event   .fc-event-resizer {
    display: none;
    position: absolute;
    z-index: 4
}

#library-calendar-wrapper  .fc-event-selected  .fc-event-resizer,
#library-calendar-wrapper  .fc-event:hover  .fc-event-resizer,
#library-calendar-wrapper  .fc-h-event,
#library-calendar-wrapper  .fc-v-event {
    display: block
}

#library-calendar-wrapper  .fc-event-selected  .fc-event-resizer {
    border-radius: 4px;
    border-radius: calc(var(--fc-event-resizer-dot-total-width, 8px)/ 2);
    border-width: 1px;
    border-width: var(--fc-event-resizer-dot-border-width, 1px);
    width: 8px;
    width: var(--fc-event-resizer-dot-total-width, 8px);
    height: 8px;
    height: var(--fc-event-resizer-dot-total-width, 8px);
    border-style: solid;
    border-color: inherit;
    background: var(--fc-page-bg-color, #fff)
}

#library-calendar-wrapper  .fc-event-selected  .fc-event-resizer:before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px
}

#library-calendar-wrapper  .fc-event-selected,
#library-calendar-wrapper  .fc-event:focus {
    box-shadow: 0 2px 5px rgba(0, 0, 0, .2)
}

#library-calendar-wrapper  .fc-event-selected:before,
#library-calendar-wrapper  .fc-event:focus:before {
    content: "";
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

#library-calendar-wrapper  .fc-event-selected:after,
#library-calendar-wrapper  .fc-event:focus:after {
    content: "";
    background: rgba(0, 0, 0, .25);
    background: var(--fc-event-selected-overlay-color, rgba(0, 0, 0, .25));
    position: absolute;
    z-index: 1;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px
}

#library-calendar-wrapper  .fc-h-event {
    border: 1px solid #3788d8;
    border: 1px solid var(--fc-event-border-color, #3788d8);
    background-color: #3788d8;
    background-color: var(--fc-event-bg-color, #3788d8)
}

#library-calendar-wrapper  .fc-h-event   .fc-event-main {
    color: #fff;
    color: var(--fc-event-text-color, #fff)
}

#library-calendar-wrapper  .fc-h-event   .fc-event-main-frame {
    display: flex
}

#library-calendar-wrapper  .fc-h-event   .fc-event-time {
    max-width: 100%;
    overflow: hidden
}

#library-calendar-wrapper  .fc-h-event   .fc-event-title-container {
    flex-grow: 1;
    flex-shrink: 1;
    min-width: 0
}

#library-calendar-wrapper  .fc-h-event   .fc-event-title {
    display: inline-block;
    vertical-align: top;
    left: 0;
    right: 0;
    max-width: 100%;
    overflow: hidden
}

#library-calendar-wrapper  .fc-h-event  .fc-event-selected:before {
    top: -10px;
    bottom: -10px
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-block-event:not(  .fc-event-start),
#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-block-event:not( .fc-event-end) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left-width: 0
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-block-event:not(  .fc-event-end),
#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-block-event:not(  .fc-event-start) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-width: 0
}

#library-calendar-wrapper  .fc-h-event:not(  .fc-event-selected) .fc-event-resizer {
    top: 0;
    bottom: 0;
    width: 8px;
    width: var(--fc-event-resizer-thickness, 8px)
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-h-event:not(  .fc-event-selected)  .fc-event-resizer-start,
#library-calendar-wrapper  .fc-direction-rtl   .fc-h-event:not(  .fc-event-selected)  .fc-event-resizer-end {
    cursor: w-resize;
    left: -4px;
    left: calc(-.5 * var(--fc-event-resizer-thickness, 8px))
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-h-event:not(  .fc-event-selected)  .fc-event-resizer-end,
#library-calendar-wrapper  .fc-direction-rtl   .fc-h-event:not(  .fc-event-selected)   .fc-event-resizer-start {
    cursor: e-resize;
    right: -4px;
    right: calc(-.5 * var(--fc-event-resizer-thickness, 8px))
}

#library-calendar-wrapper  .fc-h-event  .fc-event-selected   .fc-event-resizer {
    top: 50%;
    margin-top: -4px;
    margin-top: calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-h-event  .fc-event-selected   .fc-event-resizer-start,
#library-calendar-wrapper  .fc-direction-rtl   .fc-h-event  .fc-event-selected   .fc-event-resizer-end {
    left: -4px;
    left: calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-h-event .fc-event-selected   .fc-event-resizer-end,
#library-calendar-wrapper  .fc-direction-rtl   .fc-h-event  .fc-event-selected   .fc-event-resizer-start {
    right: -4px;
    right: calc(-.5 * var(--fc-event-resizer-dot-total-width, 8px))
}

#library-calendar-wrapper  .fc  .fc-popover {
    position: absolute;
    z-index: 9999;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .15)
}

#library-calendar-wrapper  .fc  .fc-popover-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 3px 4px
}

#library-calendar-wrapper  .fc  .fc-popover-title {
    margin: 0 2px
}

#library-calendar-wrapper  .fc  .fc-popover-close {
    cursor: pointer;
    opacity: .65;
    font-size: 1.1em
}

#library-calendar-wrapper  .fc-theme-standard .fc-popover {
    border: 1px solid #ddd;
    border: 1px solid var(--fc-border-color, #ddd);
    background: var(--fc-page-bg-color, #fff)
}

#library-calendar-wrapper  .fc-theme-standard .fc-popover-header {
    background: rgba(208, 208, 208, .3);
    background: var(--fc-neutral-bg-color, rgba(208, 208, 208, .3))
}

:root {
    --fc-daygrid-event-dot-width: 8px;
    --fc-list-event-dot-width: 10px;
    --fc-list-event-hover-bg-color: #f5f5f5
}

#library-calendar-wrapper  .fc-daygrid-day-events:after,
#library-calendar-wrapper  .fc-daygrid-day-events:before,
#library-calendar-wrapper  .fc-daygrid-day-frame:after,
#library-calendar-wrapper  .fc-daygrid-day-frame:before,
#library-calendar-wrapper  .fc-daygrid-event-harness:after,
#library-calendar-wrapper  .fc-daygrid-event-harness:before {
    content: "";
    clear: both;
    display: table
}

#library-calendar-wrapper  .fc  .fc-daygrid-body {
    position: relative;
    z-index: 1
}

#library-calendar-wrapper  .fc  .fc-daygrid-day  .fc-day-today {
    background-color: rgba(255, 220, 40, .15);
    background-color: var(--fc-today-bg-color, rgba(255, 220, 40, .15))
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-frame {
    position: relative;
    min-height: 100%
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-top {
    display: flex;
    flex-direction: row-reverse
}

#library-calendar-wrapper  .fc  .fc-day-other  .fc-daygrid-day-top {
    opacity: .3
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-number {
    position: relative;
    z-index: 4;
    padding: 4px
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-events {
    margin-top: 1px
}

#library-calendar-wrapper  .fc  .fc-daygrid-body-balanced .fc-daygrid-day-events {
    position: absolute;
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc  .fc-daygrid-body-unbalanced   .fc-daygrid-day-events {
    position: relative;
    min-height: 2em
}

#library-calendar-wrapper  .fc  .fc-daygrid-body-natural   .fc-daygrid-day-events {
    margin-bottom: 1em
}

#library-calendar-wrapper  .fc  .fc-daygrid-event-harness {
    position: relative
}

#library-calendar-wrapper  .fc  .fc-daygrid-event-harness-abs {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc  .fc-daygrid-bg-harness {
    position: absolute;
    top: 0;
    bottom: 0
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-bg   .fc-non-business {
    z-index: 1
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-bg  .fc-bg-event {
    z-index: 2
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-bg  .fc-highlight {
    z-index: 3
}

#library-calendar-wrapper  .fc  .fc-daygrid-event {
    z-index: 6;
    margin-top: 1px
}

#library-calendar-wrapper  .fc  .fc-daygrid-event  .fc-event-mirror {
    z-index: 7
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-bottom {
    font-size: .85em;
    padding: 2px 3px 0
}

#library-calendar-wrapper  .fc  .fc-daygrid-day-bottom:before {
    content: "";
    clear: both;
    display: table
}

#library-calendar-wrapper  .fc  .fc-daygrid-more-link {
    position: relative;
    z-index: 4;
    cursor: pointer
}

#library-calendar-wrapper  .fc  .fc-daygrid-week-number {
    position: absolute;
    z-index: 5;
    top: 0;
    padding: 2px;
    min-width: 1.5em;
    text-align: center;
    background-color: rgba(208, 208, 208, .3);
    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, .3));
    color: grey;
    color: var(--fc-neutral-text-color, grey)
}

#library-calendar-wrapper  .fc  .fc-more-popover   .fc-popover-body {
    min-width: 220px;
    padding: 10px
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-event  .fc-event-start,
#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-event  .fc-event-end {
    margin-left: 2px
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-event  .fc-event-end,
#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-event  .fc-event-start {
    margin-right: 2px
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-week-number {
    left: 0;
    border-radius: 0 0 3px
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-week-number {
    right: 0;
    border-radius: 0 0 0 3px
}

#library-calendar-wrapper  .fc-liquid-hack  .fc-daygrid-day-frame {
    position: static
}

#library-calendar-wrapper  .fc-daygrid-event {
    position: relative;
    white-space: nowrap;
    border-radius: 3px;
    font-size: .85em;
    font-size: var(--fc-small-font-size, .85em)
}

#library-calendar-wrapper  .fc-daygrid-block-event   .fc-event-time {
    font-weight: 700
}

#library-calendar-wrapper  .fc-daygrid-block-event   .fc-event-time,
#library-calendar-wrapper  .fc-daygrid-block-event   .fc-event-title {
    padding: 1px
}

#library-calendar-wrapper  .fc-daygrid-dot-event {
    display: flex;
    align-items: center;
    padding: 2px 0
}

#library-calendar-wrapper  .fc-daygrid-dot-event   .fc-event-title {
    flex-grow: 1;
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    font-weight: 700
}

#library-calendar-wrapper  .fc-daygrid-dot-event  .fc-event-mirror,
#library-calendar-wrapper  .fc-daygrid-dot-event:hover {
    background: rgba(0, 0, 0, .1)
}

#library-calendar-wrapper  .fc-daygrid-dot-event .fc-event-selected:before {
    top: -10px;
    bottom: -10px
}

#library-calendar-wrapper  .fc-daygrid-event-dot {
    margin: 0 4px;
    box-sizing: content-box;
    width: 0;
    height: 0;
    border: 4px solid #3788d8;
    border: calc(var(--fc-daygrid-event-dot-width, 8px)/ 2) solid var(--fc-event-border-color, #3788d8);
    border-radius: 4px;
    border-radius: calc(var(--fc-daygrid-event-dot-width, 8px)/ 2)
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-daygrid-event   .fc-event-time {
    margin-right: 3px
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-daygrid-event   .fc-event-time {
    margin-left: 3px
}

#library-calendar-wrapper  .fc-v-event {
    border: 1px solid #3788d8;
    border: 1px solid var(--fc-event-border-color, #3788d8);
    background-color: #3788d8;
    background-color: var(--fc-event-bg-color, #3788d8)
}

#library-calendar-wrapper  .fc-v-event   .fc-event-main {
    color: #fff;
    color: var(--fc-event-text-color, #fff);
    height: 100%
}

#library-calendar-wrapper  .fc-v-event   .fc-event-main-frame {
    height: 100%;
    display: flex;
    flex-direction: column
}

#library-calendar-wrapper  .fc-v-event   .fc-event-time {
    flex-grow: 0;
    flex-shrink: 0;
    max-height: 100%;
    overflow: hidden
}

#library-calendar-wrapper  .fc-v-event   .fc-event-title-container {
    flex-grow: 1;
    flex-shrink: 1;
    min-height: 0
}

#library-calendar-wrapper  .fc-v-event   .fc-event-title {
    top: 0;
    bottom: 0;
    max-height: 100%;
    overflow: hidden
}

#library-calendar-wrapper  .fc-v-event:not(  .fc-event-start) {
    border-top-width: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0
}

#library-calendar-wrapper  .fc-v-event:not(  .fc-event-end) {
    border-bottom-width: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0
}

#library-calendar-wrapper  .fc-v-event  .fc-event-selected:before {
    left: -10px;
    right: -10px
}

#library-calendar-wrapper  .fc-v-event   .fc-event-resizer-start {
    cursor: n-resize
}

#library-calendar-wrapper  .fc-v-event   .fc-event-resizer-end {
    cursor: s-resize
}

#library-calendar-wrapper  .fc-v-event:not(  .fc-event-selected)  .fc-event-resizer {
    height: 8px;
    height: var(--fc-event-resizer-thickness, 8px);
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc-v-event:not(  .fc-event-selected)  .fc-event-resizer-start {
    top: -4px;
    top: calc(var(--fc-event-resizer-thickness, 8px)/ -2)
}

#library-calendar-wrapper  .fc-v-event:not( .fc-event-selected)   .fc-event-resizer-end {
    bottom: -4px;
    bottom: calc(var(--fc-event-resizer-thickness, 8px)/ -2)
}

#library-calendar-wrapper  .fc-v-event  .fc-event-selected   .fc-event-resizer {
    left: 50%;
    margin-left: -4px;
    margin-left: calc(var(--fc-event-resizer-dot-total-width, 8px)/ -2)
}

#library-calendar-wrapper  .fc-v-event  .fc-event-selected   .fc-event-resizer-start {
    top: -4px;
    top: calc(var(--fc-event-resizer-dot-total-width, 8px)/ -2)
}

#library-calendar-wrapper  .fc-v-event  .fc-event-selected   .fc-event-resizer-end {
    bottom: -4px;
    bottom: calc(var(--fc-event-resizer-dot-total-width, 8px)/ -2)
}

#library-calendar-wrapper  .fc  .fc-timegrid  .fc-daygrid-body {
    z-index: 2
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-chunk>table,
#library-calendar-wrapper  .fc  .fc-timegrid-body,
#library-calendar-wrapper  .fc  .fc-timegrid-slots {
    position: relative;
    z-index: 1
}

#library-calendar-wrapper  .fc  .fc-timegrid-divider {
    padding: 0 0 2px
}

#library-calendar-wrapper  .fc  .fc-timegrid-body {
    min-height: 100%
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-chunk {
    position: relative
}

#library-calendar-wrapper  .fc  .fc-timegrid-slot {
    height: 1.5em;
    border-bottom: 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-slot:empty:before {
    content: '\00a0'
}

#library-calendar-wrapper  .fc  .fc-timegrid-slot-minor {
    border-top-style: dotted
}

#library-calendar-wrapper  .fc  .fc-timegrid-slot-label-cushion {
    display: inline-block;
    white-space: nowrap
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-cushion,
#library-calendar-wrapper  .fc  .fc-timegrid-slot-label-cushion {
    padding: 0 4px
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-frame-liquid {
    height: 100%
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-frame {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

#library-calendar-wrapper  .fc  .fc-timegrid-axis-cushion {
    max-width: 60px;
    flex-shrink: 0
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-timegrid-slot-label-frame {
    text-align: right
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-timegrid-slot-label-frame {
    text-align: left
}

#library-calendar-wrapper  .fc-liquid-hack   .fc-timegrid-axis-frame-liquid {
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-col  .fc-day-today {
    background-color: rgba(255, 220, 40, .15);
    background-color: var(--fc-today-bg-color, rgba(255, 220, 40, .15))
}

#library-calendar-wrapper  .fc  .fc-timegrid-col-frame {
    min-height: 100%;
    position: relative
}

#library-calendar-wrapper  .fc-media-screen .fc-liquid-hack  .fc-timegrid-col-frame {
    height: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

#library-calendar-wrapper  .fc-media-screen  .fc-timegrid-cols {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

#library-calendar-wrapper  .fc-media-screen .fc-timegrid-cols>table {
    height: 100%
}

#library-calendar-wrapper  .fc-media-screen  .fc-timegrid-col-bg,
#library-calendar-wrapper  .fc-media-screen   .fc-timegrid-col-events,
#library-calendar-wrapper  .fc-media-screen  .fc-timegrid-now-indicator-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-col-bg {
    z-index: 2
}

#library-calendar-wrapper  .fc  .fc-timegrid-col-bg  .fc-non-business {
    z-index: 1
}

#library-calendar-wrapper  .fc  .fc-timegrid-col-bg  .fc-bg-event {
    z-index: 2
}

#library-calendar-wrapper  .fc  .fc-timegrid-col-bg  .fc-highlight,
#library-calendar-wrapper  .fc  .fc-timegrid-col-events {
    z-index: 3
}

#library-calendar-wrapper  .fc  .fc-timegrid-bg-harness {
    position: absolute;
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-now-indicator-container {
    bottom: 0;
    overflow: hidden
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-timegrid-col-events {
    margin: 0 2.5% 0 2px
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-timegrid-col-events {
    margin: 0 2px 0 2.5%
}

#library-calendar-wrapper  .fc-timegrid-event-harness {
    position: absolute
}

#library-calendar-wrapper  .fc-timegrid-event-harness> .fc-timegrid-event {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

#library-calendar-wrapper  .fc-timegrid-event-harness-inset  .fc-timegrid-event,
#library-calendar-wrapper  .fc-timegrid-event  .fc-event-mirror,
#library-calendar-wrapper  .fc-timegrid-more-link {
    box-shadow: 0 0 0 1px #fff;
    box-shadow: 0 0 0 1px var(--fc-page-bg-color, #fff)
}

#library-calendar-wrapper  .fc-timegrid-event,
#library-calendar-wrapper  .fc-timegrid-more-link {
    font-size: .85em;
    font-size: var(--fc-small-font-size, .85em);
    border-radius: 3px
}

#library-calendar-wrapper  .fc-timegrid-event {
    margin-bottom: 1px
}

#library-calendar-wrapper  .fc-timegrid-event   .fc-event-main {
    padding: 1px 1px 0
}

#library-calendar-wrapper  .fc-timegrid-event   .fc-event-time {
    white-space: nowrap;
    font-size: .85em;
    font-size: var(--fc-small-font-size, .85em);
    margin-bottom: 1px
}

#library-calendar-wrapper  .fc-timegrid-event-short  .fc-event-main-frame {
    flex-direction: row;
    overflow: hidden
}

#library-calendar-wrapper  .fc-timegrid-event-short  .fc-event-time:after {
    content: '\00a0-\00a0'
}

#library-calendar-wrapper  .fc-timegrid-event-short  .fc-event-title {
    font-size: .85em;
    font-size: var(--fc-small-font-size, .85em)
}

#library-calendar-wrapper  .fc-timegrid-more-link {
    position: absolute;
    z-index: 9999;
    color: inherit;
    color: var(--fc-more-link-text-color, inherit);
    background: var(--fc-more-link-bg-color, #d0d0d0);
    cursor: pointer;
    margin-bottom: 1px
}

#library-calendar-wrapper  .fc-timegrid-more-link-inner {
    padding: 3px 2px;
    top: 0
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-timegrid-more-link {
    right: 0
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-timegrid-more-link {
    left: 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-now-indicator-line {
    position: absolute;
    z-index: 4;
    left: 0;
    right: 0;
    border-style: solid;
    border-color: red;
    border-color: var(--fc-now-indicator-color, red);
    border-width: 1px 0 0
}

#library-calendar-wrapper  .fc  .fc-timegrid-now-indicator-arrow {
    position: absolute;
    z-index: 4;
    margin-top: -5px;
    border-style: solid;
    border-color: red;
    border-color: var(--fc-now-indicator-color, red)
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-timegrid-now-indicator-arrow {
    left: 0;
    border-width: 5px 0 5px 6px;
    border-top-color: transparent;
    border-bottom-color: transparent
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-timegrid-now-indicator-arrow {
    right: 0;
    border-width: 5px 6px 5px 0;
    border-top-color: transparent;
    border-bottom-color: transparent
}

#library-calendar-wrapper  .fc-theme-standard  .fc-list {
    border: 1px solid #ddd;
    border: 1px solid var(--fc-border-color, #ddd)
}

#library-calendar-wrapper  .fc  .fc-list-empty {
    background-color: rgba(208, 208, 208, .3);
    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, .3));
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center
}

#library-calendar-wrapper  .fc  .fc-list-empty-cushion {
    margin: 5em 0
}

#library-calendar-wrapper  .fc  .fc-list-table {
    width: 100%;
    border-style: hidden
}

#library-calendar-wrapper  .fc  .fc-list-table tr>* {
    border-left: 0;
    border-right: 0
}

#library-calendar-wrapper  .fc  .fc-list-sticky  .fc-list-day>* {
    position: sticky;
    top: 0;
    background: var(--fc-page-bg-color, #fff)
}

#library-calendar-wrapper  .fc  .fc-list-table thead {
    position: absolute;
    left: -10000px
}

#library-calendar-wrapper  .fc  .fc-list-table tbody>tr:first-child th {
    border-top: 0
}

#library-calendar-wrapper  .fc  .fc-list-table th {
    padding: 0
}

#library-calendar-wrapper  .fc  .fc-list-day-cushion,
#library-calendar-wrapper  .fc  .fc-list-table td {
    padding: 8px 14px
}

#library-calendar-wrapper  .fc  .fc-list-day-cushion:after {
    content: "";
    clear: both;
    display: table
}

#library-calendar-wrapper  .fc-theme-standard  .fc-list-day-cushion {
    background-color: rgba(208, 208, 208, .3);
    background-color: var(--fc-neutral-bg-color, rgba(208, 208, 208, .3))
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-list-day-text,
#library-calendar-wrapper  .fc-direction-rtl   .fc-list-day-side-text {
    float: left
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-list-day-side-text,
#library-calendar-wrapper  .fc-direction-rtl   .fc-list-day-text {
    float: right
}

#library-calendar-wrapper  .fc-direction-ltr   .fc-list-table  .fc-list-event-graphic {
    padding-right: 0
}

#library-calendar-wrapper  .fc-direction-rtl   .fc-list-table  .fc-list-event-graphic {
    padding-left: 0
}

#library-calendar-wrapper  .fc  .fc-list-event  .fc-event-forced-url {
    cursor: pointer
}

#library-calendar-wrapper  .fc  .fc-list-event:hover td {
    background-color: #f5f5f5;
    background-color: var(--fc-list-event-hover-bg-color, #f5f5f5)
}

#library-calendar-wrapper  .fc  .fc-list-event-graphic,
#library-calendar-wrapper  .fc  .fc-list-event-time {
    white-space: nowrap;
    width: 1px
}

#library-calendar-wrapper  .fc  .fc-list-event-dot {
    display: inline-block;
    box-sizing: content-box;
    width: 0;
    height: 0;
    border: 5px solid #3788d8;
    border: calc(var(--fc-list-event-dot-width, 10px)/ 2) solid var(--fc-event-border-color, #3788d8);
    border-radius: 5px;
    border-radius: calc(var(--fc-list-event-dot-width, 10px)/ 2)
}

#library-calendar-wrapper  .fc  .fc-list-event-title a {
    color: inherit
}

#library-calendar-wrapper  .fc  .fc-list-event  .fc-event-forced-url:hover a {
    text-decoration: underline
}

#library-calendar-wrapper  .fc-theme-bootstrap a:not([href]) {
    color: inherit
}

#library-calendar-wrapper  .fc-theme-bootstrap5 a:not([href]) {
    color: inherit;
    text-decoration: inherit
}

#library-calendar-wrapper  .fc-theme-bootstrap5  .fc-list,
#library-calendar-wrapper  .fc-theme-bootstrap5  .fc-scrollgrid,
#library-calendar-wrapper  .fc-theme-bootstrap5 td,
#library-calendar-wrapper  .fc-theme-bootstrap5 th {
    border: 1px solid var(--bs-gray-400)
}

#library-calendar-wrapper  .fc-theme-bootstrap5  .fc-scrollgrid {
    border-right-width: 0;
    border-bottom-width: 0
}

#library-calendar-wrapper  .fc-theme-bootstrap5-shaded {
    background-color: var(--bs-gray-200)
}

/*  */