:root {
    --ce-primary: #082567;
    --ce-secondary: #FCBC45;
    --ce-bg: #FBF9F5;
    --ce-white: #ffffff;
    --ce-max-width: 900px;
    --ce-tooltip-max-width: 300px;
    --ce-border-radius: 4px;
    --ce-padding: 20px;
    --ce-color-text: #6F747E;
}

#calendar-events {
    max-width: var(--ce-max-width);
    margin: 0 auto;
}

.fc {
    background: transparent;
    color: var(--ce-primary);
}

.fc .fc-scrollgrid {
    border-collapse: collapse;
    border: 1px solid var(--ce-primary);
}

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

table tbody>tr:nth-child(odd)>td, table tbody>tr:nth-child(odd)>th {
    background-color: var(--ce-bg);
}

.fc .fc-scrollgrid-sync-table,
.fc .fc-col-header {
    margin-block-end: 0;
}

.fc .fc-scroller {
    position: relative !important;
}

.fc .fc-scrollgrid-sync-table {
    height: auto !important;
}

.fc .thead {
    border-color: var(--ce-primary);
}

.fc-theme-standard td, 
.fc-theme-standard th,
.fc .fc-col-header-cell,
.fc .fc-daygrid-day {
    border-color: var(--ce-primary);
}

table caption+thead tr:first-child td, table caption+thead tr:first-child th, table colgroup+thead tr:first-child td, table colgroup+thead tr:first-child th, table thead:first-child tr:first-child td, table thead:first-child tr:first-child th {
    border-block-start: 1px solid var(--ce-primary) !important;
}

.fc .fc-toolbar-title {
    color: var(--ce-primary);
    font-size: 20px;
    font-weight: bold;
}

.fc .fc-view-harness-active > .fc-view {
    position: relative;
}

.fc .fc-view-harness {
    height: auto !important;
}

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

.fc .fc-col-header-cell-cushion,
.fc .fc-daygrid-day-number {
    color: var(--ce-primary);
}

.fc .fc-button-primary {
    background: var(--ce-primary);
    border-color: var(--ce-primary);
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.3px;
    border: 0 !important;
    color: var(--ce-white) !important;
}

.fc .fc-button-primary span,
.fc .fc-button-primary span::before {
    color: var(--ce-white) !important;
}

.fc .fc-button-primary:disabled {
    opacity: 0;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:focus {
    background: var(--ce-secondary) !important;
    border-color: var(--ce-secondary) !important;
    color: var(--ce-white) !important;
    box-shadow: none !important;
    outline: none !important;
}

.fc .fc-daygrid-day.fc-day-today {
    background: var(--ce-secondary);
}

.fc-event {
    background: var(--ce-primary);
    border-color: var(--ce-primary);
    cursor: pointer;
}

.fc-event:hover {
    background: var(--ce-secondary);
    border-color: var(--ce-secondary);
    color: var(--ce-primary);
}

.event-tooltip {
    position: absolute;
    background: var(--ce-white);
    border: 1px solid var(--ce-primary);
    padding: 0;
    border-radius: var(--ce-border-radius);
    z-index: 9999;
    max-width: var(--ce-tooltip-max-width);
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    font-family: var(--e-global-typography-text-font-family);
    overflow: hidden;
}

.tooltip-title {
    background: var(--ce-primary);
    color: var(--ce-bg);
    padding: var(--ce-padding);
    font-weight: var(--e-global-typography-secondary-font-weight);
    font-size: 20px;
    line-height: var(--e-global-typography-primary-line-height);
    font-family: var(--e-global-typography-secondary-font-family);
}

.tooltip-description {
    padding: var(--ce-padding);
    font-size: 15px;
    line-height: var(--e-global-typography-text-line-height, 1.6);
    color: var(--ce-color-text);
    font-weight: 400;
    font-family: var(--e-global-typography-text-font-family);
}

.tooltip-description h2,
.tooltip-description h3,
.tooltip-description h4,
.tooltip-description h5,
.tooltip-description h6 {
    line-height: 1.2;
}

.fc-toolbar-chunk:empty {
    display: none !important;
}

.fc-daygrid-event {
    transition: all .5s ease;
}