:root {
    --fc-small-font-size: 0.85em;
    --fc-page-bg-color: #fff;
    --fc-neutral-bg-color: hsla(0, 0%, 82%, 0.3);
    --fc-neutral-text-color: grey;
    --fc-border-color: #ddd;
    --fc-button-text-color: #fff;
    --fc-button-bg-color: #0c6197;
    --fc-button-border-color: #0c6197;
    --fc-button-hover-bg-color: #0e70af;
    --fc-button-hover-border-color: #0e70af;
    --fc-button-active-bg-color: #a1a4a7;
    --fc-button-active-border-color: #a1a4a7;
    --fc-event-bg-color: #3788d8;
    --fc-event-border-color: #3788d8;
    --fc-event-text-color: #fff;
    --fc-event-selected-overlay-color: rgba(0, 0, 0, 0.25);
    --fc-more-link-bg-color: #d0d0d0;
    --fc-more-link-text-color: inherit;
    --fc-event-resizer-thickness: 8px;
    --fc-event-resizer-dot-total-width: 8px;
    --fc-event-resizer-dot-border-width: 1px;
    --fc-non-business-color: hsla(0, 0%, 84%, 0.3);
    --fc-bg-event-color: #8fdf82;
    --fc-bg-event-opacity: 0.3;
    --fc-highlight-color: rgba(188, 232, 241, 0.3);
    /* --fc-today-bg-color: rgba(255, 220, 40, 0.15); */
    --fc-today-bg-color: #c5d9e6;
    --fc-now-indicator-color: red;

    --bs-primary: #0c6197;
    --bs-primary-rgb: 12, 97, 151;
}

body .fc .fc-col-header,
body .fc .fc-daygrid-body,
body .fc .fc-daygrid-body .fc-scrollgrid-sync-table,
body .fc .fc-timegrid-body,
body .fc .fc-timegrid-body .fc-timegrid-slots > table,
body .fc .fc-timegrid-cols > table {
    width: 100% !important;
}

body .fc .fc-view-harness {
    height: calc(100dvh - 320px) !important;
}

body .fc table.fc-scrollgrid > thead {
    position: sticky;
    top: -10px;
    z-index: 2;
    background: white;
}

body .fc table.fc-scrollgrid > tbody > tr:first-child {
    position: sticky;
    top: 19px;
    z-index: 2;
    background: white;
}

body .fc .fc-toolbar.fc-header-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

body .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk {
    grid-row: 2;
}

body
    .fc
    .fc-toolbar.fc-header-toolbar
    .fc-toolbar-chunk:has(.fc-toolbar-title) {
    grid-row: 1;
    text-align: center;
    grid-column: 1 / span 2;
}

body .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk:last-child {
    justify-self: end;
}

body .modal-backdrop.show {
    opacity: 0.25;
}

body label.form-label {
    margin-top: 10px;
    margin-bottom: 0;
}

body input[type="checkbox"]:checked {
    -webkit-appearance: none;
    background-color: #0c6197 !important;
    border-radius: 2px;
}

body .fc-event.festivity {
    background: none;
    border: none;
    pointer-events: none;
}

body .fc-event.festivity .fc-event-title-container {
    text-align: center;
    color: #34454e;
    font-weight: bold;
    margin-top: 9px;
}

body input[type="checkbox"] + label.form-label {
    margin-top: 0;
}

.fc .fc-col-header-cell.fc-day-today {
    background-color: var(--fc-today-bg-color);
}

.fc .fc-col-header-cell-cushion {
    text-transform: capitalize;
}

@media (max-width: 1024px) {
    body .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk .fc-button {
        font-size: 14px;
    }

    body .fc .fc-scroller-harness-liquid {
        min-height: 200px;
    }
}

@media (max-width: 1024px) and (min-width: 500px) {
    .tablesaw-stack thead th {
        display: table-cell;
    }

    body .fc .fc-toolbar.fc-header-toolbar .fc-toolbar-chunk .fc-button {
        font-size: 14px;
    }

    body .tablesaw-stack tbody tr {
        display: table-row;
    }

    body .tablesaw-stack tbody td {
        display: table-cell;
        float: unset;
        width: auto;
    }
}
