:root {
--em-color-primary:     #1a3a6b;
--em-color-primary-rgb: 26, 58, 107;
--em-color-secondary:   #e63946;
--em-color-accent:      #457b9d;
--em-color-bg:          #f8f9fa;
--em-color-surface:     #ffffff;
--em-color-border:      #dee2e6;
--em-color-text:        #212529;
--em-color-muted:       #4b4848;

--em-color-success:        #15803d;
--em-color-success-bg:     #dcfce7;
--em-color-warning:        #b45309;
--em-color-warning-bg:     #fef3e2;
--em-color-warning-border: #fde68a;
--em-color-info-bg:        #e8f4fd;
--em-color-info-border:    #bee5fd;
--em-color-new:            #10b981;

--em-color-new-text:       #ffffff;

--em-on-dark:         #fff;
--em-on-dark-surface: rgba(255, 255, 255, .07);
--em-on-dark-hover:   rgba(255, 255, 255, .14);
--em-on-dark-line:    rgba(255, 255, 255, .18);
--em-radius:          8px;
--em-shadow:          0 2px 8px rgba(0,0,0,.08);
--em-transition:      200ms ease;
--em-font:            system-ui, -apple-system, sans-serif;

--em-thumb-ratio:     16 / 9;
--em-thumb-fit:       cover;

--em-grid-gap:        1.25rem;

--em-filter-height:   38px;

--em-agenda-thumb-width: 250px;

--em-noimg-from:      var(--em-color-primary);
--em-noimg-to:        var(--em-color-accent);
}




.em-agenda-wrap,
.em-agenda-sidebar-wrap,
.em-list-wrap,
.em-hero-carousel,
.em-upcoming,
.em-dates-strip,
.em-city-list,
.em-contact,
.em-spotlight,
.em-posters,
.em-accordion,
.em-carousel,
.em-date-tiles,
.em-tabs,
.em-kpi-list,
.em-ticker,
.em-filtered-grid,
.em-event-banner,
.em-signup-list,
.em-campus-bar,
.em-event-row,
.em-photo-carousel,
.em-announce-ribbon,
.em-dates-panel,
.em-dates-card,
.em-titled-card {
font-family: var(--em-font);
}

.em-agenda {
font-family: var(--em-font);
color: var(--em-color-text);
box-sizing: border-box;
}
*, *::before, *::after { box-sizing: inherit; }

.em-filtered-grid [hidden],
.em-event-banner [hidden],
.em-signup-list [hidden],
.em-campus-bar [hidden],
.em-event-row [hidden],
.em-photo-carousel [hidden],
.em-announce-ribbon [hidden],
.em-dates-panel [hidden],
.em-dates-card [hidden],
.em-titled-card [hidden],
.em-agenda-wrap [hidden],
.em-agenda-sidebar-wrap [hidden],
.em-list-wrap [hidden],
.em-hero-carousel [hidden],
.em-upcoming [hidden],
.em-dates-strip [hidden],
.em-city-list [hidden],
.em-contact [hidden],
.em-spotlight [hidden],
.em-posters [hidden],
.em-accordion [hidden],
.em-carousel [hidden],
.em-date-tiles [hidden],
.em-tabs [hidden],
.em-kpi-list [hidden],
.em-ticker [hidden] {
display: none !important;
}



.em-agenda__filters {
display: flex;
flex-wrap: wrap;
gap: .5rem;
margin-bottom: 1.5rem;
}
.em-filter {
padding: .5rem .75rem;
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
background: var(--em-color-surface);
font-size: .875rem;
cursor: pointer;
transition: border-color var(--em-transition);
}
.em-filter:focus { outline: none; border-color: var(--em-color-primary); }
.em-btn-reset {
padding: .5rem 1rem;
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
background: transparent;
font-size: .875rem;
cursor: pointer;
transition: background var(--em-transition);
}
.em-btn-reset:hover { background: var(--em-color-bg); }


.em-agenda__count {
font-size: .875rem;
color: var(--em-color-muted);
margin-bottom: 1rem;
}


.em-event-card {
background: var(--em-color-surface);
border-radius: var(--em-radius);
box-shadow: var(--em-shadow);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform var(--em-transition), box-shadow var(--em-transition);
}
.em-event-card:hover {
box-shadow: 0 6px 20px rgba(0,0,0,.12);
}
.em-event-card__image {
width: 100%;
aspect-ratio: var(--em-thumb-ratio);
object-fit: var(--em-thumb-fit);
}
.em-event-card__image-placeholder {
width: 100%;

aspect-ratio: var(--em-thumb-ratio);
background: linear-gradient(135deg, var(--em-color-primary) 0%, var(--em-color-accent) 100%);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 2rem;
}

.em-event-card__img {
width: 100%;
aspect-ratio: var(--em-thumb-ratio);
overflow: hidden;
background: var(--em-color-bg);
}
.em-event-card__img img {
width: 100%;
height: 100%;
object-fit: var(--em-thumb-fit);
display: block;
}

.em-noimg {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: .125rem;
background: linear-gradient(135deg, var(--em-noimg-from) 0%, var(--em-noimg-to) 100%);
color: #fff;
overflow: hidden;
}
.em-noimg__main {

font-size: clamp(1rem, 3.2vw, 2rem);
font-weight: 800;
line-height: 1;
letter-spacing: .04em;
text-transform: uppercase;
text-align: center;
padding: 0 .375rem;
overflow-wrap: anywhere;
}
.em-noimg__sub {
font-size: clamp(.625rem, 1.4vw, .75rem);
font-weight: 700;
letter-spacing: .12em;
opacity: .85;
}

.em-event-card__body {
padding: 1rem;
flex: 1;
display: flex;
flex-direction: column;
}
.em-event-card__meta {
display: flex;
gap: .5rem;
flex-wrap: wrap;
margin-bottom: .5rem;
}
.em-badge-tag {
font-size: .75rem;
padding: .25rem .5rem;
border-radius: 999px;
background: var(--em-color-bg);
color: var(--em-color-muted);
border: 1px solid var(--em-color-border);
}
.em-badge-tag--school { background: var(--em-color-info-bg); color: var(--em-color-primary); border-color: var(--em-color-info-border); }
.em-badge-tag--type   { background: var(--em-color-warning-bg); color: var(--em-color-warning); border-color: var(--em-color-warning-border); }
.em-event-card__title {
font-size: 1rem;
font-weight: 600;
margin: 0 0 .5rem;
line-height: 1.4;
color: var(--em-color-primary);
}
.em-event-card__date {
font-size: .875rem;
color: var(--em-color-muted);
margin-bottom: .5rem;
}
.em-event-card__address {
font-size: .875rem;
color: var(--em-color-muted);
margin-bottom: .75rem;
}
.em-event-card__desc {
font-size: .875rem;
color: var(--em-color-muted);
flex: 1;
display: -webkit-box;
-webkit-line-clamp: 3;
line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
margin-bottom: .75rem;
}
.em-event-card__actions {
display: flex;
gap: .5rem;
margin-top: auto;
}

.em-btn-event {
--em-btn-c:  var(--em-color-primary);   
--em-btn-on: #fff;                      
display: inline-flex;
align-items: center;
gap: .375rem;
border-style: solid;
text-decoration: none;
cursor: pointer;
white-space: nowrap;
transition: background var(--em-transition), color var(--em-transition), opacity var(--em-transition);
}

.em-btn-event--on-dark {
--em-btn-c:  #fff;
--em-btn-on: var(--em-color-primary);
padding: .5rem 1rem;
font-size: .75rem;
border-width: 1px;
}
.em-btn-event .em-icon,
.em-btn-event > svg { flex-shrink: 0; transition: transform .15s; }
.em-btn-event:hover .em-icon { transform: translateX(3px); }


.em-btn-event--outline.em-btn-event--outline {
background: transparent;
color: var(--em-btn-c);
border-color: var(--em-btn-c);
}
.em-btn-event--outline.em-btn-event--outline:hover {
background: var(--em-btn-c);
color: var(--em-btn-on);
opacity: 1;
}
.em-btn-event--solid.em-btn-event--solid {
background: var(--em-btn-c);
color: var(--em-btn-on);
border-color: var(--em-btn-c);
}
.em-btn-event--solid.em-btn-event--solid:hover { opacity: .85; }

.em-btn-event--ghost.em-btn-event--ghost {
background: transparent;
color: var(--em-btn-c);
border-color: transparent;
padding-left: 0;
padding-right: 0;
}
.em-btn-event--ghost.em-btn-event--ghost:hover { text-decoration: underline; opacity: 1; }

.em-btn-cta {
display: inline-flex; align-items: center; gap: .375rem;
padding: .5rem 1rem;
background: transparent;
color: var(--em-color-primary);
border: 1.5px solid var(--em-color-primary);
border-radius: var(--em-radius);
font-size: .875rem;
cursor: pointer;
text-decoration: none;
transition: background var(--em-transition), color var(--em-transition);
}
.em-btn-cta:hover { background: var(--em-color-primary); color: #fff; }
.em-btn-cta .em-icon { transition: transform .15s; flex-shrink: 0; }
.em-btn-cta:hover .em-icon { transform: translateX(3px); }
.em-btn-ics {
padding: .5rem .75rem;
background: transparent;
color: var(--em-color-muted);
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
font-size: .875rem;
cursor: pointer;
text-decoration: none;
transition: border-color var(--em-transition), color var(--em-transition);
}
.em-btn-ics:hover { border-color: var(--em-color-primary); color: var(--em-color-primary); }


.em-agenda__list { display: flex; flex-direction: column; gap: 1rem; }
.em-agenda-month-group { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
.em-agenda-month-group:last-child { margin-bottom: 0; }
.em-agenda-month-title {
font-size: 1.375rem;
font-weight: 700;
color: var(--em-color-primary);
margin: 0 0 .25rem;
padding-bottom: .25rem;
border-bottom: 2px solid var(--em-color-border);
text-transform: capitalize;
}
.em-agenda-item-wrap {
display: flex;
flex-direction: column;
gap: 0;
}
.em-agenda-item__campus-label {
display: inline-flex;
align-items: center;
gap: .25rem;
align-self: flex-start;
background: var(--em-color-primary);
color: #fff;
font-size: .75rem;
font-weight: 600;
padding: .25rem .75rem;
border-radius: var(--em-radius) var(--em-radius) 0 0;
letter-spacing: .03em;
}
.em-agenda-item__campus-label .em-icon {
opacity: 1;
}
.em-agenda-item {
display: flex;
background: var(--em-color-surface);
border-radius: var(--em-radius);
overflow: hidden;
box-shadow: 0 1px 4px rgba(0,0,0,.08);
transition: transform .2s ease, box-shadow .2s ease;
cursor: default;
}
.em-agenda-item-wrap:hover .em-agenda-item {
box-shadow: 0 8px 24px rgba(0,0,0,.13);
}

.em-agenda-item__date-col {
flex-shrink: 0;
width: 100px;
display: flex;
flex-direction: column;
align-self: stretch;
}
.em-agenda-item__date {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: var(--em-color-primary);
color: #fff;
padding: 1rem .5rem .75rem;
text-align: center;
gap: .125rem;
}

.em-agenda-item__type-top {
background: var(--em-color-primary);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: .25rem;
padding: .375rem .25rem;
font-size: .625rem;
font-weight: 500;
border-bottom: 1px solid rgba(255,255,255,.15);
text-align: center;
line-height: 1.5;
text-transform: uppercase;
letter-spacing: .08em;
}
.em-agenda-item__type-top .em-icon { opacity: 1; flex-shrink: 0; }
.em-agenda-item__day {
font-size: 2.25rem;
font-weight: 800;
line-height: 1;
letter-spacing: -.02em;
}
.em-agenda-item__mon {
font-size: .75rem;
text-transform: uppercase;
letter-spacing: .08em;
opacity: .85;
}


.em-agenda-item__date--range {
flex-direction: column;
justify-content: center;
gap: 0;
padding: .5rem .375rem;
}
.em-agenda-item__date-block {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex: 1;
}
.em-agenda-item__date--range .em-agenda-item__day  { font-size: 2.25rem; }
.em-agenda-item__date--range .em-agenda-item__mon  { font-size: .75rem; }
.em-agenda-item__date-sep {
display: flex;
align-items: center;
justify-content: center;
padding: .25rem 0;
opacity: .55;
flex-shrink: 0;
}
.em-date-arrow { display: block; }

.em-agenda-item__campus-below {
background: var(--em-color-primary);
color: #fff;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: .25rem;
padding: .375rem .25rem;
font-size: .75rem;
font-weight: 500;
border-top: 1px solid rgba(255,255,255,.15);
text-align: center;
line-height: 1.3;
}
.em-agenda-item__campus-below .em-icon { opacity: 1; flex-shrink: 0; }


.em-event-school {
font-size: .75rem;
font-weight: 700;
color: var(--em-color-secondary);
text-transform: uppercase;
letter-spacing: .06em;
margin: 0;
}

.em-agenda-item__main {
flex: 1;
display: flex;
flex-direction: column;
min-width: 0;
overflow: hidden;
}

.em-agenda-item__top {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: .375rem;
padding: .5rem 1rem;
background: var(--em-color-bg);
border-bottom: 1px solid var(--em-color-border);
min-height: 34px;
}

.em-agenda-item__row {
display: flex;
flex: 1;
align-items: stretch;
}

.em-agenda-item__body {
flex: 1;
padding: .75rem 1.25rem;
display: flex;
flex-direction: column;
justify-content: flex-start;
gap: .375rem;
min-width: 0;
}
.em-agenda-item__title {
font-size: 1.25rem;
font-weight: 700;
margin: 0;
line-height: 1.3;
color: var(--em-color-primary);
}
.em-agenda-item__desc {
font-size: .875rem;
color: var(--em-color-muted);
margin-bottom: .5rem;
line-height: 1.5;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.em-agenda-item__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: .25rem 0rem;
font-size: .75rem;
color: var(--em-color-muted);
}
.em-agenda-item__meta > span + span::before {
content: "\00b7";
margin: 0 .25rem;
opacity: .5;
}
.em-agenda-item__address {
font-size: .75rem;
color: var(--em-color-muted);
margin: 0;
}
.em-agenda-item__actions {
margin-top: .5rem;

text-align: var(--em-agenda-cta-align, left);
}
.em-agenda-item__cta {
display: inline-flex; align-items: center; gap: .375rem;
padding: .5rem .75rem;
border: 1.5px solid var(--em-color-primary);
color: var(--em-color-primary);
border-radius: calc(var(--em-radius) / 2);
font-size: .75rem;
font-weight: 600;
text-decoration: none;
transition: opacity .18s;
}
.em-agenda-item__cta:hover {
opacity: .75;
}
.em-agenda-item__cta .em-icon { transition: transform .15s; flex-shrink: 0; }
.em-agenda-item__cta:hover .em-icon { transform: translateX(3px); }


.em-agenda-item__thumb {
flex-shrink: 0;
width: var(--em-agenda-thumb-width);
align-self: stretch;
overflow: hidden;
position: relative;
aspect-ratio: var(--em-thumb-ratio);
}
.em-agenda-item__thumb img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: var(--em-thumb-fit);
display: block;
}

.em-agenda-item__featured {
align-self: flex-start;
font-size: .625rem;
padding: .125rem .5rem;
border-radius: 999px;
}


.em-load-more {
display: block;
margin: 2rem auto 0;
padding: .75rem 2rem;
background: transparent;
border: 2px solid var(--em-color-primary);
color: var(--em-color-primary);
border-radius: var(--em-radius);
font-size: 1rem;
cursor: pointer;
transition: background var(--em-transition), color var(--em-transition);
}
.em-load-more:hover { background: var(--em-color-primary); color: white; }


@keyframes em-shimmer {
from { transform: translateX(-100%); }
to   { transform: translateX(100%); }
}
.em-skeleton {
position: relative;
background: #e9ecef;
border-radius: var(--em-radius);
}
.em-skeleton::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent 0, #f8f9fa 50%, transparent 100%);
animation: em-shimmer 1.4s infinite linear;
pointer-events: none;
}

.em-skeleton > * { position: relative; }
.em-skeleton-card {
height: 280px;
border-radius: var(--em-radius);
}
.em-skeleton-line {
height: 1em;
margin-bottom: .5rem;
border-radius: 4px;
}
.em-skeleton-line--short { width: 60%; }
.em-skeleton-line--med   { width: 80%; }


.em-agenda-item.em-skeleton { min-height: 180px; }
.em-skel-date {
width: 95px; flex-shrink: 0;
background: rgba(255,255,255,.15);
}
.em-skel-body {
flex: 1; padding: 1rem;
display: flex; flex-direction: column;
justify-content: center; gap: .5rem;
}
.em-skel-title {
height: 1rem; border-radius: 4px;
background: rgba(255,255,255,.3); width: 65%;
}
.em-skel-meta {
height: .75rem; border-radius: 4px;
background: rgba(255,255,255,.22); width: 45%;
}
.em-skel-meta.em-skel-meta--short { width: 30%; }
.em-event-card.em-skeleton { min-height: 280px; }
.em-skel-img {
height: 160px; flex-shrink: 0;
background: rgba(255,255,255,.2);
}
.em-skel-content {
flex: 1; padding: 1rem;
display: flex; flex-direction: column; gap: .5rem;
}


.em-empty-state {
text-align: center;
padding: 3rem 1rem;
color: var(--em-color-muted);
}
.em-empty-state svg, .em-empty-state .dashicons { font-size: 3rem; margin-bottom: 1rem; }

.em-empty-message {
display: flex;
flex-direction: column;
align-items: center;
gap: .75rem;
text-align: center;
padding: .5rem;
color: var(--em-color-muted);
}
.em-empty-message__link {
display: inline-block;
padding: .5rem 1.25rem;
background: var(--em-color-primary);
color: #fff;
border-radius: var(--em-radius);
text-decoration: none;
font-weight: 600;
transition: opacity .15s;
}
.em-empty-message__link:hover { opacity: .85; color: #fff; }


@media (max-width: 640px) {

.em-agenda-item {
display: grid;
grid-template-columns: 90px 1fr;
}
.em-agenda-item__date-col {
grid-column: 1;
grid-row: 1;
width: auto;
align-self: stretch;
}
.em-agenda-item__date {
padding: .625rem .375rem .5rem;
gap: .125rem;
}
.em-agenda-item__main {
grid-column: 2;
grid-row: 1;
display: flex;
flex-direction: column;
min-width: 0;
}
.em-agenda-item__row {
flex: 1;
flex-direction: column;
}
.em-agenda-item__day { font-size: 1.5rem; }
.em-agenda-item__date--range .em-agenda-item__day { font-size: 1.75rem; }
.em-agenda-item__date--range { padding: .375rem .25rem; justify-content: flex-start; }
.em-agenda-item__date--range .em-agenda-item__date-block { flex: 0 0 auto; }

.em-agenda-item__thumb { display: none; }

.em-agenda-item__actions { width: 100%; margin-top: 0; padding: .375rem .75rem .625rem; text-align: center; }
.em-agenda-item__cta {
display: inline-flex; width: auto; justify-content: center;
padding: .5rem 1.125rem;
background: var(--em-color-primary); color: #fff;
border-color: var(--em-color-primary);
}
.em-agenda-item__cta:hover { opacity: .85; color: #fff; }
}


.em-agenda-list:empty { min-height: 5rem; }


.em-filter-select:not(:has(*)) {
min-height: var(--em-filter-height);
}



.em-ds__track:not(:has(*)),
.em-dt__track:not(:has(*)),
.em-car__track:not(:has(*)),
.em-hc__track:not(:has(*)) {
min-height: var(--em-track-reserve, 260px);
}

.em-cl__list:not(:has(*)),
.em-kpi__rows:not(:has(*)),
.em-ac__list:not(:has(*)),
.em-tb__grid:not(:has(*)),
.em-asb__events:not(:has(*)),
.em-upcoming__body:not(:has(*)) {
min-height: var(--em-list-reserve, 180px);
}


.em-tk__track:not(:has(*)) {
min-height: var(--em-tk-h, 2.75rem);
}




.em-search-input.em-search-input {
flex: 1; min-width: 180px; max-width: 300px;

box-sizing: border-box;
height: var(--em-filter-height);
padding: .5rem .75rem .5rem 2.25rem;
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
font-size: .875rem;
background: var(--em-color-surface)
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E")
no-repeat .625rem center;
background-size: 14px;
transition: border-color var(--em-transition);
}
.em-search-input:focus { outline: none; border-color: var(--em-color-primary); box-shadow: 0 0 0 .25rem rgba(26,58,107,.18); }


.em-agenda-wrap { outline: none; }
.em-agenda-wrap:focus,
.em-agenda-wrap:focus-visible { outline: none; }




@media (min-width: 768px) {
.em-agenda-container.em-agenda-container,
.em-agenda-sidebar-wrap.em-agenda-sidebar-wrap {

max-width: calc(var(--em-container-max-width, 1280px) + 2rem);
margin-left: auto;
margin-right: auto;
box-sizing: border-box;
width: 100%;
padding-left: 1rem;
padding-right: 1rem;
}
}

@media (max-width: 767px) {
.em-filters-bar .em-agenda-container {
box-sizing: border-box;
}
}

@media (max-width: 767px) {
.em-agenda-wrap > .em-agenda-container {
box-sizing: border-box;

padding-left: 1rem;
padding-right: 1rem;
}
}

.em-block-frame.alignfull .em-agenda-wrap .em-filters-bar,
.alignfull .em-agenda-wrap .em-filters-bar {
margin-left: 0 !important;
margin-right: 0 !important;
}

.em-filters-bar {
background: var(--em-filters-bar-bg, var(--em-color-primary));
width: 100%;
margin-bottom: 3rem;
}

.em-filter-hidden { display: none !important; }

.em-filters-bar .em-filters {
background: transparent;
margin-bottom: 0;

padding: 1.5rem .25rem !important;
color: #fff;
}

.em-filters-bar .em-search-input {
background-color: rgba(255,255,255,.15);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,.7)' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
border-color: rgba(255,255,255,.3);
color: #fff;
}
.em-filters-bar .em-search-input::placeholder { color: rgba(255,255,255,.65); }
.em-filters-bar .em-search-input:focus { border-color: rgba(255,255,255,.7); box-shadow: 0 0 0 .25rem rgba(255,255,255,.2); }

.em-filters-bar .em-filter-select .em-fsd__trigger,
.em-filters-bar .em-filter-select .em-fsd__trigger:hover,
.em-filters-bar .em-filter-select .em-fsd__trigger:focus,
.em-filters-bar .em-filter-select .em-fsd__trigger:active,
.em-filters-bar .em-filter-select.em-fsd--open .em-fsd__trigger {
background: rgba(255,255,255,.15) !important;
border-color: rgba(255,255,255,.25) !important;
color: #fff !important;
text-shadow: none !important;
}
.em-filters-bar .em-filter-select .em-fsd__trigger:hover,
.em-filters-bar .em-filter-select.em-fsd--open .em-fsd__trigger {
background: rgba(255,255,255,.25) !important;
border-color: rgba(255,255,255,.55) !important;
}
.em-filters-bar .em-filter-select.em-fsd--open .em-fsd__trigger {
border-bottom-color: transparent !important;
}

.em-filters-bar .em-btn--reset {
border-color: rgba(255,255,255,.4);
color: rgba(255,255,255,.85);
background: transparent;
}
.em-filters-bar .em-btn--reset:hover {
background: rgba(255,255,255,.18);
border-color: rgba(255,255,255,.65);
color: #fff;
}

.em-filters-bar .em-per-page { color: rgba(255,255,255,.85); }

.em-filters-bar .em-fsd__trigger:focus-visible,
.em-filters-bar .em-search-input:focus-visible {


box-shadow: none;
}


.em-filters {
display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
margin-bottom: 0;
width: 100%; box-sizing: border-box;
background: var(--em-color-surface);
}
.em-filters--stuck { box-shadow: 0 2px 8px rgba(0,0,0,.07); }

.em-filters-bar.em-filters--stuck { box-shadow: 0 3px 12px rgba(0,0,0,.18); }


.em-btn--reset {
display: inline-flex;
align-items: center;
gap: .25rem;
box-sizing: border-box;
height: var(--em-filter-height);
background: transparent;
border: 0px solid var(--em-color-border);
border-radius: 999px;
color: var(--em-color-muted);
font-size: .875rem;
cursor: pointer;
white-space: nowrap;
line-height: 1;
transition: background .15s, border-color .15s, color .15s;
}
.em-btn--reset:hover { background: #fee2e2; border-color: #fca5a5; color: #dc2626; }
.em-per-page {
display: flex; align-items: center; gap: .375rem;
font-size: .875rem; color: var(--em-color-muted);
margin-left: auto;
}
.em-per-page__label { white-space: nowrap; }

.em-per-page .em-filter-select { font-size: .875rem; }


@media (max-width: 640px) {
.em-filters {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: .375rem;
align-items: start;
padding: .5rem !important;
width: 100%;
}

.em-filters-bar .em-filters { padding: .5rem !important; }

.em-filter-select { --em-fsd-w: 100%; min-width: 0; width: 100%; display: block; }

.em-search-input.em-search-input { grid-column: 1 / -1; max-width: 100%; min-width: 0; }

.em-fsd__trigger { overflow: hidden; }
.em-fsd__label {
flex: 1; min-width: 0;
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.em-fsd__panel {
left: auto;
right: 0;
max-width: min(90vw, 300px);
}

.em-per-page { display: none; }
.em-btn--reset { grid-column: 1 / -1; }
}


.em-select {
-webkit-appearance: none; appearance: none;
height: 38px;
padding: .375rem 2rem .375rem .75rem;
font-size: .875rem; color: var(--em-color-text);
background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .75rem center;
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
cursor: pointer;
transition: border-color var(--em-transition), box-shadow var(--em-transition);
}
.em-select:focus {
outline: none;
border-color: var(--em-color-primary);
box-shadow: 0 0 0 .25rem rgba(26,58,107,.18);
}


.em-filter-select {
position: relative;

width: auto;
display: inline-block;
vertical-align: top;
}

@media (min-width: 641px) {
.em-filters > .em-filter-select { min-width: 11rem; }
}




.em-fsd__panel.em-fsd__panel > li::before,
.em-fsd__panel.em-fsd__panel > li::after,
.em-cl__list.em-cl__list > li::before,
.em-cl__list.em-cl__list > li::after,
.em-ct__access-list.em-ct__access-list > li::before,
.em-ct__access-list.em-ct__access-list > li::after,
.em-kpi__rows.em-kpi__rows > li::before,
.em-kpi__rows.em-kpi__rows > li::after,
.em-asb__nav-list.em-asb__nav-list > li::before,
.em-asb__nav-list.em-asb__nav-list > li::after,
.em-fg__grid.em-fg__grid > li::before,
.em-fg__grid.em-fg__grid > li::after,
.em-eb__list.em-eb__list > li::before,
.em-eb__list.em-eb__list > li::after,
.em-sg__list.em-sg__list > li::before,
.em-sg__list.em-sg__list > li::after,
.em-cb__list.em-cb__list > li::before,
.em-cb__list.em-cb__list > li::after,
.em-rw__list.em-rw__list > li::before,
.em-rw__list.em-rw__list > li::after,
.em-rb__list.em-rb__list > li::before,
.em-rb__list.em-rb__list > li::after,
.em-dp__list.em-dp__list > li::before,
.em-dp__list.em-dp__list > li::after,
.em-dc__list.em-dc__list > li::before,
.em-dc__list.em-dc__list > li::after,
.em-tc__list.em-tc__list > li::before,
.em-tc__list.em-tc__list > li::after {
content: none !important;
}


.em-fsd__panel.em-fsd__panel,
.em-fsd__panel.em-fsd__panel > li,
.em-cl__list.em-cl__list,
.em-cl__list.em-cl__list > li,
.em-ct__access-list.em-ct__access-list,
.em-ct__access-list.em-ct__access-list > li,
.em-kpi__rows.em-kpi__rows,
.em-kpi__rows.em-kpi__rows > li,
.em-asb__nav-list.em-asb__nav-list,
.em-asb__nav-list.em-asb__nav-list > li {
list-style: none;
text-indent: 0;
margin: 0;
}


.em-cl__list.em-cl__list > li,
.em-ct__access-list.em-ct__access-list > li,
.em-kpi__rows.em-kpi__rows > li,
.em-eb__list.em-eb__list > li,
.em-sg__list.em-sg__list > li,
.em-cb__list.em-cb__list > li,
.em-rw__list.em-rw__list > li,
.em-rb__list.em-rb__list > li,
.em-dp__list.em-dp__list > li,
.em-dc__list.em-dc__list > li,
.em-tc__list.em-tc__list > li,

.em-fg__grid.em-fg__grid > li {
padding-left: 0;
}
.em-filter-select .em-fsd__panel li {
padding: .25rem .25rem;
}
.em-filter-select .em-fsd__trigger,
.em-filter-select .em-fsd__trigger:hover,
.em-filter-select .em-fsd__trigger:focus,
.em-filter-select .em-fsd__trigger:active,
.em-filter-select.em-fsd--open .em-fsd__trigger {
color: var(--em-color-text) !important;
text-shadow: none !important;
}
.em-filter-select .em-fsd__trigger:hover,
.em-filter-select.em-fsd--open .em-fsd__trigger {
background: #f4f6fb !important;
}

.em-fsd__trigger {
display: flex; align-items: center; justify-content: space-between;
gap: .5rem; width: 100%;
box-sizing: border-box;
height: var(--em-filter-height);
padding: 0 .5rem;
background: #fff; border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
font-size: .875rem; color: var(--em-color-text);
cursor: pointer; user-select: none; text-align: left;
transition: border-color var(--em-transition), background var(--em-transition);
}
.em-fsd__trigger:hover {
border-color: var(--em-color-primary);
background: #f4f6fb;
}
.em-fsd--open .em-fsd__trigger {
border-color: var(--em-color-primary);
border-bottom-color: transparent;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
background: #f4f6fb;
box-shadow: none;
}
.em-fsd__label {
flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
display: flex; align-items: center; gap: .375rem;
}
.em-fsd__chevron { flex-shrink: 0; transition: transform .18s; }
.em-fsd--open .em-fsd__chevron { transform: rotate(180deg); }


.em-fsd__count {
display: inline-flex; align-items: center; justify-content: center;
min-width: 18px; height: 18px; padding: 0 5px;
background: var(--em-color-primary); color: #fff;
border-radius: 9px; font-size: .75rem; font-weight: 700;
line-height: 1; flex-shrink: 0;
}

.em-fsd__panel {
position: absolute; top: 100%; left: 0;

box-sizing: border-box;

width: 100%;
min-width: 100%;
max-width: 100%;
overflow-x: hidden;
list-style: none; margin: 0; padding: .25rem 0;
background: #fff;
border: 1px solid var(--em-color-primary);
border-top: none;
border-radius: 0 0 var(--em-radius) var(--em-radius);
box-shadow: 0 6px 18px rgba(26,58,107,.13);
z-index: 1050; max-height: 260px; overflow-y: auto;
display: none;
animation: emFsdIn .12s ease;
}
@keyframes emFsdIn {
from { opacity: 0; transform: translateY(-3px); }
to   { opacity: 1; transform: translateY(0); }
}
.em-fsd--open .em-fsd__panel { display: block; }

.em-fsd__opt {
display: flex; align-items: center; gap: .5rem;
padding: .25rem .5rem; font-size: .875rem; color: var(--em-color-text);
cursor: pointer; user-select: none;

white-space: normal; overflow-wrap: anywhere; line-height: 1.35;
transition: background .1s;
}
.em-fsd__opt:hover { background: rgba(var(--em-color-primary-rgb), .07); }
.em-fsd__opt--on { background: rgba(var(--em-color-primary-rgb), .05); color: var(--em-color-text); font-weight: 500; }
.em-fsd__opt--on:hover { background: rgba(var(--em-color-primary-rgb), .1); }


.em-fsd__chk {
width: 16px; height: 16px; flex-shrink: 0;
border: 2px solid var(--em-color-primary); border-radius: 3px;
background: var(--em-color-surface); display: flex; align-items: center; justify-content: center;
transition: background .12s, border-color .12s;
}
.em-fsd__opt--on .em-fsd__chk {
background: var(--em-color-primary); border-color: var(--em-color-primary); color: #fff;
}


.em-results-count {
font-size: .875rem; font-weight: 600;
color: var(--em-color-muted);
margin-bottom: 1rem;
}


.em-pagination {
display: flex; align-items: center; justify-content: center;
gap: .25rem; padding: 1.75rem 0 .5rem; flex-wrap: wrap;
}
.em-page-btn {
width: 38px; height: 38px;
border-radius: var(--em-radius);
border: 1px solid var(--em-color-border);
background: var(--em-color-surface);
color: var(--em-color-text);
font-size: 1.25rem; line-height: 1;
cursor: pointer; display: flex; align-items: center; justify-content: center;
transition: all var(--em-transition);
}
.em-page-btn:disabled { opacity: .35; cursor: default; }
.em-page-btn:hover:not(:disabled) { border-color: var(--em-color-primary); color: var(--em-color-primary); }
.em-page-numbers { display: flex; align-items: center; gap: .25rem; flex-wrap: wrap; }
.em-page-num {
min-width: 38px; height: 38px; padding: 0 .5rem;
border-radius: var(--em-radius);
border: 1px solid var(--em-color-border);
background: var(--em-color-surface);
color: var(--em-color-text);
font-size: .875rem; cursor: pointer;
transition: all var(--em-transition);
}
.em-page-num:hover { border-color: var(--em-color-primary); color: var(--em-color-primary); }
.em-page-num.active { background: var(--em-color-primary); border-color: var(--em-color-primary); color: white; font-weight: 600; }
.em-page-ellipsis { padding: 0 .25rem; color: var(--em-color-muted); font-size: .875rem; }


.em-event-card:focus-visible,
.em-agenda-item:focus-visible,
.em-filter:focus-visible,
.em-btn-reset:focus-visible,
.em-page-btn:focus-visible,
.em-page-num:focus-visible,
.em-fsd__trigger:focus-visible,
.em-fsd__opt:focus-visible,
.em-btn--share:focus-visible {
outline: 2px solid var(--em-color-primary);
outline-offset: 2px;
box-shadow: 0 0 0 4px rgba(var(--em-color-primary-rgb), .15);
}
.em-fsd__opt:focus-visible { outline-offset: -2px; }
.em-agenda[tabindex]:focus { outline: none; }


.em-btn--share {
padding: .375rem .375rem;
background: transparent;
border: 1px solid var(--em-color-border);
border-radius: var(--em-radius);
color: var(--em-color-muted);
cursor: pointer;
display: inline-flex; align-items: center; justify-content: center;
transition: all var(--em-transition);
}
.em-btn--share:hover { border-color: var(--em-color-accent); color: var(--em-color-accent); }


.em-event-card--highlighted {
outline: 2px solid var(--em-color-primary);
outline-offset: 3px;
animation: em-highlight-pulse 2s ease-out;
}
@keyframes em-highlight-pulse {
0%, 100% { outline-color: var(--em-color-primary); }
50%       { outline-color: var(--em-color-secondary); }
}


.em-event-card__badges,
.em-agenda-item__badges {
display: flex;
flex-wrap: wrap;
gap: .375rem;
margin-bottom: .5rem;
}

.em-badge {
display: inline-block;
padding: .25rem .5rem;
border-radius: 999px;
font-size: .625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .025em;
line-height: 1.3;
}

.em-badge--online {
background: var(--em-color-success-bg);
color: var(--em-color-success);
}

.em-badge--featured {
background: var(--em-color-warning-bg);
color: var(--em-color-warning);
}

.em-badge--new {
background: var(--em-color-new);
color: var(--em-color-new-text);
font-weight: 700;
letter-spacing: .04em;
}


.em-badge--ended {
background: var(--em-color-muted);
color: var(--em-color-surface);
}


.em-is-ended--dim       { opacity: .65; }
.em-is-ended--grayscale { filter: grayscale(1); }
.em-is-ended--both      { opacity: .65; filter: grayscale(1); }


.em-event-time {
font-size: .75rem;
color: var(--em-color-muted);

margin: 0;
}

.em-ic-wrap {
display: inline-flex;
align-items: center;
gap: .25rem;
}
.em-ic-wrap svg, .em-icon { flex-shrink: 0; opacity: 1; vertical-align: middle; }
.em-ic-wrap svg { color: var(--em-color-secondary); }


.em-featured-zone {
margin-bottom: 2.5rem;

background: var(--em-featured-zone-bg, var(--em-color-surface));
border-radius: var(--em-radius, .75rem);
}

.em-featured-zone--carousel {
opacity: 0;
min-height: 500px;
overflow: hidden;
transition: opacity 0.2s ease;
}
.em-featured-zone--carousel.em-featured-zone--ready {
opacity: 1;
overflow: visible;
min-height: 0;
}

.em-featured-zone__title {
margin: 0 0 1.25rem;
font-size: 1.375rem;
font-weight: 700;
color: var(--em-color-primary);
letter-spacing: .04em;
}

.em-featured-zone__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 1.25rem;
}


.em-featured-zone--carousel .em-featured-zone__header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1rem;
}
.em-featured-zone--carousel .em-featured-zone__title { margin: 0; }
.em-featured-zone--carousel .em-featured-zone__nav {
display: flex;
gap: .5rem;
}
.em-featured-zone--carousel .em-featured-zone__btn {

box-sizing: border-box;
padding: 0;
flex: 0 0 auto;
width: 36px;
height: 36px;
border-radius: 50%;
border: 1px solid var(--em-color-border);
background: #fff;
color: var(--em-color-primary);
font-size: 1.25rem;
line-height: 1;
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
transition: background .15s, border-color .15s, opacity .15s, transform .15s;
}
.em-featured-zone--carousel .em-featured-zone__btn:hover:not(:disabled) {
background: var(--em-color-primary);
color: #fff;
border-color: var(--em-color-primary);
}
.em-featured-zone--carousel .em-featured-zone__btn:disabled {
opacity: .35;
cursor: not-allowed;
}
.em-featured-zone--carousel .em-featured-zone__btn:focus-visible {
outline: 2px solid var(--em-color-primary);
outline-offset: 2px;
}
.em-featured-zone--carousel .em-featured-zone__track {
overflow-x: auto;
scroll-snap-type: x mandatory;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
}
.em-featured-zone--carousel .em-featured-zone__track::-webkit-scrollbar { display: none; }
.em-featured-zone--carousel .em-featured-zone__grid {
display: flex;
grid-template-columns: none;
gap: 1rem;
padding-bottom: .5rem;
}
.em-featured-zone--carousel .em-featured-zone__grid > .em-event-card,
.em-featured-zone--carousel .em-featured-zone__grid > .em-featured-card {
flex: 0 0 clamp(240px, 30%, 320px);
scroll-snap-align: start;
}
@media (max-width: 640px) {
.em-featured-zone--carousel .em-featured-zone__grid > .em-event-card,
.em-featured-zone--carousel .em-featured-zone__grid > .em-featured-card {
flex-basis: 80%;
}
}


.em-featured-zone__dots {
display: flex;
align-items: center;
justify-content: center;
gap: .375rem;
margin-top: .875rem;
min-height: 12px;
}
.em-featured-zone__dots:empty { display: none; }
.em-featured-zone__dot {
width: 7px; height: 7px;
border-radius: 50%;
background: var(--em-color-border);
border: none; padding: 0;
cursor: pointer; flex-shrink: 0;
transition: background var(--em-transition);
}
.em-featured-zone__dot:hover { background: var(--em-color-accent); }
.em-featured-zone__dot--active {
background: var(--em-color-primary);
width: 18px;
border-radius: 3px;
height: 7px;
}


.em-featured-card {

background: var(--em-featured-card-bg, var(--em-color-surface));
border-radius: var(--em-radius);
box-shadow: var(--em-shadow);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform .18s, box-shadow .18s;
}
.em-featured-card:hover {
box-shadow: 0 5px 12px rgba(0,0,0,.15);
}
.em-fc__media {
position: relative;
aspect-ratio: var(--em-thumb-ratio);
overflow: hidden;
background: var(--em-color-primary);
}

img.em-fc__img {
width: 100%; height: 100%;
object-fit: var(--em-thumb-fit); display: block;
}
.em-fc__img--placeholder {
width: 100%; height: 100%;
background: linear-gradient(135deg, var(--em-color-primary) 0%, var(--em-color-accent) 100%);
}

.em-fc__media::after {
content: ''; position: absolute; inset: 0;
background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 55%);
pointer-events: none;
}

.em-fc__date-stamp {
position: absolute; top: .5rem; left: .5rem;
background: var(--em-color-primary);
color: #fff;
border-radius: calc(var(--em-radius) / 2);
padding: .25rem .5rem;
text-align: center; line-height: 1.1; z-index: 1;
box-shadow: 0 2px 6px rgba(0,0,0,.25);
min-width: 36px; border: 1px solid #fff;opacity: .85;
}
.em-fc__date-stamp--range { padding: .25rem .5rem; }
.em-fc__stamp-chev { display: block; margin: .125rem auto; opacity: .7; }
.em-fc__day  { display: block; font-size: 1rem; font-weight: 800; }
.em-fc__mon  { display: block; font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .9; }

.em-fc__badges {
position: absolute; top: .625rem; right: .625rem;
display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; z-index: 1;
}

.em-fc__body {
padding: .75rem;
flex: 1; display: flex; flex-direction: column; gap: .375rem;
}
.em-fc__school {
font-size: .75rem; font-weight: 700;
color: var(--em-color-secondary);
text-transform: uppercase; line-height: 1;
}
.em-fc__title {
margin: 0; font-size: 1rem; font-weight: 700;
line-height: 1.35; color: var(--em-color-primary);
display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2;
-webkit-box-orient: vertical; overflow: hidden;
}
.em-fc__meta {
display: flex; flex-direction: column; align-items: flex-start;
gap: .375rem; font-size: .75rem; color: var(--em-color-muted);
}
.em-fc__date-range { align-items: center; }

.em-fc__date-chev { opacity: .55; flex-shrink: 0; color: currentColor; margin: 0 .25em; }

.em-fc__address { font-size: inherit; color: inherit; margin: 0; }
.em-fc__tags { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .375rem; }
.em-fc__actions { margin-top: auto; padding-top: .5rem; }
.em-fc__cta {
display: inline-flex; align-items: center; gap: .375rem;
padding: .375rem .5rem;
border: 1.5px solid var(--em-color-primary);
color: var(--em-color-primary);
border-radius: calc(var(--em-radius) / 2);
font-size: .75rem; font-weight: 600;
text-decoration: none;
transition: opacity .15s;
}
.em-fc__cta:hover { opacity: .75; }
.em-fc__cta .em-icon { transition: transform .15s; }
.em-fc__cta:hover .em-icon { transform: translateX(3px); }
.em-fc__desc {
margin: 0rem 0 .5rem 0px;
font-size: .875rem;
color: var(--em-color-muted);
line-height: 1.25;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}

.em-featured-card:focus-visible { outline: 2px solid var(--em-color-primary); outline-offset: 2px; }


.em-subsection-title {
font-size: 1rem;
font-weight: 600;
color: var(--em-color-primary);
margin: 1.5rem 0 .75rem;
padding-bottom: .375rem;
border-bottom: 1px solid var(--em-color-border);
}

.em-description--small {
font-size: .75rem;
color: var(--em-color-muted);
margin-top: .25rem;
}


.em-agenda-sidebar-wrap {

--em-accent: var(--em-widget-accent, var(--em-color-primary, #1a3a6b));
--em-accent-rgb: 26, 58, 107;


color: var(--em-widget-text, inherit);
}

.em-asb__inner {
display: grid;

grid-template-columns: var(--em-asb-nav-w, 220px) 1fr;

min-height: var(--em-asb-panel-min-h, 320px);
overflow: hidden;

background: var(--em-widget-bg, transparent);
border-radius: var(--em-widget-radius, 0);
padding: var(--em-widget-pad, 0);
box-shadow: var(--em-widget-shadow, none);
}


.em-asb__inner.em-asb__inner--no-nav {
grid-template-columns: 1fr;
}


.em-asb__title {
grid-column: 1 / -1;
margin: 1.25rem 0px 1.25rem;

font-size: var(--em-asb-title-size, 1.75rem);
font-weight: 700;
line-height: 1.2;

color: var(--em-widget-title, var(--em-color-primary));
}


.em-asb__inner.em-asb__inner--with-photo {
grid-template-columns: var(--em-asb-photo-w, 38%) var(--em-asb-nav-w, 220px) 1fr;
grid-template-rows: auto 1fr;
}

.em-asb__inner--with-photo .em-asb__photo {
grid-column: 1;
grid-row: 1 / -1;
margin: calc(-1 * var(--em-widget-pad, 0px));
margin-right: var(--em-asb-photo-gap, 24px);
}
.em-asb__inner--with-photo .em-asb__title   { grid-column: 2 / -1; grid-row: 1; }
.em-asb__inner--with-photo .em-asb__navcol  { grid-column: 2; grid-row: 2; }
.em-asb__inner--with-photo .em-asb__content { grid-column: 3; grid-row: 2; }

.em-asb__inner.em-asb__inner--with-photo.em-asb__inner--no-nav {
grid-template-columns: var(--em-asb-photo-w, 38%) 1fr;
}
.em-asb__inner--with-photo.em-asb__inner--no-nav .em-asb__content { grid-column: 2; }

.em-asb__photo {
min-width: 0;
overflow: hidden;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}



.em-asb__navcol {
background: var(--em-asb-nav-bg, transparent);
min-width: 0;
}
.em-asb__nav-title {
margin: 0;
padding: 10px 5px 5px 10px;
color: var(--em-asb-nav-title, var(--em-color-muted));
font-size: .75rem;
font-weight: 500;
text-transform: uppercase;
letter-spacing: .1em;
}
.em-asb__nav {
background: var(--em-asb-nav-bg, transparent);
padding: 5px 0;
}
.em-asb__nav-list {
list-style: none;
margin: 0;
padding: 0;
}
.em-asb__nav-item.em-asb__nav-item {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 15px;
cursor: pointer;
color: var(--em-asb-nav-text, var(--em-color-primary));
font-size: 1.125rem;
font-weight: 500;
transition: color .15s, background .15s;
border-left: 3px solid transparent;
user-select: none;
}

.em-asb__nav-item:hover {
background: rgba(var(--em-color-primary-rgb, 26, 58, 107), .08);
}
.em-asb__nav-item.active {
color: var(--em-asb-nav-active, #fff);
font-weight: 700;

background: var(--em-asb-nav-active-bg, var(--em-color-primary));

border-left-color: var(--em-asb-nav-active-bg, var(--em-color-primary));
}

.em-agenda-sidebar-wrap[data-bullet="square"] .em-asb__nav-bullet { border-radius: 1px; }
.em-agenda-sidebar-wrap[data-bullet="none"] .em-asb__nav-bullet   { display: none; }
.em-asb__nav-bullet {
width: 5px;
height: 5px;
border-radius: 50%;
background: currentColor;
flex-shrink: 0;
transition: transform .15s;
}
.em-asb__nav-item.active .em-asb__nav-bullet {
transform: scale(1.3);
}

.em-agenda-sidebar-wrap[data-nav-arrow="0"] .em-asb__nav-arrow { display: none; }
.em-asb__nav-arrow {
margin-left: auto;
line-height: 0;
display: inline-flex;
align-items: center;
}


.em-asb__content {
display: flex;
flex-direction: column;
padding: 0 25px 25px;

background: var(--em-asb-content-bg, var(--em-widget-bg, #fff));
}
.em-asb__events {
flex: 1;
}


.em-asb__event {
display: flex;
flex-direction: column;
align-items: stretch;
padding: 14px 0;


border-bottom: 1px solid var(--em-asb-divider, var(--em-widget-border, var(--em-color-border)));
}
.em-asb__event:last-child {
border-bottom: none;
}

.em-asb__event-row {
display: flex;
align-items: flex-start;
gap: 18px;
}
.em-asb__event-date {
text-align: center;
min-width: 38px;
flex-shrink: 0;
color: var(--em-asb-date, var(--em-accent));
}
.em-asb__day {
display: block;
font-size: var(--em-asb-day-size, 1.875rem);
font-weight: 800;
line-height: 1;
}
.em-asb__date-chev {
display: block;
font-size: .5rem;
opacity: .6;
line-height: 1;
margin: 2px 0;
color: var(--em-accent);
}
.em-asb__month {
display: block;
font-size: var(--em-asb-month-size, .75rem);
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
margin-top: 2px;
}
.em-asb__time {
display: inline-flex;
align-items: center;
gap: .25rem;
}
.em-asb__type {
display: inline-block;
font-size: .625rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .05em;
color: var(--em-accent);
opacity: .85;
margin-bottom: 4px;
}
.em-asb__online {
display: inline-block;
font-size: .625rem;
font-weight: 700;

color: var(--em-color-success);
margin-bottom: 4px;
}
.em-asb__thumb {
flex-shrink: 0;
width: 75px;
height: 75px;
border-radius: 0px;
overflow: hidden;
line-height: 0;
}
.em-asb__thumb img {
width: 75px;
height: 75px;
object-fit: cover;
border-radius: 0px;
}
.em-asb__event-desc {
margin: 3px 0 0;
font-size: .75rem;
line-height: 1.45;
color: var(--em-color-muted);
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.em-asb__campus {
display: block;
font-size: .75rem;

color: var(--em-asb-city, inherit);
opacity: var(--em-asb-city-op, .7);
margin-top: 2px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.em-asb__event-date {
padding-bottom: .375rem;
border-bottom: 2px solid var(--em-asb-divider, var(--em-accent));
}

.em-asb__divider {
width: 2px;
align-self: stretch;
background: var(--em-accent);
flex-shrink: 0;
border-radius: 2px;
opacity: .35;
display: none;
}
.em-agenda-sidebar-wrap[data-date-divider="vertical"] .em-asb__divider {
display: block;
}

.em-agenda-sidebar-wrap[data-date-divider="vertical"] .em-asb__event-date,
.em-agenda-sidebar-wrap[data-date-divider="none"]     .em-asb__event-date {
padding-bottom: 0;
border-bottom: none;
}
.em-asb__event-body {
flex: 1;
min-width: 0;
}

.em-asb__event-body > .em-asb__event-cta {
margin-top: .625rem;
}
.em-agenda-sidebar-wrap[data-event-cta-pos="right"] .em-asb__event-row {
align-items: center;
}
.em-asb__event-cta {
flex-shrink: 0;
align-self: center;
}
.em-asb__event-title {
margin: 0 0 7px;

font-size: var(--em-asb-ev-title-size, .875rem);
font-weight: 600;
line-height: 1.35;


color: var(--em-asb-ev-title, var(--em-widget-title, var(--em-accent)));
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.em-asb__cta-btn {
display: inline-block;
border: 2px solid var(--em-accent);
color: var(--em-accent);
padding: 4px 14px;
font-size: .75rem;
font-weight: 500;
text-decoration: none;
text-transform: uppercase;
letter-spacing: .025em;
transition: background .2s, color .2s;
border-radius: 2px;
}
.em-asb__cta-btn:hover {
background: var(--em-accent);
color: #fff;
}


.em-asb__footer {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
margin-top: 20px;
padding-top: 18px;
border-top: 1px solid var(--em-color-border);
text-align: center;
}
.em-asb__footer-title {
margin: 0;
font-size: .875rem;
font-weight: 500;
color: var(--em-color-muted);
}
.em-asb__footer-btns {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
}

.em-agenda-sidebar-wrap[data-footer-layout="stack"] .em-asb__footer-btns {
flex-direction: column;
align-items: stretch;
}

.em-agenda-sidebar-wrap[data-footer-align="left"]  .em-asb__footer { align-items: flex-start; text-align: left; }
.em-agenda-sidebar-wrap[data-footer-align="left"]  .em-asb__footer-btns { justify-content: flex-start; }
.em-agenda-sidebar-wrap[data-footer-align="right"] .em-asb__footer { align-items: flex-end; text-align: right; }
.em-agenda-sidebar-wrap[data-footer-align="right"] .em-asb__footer-btns { justify-content: flex-end; }
.em-asb__footer-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 22px;
font-size: .875rem;
font-weight: 700;
text-decoration: none;
transition: all .2s;
border-radius: 2px;
}
.em-asb__footer-btn--outline {
border: 2px solid var(--em-accent);
color: var(--em-accent);
background: transparent;
}
.em-asb__footer-btn--outline:hover {
background: var(--em-accent);
color: #fff;
}
.em-asb__footer-btn--filled {
background: var(--em-accent);
color: #fff;
border: 2px solid var(--em-accent);
}
.em-asb__footer-btn--filled:hover {
opacity: .88;
}


@media (max-width: 1024px) {

.em-asb__inner.em-asb__inner--with-photo,
.em-asb__inner.em-asb__inner--with-photo.em-asb__inner--no-nav {
grid-template-columns: var(--em-asb-nav-w, 200px) 1fr;
grid-template-rows: auto auto 1fr;
}
.em-asb__inner--with-photo .em-asb__photo {
grid-column: 1 / -1;
grid-row: 1;
height: var(--em-asb-photo-height, 220px);

margin: calc(-1 * var(--em-widget-pad, 0px));
margin-bottom: var(--em-asb-photo-gap, 24px);
}
.em-asb__inner--with-photo .em-asb__title   { grid-column: 1 / -1; grid-row: 2; }
.em-asb__inner--with-photo .em-asb__navcol  { grid-column: 1; grid-row: 3; }
.em-asb__inner--with-photo .em-asb__content { grid-column: 2; grid-row: 3; }
.em-asb__inner--with-photo.em-asb__inner--no-nav .em-asb__content { grid-column: 1 / -1; }

.em-asb__inner {
min-height: 320px;
}
.em-asb__inner {

grid-template-columns: var(--em-asb-nav-w, 200px) 1fr;
}
}
@media (max-width: 640px) {
.em-asb__inner {
grid-template-columns: 1fr;
}

.em-asb__inner.em-asb__inner--with-photo,
.em-asb__inner.em-asb__inner--with-photo.em-asb__inner--no-nav {
grid-template-columns: 1fr;
}

.em-agenda-sidebar-wrap .em-asb__inner.em-asb__inner--with-photo.em-asb__inner--with-photo > * {
grid-column: 1 / -1;
grid-row: auto;
}

.em-asb__inner > * { min-width: 0; }
.em-asb__nav {
padding: 0;
}

.em-asb__nav-title { padding: 10px 12px 4px; font-size: .625rem; }

.em-asb__event-row {
flex-wrap: wrap;
gap: 12px;
}
.em-asb__event-cta {
flex: 1 0 100%;
align-self: stretch;
}
.em-asb__event-cta .em-asb__cta-btn {
display: block;
text-align: center;
}

.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-list {
display: flex;
flex-wrap: nowrap;
gap: 4px;
overflow-x: auto;
padding: 0 8px;
border-bottom: 1px solid var(--em-asb-divider, var(--em-widget-border, var(--em-color-border)));
-webkit-overflow-scrolling: touch;
scrollbar-width: none;              
overscroll-behavior-x: contain;     
}
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-list::-webkit-scrollbar { display: none; }  
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-item.em-asb__nav-item {
flex: 0 0 auto;
gap: 0;
padding: 14px 14px 12px;
border-left: none;
border-radius: 0;
background: transparent;

color: var(--em-asb-nav-text, var(--em-color-primary));
font-size: .75rem;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
white-space: nowrap;
border-bottom: 3px solid transparent;   
margin-bottom: -1px;                     
transition: color .15s, border-color .15s;
}
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-item:hover {

background: rgba(var(--em-color-primary-rgb, 26, 58, 107), .08);
color: var(--em-asb-nav-text, var(--em-color-primary));
}
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-item.active {
background: transparent;
font-weight: 800;

border-bottom-color: var(--em-asb-nav-active-bg, var(--em-color-primary));
}
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-bullet { display: none; }     
.em-agenda-sidebar-wrap:not([data-mobile-nav="select"]):not([data-mobile-nav="list"]) .em-asb__nav-arrow { display: none; }
.em-asb__content {
padding: 18px 16px;
}


.em-agenda-sidebar-wrap[data-mobile-nav="select"] .em-asb__nav { display: none; }
.em-agenda-sidebar-wrap[data-mobile-nav="select"] .em-asb__nav-select {
display: block;

box-sizing: border-box;
margin: 12px 16px;
width: calc(100% - 32px);
padding: .625rem .75rem;
border: 1px solid var(--em-asb-divider, var(--em-widget-border, var(--em-color-border)));
border-radius: var(--em-radius);
background: var(--em-asb-nav-bg, transparent);
color: var(--em-asb-nav-text, var(--em-color-primary));
font: inherit;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .07em;
}


.em-agenda-sidebar-wrap[data-mobile-nav="list"] .em-asb__nav-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2px 12px;
padding: 10px 16px;
overflow: visible;
border-bottom: 1px solid var(--em-asb-divider, var(--em-widget-border, var(--em-color-border)));
}
.em-agenda-sidebar-wrap[data-mobile-nav="list"] .em-asb__nav-item {

min-width: 0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}


.em-events-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: var(--em-grid-gap);
}

@media (min-width: 768px) {
.em-events-grid.em-cols-2 { grid-template-columns: repeat(2, 1fr); }
.em-events-grid.em-cols-3 { grid-template-columns: repeat(3, 1fr); }
.em-events-grid.em-cols-4 { grid-template-columns: repeat(4, 1fr); }
}
.em-loadmore-wrap {
text-align: center;
padding: 1.5rem 0 .5rem;
}

.em-loadmore-btn {
display: inline-flex;
align-items: center;
gap: .375rem;
padding: .625rem 1.625rem;
background: var(--em-color-primary);
color: #fff;
border: none;
border-radius: 999px;
font-size: .875rem;
font-weight: 600;
cursor: pointer;
transition: opacity .15s;
}
.em-loadmore-btn:hover { opacity: .88; }

.em-loadmore-count,
.em-loadmore-done {
margin: .5rem 0 0;
font-size: .75rem;
color: var(--em-color-muted);
text-align: center;
}
.em-loadmore-count:empty { display: none; }   
.em-loadmore-done { padding: 1.5rem 0 .5rem; margin: 0; }


@media (max-width: 640px) {
.em-loadmore-btn {
display: flex;
width: 100%;
box-sizing: border-box;
min-height: 48px;
justify-content: center;
font-size: 1rem;
font-weight: 500;
}
}


.em-hero-carousel {
background: var(--em-ds-bg, var(--em-color-primary));
color: #fff;
padding: 1.75rem 1.75rem 1.5rem;
width: 100%;
box-sizing: border-box;

user-select: none;
}
.em-hc__title {
font-size: 1rem;
font-weight: 800;
letter-spacing: .04em;
margin: 0 0 1.25rem;
line-height: 1.3;
}

.em-hc__viewport {
overflow: hidden;
width: 100%;
min-height: 80px;
}
.em-hc__track {
display: flex;
transition: transform .38s cubic-bezier(.4, 0, .2, 1);
will-change: transform;
}

.em-hc__slide {
flex: 0 0 100%;
width: 100%;
display: flex;
flex-direction: column;
gap: .375rem;
box-sizing: border-box;
}

.em-hc__event {
display: flex;
flex-direction: column;
gap: .125rem;
font-size: .875rem;
min-width: 0;
padding: .375rem .5rem;
border-radius: 6px;
background: rgba(255,255,255,.1);
}
.em-hc__event-title {
font-weight: 700;
font-size: .875rem;
line-height: 1.3;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.em-hc__event-meta {
display: flex;
align-items: center;
gap: .375rem;
opacity: .75;
font-size: .75rem;
}
.em-hc__event-city {
font-weight: 600;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.em-hc__event-date {
white-space: nowrap;
display: flex;
align-items: center;
gap: .25rem;
flex-shrink: 0;
}
.em-hc__event-date svg, .em-hc__event-meta svg { flex-shrink: 0; opacity: .8; }
.em-hc__event-type {
font-size: .625rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
opacity: .65;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.em-hc__event-time {
white-space: nowrap;
display: inline-flex;
align-items: center;
gap: .25rem;
flex-shrink: 0;
}
.em-hc__event-online {
font-size: .625rem;
font-weight: 700;
color: #4ade80;
text-transform: uppercase;
letter-spacing: .05em;
}
.em-hc__event-cta {
display: inline-block;
margin-top: .25rem;
padding: .25rem .75rem;
font-size: .75rem;
font-weight: 700;
color: #fff;
background: rgba(255,255,255,.18);
border: 1px solid rgba(255,255,255,.35);
border-radius: 4px;
text-decoration: none;
white-space: nowrap;
transition: background .15s;
align-self: flex-start;
}
.em-hc__event-cta:hover {
background: rgba(255,255,255,.3);
color: #fff;
}

.em-hc__dots {
display: flex;
align-items: center;
justify-content: center;
gap: .25rem;
margin: .875rem 0 1.125rem;
}
.em-hc__dot {
height: 8px;
width: 8px;
border-radius: 4px;
background: rgba(255, 255, 255, .3);
border: none;
cursor: pointer;
padding: 0;
transition: background .2s, width .25s cubic-bezier(.4, 0, .2, 1);
flex-shrink: 0;
}
.em-hc__dot.active {
background: #fff;
width: 24px;
}



.em-hc__footer { margin-top: .25rem; display: flex; }
.em-hc__footer--left   { justify-content: flex-start; }
.em-hc__footer--center { justify-content: center; }
.em-hc__footer--right  { justify-content: flex-end; }

.em-hc__cta .em-icon { flex-shrink: 0; transition: transform .15s; }
.em-hc__cta:hover .em-icon { transform: translateX(3px); }
.em-hc__cta {

display: inline-flex;
align-items: center;
gap: .5rem;
padding: .5rem 1.5rem;
border: 2px solid #fff;
color: #fff;
font-size: .875rem;
font-weight: 700;
text-transform: uppercase;
text-decoration: none;
letter-spacing: .06em;
transition: background .18s;
}
.em-hc__cta:hover { background: rgba(255, 255, 255, .12); color: #fff; }

.em-hc__loading, .em-hc__empty {
font-size: .875rem;
opacity: .75;
padding: 1rem;
text-align: center;
width: 100%;
}


.em-upcoming {
--em-up-accent: var(--em-color-primary, #1a3a6b);
background: var(--em-color-surface);
border-radius: var(--em-radius);
box-shadow: var(--em-shadow);
padding: 1.5rem;
box-sizing: border-box;
}
.em-upcoming__title {
font-size: 1.25rem;
font-weight: 800;
color: var(--em-up-accent);
line-height: 1.25;
margin: 0 0 1.125rem;
text-transform: uppercase;
letter-spacing: .04em;
}

.em-upcoming__event {
padding: .875rem 0;
}

.em-upcoming__meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: .375rem 1rem;
font-size: .75rem;
color: var(--em-color-muted);
margin-bottom: .375rem;
}
.em-upcoming__date,
.em-upcoming__loc {
display: inline-flex;
align-items: center;
gap: .25rem;
}
.em-upcoming__date svg,
.em-upcoming__loc svg { flex-shrink: 0; }
.em-upcoming__school {
display: inline-flex;
align-items: center;
gap: .25rem;
font-weight: 600;
color: var(--em-up-accent);
}

.em-upcoming__type {
display: inline-block;
font-size: .75rem;
font-weight: 700;
letter-spacing: .07em;
padding: .25rem .5rem;
border-radius: 999px;
background: var(--em-color-warning-bg);
color: var(--em-color-warning);
border: 1px solid var(--em-color-warning-border);
margin-bottom: .25rem;
}
.em-upcoming__online {
display: inline-block;
font-size: .625rem;
font-weight: 700;
padding: .25rem .5rem;
border-radius: 999px;
background: var(--em-color-success-bg);
color: var(--em-color-success);
margin-bottom: .125rem;
}
.em-upcoming__tags {
display: flex;
flex-wrap: wrap;
gap: .25rem;
margin: .375rem 0 .125rem;
}
.em-upcoming__tag {
font-size: .75rem;
font-weight: 600;
padding: .125rem .5rem;
border-radius: 999px;
background: var(--em-color-bg);
color: var(--em-color-muted);
border: 1px solid var(--em-color-border);
}

.em-upcoming__event-title {
font-size: 1rem;
font-weight: 700;
color: var(--em-up-accent);
margin: 0 0 .5rem;
line-height: 1.3;
}

.em-upcoming__desc {
font-size: .875rem;
color: var(--em-color-muted);
margin: .125rem 0 .625rem;
line-height: 1.45;
}

.em-upcoming__cta {
display: inline-flex;
align-items: center;
gap: .25rem;
padding: .5rem 1rem;
background: transparent;
color: var(--em-up-accent);
border: 1.5px solid var(--em-up-accent);
border-radius: calc(var(--em-radius) / 2);
font-size: .75rem;
font-weight: 600;
text-decoration: none;
transition: background var(--em-transition), color var(--em-transition);
white-space: nowrap;
}
.em-upcoming__cta:hover {
background: var(--em-up-accent);
color: #fff;
transform: none;
opacity: 1;
}
.em-upcoming__cta svg { flex-shrink: 0; }

.em-upcoming__sep {
border: none;
border-top: 1px solid var(--em-color-border);
margin: 0;
}

.em-upcoming__empty,
.em-upcoming__loading {
font-size: .875rem;
color: var(--em-color-muted);
padding: .75rem 0;
}




.em-upcoming {
background:    var(--em-up-bg,     var(--em-color-surface));
border-radius: var(--em-up-radius, var(--em-radius));
box-shadow:    var(--em-up-shadow, var(--em-shadow));

padding:       var(--em-up-pad,    1.5rem 1.75rem);
}
.em-upcoming__title       { color: var(--em-up-title, var(--em-color-primary)); }
.em-upcoming__event-title { color: var(--em-up-text,  var(--em-color-text)); }
.em-upcoming__event       { border-color: var(--em-up-border, var(--em-color-border)); }
.em-up--compact           { padding: var(--em-up-pad, 1rem 1.125rem); }
.em-up--compact .em-upcoming__event { padding-top: .5rem; padding-bottom: .5rem; }


.em-hero-carousel {
border-radius: var(--em-hc-radius, 0);
box-shadow:    var(--em-hc-shadow, none);
padding:       var(--em-hc-pad,    1.75rem 1.75rem 1.5rem);
border:        1px solid var(--em-hc-border, transparent);
}
.em-hc__title       { color: var(--em-hc-title, var(--em-hc-accent, #fff)); }
.em-hc__event-title { color: var(--em-hc-text,  #fff); }
.em-hc--compact     { padding: var(--em-hc-pad, 1rem 1rem .875rem); }


.em-list-wrap {
background:    var(--em-cards-bg,     transparent);
border-radius: var(--em-cards-radius, 0);
box-shadow:    var(--em-cards-shadow, none);
padding:       var(--em-cards-pad,    0);
}
.em-list-wrap .em-event-card {
background:    var(--em-cards-bg,     var(--em-color-surface));
border-color:  var(--em-cards-border, var(--em-color-border));
}

.em-list-wrap .em-event-card__title { color: var(--em-cards-title, var(--em-cards-accent, var(--em-color-primary))); }
.em-list-wrap .em-event-card__desc  { color: var(--em-cards-text,  var(--em-color-muted)); }
.em-cards--compact .em-event-card__body { padding: .625rem .875rem; }


.em-dates-strip {
background:    var(--em-ds-bg, var(--em-color-primary));
color:         var(--em-ds-text, #fff);
border-radius: var(--em-ds-radius, 0);
box-shadow:    var(--em-ds-shadow, none);
padding:       var(--em-ds-pad, 1.5rem 1.5rem);
box-sizing: border-box;
}
.em-ds__head {
display: flex; align-items: center; justify-content: space-between;
gap: 1rem; flex-wrap: wrap; margin-bottom: 1.125rem;
}
.em-ds__title {
margin: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.2;
color: var(--em-ds-title, inherit);
}
.em-ds__actions { display: flex; align-items: stretch; gap: .625rem; }
.em-ds__cta {
display: inline-flex; align-items: center; padding: .5rem 1.125rem;
border: 2px solid currentColor; color: inherit; text-decoration: none;
font-weight: 700; font-size: .875rem; white-space: nowrap;
transition: background var(--em-transition, .2s ease), color var(--em-transition, .2s ease);
}
.em-ds__cta:hover { background: #fff; color: var(--em-ds-bg, var(--em-color-primary)); }
.em-ds__nav { display: flex; }
.em-ds__arrow {
display: inline-flex; align-items: center; justify-content: center;
width: 44px; border: 0; cursor: pointer; color: inherit;

background: rgba(255,255,255,.18);
transition: background var(--em-transition, .2s ease);
}
.em-ds__arrow:last-child { background: #fff; color: var(--em-ds-bg, var(--em-color-primary)); }
.em-ds__arrow:hover:not(:disabled) { background: rgba(255,255,255,.32); }
.em-ds__arrow:last-child:hover:not(:disabled) { background: #f0f0f0; }
.em-ds__arrow:disabled { opacity: .45; cursor: default; }
.em-ds__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

.em-ds__viewport { overflow: hidden; }
.em-ds__track {
display: flex; gap: 12px; overflow-x: auto; scroll-behavior: smooth;
scroll-snap-type: x mandatory;

scrollbar-width: none; -ms-overflow-style: none;
}
.em-ds__track::-webkit-scrollbar { display: none; }

.em-ds__card {
display: flex; align-items: stretch; flex: 0 0 auto;



box-sizing: border-box;
width: calc((100% - (var(--em-ds-per, 3) - 1) * 12px) / var(--em-ds-per, 3));
min-width: 190px;
background: var(--em-ds-city-bg, #fff);
color: var(--em-ds-city-color, var(--em-color-primary));
text-decoration: none; scroll-snap-align: start;
border: 1px solid var(--em-ds-border, transparent);
overflow: hidden;
}
.em-ds__date {
display: flex; flex-direction: column; align-items: center; justify-content: center;
flex: 0 0 auto; min-width: 66px; padding: .75rem .5rem;
color: var(--em-ds-date-color, var(--em-ds-accent, var(--em-color-primary)));
}
.em-ds__day   { font-size: 1.5rem; font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.em-ds__month { font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.em-ds__place {
display: flex; align-items: center; gap: .375rem;
padding: .75rem .875rem; font-size: 1rem; font-weight: 600;
}
.em-ds__place .em-icon { flex-shrink: 0; }

.em-ds__body {
display: flex; flex-direction: column; justify-content: center; gap: .25rem;
min-width: 0; padding: .75rem .875rem;
}
.em-ds__body .em-ds__place { padding: 0; }
.em-ds__title { font-size: .875rem; font-weight: 700; line-height: 1.25; }
.em-ds__time  { font-size: .75rem; font-weight: 500; }


a.em-ds__card {
cursor: pointer;
transition: transform var(--em-transition), box-shadow var(--em-transition);
}
a.em-ds__card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(0, 0, 0, .16);
}

a.em-ds__card:hover .em-ds__place > span:last-child { text-decoration: underline; }


a.em-ds__card:focus-visible {
outline: 3px solid var(--em-ds-city-color, var(--em-color-primary));
outline-offset: -3px;
}
.em-ds__empty { margin: 0; font-size: .875rem; opacity: .85; }

.em-ds--compact { padding: var(--em-ds-pad, 1rem 1.125rem); }
.em-ds--compact .em-ds__place { padding: .5rem .75rem; }

@media (max-width: 1023px) {
.em-ds__card { width: calc((100% - (var(--em-ds-per-tab, 2) - 1) * 12px) / var(--em-ds-per-tab, 2)); }
}
@media (max-width: 640px) {

.em-ds__head    { display: block; }
.em-ds__title   { margin-bottom: .875rem; }
.em-ds__actions { justify-content: space-between; }
.em-ds__card    { width: calc((100% - (var(--em-ds-per-mob, 1) - 1) * 12px) / var(--em-ds-per-mob, 1)); }

.em-ds__card    { min-width: 0; }
}


.em-featured-zone,
.em-hero-carousel { position: relative; }

.em-autoplay-toggle {
display: inline-flex;
align-items: center;
justify-content: center;

box-sizing: border-box;
flex: 0 0 auto;
width: 28px;
height: 28px;
padding: 0;
border: 1px solid var(--em-color-border);
border-radius: 50%;
background: var(--em-color-surface);
color: var(--em-color-text);
cursor: pointer;

opacity: .65;
transition: opacity var(--em-transition, .2s), box-shadow var(--em-transition, .2s);
}
.em-autoplay-toggle:hover,
.em-autoplay-toggle:focus-visible { opacity: 1; }
.em-autoplay-toggle:focus-visible {
outline: 2px solid var(--em-color-primary);
outline-offset: 2px;
}

.em-hero-carousel .em-autoplay-toggle {
background: rgba(255, 255, 255, .15);
border-color: rgba(255, 255, 255, .45);
color: #fff;
}


.em-featured-zone--carousel .em-featured-zone__nav .em-autoplay-toggle {
width: 36px;
height: 36px;
}



.em-autoplay-toggle--floating {
position: absolute;
top: .5rem;
right: .5rem;
z-index: 3;
}


@media (prefers-reduced-motion: reduce) {
.em-agenda-wrap *,
.em-agenda-sidebar-wrap *,
.em-list-wrap *,
.em-hero-carousel *,
.em-upcoming *,
.em-dates-strip * {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
transition-duration: .01ms !important;
scroll-behavior: auto !important;
}
.em-featured-zone__track,
.em-hc__track,
.em-ds__viewport { scroll-behavior: auto !important; }

.em-skeleton::before {
animation-duration: .01ms !important;
animation-iteration-count: 1 !important;
}
}


.em-sr-only {
position: absolute !important;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}




.em-agenda-item__ov-date,
.em-agenda-item__ov-type,
.em-agenda-item__ov-place,
.em-agenda-item__type-line { display: none; }

.em-agenda-item__ov-date,
.em-agenda-item__ov-type,
.em-agenda-item__ov-place {
position: absolute;
z-index: 2;
align-items: center;

pointer-events: none;
}




.em-agenda-item__ov-type {
padding: .25rem .75rem;
background: var(--em-color-primary);
color: #fff;
border-radius: var(--em-radius) 0 0 var(--em-radius);
font-size: .75rem;
font-weight: 700;
}


.em-agenda-item__ov-place {
gap: .25rem;
padding: .25rem .625rem;
background: rgba(0, 0, 0, .62);
color: #fff;
border-radius: 999px;
font-size: .75rem;
font-weight: 600;
}
.em-agenda-item__ov-place .em-icon { flex-shrink: 0; }


.em-agenda-item__type-line {
margin: 0 0 .25rem;
color: var(--em-agenda-type-color, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
}


@media (max-width: 640px) {




[data-agenda-mobile="date-side"] .em-agenda-item--thumb {
display: grid;
grid-template-columns: var(--em-agenda-mobile-date-w, 88px) 1fr;

grid-template-rows: minmax(var(--em-agenda-mobile-media-h, 140px), auto) auto;
}
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__main,
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__row { display: contents; }
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__date-col {
grid-area: 1 / 1;
width: auto;
align-self: stretch;
}
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__thumb {
display: block;
grid-area: 1 / 2;
width: auto;
align-self: stretch;

aspect-ratio: auto;
}
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__body { grid-area: 2 / 1 / 3 / 3; }

[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__type-top,
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__campus-below { display: none; }
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__type-line { display: block; }
[data-agenda-mobile="date-side"] .em-agenda-item--thumb .em-agenda-item__ov-place {
display: flex;
right: .5rem;
bottom: .5rem;
}


[data-agenda-mobile="overlay"] .em-agenda-item--thumb {
display: flex;
flex-direction: column;
}
[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__date-col { display: none; }
[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__main { display: block; }
[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__row { display: block; }
[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__thumb {
display: block;
width: 100%;
align-self: auto;
aspect-ratio: var(--em-thumb-ratio);
}

[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__ov-date { display: block; }
[data-agenda-mobile="overlay"] .em-agenda-item--thumb .em-agenda-item__ov-type {
display: inline-flex;
right: 0;
bottom: 0;
}


[data-agenda-mobile="compact"] .em-agenda-item--thumb {
display: grid;

grid-template-columns: var(--em-agenda-compact-date-w, 64px) minmax(0, 1fr) var(--em-agenda-compact-thumb, 72px);
align-items: start;
}
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__main,
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__row { display: contents; }
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__date-col {
grid-column: 1;
grid-row: 1;
width: auto;
align-self: stretch;
}
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__body { grid-column: 2; grid-row: 1; }
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__thumb {
display: block;
grid-column: 3;
grid-row: 1;
width: var(--em-agenda-compact-thumb, 72px);
aspect-ratio: 1;

align-self: start;
margin: .625rem .625rem 0 0;
border-radius: calc(var(--em-radius) / 2);
}
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__desc,
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__type-top { display: none; }
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__type-line { display: block; }

[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__body { padding: .5rem .75rem; gap: .25rem; }
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__title { font-size: 1rem; }
[data-agenda-mobile="compact"] .em-agenda-item--thumb .em-agenda-item__day { font-size: 1.25rem; }


[data-agenda-mobile="banner"] .em-agenda-item--thumb {
display: grid;
grid-template-columns: minmax(0, 1fr);
}
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__main,
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__row { display: contents; }
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__thumb {
display: block;
grid-area: 1 / 1;
width: 100%;
align-self: auto;
aspect-ratio: var(--em-thumb-ratio);
}
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__date-col {
grid-area: 1 / 1;
position: relative;
z-index: 3;
align-self: end;
justify-self: start;
width: var(--em-agenda-mobile-date-w, 88px);
margin: 0 0 -1.75rem .75rem;
border-radius: calc(var(--em-radius) / 2);
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__body { grid-area: 2 / 1; padding-top: 2.25rem; }
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__type-top,
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__campus-below { display: none; }
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__ov-type {
display: inline-flex;
right: 0;
bottom: .75rem;
}
[data-agenda-mobile="banner"] .em-agenda-item--thumb .em-agenda-item__ov-place {
display: flex;
top: .5rem;
right: .5rem;
}




[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb),
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item {
display: flex;
flex-direction: column;
}
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-col,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-col {
flex-direction: row;
align-items: center;

flex-wrap: wrap;
gap: .25rem .5rem;
width: auto;
padding-right: .75rem;
background: var(--em-color-primary);
color: #fff;
}
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date {
flex: 0 0 auto;
flex-direction: row;
align-items: center;
gap: .375rem;
padding: .5rem .75rem;
}
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-block,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-block { flex: 0 0 auto; flex-direction: row; align-items: baseline; gap: .25rem; }
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-sep,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-sep { padding: 0 .125rem; transform: rotate(-90deg); }

[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-date-arrow,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-date-arrow { width: 14px; height: 12px; }
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__campus-below,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__campus-below {
order: 1;
padding: 0;
border-top: 0;
justify-content: flex-start;
white-space: nowrap;
}
[data-agenda-noimg="strip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__type-top,
[data-agenda-noimg="strip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__type-top {
order: 2;
margin-left: auto;
white-space: nowrap;
padding: .125rem .5rem;
border-bottom: 0;
border-radius: 999px;
background: rgba(255, 255, 255, .16);
}


[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb),
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item {
display: block;
border-left: 4px solid var(--em-color-primary);
}
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-col,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-col {
flex-direction: row;
flex-wrap: wrap;
align-items: center;
gap: .375rem .5rem;
width: auto;
padding: .75rem .75rem 0;
}
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date {
flex: 0 0 auto;
flex-direction: row;
align-items: center;
gap: .25rem;
padding: .25rem .5rem;
border-radius: calc(var(--em-radius) / 2);
}
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__day,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__day { font-size: 1rem; }
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-block,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-block { flex: 0 0 auto; flex-direction: row; align-items: baseline; gap: .25rem; }
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__date-sep,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__date-sep { padding: 0 .125rem; transform: rotate(-90deg); }

[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-date-arrow,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-date-arrow { width: 14px; height: 12px; }
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__type-top,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__type-top,
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__campus-below,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__campus-below {
padding: 0;
border: 0;
background: transparent;
justify-content: flex-start;
font-weight: 700;
}
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__type-top,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__type-top { order: 1; color: var(--em-agenda-type-color, var(--em-color-secondary)); }
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__campus-below,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__campus-below { order: 2; color: var(--em-color-muted); }
[data-agenda-noimg="chip"] .em-agenda-item:not(.em-agenda-item--thumb) .em-agenda-item__body,
[data-agenda-noimg="chip"][data-agenda-mobile="hidden"] .em-agenda-item .em-agenda-item__body { padding-top: .5rem; }
}


@media (min-width: 641px) {


[data-agenda-desktop="thumb-right"] .em-agenda-item__thumb {
order: 2;
align-self: center;
margin: 1rem 1rem 1rem 0;
border-radius: var(--em-radius);
aspect-ratio: var(--em-thumb-ratio);
}
}


@media (min-width: 1024px) {
[data-agenda-cols="2"] .em-agenda-list,
[data-agenda-cols="2"] .em-agenda-month-group {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1rem;
}
[data-agenda-cols="2"] .em-agenda-list > :not(.em-agenda-item-wrap),
[data-agenda-cols="2"] .em-agenda-month-group > :not(.em-agenda-item-wrap) { grid-column: 1 / -1; }

[data-agenda-cols="2"] .em-agenda-item-wrap > .em-agenda-item { flex: 1; }

[data-agenda-cols="2"] .em-agenda-item__thumb { max-width: 40%; }
}


.em-city-list {
background: var(--em-cl-bg, var(--em-color-surface));
color: var(--em-cl-text, var(--em-color-text));
border-radius: var(--em-cl-radius, var(--em-radius));
border: 1px solid var(--em-cl-border, transparent);
box-shadow: var(--em-cl-shadow, none);

padding: var(--em-cl-pad, 0);
}
.em-cl__eyebrow {
margin: 0 0 .25rem;
color: var(--em-cl-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
}
.em-cl__title {
margin: 0 0 1rem;
color: var(--em-cl-title, var(--em-color-primary));
font-size: 1.5rem;
font-weight: 700;
line-height: 1.3;
}
.em-cl__list { margin: 0; padding: 0; list-style: none; }


.em-cl__item {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: .75rem;
padding: .5rem 0;
}
.em-cl__item + .em-cl__item { border-top: 1px solid var(--em-cl-border, var(--em-color-border)); }

.em-cl__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: .25rem 1rem;
font-size: .875rem;

min-width: 0;
}
.em-cl__place strong { color: var(--em-cl-title, var(--em-color-primary)); font-weight: 700; }

.em-cl__place .em-icon,
.em-cl__date .em-icon { color: var(--em-cl-icon, var(--em-cl-accent, var(--em-color-secondary))); }

.em-cl__type {
align-self: flex-start;
padding: .125rem .5rem;
border: 1px solid var(--em-color-info-border);
border-radius: calc(var(--em-radius) / 2);
background: var(--em-color-info-bg);
color: var(--em-color-primary);
font-size: .75rem;
font-weight: 600;
line-height: 1.5;
}
.em-cl__date { color: var(--em-cl-text, var(--em-color-text)); }


.em-cl__go {
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
flex-shrink: 0;
color: var(--em-cl-title, var(--em-color-primary));
border: 1px solid currentColor;
border-radius: calc(var(--em-radius) / 3);
text-decoration: none;
transition: background var(--em-transition), color var(--em-transition);
}

.em-cl__go .em-icon { width: 14px; height: 14px; }
.em-cl__go:hover {
background: var(--em-cl-title, var(--em-color-primary));
color: var(--em-color-surface);
}
.em-cl__go:focus-visible {
outline: 2px solid var(--em-cl-accent, var(--em-color-secondary));
outline-offset: 2px;
}

@media (max-width: 480px) {

.em-cl__item { grid-template-columns: 1fr auto; }
.em-cl__meta {
flex-wrap: nowrap;
gap: .5rem;
font-size: .875rem;
}
.em-cl__place {
min-width: 0;
overflow: hidden;
}
.em-cl__place strong {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.em-cl__date { white-space: nowrap; }
.em-cl__type { display: none; }
}


.em-ticker {
display: flex;
align-items: center;
gap: .875rem;
box-sizing: border-box;
padding: var(--em-tk-pad, .5rem .875rem);
background: var(--em-tk-bg, var(--em-color-surface));
color: var(--em-tk-text, var(--em-color-text));
border-top: 1px solid var(--em-tk-border, var(--em-color-border));
border-bottom: 1px solid var(--em-tk-border, var(--em-color-border));
border-radius: var(--em-tk-radius, 0);
box-shadow: var(--em-tk-shadow, none);

min-height: var(--em-tk-h, auto);
font-size: var(--em-tk-fs, inherit);

overflow: hidden;
}


.em-ticker[data-border-sides="all"] {
border-left: 1px solid var(--em-tk-border, var(--em-color-border));
border-right: 1px solid var(--em-tk-border, var(--em-color-border));
}
.em-ticker[data-border-sides="top"]    { border-bottom: 0; }
.em-ticker[data-border-sides="bottom"] { border-top: 0; }
.em-ticker[data-border-sides="none"]   { border-top: 0; border-bottom: 0; }


.em-ticker[data-sticky="top"],
.em-ticker[data-sticky="bottom"] {
position: sticky;
z-index: 20;
}
.em-ticker[data-sticky="top"]    { top: var(--em-tk-sticky-top, 0px); }
.em-ticker[data-sticky="bottom"] { bottom: 0; }


body.admin-bar .em-ticker[data-sticky="top"] { top: calc(32px + var(--em-tk-sticky-top, 0px)); }
@media screen and (max-width: 782px) {

body.admin-bar .em-ticker[data-sticky="top"] { top: calc(46px + var(--em-tk-sticky-top, 0px)); }
}

@media (max-width: 640px) {

.em-ticker[data-sticky][data-sticky-mobile="0"] { position: static; }
}


.em-tk__label {
flex: 0 0 auto;
margin: 0;

color: var(--em-tk-eyebrow, var(--em-tk-accent, var(--em-color-secondary)));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .09em;
}

.em-tk__viewport {
flex: 1 1 auto;

min-width: 0;
overflow: hidden;
}

.em-tk__track {
display: flex;
align-items: center;

width: max-content;
animation: em-tk-scroll var(--em-tk-dur, 40s) linear infinite;
}
.em-tk__half { display: flex; align-items: center; }


@keyframes em-tk-scroll {
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
}

.em-ticker[data-direction="right"] .em-tk__track { animation-direction: reverse; }


.em-ticker:hover .em-tk__track,
.em-ticker:focus-within .em-tk__track { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {

.em-tk__track { animation: none; }
.em-tk__viewport { overflow-x: auto; }
}

.em-tk__item {
display: inline-flex;
align-items: baseline;
gap: .75rem;
padding: 0 .5rem;

white-space: nowrap;
color: inherit;
text-decoration: none;
}

a.em-tk__item:hover .em-tk__name { text-decoration: underline; }
a.em-tk__item:focus-visible {
outline: 2px solid var(--em-tk-accent, var(--em-color-secondary));
outline-offset: -2px;
}
.em-tk__date {
color: var(--em-tk-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;

font-variant-numeric: tabular-nums;
}

.em-tk__name { font-size: .875rem; font-weight: 600; color: var(--em-tk-title, inherit); }

.em-tk__city { font-size: .75rem; color: var(--em-tk-city, inherit); opacity: var(--em-tk-city-op, .7); }


.em-tk__sep { flex: 0 0 auto; display: flex; align-items: center; }
.em-ticker[data-separator="dot"] .em-tk__sep::before {
content: "·";
color: var(--em-tk-sep, inherit);
opacity: var(--em-tk-sep-op, .45);
}
.em-ticker[data-separator="bar"] .em-tk__sep::before {
content: "";
width: 1px;
height: .9em;
background: currentColor;
opacity: .25;
}
.em-ticker[data-separator="none"] .em-tk__sep { display: none; }


@media (max-width: 640px) {

.em-ticker { flex-wrap: wrap; gap: .375rem .875rem; }
.em-tk__viewport { flex: 1 1 100%; }
}

.em-block-frame {

display: grid;

grid-template-columns: minmax(0, 1fr);
}
.em-block-frame > * {

min-width: 0;
}

.em-accordion {

interpolate-size: allow-keywords;
background: var(--em-ac-bg, var(--em-color-surface));
color: var(--em-ac-text, var(--em-color-text));
border: 1px solid var(--em-ac-border, var(--em-color-border));
border-radius: var(--em-ac-radius, var(--em-radius));
box-shadow: var(--em-ac-shadow, none);
overflow: hidden;
}
.em-ac__title {
margin: 0;
padding: var(--em-ac-pad, .875rem 1.125rem) ;
color: var(--em-ac-title, var(--em-color-primary));
font-size: 1.125rem;
font-weight: 700;
}
.em-ac__item + .em-ac__item { border-top: 1px solid var(--em-ac-border, var(--em-color-border)); }
.em-accordion[data-dividers="0"] .em-ac__item + .em-ac__item { border-top: none; }


.em-ac__row {
display: grid;
grid-template-columns: auto 1fr auto;
align-items: baseline;
gap: 1rem;
padding: var(--em-ac-pad, .75rem 1rem);
cursor: pointer;
list-style: none;
}
.em-ac__row::-webkit-details-marker { display: none; }
.em-ac__row:hover { background: rgba(var(--em-color-primary-rgb), .04); }

.em-ac__item > .em-ac__row:focus-visible {
outline: 2px solid var(--em-ac-accent, var(--em-color-primary));
outline-offset: -2px;
}


.em-ac__date {
flex-shrink: 0;
color: var(--em-ac-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
letter-spacing: .02em;
}
.em-ac__label {
color: var(--em-ac-title,var(--em-color-primary));
font-size: 1rem;
font-weight: 700;
line-height: 1.35;
min-width: 0;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}


.em-ac__sign {
position: relative;
width: 14px;
height: 14px;
flex-shrink: 0;
opacity: .55;
}
.em-ac__sign::before,
.em-ac__sign::after {
content: "";
position: absolute;
inset: 50% 0 auto;
height: 1.5px;
background: currentColor;
transition: transform var(--em-transition);
}
.em-ac__sign::after { transform: rotate(90deg); }
.em-ac__item[open] .em-ac__sign::before { transform: rotate(45deg); }
.em-ac__item[open] .em-ac__sign::after  { transform: rotate(-45deg); }


.em-ac__item::details-content {
block-size: 0;

overflow: clip;
overflow-clip-margin: 4px;
transition: block-size var(--em-ac-anim, 260ms) ease, content-visibility var(--em-ac-anim, 260ms);
transition-behavior: allow-discrete;
}
.em-ac__item[open]::details-content { block-size: auto; }

@media (prefers-reduced-motion: reduce) {

.em-ac__item::details-content { transition: none; }
}


.em-accordion[data-sign="chevron"] .em-ac__sign::after { display: none; }
.em-accordion[data-sign="chevron"] .em-ac__sign::before {
inset: 2px auto auto 1px;
width: 8px;
height: 8px;
background: none;
border: 2px solid currentColor;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.em-accordion[data-sign="chevron"] .em-ac__item[open] .em-ac__sign::before { transform: rotate(-135deg); }


.em-accordion[data-date-pos="under"] .em-ac__row {
grid-template-columns: 1fr auto;
align-items: center;
row-gap: .25rem;
}
.em-accordion[data-date-pos="under"] .em-ac__label { grid-column: 1; grid-row: 1; }
.em-accordion[data-date-pos="under"] .em-ac__date  { grid-column: 1; grid-row: 2; }
.em-accordion[data-date-pos="under"] .em-ac__sign  { grid-column: 2; grid-row: 1 / -1; justify-self: end; }

.em-accordion[data-date-pos="under"] .em-ac__panel { padding-left: 1.125rem; }
.em-ac__panel {
padding: 0 1.5rem 1rem;

padding-left: calc(1.5rem + 3.5rem);
}
.em-ac__desc { margin: 0 0 .375rem; font-size: .875rem; line-height: 1.5; }
.em-ac__meta { margin: 0; font-size: .75rem; color: var(--em-color-muted); }
.em-ac__cta  { margin-top: .75rem; padding: .375rem .875rem; font-size: .75rem; border-width: 1.5px; }

@media (max-width: 480px) {

.em-ac__panel { padding-left: 1.125rem; }
.em-ac__row   { gap: .625rem; }
}





.em-car__track,
.em-dt__track {
display: flex;
gap: 12px;
overflow-x: auto;
scroll-behavior: smooth;
scroll-snap-type: x mandatory;
scrollbar-width: none;
-ms-overflow-style: none;
}
.em-car__track::-webkit-scrollbar,
.em-dt__track::-webkit-scrollbar { display: none; }
.em-car__viewport,
.em-dt__viewport { overflow: hidden; }


.em-carousel {
background: var(--em-car-bg, var(--em-color-primary));
color: var(--em-car-text, var(--em-on-dark));
border-radius: var(--em-car-radius, var(--em-radius));
padding: var(--em-car-pad, 1.5rem 1.5rem);
box-shadow: var(--em-car-shadow, none);
}
.em-car__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1.125rem;
}
.em-car__title {
margin: 0;
color: var(--em-car-title, var(--em-on-dark));
font-size: 1.5rem;
font-weight: 700;
line-height: 1.25;
}
.em-car__actions { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
.em-car__all {
color: var(--em-car-accent, var(--em-color-secondary));
font-size: .875rem;
font-weight: 600;
text-decoration: none;
}
.em-car__all:hover { text-decoration: underline; }
.em-car__nav { display: flex; gap: .375rem; }

.em-car__arrow > svg,
.em-dt__arrow > svg,
.em-ds__arrow > svg,
.em-featured-zone__btn > svg,
.em-page-btn > svg {
flex: 0 0 auto;
display: block;
width: auto;
height: auto;
}

.em-car__arrow {

box-sizing: border-box;
padding: 0;

flex: 0 0 auto;
aspect-ratio: 1;
width: 32px;
height: 32px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 0;
border-radius: 50%;
cursor: pointer;
font-size: 1.125rem;
line-height: 1;
color: var(--em-car-text, var(--em-on-dark));
background: var(--em-on-dark-hover);
transition: background var(--em-transition);
}
.em-car__arrow:hover:not(:disabled) { background: var(--em-on-dark-line); }
.em-car__arrow:disabled { opacity: .35; cursor: default; }

.em-car__card {
display: flex;
flex-direction: column;
gap: .5rem;
flex: 0 0 auto;



box-sizing: border-box;
width: calc((100% - (var(--em-car-per, 4) - 1) * 12px) / var(--em-car-per, 4));
min-width: 210px;
padding: 1rem 1rem;
background: var(--em-on-dark-surface);
border-radius: calc(var(--em-radius) / 1.5);

box-shadow: inset 0 0 0 1px var(--em-car-border, transparent);
scroll-snap-align: start;
text-decoration: none;
color: inherit;
transition: background var(--em-transition), transform var(--em-transition);
}

a.em-car__card:hover { background: var(--em-on-dark-hover); transform: translateY(-2px); }
a.em-car__card:focus-visible { outline: 2px solid var(--em-car-accent, var(--em-color-secondary)); outline-offset: -2px; }

.em-car__stamp { display: flex; align-items: baseline; gap: .25rem; }
.em-car__day {
color: var(--em-car-accent, var(--em-color-secondary));
font-size: 1.75rem;
font-weight: 800;
line-height: 1;
letter-spacing: -.02em;
}
.em-car__mon {
color: var(--em-car-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
}
.em-car__label { font-size: 1rem; font-weight: 700; line-height: 1.35; }
.em-car__desc {
font-size: .75rem;
line-height: 1.45;
opacity: .75;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.em-car__city {
margin-top: auto;
font-size: .75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .07em;
opacity: .6;
}

@media (max-width: 1023px) { .em-car__card { width: calc((100% - (var(--em-car-per-tab, 2) - 1) * 12px) / var(--em-car-per-tab, 2)); } }
@media (max-width: 640px) {
.em-car__card { width: calc((100% - (var(--em-car-per-mob, 1) - 1) * 12px) / var(--em-car-per-mob, 1)); }

.em-car__card { min-width: 0; }
.em-car__head { flex-direction: column; align-items: flex-start; }
}


.em-date-tiles {
display: flex;
align-items: center;
gap: 1.375rem;
background: var(--em-dt-bg, var(--em-color-primary));
color: var(--em-dt-text, var(--em-on-dark));
padding: var(--em-dt-pad, 1rem 1.5rem);
border-radius: var(--em-dt-radius, 0);
box-shadow: var(--em-dt-shadow, none);
}
.em-dt__label {
margin: 0;
flex-shrink: 0;
max-width: 9rem;
color: var(--em-dt-title, var(--em-dt-accent, var(--em-color-secondary)));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
line-height: 1.35;
}

.em-dt__viewport { flex: 1; min-width: 0; }
.em-dt__item {
display: flex;
align-items: center;
gap: .75rem;
flex: 0 0 auto;


box-sizing: border-box;
width: calc((100% - (var(--em-dt-per, 4) - 1) * 12px) / var(--em-dt-per, 4));
min-width: 200px;
padding-right: .875rem;

border-right: 1px solid var(--em-dt-border, var(--em-on-dark-line));
scroll-snap-align: start;
text-decoration: none;
color: inherit;
}
.em-dt__item:last-child { border-right: 0; }
a.em-dt__item:hover .em-dt__name { text-decoration: underline; }
a.em-dt__item:focus-visible { outline: 2px solid var(--em-dt-accent, var(--em-color-secondary)); outline-offset: 2px; }

.em-dt__tile {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex-shrink: 0;
min-width: 35px;
padding: .5rem .5rem;
background: var(--em-on-dark-surface);
border-radius: calc(var(--em-radius) / 2);
line-height: 1.25;
}
.em-dt__day { font-size: 1.125rem; font-weight: 800; }
.em-dt__mon { font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.em-dt__body { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.em-dt__name {
font-size: .75rem;
font-weight: 700;
line-height: 1.5;

display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}
.em-dt__city { font-size: .75rem; opacity: .65; }
.em-dt__nav { display: flex; gap: .25rem; flex-shrink: 0; }
.em-dt__arrow {

box-sizing: border-box;
padding: 0;
line-height: 1;
flex: 0 0 auto;
aspect-ratio: 1;
width: 28px;
height: 28px;
display: inline-flex;
align-items: center;
justify-content: center;
border: 0;
cursor: pointer;
color: inherit;
background: var(--em-on-dark-hover);
border-radius: 50%;
transition: background var(--em-transition);
}
.em-dt__arrow:hover:not(:disabled) { background: var(--em-on-dark-line); }
.em-dt__arrow:disabled { opacity: .35; cursor: default; }

@media (max-width: 1023px) { .em-dt__item { width: calc((100% - (var(--em-dt-per-tab, 2) - 1) * 12px) / var(--em-dt-per-tab, 2)); } }
@media (max-width: 640px) {
.em-date-tiles { flex-wrap: wrap; gap: .625rem 1rem; }

.em-dt__label  { max-width: none; flex: 1 1 100%; }
.em-dt__viewport { flex: 1 1 auto; }

.em-dt__item   { width: calc((100% - (var(--em-dt-per-mob, 1) - 1) * 12px) / var(--em-dt-per-mob, 1)); border-right: 0; }

.em-dt__item   { min-width: 0; }
}


.em-tabs {
background: var(--em-tb-bg, var(--em-color-primary));
color: var(--em-tb-text, var(--em-on-dark));
border-radius: var(--em-tb-radius, var(--em-radius));
padding: var(--em-tb-pad, 1.5rem 1.5rem);
box-shadow: var(--em-tb-shadow, none);
}
.em-tb__title {
margin: 0 0 1rem;
color: var(--em-tb-title, var(--em-on-dark));
font-size: 1.5rem;
font-weight: 700;
line-height: 1.2;
}
.em-tb__bar { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.125rem; }
.em-tb__pill {
padding: .375rem 1rem;
border: 1px solid var(--em-tb-border, var(--em-on-dark-line));
border-radius: 999px;
background: transparent;
color: inherit;
font-size: .875rem;
font-weight: 600;
cursor: pointer;
transition: background var(--em-transition), color var(--em-transition);
}
.em-tb__pill:hover { background: var(--em-on-dark-surface);color: var(--em-kpi-accent, var(--em-color-secondary)); }
.em-tb__pill--on {
background: var(--em-tb-accent, var(--em-color-secondary));
border-color: var(--em-tb-accent, var(--em-color-secondary));
color: var(--em-color-primary);
}
.em-tb__pill:focus-visible { outline: 2px solid var(--em-tb-accent, var(--em-color-secondary)); outline-offset: 2px; }

.em-tb__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: .875rem;
}
.em-tb__card {
display: flex;
flex-direction: column;
gap: .375rem;
padding: 1rem 1rem;
background: var(--em-on-dark-surface);
border-radius: calc(var(--em-radius) / 1.5);
text-decoration: none;
color: inherit;
transition: background var(--em-transition);
}
a.em-tb__card:hover { background: var(--em-on-dark-hover); }
a.em-tb__card:focus-visible { outline: 2px solid var(--em-tb-accent, var(--em-color-secondary)); outline-offset: -2px; }
.em-tb__when  { color: var(--em-tb-accent, var(--em-color-secondary)); font-size: .75rem; font-weight: 600; }
.em-tb__name  { font-size: 1rem; font-weight: 700; line-height: 1.35; }
.em-tb__where { font-size: .75rem; opacity: .65; }


.em-kpi-list {
display: grid;

grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
gap: 1.5rem;
align-items: start;
background: var(--em-kpi-bg, var(--em-color-primary));
color: var(--em-kpi-text, var(--em-on-dark));
border-radius: var(--em-kpi-radius, var(--em-radius));
padding: var(--em-kpi-pad, 1.75rem 1.75rem);
box-shadow: var(--em-kpi-shadow, none);
}
.em-kpi__eyebrow {
margin: 0 0 .5rem;
color: var(--em-kpi-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .14em;
}
.em-kpi__title {
margin: 0 0 .625rem;
color: var(--em-kpi-title, var(--em-on-dark));
font-size: 1.75rem;
font-weight: 700;
line-height: 1.15;
}
.em-kpi__lead { margin: 0 0 1.25rem; font-size: .875rem; line-height: 1.5; opacity: .8; }
.em-kpi__stats {
display: flex;
flex-wrap: wrap;
gap: 2rem;
padding-top: 1.125rem;
}
.em-kpi__stat { display: flex; flex-direction: column; gap: .25rem; }
.em-kpi__num {
color: var(--em-kpi-num-color, var(--em-kpi-accent, var(--em-color-secondary)));
font-size: var(--em-kpi-num-size, 2rem);
font-weight: 800;
line-height: 1;

font-variant-numeric: tabular-nums;
}
.em-kpi__label {
font-size: var(--em-kpi-label-size, .75rem);
font-weight: 700;
text-transform: uppercase;
letter-spacing: .09em;

color: var(--em-kpi-label-color, inherit);
opacity: var(--em-kpi-label-opacity, .7);
}


.em-kpi-list[data-stat-valign="center"],
.em-kpi-list[data-stat-valign="end"] { align-items: stretch; }
.em-kpi-list[data-stat-valign="center"] .em-kpi__intro,
.em-kpi-list[data-stat-valign="end"] .em-kpi__intro {
display: flex;
flex-direction: column;
height: 100%;
}
.em-kpi-list[data-stat-valign="center"] .em-kpi__stats { margin-top: auto; margin-bottom: auto; }
.em-kpi-list[data-stat-valign="end"] .em-kpi__stats { margin-top: auto; }


.em-kpi-list[data-stat-align="center"] .em-kpi__stats { justify-content: center; }
.em-kpi-list[data-stat-align="center"] .em-kpi__stat  { align-items: center; text-align: center; }
.em-kpi-list[data-stat-align="right"]  .em-kpi__stats { justify-content: flex-end; }
.em-kpi-list[data-stat-align="right"]  .em-kpi__stat  { align-items: flex-end; text-align: right; }
.em-kpi-list[data-stat-align="left"]   .em-kpi__stats { justify-content: flex-start; }
.em-kpi-list[data-stat-align="left"]   .em-kpi__stat  { align-items: flex-start; text-align: left; }

.em-kpi__rows { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.em-kpi__row {
display: flex;
align-items: baseline;
gap: .875rem;
padding: .75rem 1rem;
background: var(--em-on-dark-surface);
border-radius: calc(var(--em-radius) / 1.5);

box-shadow: inset 0 0 0 1px var(--em-kpi-border, transparent);
text-decoration: none;
color: inherit;
transition: background var(--em-transition);
}
a.em-kpi__row:hover { background: var(--em-on-dark-hover); }
a.em-kpi__row:focus-visible { outline: 2px solid var(--em-kpi-accent, var(--em-color-secondary)); outline-offset: -2px; }

.em-kpi__date {
flex-shrink: 0;
color: var(--em-kpi-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
font-variant-numeric: tabular-nums;
}
.em-kpi__name {
font-size: .875rem;
font-weight: 600;
line-height: 1.35;
min-width: 0;
display: -webkit-box;
-webkit-line-clamp: 1;
line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}

@media (max-width: 860px) {
.em-kpi-list { grid-template-columns: 1fr; gap: 1.25rem; }
.em-kpi__title { font-size: 1.5rem; }
}


.em-contact {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
gap: 0;
background: var(--em-ct-bg, var(--em-color-surface));
color: var(--em-ct-text, var(--em-color-text));
border: 1px solid var(--em-ct-border, var(--em-color-border));
border-radius: var(--em-ct-radius, var(--em-radius));
box-shadow: var(--em-ct-shadow, var(--em-shadow));
overflow: hidden;
}

.em-contact > * { min-width: 0; }


.em-ct--map-left .em-ct__panel  { order: 2; }
.em-ct--map-left .em-ct__mapcol { order: 1; }

.em-ct__panel { padding: var(--em-ct-pad, 2rem); }
.em-ct__eyebrow {
margin: 0 0 .5rem;
color: var(--em-ct-accent, var(--em-color-secondary));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
}
.em-ct__title {
margin: 0 0 1.5rem;
color: var(--em-ct-title, var(--em-color-primary));
font-size: 1.25rem;
line-height: 1.25;
font-weight: 700;
}
.em-ct__infos { margin: 0; display: grid; gap: 1rem; }
.em-ct__row { display: flex; align-items: flex-start; gap: .75rem; }

.em-ct__ico {
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
border-radius: 50%;
background: rgba(var(--em-color-primary-rgb), .08);
color: var(--em-ct-icon, var(--em-color-accent, var(--em-color-secondary)));
}
.em-ct__pair { min-width: 0; }
.em-ct__label {
margin: 0;

color: var(--em-ct-label, var(--em-color-muted));
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
}
.em-ct__value {
margin: .125rem 0 0;
color: var(--em-ct-title, var(--em-color-primary));
font-weight: 500;
overflow-wrap: anywhere;
font-size: 1rem;
}

.em-ct__access {
margin-top: 1.75rem;
padding: var(--em-ct-access-pad, 1.125rem 1.25rem);
background: var(--em-ct-access-bg, var(--em-color-bg));
border-radius: var(--em-ct-access-radius, var(--em-radius));
}
.em-ct__access-title {
margin: 0 0 .75rem;
color: var(--em-ct-access-title, var(--em-color-muted));
font-size: .625rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
}
.em-ct__access-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .625rem; }
.em-ct__access-item {
display: flex;
align-items: baseline;
gap: .5rem;
font-size: .875rem;
line-height: 1.45;
}
.em-ct__access-item .em-ct__ico {
width: 20px; height: 20px; background: none;
align-self: center;
}

.em-ct__access-item strong {
color: var(--em-ct-access-strong, var(--em-ct-title, var(--em-color-primary)));
font-weight: 600;
}

.em-ct__dot { color: var(--em-ct-access-text, var(--em-color-muted)); opacity: .45; }
.em-ct__access-text { color: var(--em-ct-access-text, var(--em-color-muted)); min-width: 0; }


.em-ct__mapcol {
position: relative;
display: flex;
flex-direction: column;
background: var(--em-color-bg);
min-height: var(--em-ct-map-h, 100%);
}
.em-ct__map {
flex: 1 1 auto;
width: 100%;
min-height: var(--em-ct-map-h, 320px);
border: 0;
display: block;
}
.em-ct__itin { position: absolute; right: 1rem; bottom: 1rem; }

.em-ct__consent {
flex: 1 1 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: .75rem;
padding: 2rem 1.5rem;
text-align: center;
min-height: var(--em-ct-map-h, 320px);
background: linear-gradient(135deg, var(--em-noimg-from, var(--em-color-primary)), var(--em-noimg-to, var(--em-color-accent)));
color: var(--em-on-dark);
}
.em-ct__consent .em-ct__consent-ico { background: var(--em-on-dark-hover); color: var(--em-on-dark); }
.em-ct__consent-text { margin: 0; font-size: .875rem; line-height: 1.5; max-width: 34ch; }

@media (max-width: 900px) {

.em-contact { grid-template-columns: minmax(0, 1fr); }
.em-ct--map-left .em-ct__panel,
.em-ct--map-left .em-ct__mapcol { order: 0; }
.em-ct__panel { padding: var(--em-ct-pad, 1.5rem); }
.em-ct__title { font-size: 1rem; }
.em-ct__map, .em-ct__consent { min-height: var(--em-ct-map-h, 260px); }
}


.em-spotlight {
background: var(--em-sp-bg, var(--em-color-primary));

color: var(--em-sp-text, var(--em-on-dark));
border-radius: var(--em-sp-radius, var(--em-radius));
padding: var(--em-sp-pad, 2rem);
box-shadow: var(--em-sp-shadow, none);
}
.em-sp__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1.25rem;
}
.em-sp__panel-title {
margin: 0;
font-size: 1.375rem;
font-weight: 700;
color: var(--em-sp-title, var(--em-on-dark));
}

.em-sp__viewport { overflow: hidden; min-width: 0; }
.em-sp__track {
display: flex;

transition: transform .45s ease;
will-change: transform;
}

.em-sp__slide {
flex: 0 0 auto;
display: flex;
align-items: flex-start;
gap: 1.75rem;
}

.em-sp__tile {
flex: 0 0 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 110px;
height: 110px;
border-radius: var(--em-radius);
background: var(--em-sp-tile, var(--em-on-dark-surface));
}
.em-sp__day   { font-size: 2.125rem; font-weight: 800; line-height: 1; }
.em-sp__month {
margin-top: .25rem;
font-size: .75rem;
font-weight: 700;
letter-spacing: .12em;
color: var(--em-sp-eyebrow, var(--em-sp-accent, var(--em-color-secondary)));
}
.em-sp__body { min-width: 0; }
.em-sp__eyebrow {
margin: 0 0 .375rem;
font-size: .75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .14em;
color: var(--em-sp-eyebrow, var(--em-sp-accent, var(--em-color-secondary)));
}
.em-sp__title {
margin: 0 0 .5rem;
font-size: 1.5rem;
line-height: 1.2;
font-weight: 700;
color: var(--em-sp-title, var(--em-on-dark));
}
.em-sp__desc {
margin: 0 0 .875rem;
font-size: .875rem;
line-height: 1.5;
opacity: .85;
max-width: 100ch;
}
.em-sp__meta {
display: flex;
flex-wrap: wrap;
gap: .375rem 1.375rem;
font-size: .875rem;
opacity: .9;
}
.em-sp__meta-item { display: inline-flex; align-items: center; gap: .375rem; min-width: 0; }
.em-sp__cta { margin-top: .75rem; padding: .5rem 1rem; font-size: .75rem; border-width: 1px; }

.em-sp__foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-top: 1.5rem;
padding-top: 1.25rem;

border-top: 1px solid var(--em-sp-border, var(--em-on-dark-line));
}
.em-sp__foot-right { display: flex; align-items: center; gap: .75rem; }
.em-sp__dots { display: flex; gap: .25rem; }
.em-sp__dot {
width: 10px;
height: 5px;
padding: 0;
border: 0;
border-radius: 3px;
background: var(--em-on-dark-hover);
cursor: pointer;
transition: background .2s ease, width .2s ease;
}
.em-sp__dot.active { width: 22px; background: var(--em-sp-eyebrow, var(--em-color-secondary)); }
.em-sp__arrows { display: flex; gap: .5rem; }
.em-sp__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
padding: 0;
border-radius: 50%;
border: 1px solid var(--em-on-dark-line);
background: transparent;
color: var(--em-on-dark);
cursor: pointer;
transition: background .2s ease, border-color .2s ease;
}
.em-sp__arrow:hover:not(:disabled) { background: var(--em-on-dark-hover); }

.em-sp__arrow:disabled { opacity: .35; cursor: default; }

@media (max-width: 780px) {

.em-spotlight { padding: var(--em-sp-pad, 1.25rem); }
.em-sp__slide { flex-direction: column; gap: 1rem; }
.em-sp__tile { width: 84px; height: 84px; }
.em-sp__day { font-size: 1.75rem; }
.em-sp__title { font-size: 1.25rem; }

.em-sp__foot { flex-direction: column; align-items: stretch; gap: .875rem; }
.em-sp__foot-right { justify-content: space-between; }
}


.em-posters {
background: var(--em-po-bg, var(--em-color-primary));

color: var(--em-po-text, var(--em-on-dark));
border-radius: var(--em-po-radius, var(--em-radius));
padding: var(--em-po-pad, 2rem);
box-shadow: var(--em-po-shadow, none);
}
.em-po__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1.5rem;
}
.em-po__panel-title {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: var(--em-po-title, var(--em-on-dark));
}
.em-po__viewport { overflow: hidden; min-width: 0; }
.em-po__track { display: flex; transition: transform .45s ease; will-change: transform; }

.em-po__slide {
flex: 0 0 auto;
display: grid;
grid-template-columns: repeat(var(--em-po-n, 4), minmax(0, 1fr));
gap: 1.125rem;
}
.em-po__card {
display: flex;
flex-direction: column;
min-width: 0;
overflow: hidden;
border-radius: var(--em-radius);
background: var(--em-po-card, var(--em-on-dark-surface));
color: inherit;
text-decoration: none;
transition: background .2s ease, transform .2s ease;
}

a.em-po__card:hover { background: var(--em-on-dark-hover); }
a.em-po__card:focus-visible { outline: 2px solid var(--em-color-secondary); outline-offset: 2px; }

.em-po__media {
position: relative;
aspect-ratio: var(--em-thumb-ratio, 16 / 9);
height: var(--em-po-media-h, auto);
background: var(--em-on-dark-hover);
}
.em-po__img {
width: 100%;
height: 100%;
object-fit: var(--em-thumb-fit, cover);
display: block;
position: absolute;
inset: 0;
}
.em-po__noimg { width: 100%; height: 100%; }

.em-po__eyebrow {
position: absolute;
top: .5rem;
left: .5rem;
background: var(--em-color-primary);

color: var(--em-po-eyebrow, var(--em-po-accent, var(--em-on-dark)));
border-radius: calc(var(--em-radius) / 2);
padding: .25rem .5rem;
text-align: center;
line-height: 1;
z-index: 1;
box-shadow: 0 2px 6px rgba(0, 0, 0, .28);
min-width: 36px;


border: 1px solid var(--em-po-border, var(--em-on-dark));
opacity: 0.8;
font-size: .75rem;
font-weight: 500;
text-transform: uppercase;
}
.em-po__body {
display: flex;
flex-direction: column;
gap: .125rem;
padding: 1rem;

margin-top: auto;
}
.em-po__day   { font-size: 1.75rem; font-weight: 800; line-height: 1; }
.em-po__month {
font-size: .625rem;
font-weight: 700;
letter-spacing: .12em;
opacity: .8;
margin-bottom: .5rem;
}
.em-po__name { font-size: .875rem; font-weight: 700; line-height: 1.35; }
.em-po__city { font-size: .75rem; opacity: .7; min-width: 0; }

.em-po__foot {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-top: 1.375rem;
}
.em-po__foot-right { display: flex; align-items: center; gap: .75rem; }
.em-po__dots { display: flex; gap: .25rem; }
.em-po__dot {
width: 12px;
height: 5px;
padding: 0;
border: 0;
border-radius: 3px;
background: var(--em-on-dark-hover);
cursor: pointer;
transition: background .2s ease, width .2s ease;
}
.em-po__dot.active { width: 22px; background: var(--em-po-eyebrow, var(--em-color-secondary)); }
.em-po__arrows { display: flex; gap: .5rem; }
.em-po__arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
padding: 0;
border-radius: 50%;
border: 1px solid var(--em-on-dark-line);
background: transparent;
color: var(--em-on-dark);
cursor: pointer;
transition: background .2s ease;
}
.em-po__arrow:hover:not(:disabled) { background: var(--em-on-dark-hover); }
.em-po__arrow:disabled { opacity: .35; cursor: default; }

@media (max-width: 780px) {
.em-posters { padding: var(--em-po-pad, 1.25rem); }
.em-po__panel-title { font-size: 1.25rem; }

.em-po__head { flex-direction: column; align-items: stretch; gap: .75rem; }
.em-po__foot { flex-direction: column; align-items: stretch; gap: .875rem; }
.em-po__foot-right { justify-content: space-between; }
.em-po__day { font-size: 1.5rem; }
}



.em-filtered-grid {
background: var(--em-fg-bg, var(--em-color-primary));
color: var(--em-fg-text, var(--em-on-dark));

border-color: var(--em-fg-border, transparent);
border-radius: var(--em-fg-radius, var(--em-radius));

padding: var(--em-fg-pad, 2rem);
box-shadow: var(--em-fg-shadow, none);
}
.em-fg__title {
color: var(--em-fg-title, var(--em-on-dark));
font-size: 1.75rem;
font-weight: 700;
margin: 0 0 .75rem;
}
.em-fg__intro {
color: var(--em-fg-text, var(--em-on-dark));
margin: 0 0 1.5rem;
max-width: 60ch;
}


.em-fg__filters { margin-bottom: 1.5rem; }
.em-fg__filters-legend {
color: var(--em-fg-text, var(--em-color-muted));
font-size: .875rem;
margin: 0 0 .375rem;
}
.em-fg__filters-row {
display: flex;
flex-wrap: wrap;
gap: .75rem;
}

.em-fg__filter { flex: 1 1 220px; min-width: 0; max-width: 320px; }
.em-fg__reset {
display: inline-block;
margin-top: .5rem;
padding: 0;
background: none;
border: 0;
color: var(--em-fg-accent, var(--em-color-secondary));
font: inherit;
font-size: .875rem;
text-decoration: underline;
cursor: pointer;
}
.em-fg__reset:hover { opacity: .8; }


.em-fg__grid {
display: grid;
grid-template-columns: repeat(var(--em-fg-cols, 3), 1fr);
gap: var(--em-grid-gap, 1.25rem) 2rem;
list-style: none;
margin: 0;
padding: 0;
}
.em-fg__item {

min-width: 0;
padding-bottom: .75rem;

border-bottom: 1px solid var(--em-fg-border, transparent);
}
.em-fg__item-title { margin: 0 0 .5rem; font-size: 1rem; font-weight: 600; }
.em-fg__link {
color: var(--em-fg-accent, var(--em-color-secondary));
text-decoration: underline;
}
.em-fg__link:hover { opacity: .8; }

.em-fg__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: .125rem .375rem;
margin: 0;
color: var(--em-fg-text, var(--em-on-dark));
font-size: .875rem;
}
.em-fg__part { white-space: nowrap; }
.em-fg__sep { opacity: .5; }


.em-fg__footer { margin-top: 1.5rem; display: flex; justify-content: flex-end; }


.em-fg--compact .em-fg__grid { gap: .75rem 1.25rem; }
.em-fg--compact .em-fg__item { padding-bottom: .5rem; }
.em-fg--compact .em-fg__filters { margin-bottom: 1rem; }

@media (max-width: 1023px) {
.em-fg__grid { grid-template-columns: repeat(var(--em-fg-cols-tab, 2), 1fr); }
}
@media (max-width: 640px) {
.em-fg__grid { grid-template-columns: repeat(var(--em-fg-cols-mob, 1), 1fr); }
.em-fg__filter { flex: 1 1 100%; max-width: none; }
.em-fg__footer { justify-content: stretch; }
.em-fg__all { width: 100%; text-align: center; }
}


.em-event-banner {
background: var(--em-eb-bg, transparent);
color: var(--em-eb-text, var(--em-color-text));

border-color: var(--em-eb-border, transparent);
border-radius: var(--em-eb-radius, var(--em-radius));
padding: var(--em-eb-pad, 0);
box-shadow: var(--em-eb-shadow, none);
}
.em-eb__title {
color: var(--em-eb-title, var(--em-color-primary));
font-size: 2rem;
font-weight: 800;
text-transform: uppercase;
margin: 0 0 1.5rem;
}

.em-eb__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 2rem;
}
.em-eb__item { display: flex; align-items: stretch; gap: 1.5rem; }


.em-eb__date {
flex: 0 0 7rem;
min-width: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
color: var(--em-eb-title, var(--em-color-primary));
}
.em-eb__day   { font-size: 2.25rem; font-weight: 800; line-height: 1; }
.em-eb__month { font-size: 1rem; margin-top: .25rem; }
.em-eb__place { font-weight: 700; margin-top: .75rem; }


.em-eb__body {
flex: 1 1 auto;
min-width: 0;
border-left: 1px solid var(--em-eb-border, var(--em-color-border));
padding-left: 1.5rem;
}
.em-eb__name {
color: var(--em-eb-title, var(--em-color-primary));
font-size: 1.25rem;
font-weight: 700;
margin: 0 0 .5rem;
}
.em-eb__desc { margin: 0 0 .75rem; max-width: 60ch; }
.em-eb__time { margin: 0 0 .5rem; }


.em-eb__cta,
.em-eb__all {
display: inline-flex;
align-items: center;
gap: .375rem;
color: var(--em-eb-accent, var(--em-color-primary));
font-weight: 700;
text-decoration: underline;
}
.em-eb__cta:hover,
.em-eb__all:hover { opacity: .8; }
.em-eb__footer { margin-top: 1.5rem; }


.em-eb--compact .em-eb__list { gap: 1.25rem; }
.em-eb--compact .em-eb__title { margin-bottom: 1rem; }
.em-eb--compact .em-eb__desc { margin-bottom: .5rem; }

@media (max-width: 640px) {
.em-eb__title { font-size: 1.5rem; }
.em-eb__item  { gap: 1rem; }
.em-eb__date  { flex-basis: 4.5rem; }
.em-eb__day   { font-size: 1.75rem; }
.em-eb__body  { padding-left: 1rem; }
}


.em-signup-list {

background: var(--em-sg-bg, var(--em-color-primary));
color: var(--em-sg-text, var(--em-on-dark));
border-color: var(--em-sg-border, transparent);
border-radius: var(--em-sg-radius, var(--em-radius));
padding: var(--em-sg-pad, 2rem);
box-shadow: var(--em-sg-shadow, none);
}
.em-sg__title {
color: var(--em-sg-title, var(--em-on-dark));
font-size: 1.375rem;
font-weight: 700;
text-transform: uppercase;
line-height: 1.25;
margin: 0 0 1.5rem;
}


.em-sg__list {
list-style: none;
margin: 0;
padding: 0;
max-height: var(--em-sg-max-h);
overflow-y: auto;

scrollbar-width: thin;
scrollbar-color: var(--em-sg-accent, var(--em-color-accent)) transparent;
}

.em-sg__list:focus-visible {
outline: 2px solid var(--em-sg-accent, var(--em-color-secondary));
outline-offset: 2px;
}
.em-sg__item {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: .625rem 1rem;
}
.em-sg__item:last-child { border-bottom: 0; }

.em-sg__line { margin: 0; min-width: 0; font-size: 1rem; }
.em-sg__val  { font-weight: 700; }


.em-sg__cta {
flex-shrink: 0;
display: inline-flex;
align-items: center;
gap: .375rem;
padding: .5rem 1rem;
border: 1px solid var(--em-sg-accent, var(--em-color-secondary));
border-radius: var(--em-radius);
color: var(--em-sg-accent, var(--em-color-secondary));
background: transparent;
font-size: .875rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .03em;
text-decoration: none;
transition: background var(--em-transition), color var(--em-transition);
}
.em-sg__cta:hover,
.em-sg__cta:focus-visible {
background: var(--em-sg-accent, var(--em-color-secondary));
color: var(--em-sg-bg, var(--em-color-primary));
}


.em-sg--compact { padding: var(--em-sg-pad, 1.25rem); }
.em-sg--compact .em-sg__item { padding: .625rem .25rem; }
.em-sg--compact .em-sg__title { margin-bottom: 1rem; }

@media (max-width: 640px) {
.em-sg__title { font-size: 1.25rem; }

.em-sg__list { max-height: none; overflow-y: visible; }
.em-sg__item {
flex-direction: column;
align-items: flex-start;
gap: .75rem;
}
.em-sg__cta { width: 100%; justify-content: center; }
}


.em-campus-bar {
background: var(--em-cb-bg, transparent);
color: var(--em-cb-text, var(--em-color-text));
border-color: var(--em-cb-border, transparent);
border-radius: var(--em-cb-radius, 0);
padding: var(--em-cb-pad, 0);
box-shadow: var(--em-cb-shadow, none);
}
.em-cb__title-block {
color: var(--em-cb-title, var(--em-color-primary));
font-size: 1.5rem;
font-weight: 800;
line-height: 1.25;
margin: 0 0 1rem;
}



.em-cb__barwrap {
display: flex;
align-items: stretch;
gap: .25rem;
border-bottom: 1px solid var(--em-cb-line, var(--em-color-border));
margin: 0 0 .25rem;
}

.em-cb__bar {
flex: 1 1 auto;
min-width: 0;
display: flex;
align-items: stretch;
gap: 1.5rem;
overflow-x: auto;
scrollbar-width: none;
}

.em-cb__arrow {
flex: 0 0 auto;
appearance: none;
background: none;
border: 0;
margin: 0;
padding: 0 .25rem;
display: inline-flex;
align-items: center;
color: var(--em-cb-tab, var(--em-cb-accent, var(--em-color-secondary)));
cursor: pointer;
transition: opacity var(--em-transition);
}
.em-cb__arrow:hover { opacity: .7; }
.em-cb__arrow:focus-visible {
outline: 2px solid var(--em-color-accent);
outline-offset: 2px;
}


.em-cb__select { display: none; }

.em-asb__nav-select { display: none; }
.em-cb__bar::-webkit-scrollbar { display: none; }

.em-cb__bar:not(:has(*)) { min-height: var(--em-filter-height, 42px); }
.em-cb__tab {
flex: 0 0 auto;
appearance: none;
background: none;
border: 0;
border-bottom: .25rem solid transparent;
padding: .625rem .125rem;
margin: 0;
font: inherit;
font-size: .875rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .03em;
color: var(--em-color-muted);
cursor: pointer;
white-space: nowrap;
transition: color var(--em-transition), border-color var(--em-transition);
}
.em-cb__tab:hover { color: var(--em-cb-tab, var(--em-cb-accent, var(--em-color-secondary))); }
.em-cb__tab:focus-visible {
outline: 2px solid var(--em-color-accent);
outline-offset: 2px;
}
.em-cb__tab--on {
color: var(--em-cb-tab, var(--em-cb-accent, var(--em-color-secondary)));
border-bottom-color: var(--em-cb-tab, var(--em-cb-accent, var(--em-color-secondary)));
}



.em-cb__list {
list-style: none;
margin: 0;
padding: 0;
max-width: var(--em-cb-list-max);
margin-inline: auto;
}

.em-cb__list:not(:has(*)) { min-height: var(--em-cb-reserve, 272px); }
.em-cb__row {
display: flex;
align-items: center;
gap: 1.5rem;
padding: 1.25rem .125rem;
border-bottom: 1px solid var(--em-cb-line, var(--em-color-border));
}
.em-cb__row:last-child { border-bottom: 0; }

.em-cb__main {
flex: 1 1 auto;
min-width: 0;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: .5rem;
}

.em-cb__date {
display: inline-block;
padding: .375rem .625rem;
background: var(--em-cb-date-bg, var(--em-color-bg));
color: var(--em-cb-date, var(--em-cb-accent, var(--em-color-secondary)));
font-size: .875rem;
font-weight: 700;
line-height: 1.2;
white-space: nowrap;
}
.em-cb__title {
margin: 0;
font-size: var(--em-cb-title-size, 1.5rem);
font-weight: 800;
line-height: 1.25;
color: inherit;
}

.em-cb__meta {
margin: 0;
display: flex; flex-wrap: wrap; gap: .25rem .5rem;
font-size: .875rem; color: var(--em-color-muted);
}
.em-cb__part { white-space: nowrap; }
.em-cb__part + .em-cb__part::before { content: "·"; margin-right: .5rem; }

.em-cb__cta.em-cb__cta {
flex-shrink: 0;
--em-btn-c: var(--em-cb-cta, var(--em-color-secondary));
}


.em-cb--compact .em-cb__row { padding: .75rem .125rem; }
.em-cb--compact .em-cb__bar { gap: 1rem; }
.em-cb--compact .em-cb__title-block { margin-bottom: .75rem; }



@media (max-width: 640px) {

.em-campus-bar[data-mobile-nav="select"] .em-cb__bar,
.em-campus-bar[data-mobile-nav="select"] .em-cb__arrow { display: none; }
.em-campus-bar[data-mobile-nav="select"] .em-cb__barwrap { border-bottom: 0; }
.em-campus-bar[data-mobile-nav="select"] .em-cb__select {
display: block;
flex: 1 1 auto;
min-width: 0;
padding: .625rem .75rem;
border: 1px solid var(--em-cb-line, var(--em-color-border));
border-radius: var(--em-radius);
background: var(--em-color-surface);
color: inherit;
font: inherit;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .03em;
}


.em-campus-bar[data-mobile-nav="list"] .em-cb__arrow { display: none; }
.em-campus-bar[data-mobile-nav="list"] .em-cb__barwrap { border-bottom: 0; }
.em-campus-bar[data-mobile-nav="list"] .em-cb__bar {
display: grid;
grid-template-columns: 1fr 1fr;
gap: .25rem 1rem;
overflow: visible;
}
.em-campus-bar[data-mobile-nav="list"] .em-cb__tab {
justify-content: flex-start;
text-align: left;
padding: .375rem 0;
border-bottom: 0;
white-space: normal;
}

.em-campus-bar[data-mobile-nav="list"] .em-cb__tab::before {
content: "";
display: inline-block;
width: .375rem;
height: .375rem;
margin-right: .5rem;
border-radius: 50%;
background: currentColor;
opacity: .35;
}
.em-campus-bar[data-mobile-nav="list"] .em-cb__tab--on::before { opacity: 1; }

.em-cb__row {
flex-wrap: wrap;
gap: .75rem 1rem;
padding: 1rem .125rem;
}

.em-cb__main  { flex: 1 1 100%; }
.em-cb__title { font-size: var(--em-cb-title-size, 1.25rem); }
.em-cb__cta   { width: 100%; justify-content: center; }
.em-cb__title-block { font-size: 1.25rem; }
}


.em-event-row {
color: var(--em-rw-text, var(--em-color-text));
}
.em-rw__title-block {
color: var(--em-rw-title, var(--em-color-primary));
font-size: 1.5rem;
font-weight: 800;
line-height: 1.25;
margin: 0 0 1rem;
}
.em-rw__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: .75rem;
}


.em-rw__item {
display: flex;
align-items: stretch;
gap: 1.25rem;
background: var(--em-rw-bg, var(--em-color-surface));
border: 1px solid var(--em-rw-border, var(--em-color-border));
border-radius: var(--em-rw-radius, var(--em-radius));
box-shadow: var(--em-rw-shadow, none);
padding: var(--em-rw-pad, 0);
overflow: hidden;
}


.em-rw__pill {
flex: 0 0 auto;
min-width: 9.375rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: .125rem;
padding: 1.125rem 1.25rem;
background: var(--em-rw-pill-bg, var(--em-color-primary));
color: var(--em-rw-pill-color, var(--em-on-dark));
text-align: center;
}
.em-rw__day  { font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.em-rw__time { font-size: .875rem; opacity: .9; }


.em-rw__body {
flex: 1 1 auto;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: .25rem;
padding: 1rem 0;
}
.em-rw__text { margin: 0; font-size: 1rem; line-height: 1.5; }

.em-rw__name { font-weight: 800; color: var(--em-rw-title, var(--em-color-primary)); font-size: 1.125rem;}
.em-rw__meta {
margin: 0;
font-size: .875rem;
color: var(--em-color-muted);
}


.em-rw__cta {
flex: 0 0 auto;
align-self: center;
margin-right: .625rem;
display: inline-flex;
align-items: center;
gap: .375rem;
padding: .5rem 1rem;
border: 1px solid var(--em-rw-accent, var(--em-color-secondary));
border-radius: var(--em-radius);
color: var(--em-rw-accent, var(--em-color-secondary));
background: transparent;
font-size: .875rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .03em;
text-decoration: none;
transition: background var(--em-transition), color var(--em-transition);
}
.em-rw__cta:hover,
.em-rw__cta:focus-visible {
background: var(--em-rw-accent, var(--em-color-secondary));
color: var(--em-rw-bg, var(--em-color-surface));
}


.em-rw--compact .em-rw__list { gap: .5rem; }
.em-rw--compact .em-rw__pill { padding: .75rem 1rem; }
.em-rw--compact .em-rw__body { padding: .75rem 0; }


@media (max-width: 640px) {
.em-rw__item {
flex-direction: column;
align-items: stretch;
gap: 0;
}
.em-rw__pill {
min-width: 0;
flex-direction: row;
justify-content: flex-start;
gap: .5rem;
padding: .75rem 1rem;
}
.em-rw__body { padding: 1rem; }
.em-rw__cta {
align-self: stretch;
justify-content: center;
margin: 0 1rem 1rem;
}
}


.em-photo-carousel {
position: relative;

border: 1px solid var(--em-ph-border, transparent);
background: var(--em-ph-bg, transparent);
border-radius: var(--em-ph-radius, var(--em-radius));
box-shadow: var(--em-ph-shadow, none);
padding: var(--em-ph-pad, 0);
color: var(--em-ph-text, var(--em-color-text));
}
.em-ph__panel-title {
color: var(--em-ph-title, var(--em-color-primary));
font-size: 1.5rem;
font-weight: 800;
line-height: 1.25;
margin: 0 0 1rem;
}


.em-ph__viewport {
position: relative;
overflow: hidden;
border-radius: var(--em-ph-radius, var(--em-radius));
}
.em-ph__track {
display: flex;
transition: transform .45s ease;
}

.em-ph__slide {
position: relative;
flex: 0 0 100%;
min-width: 0;
display: flex;
align-items: center;
justify-content: center;
min-height: var(--em-ph-h, 380px);
padding: 2rem;
box-sizing: border-box;
background-color: var(--em-color-primary);
background-size: cover;
background-position: center;
}

.em-ph__veil {
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(0, 0, 0, .15), rgba(0, 0, 0, .55));
opacity: var(--em-ph-veil, .35);
pointer-events: none;
}


.em-ph__card {
position: relative;
z-index: 1;
max-width: 26rem;
width: 100%;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
gap: .5rem;
padding: 2rem 1.75rem;
background: var(--em-ph-card-bg, var(--em-color-surface));
border-radius: var(--em-radius);
box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, .25);
text-align: center;
}
.em-ph__type {
margin: 0;
font-size: .75rem;
font-weight: 700;
letter-spacing: .07em;
text-transform: uppercase;
color: var(--em-ph-accent, var(--em-color-secondary));
}
.em-ph__name  { margin: 0; font-size: 1.25rem; font-weight: 800; line-height: 1.25; }

.em-ph__when,
.em-ph__time  { margin: 0; font-size: 1rem; color: var(--em-color-muted); }
.em-ph__place { margin: 0; font-size: .875rem; color: var(--em-color-muted); }
.em-ph__cta   { margin-top: .5rem; border-radius: 999px; padding: .625rem 1.5rem; }


.em-photo-carousel[data-card-pos="left"]  .em-ph__slide { justify-content: flex-start; }
.em-photo-carousel[data-card-pos="right"] .em-ph__slide { justify-content: flex-end; }


.em-ph__arrows {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 1rem;
pointer-events: none;
}
.em-ph__arrow {
pointer-events: auto;
display: inline-flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 2.75rem;
height: 2.75rem;
padding: 0;
border: 0;
border-radius: 999px;
background: var(--em-color-surface);
color: var(--em-color-primary);
box-shadow: 0 .25rem 1rem rgba(0, 0, 0, .25);
cursor: pointer;
transition: opacity var(--em-transition), transform var(--em-transition);
}
.em-ph__arrow:hover { transform: scale(1.06); }
.em-ph__arrow:focus-visible {
outline: 2px solid var(--em-color-accent);
outline-offset: 2px;
}

.em-ph__arrow[disabled] { opacity: .4; cursor: default; transform: none; }



.em-ph__foot {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
margin-top: 1rem;
}
.em-ph__dots { display: flex; align-items: center; gap: .5rem; }
.em-ph__dot {
width: .625rem;
height: .625rem;
padding: 0;
border: 0;
border-radius: 999px;
background: var(--em-color-border);
cursor: pointer;
transition: background var(--em-transition), width var(--em-transition);
}
.em-ph__dot.active {
width: 1.5rem;
background: var(--em-ph-accent, var(--em-color-secondary));
}
.em-ph__dot:focus-visible { outline: 2px solid var(--em-color-accent); outline-offset: 2px; }


.em-ph--compact .em-ph__slide { min-height: var(--em-ph-h, 260px); padding: 1.25rem; }
.em-ph--compact .em-ph__card  { padding: 1.25rem 1rem; }


@media (max-width: 640px) {
.em-ph__slide { min-height: var(--em-ph-h, 300px); padding: 1.25rem; }
.em-ph__card  { padding: 1.5rem 1.25rem; max-width: none; }
.em-ph__arrows {
position: static;
justify-content: center;
gap: .75rem;
padding: 0;
margin-top: .75rem;
}
}


.em-ph__slide--flat.em-ph__slide--flat {
background-color: transparent;
min-height: var(--em-ph-h, 0);
}


.em-announce-ribbon {
display: flex;
align-items: stretch;

background: var(--em-rb-bg, transparent);
color: var(--em-rb-text, var(--em-color-text));
border: 0 solid var(--em-rb-border, transparent);
border-radius: var(--em-rb-radius, 0);
padding: var(--em-rb-pad, 0);
box-shadow: var(--em-rb-shadow, none);
}

.em-rb__label {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
padding: .75rem 1.5rem;
box-sizing: border-box;
background: var(--em-rb-label-bg, var(--em-color-surface));
border: 1px solid var(--em-rb-label-line, var(--em-color-border));
}
.em-rb__label-text {
margin: 0;
font-size: 1.125rem;
font-weight: 800;
line-height: 1.25;
color: var(--em-rb-label, var(--em-color-primary));
white-space: nowrap;
}

.em-rb__band {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
justify-content: center;
padding: .75rem 1.5rem;
box-sizing: border-box;
background: var(--em-rb-band-bg, var(--em-color-primary));
color: var(--em-rb-band-text, var(--em-rb-text, var(--em-on-dark)));
}
.em-rb__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
gap: .375rem;
}

.em-rb__list:not(:has(*)) { min-height: 1.5rem; }
.em-rb__item {
font-size: 1rem;
line-height: 1.375;
text-align: center;
}
.em-rb__name { font-weight: 800; }

.em-announce-ribbon[data-uppercase="1"] .em-rb__name { text-transform: uppercase; }
.em-rb__sep  { font-weight: 800; }
.em-rb__date { font-weight: 800; color: var(--em-rb-date, var(--em-color-secondary)); }

.em-rb__link { color: inherit; text-decoration: none; }
.em-rb__link:hover,
.em-rb__link:focus-visible { text-decoration: underline; }
.em-rb__link:focus-visible { outline: 2px solid var(--em-color-accent); outline-offset: 2px; }


.em-rb--compact .em-rb__label,
.em-rb--compact .em-rb__band { padding: .5rem 1rem; }


.em-announce-ribbon[data-layout="stacked"] { flex-direction: column; }
.em-announce-ribbon[data-layout="stacked"] .em-rb__label { justify-content: center; }
.em-announce-ribbon[data-layout="stacked"] .em-rb__label-text { white-space: normal; text-align: center; }


@media (max-width: 768px) {
.em-announce-ribbon { flex-direction: column; }
.em-rb__label { justify-content: center; }
.em-rb__label-text { white-space: normal; text-align: center; }
}


.em-dates-panel {
position: relative;
background: var(--em-dp-bg, var(--em-color-primary));
color: var(--em-dp-text, var(--em-on-dark));
border-radius: var(--em-dp-radius, var(--em-radius));
box-shadow: var(--em-dp-shadow, none);
padding: var(--em-dp-pad, 2rem);
box-sizing: border-box;
}

.em-dates-panel::before {
content: "";
position: absolute;
inset: .75rem;
border: 1px solid var(--em-dp-border, var(--em-on-dark));
border-radius: calc(var(--em-dp-radius, var(--em-radius)) / 2);
pointer-events: none;
}
.em-dp__title {
margin: 0;
font-size: 1.75rem;
font-weight: 800;
line-height: 1.25;
text-align: center;
color: var(--em-dp-title, var(--em-on-dark));
}
.em-dp__subtitle {
margin: .25rem 0 0;
font-size: 1.125rem;
font-weight: 700;
letter-spacing: .04em;
text-transform: uppercase;
text-align: center;
color: var(--em-dp-subtitle, var(--em-dp-text, var(--em-on-dark)));
}
.em-dp__list {
list-style: none;
margin: 1.5rem 0 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1rem;
}
.em-dp__item {
display: flex;
align-items: center;
gap: .75rem;
min-width: 0;
}
.em-dp__date {
flex: 0 0 auto;
font-size: 1.5rem;
font-weight: 800;
line-height: 1.125;
color: var(--em-dp-date, var(--em-dp-accent, var(--em-on-dark)));
}

.em-dp__text {
min-width: 0;
font-size: 1rem;
font-weight: 700;
letter-spacing: .03em;
text-transform: uppercase;
line-height: 1.375;
}
.em-dp__date + .em-dp__text {
border-left: 1px solid var(--em-dp-line, var(--em-on-dark-line));
padding-left: .75rem;
}
.em-dp__cta { margin-top: 1.5rem; }


.em-dp--compact { padding: var(--em-dp-pad, 1.25rem); }
.em-dp--compact .em-dp__list { gap: .625rem; margin-top: 1rem; }

@media (max-width: 640px) {
.em-dp__title { font-size: 1.375rem; }
.em-dp__subtitle { font-size: 1rem; }
.em-dp__date { font-size: 1.25rem; }
.em-dp__text { font-size: .875rem; }
}


.em-dates-card {
background: var(--em-dc-bg, var(--em-color-surface));
color: var(--em-dc-text, var(--em-color-text));
border: 1px solid var(--em-dc-border, transparent);
border-radius: var(--em-dc-radius, var(--em-radius));
box-shadow: var(--em-dc-shadow, none);
padding: var(--em-dc-pad, 1.5rem);
box-sizing: border-box;
}
.em-dc__title {
margin: 0 0 1rem;
font-size: 1.25rem;
font-weight: 800;
line-height: 1.25;
color: var(--em-dc-title, var(--em-color-primary));
}
.em-dc__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: .375rem;
}
.em-dc__item {
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: .375rem;
font-size: 1rem;
line-height: 1.5;
min-width: 0;
}
.em-dc__place { font-weight: 800; color: var(--em-dc-place, var(--em-dc-accent, inherit)); }
.em-dc__date  { color: var(--em-dc-date, inherit); }

.em-dc__cta {
margin-top: 1.25rem;
padding: .625rem 1.25rem;
border-width: 1px;
border-color: transparent;
border-radius: var(--em-radius);
background: var(--em-dc-accent, var(--em-color-primary));
color: var(--em-on-dark);
font-size: .875rem;
font-weight: 700;
}
.em-dc__cta:hover { opacity: .85; }

.em-dc--compact { padding: var(--em-dc-pad, 1rem); }


.em-titled-card {
background: var(--em-tc-bg, var(--em-color-primary));
color: var(--em-tc-text, var(--em-on-dark));
border: 1px solid var(--em-tc-border, var(--em-on-dark-line));
border-radius: var(--em-tc-radius, 0);
box-shadow: var(--em-tc-shadow, none);
padding: var(--em-tc-pad, 1.5rem);
box-sizing: border-box;
text-align: center;
}
.em-tc__label {
background: var(--em-tc-label-bg, var(--em-color-surface));
padding: .5rem 1rem;
}
.em-tc__label-text {
margin: 0;
font-size: 1.125rem;
font-weight: 800;
line-height: 1.25;
color: var(--em-tc-title, var(--em-color-primary));
}
.em-tc__list {
list-style: none;
margin: 1rem 0 0;
padding: 0;
display: flex;
flex-direction: column;
gap: .375rem;
}
.em-tc__item {
display: flex;
flex-direction: column;
gap: .125rem;
align-items: center;
}
.em-tc__date { font-size: 1rem; font-weight: 800; color: var(--em-tc-date, var(--em-tc-accent, inherit)); }
.em-tc__meta { font-size: .875rem; opacity: .85; }
.em-tc__cta  { margin-top: 1rem; }

.em-tc--compact { padding: var(--em-tc-pad, 1rem); }


@media (max-width: 439px)  { .em-hide-below-440  { display: none; } }
@media (max-width: 767px)  { .em-hide-below-768  { display: none; } }
@media (max-width: 1023px) { .em-hide-below-1024 { display: none; } }
@media (max-width: 1279px) { .em-hide-below-1280 { display: none; } }
@media (max-width: 1439px) { .em-hide-below-1440 { display: none; } }
@media (max-width: 1919px) { .em-hide-below-1920 { display: none; } }
