/* FWEGB Home Page: news ticker and hero slider. Colours come from the FWEGB theme, with fallbacks. */

.e-con.fw-home-top { --padding-left: 0; --padding-right: 0; --padding-top: 0; --padding-bottom: 0; --gap: 0; --row-gap: 0; }
.fw-home-top > .elementor-widget, .fw-home-top > .e-con-inner > .elementor-widget { width: 100%; }

/* News ticker */
.fw-ticker { background: var(--fw-green-900, #17352a); color: #e5ece8; font-size: .8125rem; line-height: 1.4; }
.fw-ticker__inner { display: flex; align-items: stretch; gap: 16px; min-height: 42px; }
.fw-ticker__label { display: flex; flex: none; align-items: center; gap: 8px; padding-right: 16px; border-right: 1px solid rgb(255 255 255 / .18); color: var(--fw-white, #fff); font-size: .6875rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.fw-ticker__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--fw-green-300, #86cfa0); animation: fw-ticker-pulse 1.6s ease-in-out infinite; }
.fw-ticker__viewport { position: relative; flex: 1; min-width: 0; overflow: hidden; display: flex; align-items: center; mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent); }
.fw-ticker__track { display: flex; width: max-content; animation: fw-ticker var(--fw-ticker-duration, 40s) linear infinite; }
.fw-ticker__list { display: flex; margin: 0; padding: 0; list-style: none; }
.fw-ticker__list li { display: flex; align-items: center; margin: 0; padding-right: 40px; white-space: nowrap; }
.fw-ticker__list li::before { content: ""; width: 6px; height: 6px; margin-right: 12px; border-radius: 50%; background: var(--fw-green-300, #86cfa0); flex: none; }
.fw-ticker__list a { color: var(--fw-white, #fff); text-decoration: none; }
.fw-ticker__list a:hover, .fw-ticker__list a:focus-visible { color: var(--fw-green-300, #86cfa0); text-decoration: underline; }
.fw-ticker:hover .fw-ticker__track, .fw-ticker:focus-within .fw-ticker__track, .fw-ticker.is-paused .fw-ticker__track { animation-play-state: paused; }
.fw-ticker__toggle { flex: none; align-self: center; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; background: transparent; border: 1px solid rgb(255 255 255 / .35); border-radius: 50%; color: var(--fw-white, #fff); cursor: pointer; }
.fw-ticker__toggle:hover { background: rgb(255 255 255 / .12); }
.fw-ticker__toggle svg, .fw-slider__btn svg { width: 14px; height: 14px; fill: currentColor; }
.fw-icon-play, [aria-pressed="true"] .fw-icon-pause { display: none; }
[aria-pressed="true"] .fw-icon-play { display: inline; }
@keyframes fw-ticker { to { transform: translateX(-50%); } }
@keyframes fw-ticker-pulse { 50% { opacity: .35; } }

/* Hero slider */
.fw-slider { position: relative; overflow: hidden; background: var(--fw-green-900, #17352a); color: var(--fw-white, #fff); }
.fw-slider__track { display: grid; }
.fw-slide { position: relative; grid-area: 1 / 1; display: flex; align-items: center; min-height: clamp(460px, 64vh, 600px); opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility 0s linear .9s; }
.fw-slide.is-active { opacity: 1; visibility: visible; transition: opacity .9s ease; z-index: 1; }
.fw-slider .fw-slide__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transform: scale(1.08); transition: transform 8s ease-out; }
.fw-slider .fw-slide.is-active .fw-slide__img { transform: scale(1); }
.fw-slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(15 40 31 / .9), rgb(15 40 31 / .55) 60%, rgb(15 40 31 / .25)); pointer-events: none; }
.fw-slide__body { position: relative; z-index: 1; padding-block: 56px 112px; }
.fw-slide__body > * { max-width: 640px; opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.fw-slide.is-active .fw-slide__body > * { opacity: 1; transform: none; }
.fw-slide.is-active .fw-slide__body > :nth-child(1) { transition-delay: .25s; }
.fw-slide.is-active .fw-slide__body > :nth-child(2) { transition-delay: .4s; }
.fw-slide.is-active .fw-slide__body > :nth-child(3) { transition-delay: .55s; }
.fw-slide.is-active .fw-slide__body > :nth-child(4) { transition-delay: .7s; }
.fw-slide__eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; color: var(--fw-white, #fff); font-size: .6875rem; font-weight: 700; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
.fw-slide__eyebrow::before { content: ""; width: 24px; height: 2px; background: currentColor; flex: none; }
.fw-slider .fw-slide__title { max-width: 820px; margin: 0 0 16px;color: var(--fw-white, #fff); font-size: clamp(2.25rem, 5.5vw, 4rem); font-weight: 700; line-height: 1.12; letter-spacing: -0.03em; }
.fw-slide__title span { display: block; color: var(--fw-green-300, #86cfa0); }
.fw-slide__text { margin: 0 0 24px; max-width: 480px !important; color: #eef3f0; font-size: 1rem; line-height: 1.6; }
.fw-slide__buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.fw-slider__controls { position: absolute; left: 0; right: 0; bottom: 52px; z-index: 2; display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin-inline: auto; pointer-events: none; }
.fw-slider__controls > * { pointer-events: auto; }
.fw-slider__btn { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; background: rgb(15 40 31 / .35); border: 1px solid rgb(255 255 255 / .55); border-radius: 50%; color: var(--fw-white, #fff); cursor: pointer; }
.fw-slider__btn:hover { background: rgb(255 255 255 / .16); border-color: var(--fw-white, #fff); }
.fw-slider__btn svg { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.fw-slider__btn[data-fw-slide-pause] svg { fill: currentColor; stroke: none; }
.fw-slider__dots { display: flex; gap: 6px; padding-inline: 6px; }
.fw-slider__dots button { width: 10px; height: 10px; padding: 0; background: rgb(255 255 255 / .45); border: 0; border-radius: 5px; cursor: pointer; transition: width .3s ease, background .3s ease; }
.fw-slider__dots button[aria-current="true"] { width: 28px; background: var(--fw-white, #fff); }

@media (max-width: 720px) {
	.fw-ticker__label { padding-right: 10px; letter-spacing: .08em; }
	.fw-ticker__inner { gap: 10px; }
	.fw-slide { min-height: 480px; align-items: flex-end; }
	.fw-slide__body { padding-block: 48px 116px; }
	.fw-slider__controls { justify-content: flex-start; bottom: 56px; }
	.fw-slide__text { font-size: .9375rem; }
}

@media (prefers-reduced-motion: reduce) {
	.fw-ticker__dot { animation: none; }
	.fw-ticker__track { animation: none; }
	.fw-ticker__viewport { overflow-x: auto; mask-image: none; }
	.fw-ticker__copy, .fw-ticker__toggle, .fw-slider__btn[data-fw-slide-pause] { display: none; }
	.fw-slide, .fw-slide.is-active, .fw-slide__img, .fw-slide__body > * { transition: none; }
	.fw-slider .fw-slide__img, .fw-slider .fw-slide.is-active .fw-slide__img { transform: none; transition: none; }
}
