.array-events-calendar-section { --aec-black: #090909; --aec-paper: #f4f0e9; --aec-red: #bc571c; --aec-gold: #f29e33; --aec-teal: #408974; --aec-date-tile: rgb(0 0 0 / .1); color: var(--aec-black); background: var(--aec-paper); font-family: Karla, Arial, sans-serif; padding: 0; }
.events-calendar { display: grid; grid-template-columns: minmax(18rem, .88fr) minmax(0, 1.12fr); width: 100%; max-width: none; margin: 0; border: 0; background: #fff !important; }
.events-calendar__calendar { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--aec-black); }
.events-calendar__header { display: grid; grid-template-columns: 2.75rem 1fr 2.75rem; align-items: center; min-height: 4rem; border-bottom: 1px solid var(--aec-black); }
.events-calendar__month { font-family: Mohave, Impact, sans-serif; font-size: clamp(2.25rem, 4.2vw, 4rem); font-weight: 600; letter-spacing: -.065em; line-height: .8; text-align: center; text-transform: uppercase; }
.events-calendar__arrow { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; padding: 0; border: 1px solid var(--aec-black); border-radius: 50%; color: var(--aec-black); background: transparent; cursor: pointer; font-size: 1.25rem; line-height: 1; transition: color .2s ease, background .2s ease, opacity .2s ease; }
.events-calendar__arrow--prev { justify-self: start; }.events-calendar__arrow:not(.events-calendar__arrow--prev) { justify-self: end; }.events-calendar__arrow:hover:not(:disabled), .events-calendar__arrow:focus-visible:not(:disabled) { color: var(--aec-paper); background: var(--aec-black); }.events-calendar__arrow:disabled { opacity: .25; cursor: not-allowed; }
.events-calendar__weekdays, .events-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); }.events-calendar__weekdays { padding: 1.5rem .2rem 0; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-align: center; }.events-calendar__grid { gap: .45rem; margin-top: .7rem; }
.events-calendar__tile { position: relative; display: grid; aspect-ratio: 1; place-items: center; padding: 0; border: 0; border-radius: .42rem; color: #000; background: var(--aec-date-tile); cursor: pointer; font: inherit; font-size: .92rem; font-weight: 700; line-height: 1; transition: background .18s ease, color .18s ease, transform .18s ease; }.events-calendar__tile:hover:not([data-events-calendar-tile-status="empty"]), .events-calendar__tile:focus-visible { color: var(--aec-black); background: var(--aec-gold); transform: translateY(-1px); }.events-calendar__tile[data-events-calendar-tile-status="event"] { color: var(--aec-black); background: var(--aec-gold); }.events-calendar__tile[data-events-calendar-tile-status="selected"] { color: var(--aec-paper); background: var(--aec-red); }.events-calendar__tile[data-events-calendar-today] > span:first-child { text-decoration: underline; text-underline-offset: .18em; }.events-calendar__tile > span { position: relative; z-index: 1; }.events-calendar__tile [data-events-calendar-tile-count] { display: none; }.events-calendar__tile[data-events-calendar-events-count] [data-events-calendar-tile-count] { position: absolute; z-index: 2; top: -.32rem; right: -.32rem; display: grid; min-width: 1.15rem; height: 1.15rem; place-items: center; border: 2px solid var(--aec-paper); border-radius: 50%; color: var(--aec-paper); background: var(--aec-black); font-size: .6rem; font-weight: 700; }.events-calendar__tile[data-events-calendar-tile-status="empty"] { visibility: hidden; cursor: default; pointer-events: none; }
.events-calendar__legend { display: flex; flex-wrap: wrap; gap: 1rem 1.3rem; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--aec-black); font-size: .7rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }.events-calendar__legend span { display: inline-flex; align-items: center; gap: .45rem; }.events-calendar__legend-dot { width: .65rem; height: .65rem; border-radius: 50%; background: var(--aec-gold); }.events-calendar__legend-dot.is--selected { background: var(--aec-red); }
.events-calendar__cards { min-width: 0; min-height: 32rem; padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--aec-black); }.events-calendar__cards-list { display: grid; align-items: start; gap: 1rem; }.events-calendar__card { grid-template-columns: minmax(9rem, .72fr) minmax(0, 1fr); overflow: hidden; border: 0 !important; border-radius: 15px; color: var(--aec-paper); background: rgba(250, 250, 250, .15); }.events-calendar__card[data-events-calendar-card-status="not-active"], .events-calendar__empty[data-events-calendar-empty-status="not-active"] { display: none; }.events-calendar__card[data-events-calendar-card-status="active"], .events-calendar__empty[data-events-calendar-empty-status="active"] { display: grid; }.events-calendar__image { align-self: center; width: 100%; height: auto; min-height: 14rem; aspect-ratio: 4 / 5; object-fit: cover; filter: none; }.events-calendar__card-content { display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; }.events-calendar__eyebrow { margin: 0 0 .75rem; color: var(--aec-gold); font-size: .68rem; font-weight: 700; letter-spacing: .11em; line-height: 1.25; text-transform: uppercase; }.events-calendar__card h3 { margin: 0; padding-bottom: 0 !important; color: var(--aec-paper) !important; font-family: Mohave, Impact, sans-serif; font-size: clamp(2rem, 3.6vw, 3rem) !important; font-weight: 600; letter-spacing: -.055em; line-height: .85; text-transform: uppercase; }.events-calendar__excerpt { display: -webkit-box; margin: .4rem 0 .65rem; overflow: hidden; color: rgba(244,240,233,.78); font-size: .95rem; font-weight: 300 !important; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }.events-calendar__cta, .events-calendar__empty a { margin-top: auto; padding: .72rem 1rem .65rem; border: 1px solid currentColor; border-radius: 999px; color: inherit; font-family: Mohave, Impact, sans-serif; font-size: .9rem; font-weight: 600; letter-spacing: .06em; line-height: 1; text-decoration: none; text-transform: uppercase; transition: color .2s ease, background .2s ease; }.events-calendar__cta:hover, .events-calendar__cta:focus-visible, .events-calendar__empty a:hover, .events-calendar__empty a:focus-visible { color: var(--aec-black); background: var(--aec-paper); }.events-calendar__empty { min-height: 100%; place-content: center; gap: 1.25rem; color: var(--aec-paper); text-align: center; }.events-calendar__empty p { margin: 0; font-family: Mohave, Impact, sans-serif; font-size: 2.5rem; font-weight: 600; line-height: .85; text-transform: uppercase; }.events-calendar__empty a { justify-self: center; margin-top: 0; }
@media (min-width: 761px) { .events-calendar { height: 664px; }.events-calendar__calendar, .events-calendar__cards { box-sizing: border-box; height: 664px; }.events-calendar__cards { padding: 0; overflow-y: auto; border: 0; outline: 0; background: var(--aec-paper); scrollbar-width: thin; scrollbar-color: var(--aec-black) var(--aec-paper); }.events-calendar__cards-list { box-sizing: border-box; min-height: 100%; padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--aec-black); }.events-calendar__empty[data-events-calendar-empty-status="active"] { box-sizing: border-box; min-height: 100%; padding: clamp(1.25rem, 3vw, 2.5rem); background: var(--aec-black); }.events-calendar__cards::-webkit-scrollbar { width: .7rem; }.events-calendar__cards::-webkit-scrollbar-track { background: var(--aec-paper); border: 0; }.events-calendar__cards::-webkit-scrollbar-thumb { border: 0; border-radius: 999px; background: var(--aec-black); }.events-calendar__cards::-webkit-scrollbar-button, .events-calendar__cards::-webkit-scrollbar-button:single-button, .events-calendar__cards::-webkit-scrollbar-corner { display: none; width: 0; height: 0; background: transparent; } }
@media (max-width: 760px) { .events-calendar { grid-template-columns: 1fr; }.events-calendar__calendar { border-right: 0; border-bottom: 1px solid var(--aec-black); }.events-calendar__cards { min-height: 0; }.events-calendar__card { grid-template-columns: 1fr; }.events-calendar__image { max-height: 16rem; }.events-calendar__card-content { min-height: 17rem; }.events-calendar__month { font-size: 2.65rem; } }
