/* Shared calendar appearance, matched to the museum's previous Time.ly calendar. */
.museum-calendar {
    padding: 8px;
    box-sizing: border-box;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.4;
    color: #444;
}
.museum-calendar .fc-toolbar { margin-bottom: 10px; min-height: 34px; }
.museum-calendar .fc-toolbar h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font: bold 27px/34px "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    color: #444 !important;
}
.museum-calendar .fc-button {
    width: 32px;
    height: 32px;
    padding: 0;
    background: #d6cfcb;
    border: 0;
    border-radius: 2px;
    box-shadow: 1px 1px 0 #c0b5b0;
    color: #fff;
    text-shadow: none;
}
/* Centre the arrow's line box and cancel the calendar plugin's baseline offset. */
.museum-calendar .fc-button { display: inline-flex; align-items: center; justify-content: center; }
.museum-calendar .fc-button .fc-icon {
    position: relative;
    top: 0;
    margin: 0;
    height: 20px;
    line-height: 20px;
    font-size: 20px;
    transform: translateY(-1px);
}
.museum-calendar .fc button:hover { opacity: .85; }
.museum-calendar .fc-unthemed th,
.museum-calendar .fc-unthemed td,
.museum-calendar .fc-unthemed .fc-row,
.museum-calendar .fc-unthemed .fc-content,
.museum-calendar .fc-unthemed .fc-popover,
.museum-calendar .fc-unthemed .fc-view,
.museum-calendar .fc-unthemed .fc-head,
.museum-calendar .fc-unthemed .fc-body {
    border-color: #dbd6d8;
}
.museum-calendar .fc-day-header {
    padding: 3px 0 !important;
    background: #f7f7f7 !important;
    font-size: 13px;
    font-weight: bold;
    line-height: 18px;
    color: #444;
}
.museum-calendar .fc-day-grid > .fc-row { min-height: 70px !important; }
.museum-calendar .fc-basic-view td.fc-day-number {
    padding: 0 !important;
    text-align: center !important;
    font-size: 12px;
    font-weight: normal;
    line-height: 14px;
    color: #444;
}
.museum-calendar .fc-day-number.fc-other-month { visibility: hidden; }
.museum-calendar .fc-sun { color: #b20000 !important; }
.museum-calendar .fc-sat { color: #0a80bf !important; }
.museum-calendar .fc-today { background: transparent !important; }
.museum-calendar .fc-day-grid-event {
    margin: 0 1px 1px;
    padding: 0 1px;
    border: 0;
    border-radius: 0;
    font-size: 12px;
    line-height: 14px;
    color: #fff !important;
    text-shadow: none;
}
.museum-calendar .fc-day-grid-event .fc-content,
.museum-calendar .fc-day-grid-event .fc-title {
    overflow: hidden;
    white-space: nowrap !important;
    text-overflow: clip;
}
.museum-calendar .fc-day-grid-event .fc-time { display: none; }
.museum-calendar .fc-event:hover { opacity: .85; }
.museum-calendar-legend {
    display: flex !important;
    flex-wrap: wrap;
    gap: 0 13px;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
    font-size: 13px;
    line-height: 1.4;
    color: #4a433e;
}
.museum-calendar-legend li {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    white-space: nowrap;
}
.museum-calendar-legend span { font-size: 13px; }
.event-calendar_wrapper { min-height: 600px; height: auto !important; }
.top_calendar .calendar-wrapper { height: auto !important; }
/* The article's general table rules must not affect the calendar's nested tables. */
section.content > div.body > div.entry-body .museum-calendar table { margin: 0 !important; }
section.content > div.body > div.entry-body .museum-calendar table th,
section.content > div.body > div.entry-body .museum-calendar table td {
    padding: 0 !important;
    background: transparent;
    vertical-align: top;
    word-break: normal;
    white-space: normal;
}
section.content > div.body > div.entry-body .museum-calendar table th.fc-day-header {
    padding: 3px 0 !important;
    background: #f7f7f7;
    color: #444;
}
section.content > div.body > div.entry-body .museum-calendar table tr:nth-child(even) > td { background: transparent; }
section.content > div.body > div.entry-body .museum-calendar table + * { margin-top: 0; }
@media print { .museum-calendar a[href]:after { display: none; } }

/* Old iframe documents had an 8px body margin; keep that inset without an iframe. */
.museum-calendar { padding: 8px; box-sizing: border-box; }
section.content > div.body > div.entry-body .museum-calendar .fc-content-skeleton table td,
section.content > div.body > div.entry-body .museum-calendar .fc-helper-skeleton table td { border: 0 !important; }
.museum-calendar-legend {
    font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
}

.museum-calendar .fc-content-skeleton table td, .museum-calendar .fc-helper-skeleton table td { border: 0 !important; }

/* Keep event text at the requested absolute size, including FullCalendar's inner spans. */
.museum-calendar .fc-event,
.museum-calendar .fc-event .fc-content,
.museum-calendar .fc-event .fc-title { font-size: 12px !important; }


/* Keep month navigation on one row, including the plugin's mobile breakpoint. */
.museum-calendar .fc-toolbar {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) 32px;
    column-gap: 8px;
    align-items: center;
}
.museum-calendar .fc-toolbar .fc-left { grid-column: 1; grid-row: 1; }
.museum-calendar .fc-toolbar .fc-center { grid-column: 2; grid-row: 1; min-width: 0; justify-self: center; text-align: center; }
.museum-calendar .fc-toolbar .fc-right { grid-column: 3; grid-row: 1; }
.museum-calendar .fc-toolbar .fc-left,
.museum-calendar .fc-toolbar .fc-center,
.museum-calendar .fc-toolbar .fc-right { float: none; display: block; }
.museum-calendar .fc-toolbar .fc-left,
.museum-calendar .fc-toolbar .fc-right { display: flex; align-items: center; }
.museum-calendar .fc-toolbar > .fc-clear { display: none; }
.museum-calendar .fc-toolbar > * > * { float: none; margin-left: 0; margin-right: 0; }
.museum-calendar .fc-toolbar h2 { white-space: nowrap; }

/* Reuse the previous calendar's loading image and overlay position. */
.museum-calendar { position: relative; }
.museum-calendar .eo-fullcalendar-loading {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 9;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background: transparent url('../images/calendar-loading.gif') no-repeat center 150px;
    color: transparent;
    font-size: 0;
}
.museum-calendar .eo-fullcalendar-loading-icon { display: none; }

