Win the NEW Hoka Mach 7 Prize Pack
:root {
–hoka-orange: #f26522;
–hoka-dark: #1a1a1a;
–hoka-black: #0d0d0d;
–hoka-mid: #2e2e2e;
–hoka-blue: #1e3a5f;
–white: #ffffff;
–off-white: #f7f7f7;
–light-gray: #f0f0f0;
–border: #e0e0e0;
–text-dark: #1a1a1a;
–text-mid: #444444;
–text-muted: #888888;
–green: #2e8b57;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: ‘Inter’, sans-serif;
background: var(–off-white);
color: var(–text-dark);
font-size: 17px;
line-height: 1.85;
}
/* ── PROGRESS BAR ── */
#xp-bar-container {
position: fixed; top: 0; left: 0; right: 0;
height: 5px; background: #ddd; z-index: 9999;
}
#xp-bar {
height: 100%; width: 0%;
background: linear-gradient(90deg, var(–hoka-orange), #ffaa44);
transition: width 0.2s ease;
}
/* ── FACT POPUPS ── */
.fact-popup {
display: none;
position: fixed;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
background: #fff;
border: 3px solid var(–hoka-orange);
border-radius: 14px;
padding: 30px 32px;
width: 88%; max-width: 380px;
box-shadow: 0 30px 80px rgba(0,0,0,0.25);
z-index: 9999;
text-align: center;
font-family: ‘Inter’, sans-serif;
font-size: 0.97rem;
color: var(–text-dark);
line-height: 1.6;
}
.fact-icon {
font-size: 48px;
display: block;
margin-bottom: 10px;
}
.fact-title {
display: block;
font-family: ‘Barlow Condensed’, sans-serif;
font-weight: 800;
font-size: 1.6rem;
color: var(–text-dark);
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
/* ── SKIP POPUP ── */
#skip-popup {
display: none;
position: fixed;
top: 50%; left: 50%;
transform: translate(-50%, -50%);
background: var(–hoka-dark);
border: 2px solid var(–hoka-orange);
border-radius: 14px;
padding: 28px 32px;
z-index: 9999;
text-align: center;
min-width: 280px; max-width: 380px;
box-shadow: 0 30px 80px rgba(0,0,0,0.5);
}
#skip-popup h4 {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 1.5rem;
font-weight: 800;
color: var(–white);
margin-bottom: 8px;
text-transform: uppercase;
}
#skip-popup p {
font-size: 0.9rem;
color: rgba(255,255,255,0.65);
margin-bottom: 18px;
line-height: 1.5;
}
.popup-btns { display: flex; gap: 10px; justify-content: center; }
.popup-btn-yes {
background: var(–hoka-orange);
color: var(–white);
border: none; border-radius: 8px;
padding: 10px 22px;
font-weight: 800; font-size: 0.95rem;
cursor: pointer; font-family: ‘Inter’, sans-serif;
}
.popup-btn-no {
background: rgba(255,255,255,0.1);
color: var(–white);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 8px;
padding: 10px 18px;
font-weight: 600; font-size: 0.95rem;
cursor: pointer; font-family: ‘Inter’, sans-serif;
}
/* ── HEADER / HERO ── */
header {
background: var(–hoka-black);
color: var(–white);
padding: 60px 20px 50px;
text-align: center;
position: relative;
overflow: hidden;
}
header::before {
content: ”;
position: absolute; inset: 0;
background: radial-gradient(ellipse at 50% 0%, rgba(242,101,34,0.18) 0%, transparent 70%);
}
.status-tag {
display: inline-block;
background: var(–green);
color: #fff;
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 0.85rem;
font-weight: 700;
letter-spacing: 2px;
text-transform: uppercase;
padding: 5px 16px;
border-radius: 20px;
margin-bottom: 20px;
}
header h1 {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: clamp(2.2rem, 7vw, 4.2rem);
font-weight: 900;
line-height: 1.05;
margin-bottom: 14px;
text-transform: uppercase;
letter-spacing: 1px;
}
header h1 span { color: var(–hoka-orange); }
header p.hero-sub {
font-size: clamp(0.95rem, 2.5vw, 1.15rem);
color: rgba(255,255,255,0.7);
max-width: 560px;
margin: 0 auto 30px;
}
/* ── PRIZE VALUE ── */
.prize-value {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: clamp(3.5rem, 10vw, 6rem);
font-weight: 900;
color: var(–hoka-orange);
line-height: 1;
margin-bottom: 6px;
letter-spacing: -1px;
}
.prize-label {
font-size: 0.8rem;
letter-spacing: 3px;
text-transform: uppercase;
color: rgba(255,255,255,0.5);
margin-bottom: 30px;
}
/* ── COUNTDOWN ── */
.countdown {
display: flex;
gap: 12px;
justify-content: center;
margin-bottom: 32px;
flex-wrap: wrap;
}
.cd-block {
background: rgba(255,255,255,0.07);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 10px;
padding: 14px 18px;
min-width: 72px;
text-align: center;
}
.cd-num {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 2.2rem;
font-weight: 800;
color: var(–white);
line-height: 1;
display: block;
}
.cd-label {
font-size: 0.65rem;
letter-spacing: 2px;
text-transform: uppercase;
color: rgba(255,255,255,0.4);
margin-top: 4px;
display: block;
}
/* ── CTA BUTTON ── */
.cta-btn {
display: inline-block;
background: var(–hoka-orange);
color: var(–white);
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 1.3rem;
font-weight: 800;
letter-spacing: 1.5px;
text-transform: uppercase;
padding: 18px 42px;
border-radius: 8px;
border: none;
cursor: pointer;
text-decoration: none;
box-shadow: 0 8px 30px rgba(242,101,34,0.45);
transition: transform 0.15s, box-shadow 0.15s;
}
.cta-btn:hover {
transform: translateY(-2px);
box-shadow: 0 12px 40px rgba(242,101,34,0.6);
}
/* ── STAT PILLS ── */
.stat-row {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-top: 28px;
}
.stat-pill {
background: rgba(255,255,255,0.07);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 8px;
padding: 10px 18px;
text-align: center;
min-width: 100px;
}
.stat-pill .sv { font-family: ‘Barlow Condensed’, sans-serif; font-size: 1.4rem; font-weight: 800; color: var(–hoka-orange); display: block; line-height: 1; }
.stat-pill .sl { font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-top: 3px; display: block; }
/* ── CONTAINER ── */
.container {
max-width: 780px;
margin: 0 auto;
padding: 0 20px;
}
/* ── TOC ── */
.toc {
background: #fff;
border: 1px solid var(–border);
border-left: 4px solid var(–hoka-orange);
border-radius: 8px;
padding: 24px 28px;
margin: 40px 0;
}
.toc-title {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 0.8rem;
letter-spacing: 3px;
text-transform: uppercase;
color: var(–text-muted);
margin-bottom: 14px;
}
.toc ol { padding-left: 20px; }
.toc li { margin-bottom: 6px; }
.toc a { color: var(–hoka-orange); text-decoration: none; font-weight: 600; font-size: 0.95rem; }
.toc a:hover { text-decoration: underline; }
/* ── AD WRAPPER ── */
.ad-wrap {
background: #fff;
border: 1px solid var(–border);
border-radius: 8px;
padding: 16px;
margin: 32px 0;
text-align: center;
}
.ad-label {
font-size: 0.7rem;
letter-spacing: 2px;
text-transform: uppercase;
color: var(–text-muted);
margin-bottom: 8px;
}
/* ── SECTIONS ── */
section {
background: #fff;
border: 1px solid var(–border);
border-radius: 12px;
padding: 36px 40px;
margin: 28px 0;
}
@media (max-width: 600px) { section { padding: 24px 20px; } }
section h2 {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: clamp(1.6rem, 4vw, 2.2rem);
font-weight: 900;
text-transform: uppercase;
color: var(–hoka-dark);
margin-bottom: 18px;
line-height: 1.1;
}
section h2 span { color: var(–hoka-orange); }
section h3 {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 1.25rem;
font-weight: 800;
text-transform: uppercase;
color: var(–hoka-dark);
margin: 24px 0 10px;
}
section p {
color: var(–text-mid);
margin-bottom: 16px;
}
section p:last-child { margin-bottom: 0; }
blockquote {
border-left: 4px solid var(–hoka-orange);
background: #fff8f4;
padding: 16px 20px;
border-radius: 0 8px 8px 0;
margin: 20px 0;
font-style: italic;
color: var(–text-mid);
font-size: 0.95rem;
}
/* ── PRIZE CARDS ── */
.prize-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 16px;
margin: 24px 0;
}
.prize-card {
background: var(–off-white);
border: 2px solid var(–border);
border-top: 4px solid var(–hoka-orange);
border-radius: 10px;
padding: 24px 16px;
text-align: center;
}
.prize-card .pc-icon { font-size: 40px; display: block; margin-bottom: 10px; }
.prize-card .pc-name { font-family: ‘Barlow Condensed’, sans-serif; font-size: 1.1rem; font-weight: 800; text-transform: uppercase; color: var(–hoka-dark); margin-bottom: 4px; }
.prize-card .pc-price { font-family: ‘Barlow Condensed’, sans-serif; font-size: 1.3rem; font-weight: 900; color: var(–hoka-orange); }
/* ── STEPS ── */
.steps { list-style: none; padding: 0; margin: 20px 0; }
.steps li {
display: flex;
gap: 18px;
align-items: flex-start;
margin-bottom: 20px;
}
.step-num {
background: var(–hoka-orange);
color: #fff;
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 1.2rem;
font-weight: 900;
width: 38px; height: 38px;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
flex-shrink: 0;
margin-top: 2px;
}
.step-body { flex: 1; }
.step-body strong { display: block; font-size: 1rem; margin-bottom: 4px; color: var(–hoka-dark); }
.step-body span { font-size: 0.93rem; color: var(–text-mid); }
/* ── TABLE ── */
.data-table {
width: 100%;
border-collapse: collapse;
margin: 20px 0;
font-size: 0.93rem;
}
.data-table th {
background: var(–hoka-dark);
color: #fff;
padding: 10px 14px;
text-align: left;
font-family: ‘Barlow Condensed’, sans-serif;
font-size: 0.9rem;
letter-spacing: 1px;
text-transform: uppercase;
}
.data-table td {
padding: 10px 14px;
border-bottom: 1px solid var(–border);
color: var(–text-mid);
vertical-align: top;
}
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:nth-child(even) td { background: var(–off-white); }
.data-table td strong { color: var(–hoka-dark); }
/* ── ALERT BOX ── */
.alert-box {
background: #fff8f4;
border: 1px solid var(–hoka-orange);
border-left: 4px solid var(–hoka-orange);
border-radius: 8px;
padding: 16px 20px;
margin: 20px 0;
font-size: 0.93rem;
color: var(–text-mid);
}
.alert-box strong { color: var(–hoka-dark); }
/* ── FAQ ── */
.faq-item {
border: 1px solid var(–border);
border-radius: 10px;
margin-bottom: 10px;
overflow: hidden;
}
.faq-q {
width: 100%;
background: #fff;
border: none;
padding: 18px 20px;
text-align: left;
font-family: ‘Inter’, sans-serif;
font-size: 1rem;
font-weight: 700;
color: var(–hoka-dark);
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
}
.faq-q::after { content: ‘+’; font-size: 1.4rem; color: var(–hoka-orange); flex-shrink: 0; }
.faq-item.open .faq-q::after { content: ‘−’; }
.faq-a {
display: none;
padding: 0 20px 18px;
font-size: 0.95rem;
color: var(–text-mid);
line-height: 1.75;
background: #fff;
}
.faq-item.open .faq-a { display: block; }
/* ── RELATED CARDS ── */
.related-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 14px;
margin-top: 20px;
}
.related-card {
display: block;
background: var(–off-white);
border: 1px solid var(–border);
border-top: 3px solid var(–hoka-orange);
border-radius: 10px;
padding: 18px 16px;
text-decoration: none;
transition: transform 0.15s, box-shadow 0.15s;
}
.related-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.rc-cat {
font-size: 0.7rem;
letter-spacing: 2px;
text-transform: uppercase;
color: var(–hoka-orange);
font-weight: 700;
margin-bottom: 6px;
}
.rc-title {
font-size: 0.93rem;
font-weight: 700;
color: var(–hoka-dark);
line-height: 1.4;
}
/* ── FINAL CTA ── */
#final-cta {
background: var(–hoka-black);
color: var(–white);
text-align: center;
padding: 60px 20px;
margin-top: 40px;
}
#final-cta h2 {
font-family: ‘Barlow Condensed’, sans-serif;
font-size: clamp(1.8rem, 5vw, 3rem);
font-weight: 900;
text-transform: uppercase;
margin-bottom: 12px;
}
#final-cta h2 span { color: var(–hoka-orange); }
#final-cta p {
color: rgba(255,255,255,0.65);
font-size: 0.95rem;
margin-bottom: 28px;
max-width: 480px;
margin-left: auto;
margin-right: auto;
}
#final-cta .fine {
font-size: 0.75rem;
color: rgba(255,255,255,0.3);
margin-top: 20px;
}
/* ── FOOTER ── */
footer {
background: #111;
color: rgba(255,255,255,0.35);
text-align: center;
padding: 30px 20px;
font-size: 0.78rem;
line-height: 1.7;
}
footer a { color: rgba(255,255,255,0.5); }
Win the New
HOKA Mach 7
Runner’s Prize Pack
HOKA is giving away 5 prize packages — each worth $278.99 — including their brand-new Mach 7 running shoes, LMNT electrolytes, and a Wahoo TICKR Fit heart rate monitor. Free to enter for HOKA members.
What Is the HOKA Mach 7 Sweepstakes?
HOKA — the performance running shoe brand owned by Deckers Outdoor Corporation — has launched a members-only sweepstakes to celebrate the release of their newest shoe: the HOKA Mach 7. Five lucky winners will each receive a complete runner’s prize package worth $278.99, built around the brand-new Mach 7 shoe paired with premium running accessories.
The Mach 7 is HOKA’s latest lightweight daily trainer, released in early 2026 at $145. Reviewers at Road Trail Run, Tom’s Guide, and Run to the Finish have praised it for its firmer, more responsive ride compared to the Mach 6 — making it ideal for tempo runs, long training days, and even race day. It’s one of the most anticipated running shoe releases of 2026.
“At $145, the Mach 7 sits in the increasingly competitive lightweight trainer category. In my view, this is the strongest version of the Mach to date.” — Road Trail Run
The sweepstakes is administered by Merkle Inc. (previously HelloWorld) on behalf of Deckers Outdoor Corporation. It runs from March 5 through March 19, 2026 — a tight two-week window. Entry is completely free, but you must be a HOKA Membership loyalty program member (also free to join).
The Prize Pack — Full Breakdown
There are 5 identical prize packages up for grabs. Each winner receives all three items below, with a combined approximate retail value of $278.99. Here’s exactly what’s in each prize pack:
👟 HOKA Mach 7 Running Shoes
The centerpiece of the prize. The Mach 7 is HOKA’s newest lightweight performance trainer, built on a supercritical foam midsole with an early-stage Meta-Rocker geometry. It weighs just 7.15 oz (women’s) and features a 5mm heel-to-toe drop — a setup that encourages a natural, efficient stride. HOKA will attempt to honor your size request, but the shoe color is determined by the sponsor at their discretion.
⚡ LMNT Electrolyte Drink Mix Variety Pack (12 ct.)
LMNT is the go-to electrolyte supplement for endurance athletes. Their variety pack includes 12 stick packets across multiple flavors — all with zero sugar, no artificial ingredients, and a high-sodium formula designed for runners who sweat heavily. Perfect for post-run recovery or fueling during long efforts.
💓 Wahoo TICKR Fit Armband Heart Rate Monitor
The Wahoo TICKR Fit is an optical heart rate monitor worn on the forearm — no chest strap required. It pairs via Bluetooth and ANT+ with virtually any fitness app, GPS watch, or cycling computer. For runners who want accurate heart rate data without the discomfort of a chest strap, this is one of the best options on the market.
How to Enter — Step by Step
Entering takes under three minutes. Here’s exactly what to do:
-
1Go to the Official Entry Page
Visit hoka.com/en/us/membership-giveaway/ — this is the only official entry point. -
2Log Into (or Create) Your HOKA Membership Account
If you already have a HOKA loyalty account, log in. If not, sign up for free — it takes about 60 seconds and only requires your name, email, and a password. -
3Complete the Registration Form
Fill in your first name, last name, phone number, and the email address associated with your HOKA account. Make sure everything matches your HOKA profile exactly — mismatches can get your entry disqualified. -
4Agree to the Official Rules and Submit
Check the box confirming you agree to the Official Rules, then hit Submit. You’ll receive a confirmation. That’s your one entry — make it count. -
5Watch Your Email After March 20
The drawing happens on or around March 20, 2026. Winners are notified by email. You have only 3 days to respond, so check your inbox and spam folder regularly after the deadline.
Who Can Enter — Eligibility
This sweepstakes is open to most U.S. residents, with no state exclusions — a notable difference from many sweepstakes. Here are the full requirements:
| Requirement | Details |
|---|---|
| Age | Must be at least 18 years old at time of entry |
| Residency | Legal resident of the 50 United States or Washington, D.C. |
| Excluded States | None — all 50 states and D.C. are eligible |
| HOKA Membership | Must be a HOKA Membership loyalty program member at time of entry (free to join) |
| Entry Limit | 1 entry per person for the entire promotion period |
| Email Address | Must match your HOKA Membership profile exactly |
| Purchase Required | No — completely free to enter |
| Sponsor Employees | Employees of Deckers Outdoor Corporation and Merkle Inc. are not eligible |
The HOKA Membership requirement is the key thing to note. If you’re not already a member, you can sign up for free directly through the entry page. Membership gives you access to exclusive offers, early product launches, and member-only events — so it’s worth having regardless of whether you win.
Timeline & Key Dates
This is a short-window sweepstakes — only two weeks to enter. Don’t wait:
| Date | Event | Status |
|---|---|---|
| March 5, 2026 | Sweepstakes opens — 12:00 AM ET | ✅ Open |
| Mar 5 – Mar 19 | Entry period — submit your single entry | ⏳ Active |
| March 19, 2026 | Entry deadline — 11:59 PM ET | ⚠️ Deadline |
| ~March 20, 2026 | Random drawing conducted by Merkle Inc. | 📅 Upcoming |
| After Drawing | 5 winners notified by email | 📧 Upcoming |
| 8–10 Weeks Later | Prize packages shipped to confirmed winners | 📦 Upcoming |
Because this sweepstakes runs for only 14 days, there are likely to be fewer total entries than a months-long promotion — which means your odds of winning are better than average. With 5 prizes available, your chances are even more favorable. Enter now and you’re done.
Official Rules Decoded
Here’s the fine print from the official rules, translated into plain English:
| Rule | Plain English |
|---|---|
| No Purchase Necessary | Completely free to enter. No payment of any kind required or accepted. |
| Odds of Winning | Depend on total eligible entries. Fewer entries = better odds. With 5 prizes, your chances are solid. |
| HOKA Membership | You must be a member, but membership is free. Sign up at the entry page if you’re not already a member. |
| Entry Limit | One entry per person. Using multiple emails to enter more than once will get you disqualified. |
| Shoe Size | HOKA will try to honor your size request but cannot guarantee availability. Color is chosen by the sponsor. |
| Taxes | Winner is responsible for all federal, state, and local taxes on the prize value. |
| Winner Notification | Notified by email on or around March 20. Must respond within 3 days or the prize goes to an alternate. |
| Prize Fulfillment | Prizes ship approximately 8–10 weeks after winner confirmation. No P.O. Boxes. |
| Sponsor | Deckers Outdoor Corporation, 250 Coromar Drive, Goleta, CA 93117 |
| Administrator | Merkle Inc., 3000 Town Center, Suite 2000, Southfield, MI 48075 |
One thing worth noting: the prize ships 8–10 weeks after winner confirmation. If you win in late March, expect your prize pack to arrive sometime in May or June 2026. Plan accordingly — and make sure your mailing address is a physical address, not a P.O. Box.
Frequently Asked Questions
More Free Sweepstakes to Enter
Ready to Win the
HOKA Mach 7?
5 winners. $278.99 each. Ends March 19, 2026. Entry is completely free — you just need a HOKA Membership account (also free).
Enter Free at HOKA.com →
Brand New Shoe!
The HOKA Mach 7 just launched in 2026 at $145 — reviewers are calling it the best version of the Mach yet. You could win a pair for free.
5 Winners!
Unlike most sweepstakes with just one prize, HOKA is giving away 5 identical prize packs — your odds of winning are much better than average.
Only 14 Days!
This sweepstakes runs just two weeks — March 5 to March 19. Fewer entries means better odds. Don’t wait to enter.
Check Your Email!
Winners are notified around March 20. You have only 3 days to respond — check your inbox AND spam folder or you’ll forfeit the prize.
Ready to Enter? 👟
Skip to the entry button now?
document.addEventListener(‘DOMContentLoaded’, function() {
// ── Countdown to March 19, 2026 11:59 PM ET = March 20 03:59 UTC ──
function updateCountdown() {
var end = new Date(“2026-03-20T03:59:59Z”);
var now = new Date();
var diff = end – now;
if (diff <= 0) {
['cd-days','cd-hours','cd-mins','cd-secs'].forEach(function(id) {
document.getElementById(id).textContent = '00';
});
return;
}
var days = Math.floor(diff / 86400000);
var hours = Math.floor((diff % 86400000) / 3600000);
var mins = Math.floor((diff % 3600000) / 60000);
var secs = Math.floor((diff % 60000) / 1000);
function pad(n) { return n 0 ? (scrollTop / docHeight) * 100 : 0;
var bar = document.getElementById(‘xp-bar’);
if (bar) bar.style.width = Math.min(pct, 100) + ‘%’;
}, { passive: true });
// ── FAQ accordion ──
document.querySelectorAll(‘.faq-q’).forEach(function(btn) {
btn.addEventListener(‘click’, function() {
var item = btn.closest(‘.faq-item’);
var wasOpen = item.classList.contains(‘open’);
document.querySelectorAll(‘.faq-item’).forEach(function(i) { i.classList.remove(‘open’); });
if (!wasOpen) item.classList.add(‘open’);
});
});
// ── Smooth scroll TOC ──
document.querySelectorAll(‘a[href^=”#”]’).forEach(function(a) {
a.addEventListener(‘click’, function(e) {
var target = document.querySelector(a.getAttribute(‘href’));
if (target) {
e.preventDefault();
window.scrollTo({ top: target.getBoundingClientRect().top + window.scrollY – 30, behavior: ‘smooth’ });
}
});
});
// ── Auto-scroll system ──
var isAutoScrolling = false;
var autoScrollRAF = null;
var skipShown = false;
var skipPopup = document.getElementById(‘skip-popup’);
var scrollSpeed = 5;
var factTimers = [];
function triggerFact(id) {
if (!isAutoScrolling) return;
var el = document.getElementById(id);
if (el) {
el.style.display = ‘block’;
setTimeout(function() { el.style.display = ‘none’; }, 4500);
}
}
function stopAutoScroll() {
if (autoScrollRAF) { cancelAnimationFrame(autoScrollRAF); autoScrollRAF = null; }
isAutoScrolling = false;
factTimers.forEach(function(t) { clearTimeout(t); });
factTimers = [];
document.querySelectorAll(‘.fact-popup’).forEach(function(el) { el.style.display = ‘none’; });
}
function autoScrollStep() {
if (!isAutoScrolling) return;
var scrollTop = window.scrollY;
var docHeight = document.documentElement.scrollHeight – window.innerHeight;
var pct = docHeight > 0 ? scrollTop / docHeight : 0;
if (!skipShown && pct >= 0.50 && skipPopup) {
skipShown = true;
skipPopup.style.display = ‘block’;
stopAutoScroll();
return;
}
if (scrollTop >= docHeight – 5) {
stopAutoScroll();
return;
}
window.scrollBy(0, scrollSpeed);
autoScrollRAF = requestAnimationFrame(autoScrollStep);
}
function startAutoScroll() {
if (isAutoScrolling) return;
isAutoScrolling = true;
skipShown = false;
factTimers.forEach(function(t) { clearTimeout(t); });
factTimers = [];
factTimers.push(setTimeout(function() { triggerFact(‘fact1’); }, 6000));
factTimers.push(setTimeout(function() { triggerFact(‘fact2’); }, 16000));
factTimers.push(setTimeout(function() { triggerFact(‘fact3’); }, 28000));
factTimers.push(setTimeout(function() { triggerFact(‘fact4’); }, 40000));
autoScrollRAF = requestAnimationFrame(autoScrollStep);
}
// Start scroll button
var startBtn = document.getElementById(‘scroll-start-btn’);
if (startBtn) {
startBtn.addEventListener(‘click’, function(e) {
e.preventDefault();
stopAutoScroll();
skipShown = false;
startAutoScroll();
});
}
// Click anywhere stops scroll
document.addEventListener(‘click’, function(e) {
if (e.target.id === ‘scroll-start-btn’ || e.target.id === ‘skip-yes’ || e.target.id === ‘skip-no’ || e.target.id === ‘final-cta-btn’) return;
if (skipPopup && skipPopup.style.display === ‘block’) return;
if (isAutoScrolling) stopAutoScroll();
});
document.addEventListener(‘touchstart’, function() {
if (skipPopup && skipPopup.style.display !== ‘block’) stopAutoScroll();
}, { passive: true });
// Skip popup — Yes
var skipYes = document.getElementById(‘skip-yes’);
if (skipYes) {
skipYes.addEventListener(‘click’, function() {
if (skipPopup) skipPopup.style.display = ‘none’;
stopAutoScroll();
var target = document.getElementById(‘final-cta’);
if (target) {
target.scrollIntoView({ behavior: ‘smooth’, block: ‘center’ });
setTimeout(function() {
var btn = document.getElementById(‘final-cta-btn’);
if (btn) {
btn.style.transition = ‘box-shadow 0.3s’;
btn.style.boxShadow = ‘0 0 0 8px rgba(242,101,34,0.4), 0 0 0 16px rgba(242,101,34,0.2)’;
setTimeout(function() { btn.style.boxShadow = ”; }, 1500);
}
}, 800);
}
});
}
// Skip popup — No (resume scroll)
var skipNo = document.getElementById(‘skip-no’);
if (skipNo) {
skipNo.addEventListener(‘click’, function() {
if (skipPopup) skipPopup.style.display = ‘none’;
isAutoScrolling = true;
autoScrollRAF = requestAnimationFrame(autoScrollStep);
});
}
});
Helpful Freebie Mom Guides
Keep going