/* Calendar.psd: 1920 px; Calendar_mob.psd: 1080 px. */
.calendar-page { padding: 5vw 6% 0 4%; background: #000; color: #d0d0d0; }
.calendar-years { display: flex; justify-content: space-between; gap: 3vw; padding: 0 .3% 0 2.4%; margin-bottom: 5.5vw; }
.calendar-years button { border: 1px solid #ddd; border-radius: 4px; background: transparent; color: inherit; padding: 1.1vw 2.5vw; font-size: 1.95vw; line-height: 1; text-transform: uppercase; cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.calendar-years button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: #fff; }
.calendar-years button:hover { border-color: var(--accent); color: #fff; }
.calendar-events { min-height: 30vw; }
.calendar-events[aria-busy="true"] { opacity: .55; }
.calendar-status:not(.visually-hidden) { text-align: center; color: var(--accent); }
.calendar-month { border-bottom: 1px solid #777; padding: 0 0 5vw; margin: 0 0 4.5vw; }
.calendar-month h2 { margin: 0 0 4.1vw; font-size: 3.1vw; line-height: 1.15; text-transform: uppercase; text-align: center; font-weight: 400; }
.calendar-month h2 > span { color: var(--accent); }
.calendar-event { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3vw; align-items: end; }
.calendar-event + .calendar-event { margin-top: 4.4vw; }
.calendar-dates { margin: 0 0 1.2vw; font-weight: 400; font-size: 2.9vw; line-height: 1.1; }
.calendar-dates > span { display: block; }
.calendar-dates-multiple { display: grid; grid-template-columns: max-content max-content; gap: 0 2.5vw; font-size: 2.6vw; }
.calendar-description { margin: 0; font-size: 2.6vw; line-height: 1.16; }
.calendar-description em { font-synthesis: style; }
.calendar-description > span { color: var(--accent); }
.calendar-more { display: block; white-space: nowrap; padding: 1.1vw 1.65vw; border: 1.5px solid var(--accent); border-radius: 6px; color: var(--accent); text-transform: uppercase; font-size: 1.9vw; line-height: 1; transition: background .2s, color .2s; }
.calendar-more:is(:hover, :focus-visible) { background: var(--accent); color: #fff; }
.calendar-month-december { padding-bottom: 3.8vw; }
.calendar-month-december h2 { margin-bottom: 3.8vw; }
.calendar-month-november .calendar-event + .calendar-event { margin-top: 3.1vw; }
.calendar-month-june { border-bottom: 0; margin-bottom: 0; padding-bottom: 10.8vw; }
.calendar-month-june .calendar-event + .calendar-event { margin-top: 5.3vw; }
.calendar-month-june .calendar-event:nth-last-child(-n+2) { margin-top: 6.8vw; }
@media (max-width: 640px) {
    .calendar-page { padding: 3.6vw 5.4% 0; }
    .calendar-years { gap: 4.8vw; padding: 0; margin: 0 -2.5vw 5.3vw; }
    .calendar-years button { flex: 1; padding: 1.8vw 0; border-radius: 3px; font-size: 2.85vw; white-space: nowrap; }
    .calendar-month { padding-bottom: 7.5vw; margin-bottom: 5vw; }
    .calendar-month h2 { font-size: 4.65vw; margin-bottom: 8vw; }
    .calendar-event { display: flex; flex-direction: column; align-items: center; gap: 4.8vw; text-align: center; }
    .calendar-event-copy { width: 100%; }
    .calendar-dates { font-size: 4.25vw; line-height: 1.15; margin-bottom: 2.6vw; }
    .calendar-description { font-size: 4.25vw; line-height: 1.13; }
    .calendar-dates-multiple { justify-content: center; gap: 0 4vw; font-size: 4.2vw; }
    .calendar-more { font-size: 3.35vw; padding: 1.7vw 2.4vw; border-radius: 5px; }
    .calendar-event + .calendar-event { margin-top: 8.8vw; }
    .calendar-month-december { padding-bottom: 5.8vw; }
    .calendar-month-december h2 { margin-bottom: 5.5vw; }
    .calendar-month-december .calendar-event { gap: 3.8vw; }
    .calendar-month-november h2 { margin-bottom: 4vw; }
    .calendar-month-november .calendar-event + .calendar-event { margin-top: 7.5vw; }
    .calendar-month-november .calendar-event:last-child { margin-top: 5.7vw; }
    .calendar-month-october .calendar-event:first-of-type .calendar-event-copy { max-width: 74%; }
    .calendar-month-october .calendar-event + .calendar-event { margin-top: 7.7vw; }
    .calendar-month-august h2 { margin-bottom: 8.5vw; }
    .calendar-month-june { padding: 2vw 0 15vw; margin-bottom: 0; }
    .calendar-month-june h2 { margin-bottom: 8.6vw; }
    .calendar-month-june .calendar-event + .calendar-event { margin-top: 8.7vw; }
    .calendar-month-june .calendar-event:nth-of-type(3) .calendar-description { max-width: 83%; margin-inline: auto; }
    .calendar-month-june .calendar-event:nth-last-child(-n+2) { margin-top: 9.5vw; }
}
@media (prefers-reduced-motion: reduce) {
    .calendar-years button, .calendar-more { transition: none; }
}
