/* GBB Marquee — constant-speed scrolling news bar. */
.gbb-marquee {
	--gbb-marquee-gap: 48px;
	--gbb-marquee-duration: 40s;
	position: relative;
	display: flex;
	align-items: center;
	color: #FAF8F0;
	padding-block: 9px;
}
.gbb-marquee__viewport {
	flex: 1;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
}
.gbb-marquee__track {
	display: flex;
	width: max-content;
	animation: gbb-marquee-scroll var(--gbb-marquee-duration) linear infinite;
}
.gbb-marquee__group {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: var(--gbb-marquee-gap);
	/* trailing space equals the gap, so the join between the two copies is seamless */
	padding: 0 var(--gbb-marquee-gap) 0 0;
	margin: 0;
	list-style: none;
}
.gbb-marquee__item,
.gbb-marquee__sep {
	white-space: nowrap;
	line-height: 1.3;
}
.gbb-marquee__item a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.gbb-marquee__sep { opacity: .55; font-size: .8em; }

.gbb-marquee:hover .gbb-marquee__track,
.gbb-marquee:focus-within .gbb-marquee__track,
.gbb-marquee.is-paused .gbb-marquee__track { animation-play-state: paused; }

.gbb-marquee .gbb-marquee__toggle { /* specificity beats theme/kit button resets */
	flex: none;
	box-shadow: none;
	min-height: 0;
	width: 26px; height: 26px;
	margin-left: 8px;
	border: 0 !important; border-radius: 50%;
	background: transparent !important;
	color: inherit;
	opacity: .6;
	cursor: pointer;
	display: grid; place-items: center;
	padding: 0;
}
.gbb-marquee .gbb-marquee__toggle:hover, .gbb-marquee .gbb-marquee__toggle:focus-visible { opacity: 1; background: rgba(255,255,255,.12) !important; }
.gbb-marquee__toggle span { width: 8px; height: 10px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
.gbb-marquee.is-paused .gbb-marquee__toggle span { width: 0; height: 0; border: 0; border-left: 8px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; margin-left: 2px; }

@keyframes gbb-marquee-scroll {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

/* Still for visitors who ask for less motion: show the messages centred and wrapping. */
@media (prefers-reduced-motion: reduce) {
	.gbb-marquee__viewport { -webkit-mask-image: none; mask-image: none; }
	.gbb-marquee__track { animation: none; width: auto; display: block; }
	.gbb-marquee__group { flex-shrink: 1; flex-wrap: wrap; justify-content: center; row-gap: 4px; padding: 0; }
	.gbb-marquee__group[aria-hidden="true"], .gbb-marquee .gbb-marquee__toggle, .gbb-marquee .is-clone { display: none; }
	.gbb-marquee__item { white-space: normal; text-align: center; min-width: 0; }
	.gbb-marquee__group > .gbb-marquee__sep:last-child { display: none; }
}
