/* 420express Announcement Bar */
.le420ab{--ab-bg:#f0b429;--ab-fg:#1a1300;position:relative;overflow:hidden;background:var(--ab-bg);color:var(--ab-fg);font:600 14px/1.3 var(--f-body,system-ui,-apple-system,Arial,sans-serif);min-height:38px;display:flex;align-items:center;z-index:30}
.le420ab *{box-sizing:border-box}
.le420ab-in{position:relative;flex:1;min-width:0;overflow:hidden;height:38px;display:flex;align-items:center}
.le420ab-msg{color:inherit!important;text-decoration:none!important;white-space:nowrap}
a.le420ab-msg:hover{text-decoration:underline!important;text-underline-offset:3px}
.le420ab b,.le420ab strong{font-weight:800}
.le420ab-gold b,.le420ab-gold strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.le420ab-dark b,.le420ab-dark strong,.le420ab-gradient b,.le420ab-gradient strong,.le420ab-green b,.le420ab-green strong{color:#f0b429}

/* Ticker: two identical groups slide left; at -50% the second sits exactly where the first started */
.le420ab-track{display:flex;width:max-content;animation:le420ab-scroll var(--ab-dur,40s) linear infinite;will-change:transform}
.le420ab-group{display:flex;align-items:center;gap:22px;padding-right:22px}
.le420ab-dot{opacity:.55;font-size:11px}
@keyframes le420ab-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.le420ab-pause:hover .le420ab-track{animation-play-state:paused}

/* Slide / fade one by one */
.le420ab-rot{position:relative;width:100%;height:38px}
.le420ab-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 44px;text-align:center;opacity:0;transition:opacity .5s ease,transform .55s cubic-bezier(.2,.8,.2,1)}
.le420ab-item .le420ab-msg{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.le420ab-item.on{opacity:1;transform:none}
.le420ab-a-slide .le420ab-item{transform:translateY(100%)}
.le420ab-a-slide .le420ab-item.on{transform:none}
.le420ab-a-slide .le420ab-item.out{transform:translateY(-100%);opacity:0}
.le420ab-a-static .le420ab-item{opacity:1;transform:none}

/* Colour styles */
.le420ab-gradient{background-size:300% 100%;animation:le420ab-hue 14s ease-in-out infinite}
@keyframes le420ab-hue{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Light sweep */
.le420ab-shine::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.45) 50%,transparent 60%);transform:translateX(-100%);animation:le420ab-shine 7s ease-in-out infinite}
@keyframes le420ab-shine{0%,62%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

.le420ab-x{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:2;width:28px;height:28px;border-radius:50%;border:0;background:rgba(0,0,0,.12);color:inherit;font:400 18px/1 system-ui,sans-serif;cursor:pointer}
.le420ab-x:hover{background:rgba(0,0,0,.22)}
html.le420ab-closed .le420ab{display:none}

@media(max-width:720px){.le420ab{font-size:13px}.le420ab-item{padding:0 38px}}
@media(prefers-reduced-motion:reduce){
	.le420ab-track,.le420ab-gradient,.le420ab-shine::after{animation:none}
	.le420ab-track .le420ab-group[aria-hidden="true"]{display:none}
	.le420ab-item{transition:none}
}
