.ae{display:block;padding:var(--ae-top) 0 var(--ae-bottom);letter-spacing:normal}
.ae [hidden]{display:none!important}
.ae .ae__heading{margin:0 0 24px;letter-spacing:normal}
.ae .ae__intro{margin-bottom:32px;max-width:720px}
.ae .ae__event{display:flex;align-items:flex-start;gap:28px;padding:32px 0;border-top:1px solid currentColor;scroll-margin-top:150px}
.ae .ae__date{flex:0 0 110px;font-size:18px;line-height:1.5}
.ae .ae__image{flex:0 0 180px}
.ae .ae__image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ae .ae__details{flex:1;min-width:0}
.ae .ae__details h3{margin:0 0 12px;letter-spacing:normal}
.ae .ae__meta{margin:4px 0}
.ae .ae__description{margin-top:16px;max-width:760px}
.ae .ae__link{margin-top:20px;letter-spacing:normal}
.ae .ae__calendar{margin-bottom:36px}
.ae .ae__nav{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.ae .ae__nav h3{margin:0;letter-spacing:normal}
.ae .ae__nav button{background:transparent;color:inherit;border:1px solid currentColor;border-radius:1px;width:44px;height:44px;font-size:24px;cursor:pointer}
.ae .ae__week,.ae .ae__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.ae .ae__week span{padding:12px 6px;text-align:center;font-size:14px}
.ae .ae__grid{border-top:1px solid currentColor;border-left:1px solid currentColor}
.ae .ae__day{min-height:110px;padding:10px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;min-width:0}
.ae .ae__day>span{display:block}
.ae .ae__day>a{display:block;font-size:13px;line-height:1.35;margin-top:8px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ae .ae__day--today>span{font-weight:bold;text-decoration:underline;text-underline-offset:4px}
.ae .ae__day--blank{opacity:.35}
.ae :is(a,button):focus-visible,.ae .ae__event:focus{outline:2px solid currentColor;outline-offset:4px}
.ae [data-empty]{margin-top:20px}
@media(max-width:767px){
 .ae{padding-top:calc(var(--ae-top)*.7);padding-bottom:calc(var(--ae-bottom)*.7)}
 .ae .ae__event{gap:16px;flex-wrap:wrap;padding:24px 0}
 .ae .ae__date{flex-basis:100%;font-size:16px}
 .ae .ae__image{flex-basis:100%}
 .ae .ae__details{flex-basis:100%}
 .ae .ae__day{min-height:70px;padding:6px 4px}
 .ae .ae__day>a{font-size:0;display:inline-block;margin:6px 2px 0;min-width:24px;min-height:24px;text-align:center;text-decoration:none}
 .ae .ae__day>a:after{content:'•';font-size:22px;line-height:24px}
 .ae .ae__week span{font-size:12px;padding:10px 0}
}
