1<!DOCTYPE html><html lang="en" data-theme="hyrox" data-locale="en_GB"> <head><meta charset="UTF-8"><style> 2html.didomi-mig-guard #didomi-host, 3html.didomi-mig-guard #didomi-notice, 4html.didomi-mig-guard .didomi-popup-open { visibility: hidden !important; } 5 6/* Centre the notice body as a block, but keep the copy itself left-aligned â 7 centred text is hard to scan over a paragraph this long. */ 8#didomi-host #didomi-notice .didomi-notice__interior-border { 9 justify-content: center !important; 10 align-items: center !important; 11 gap: 24px; 12 padding-block: 24px !important; 13} 14#didomi-host #didomi-notice #text.didomi-notice-text { 15 /* Didomi sets text-align inline on #text from the notice config, so !important is required. */ 16 text-align: left !important; 17 /* .push-right pins the buttons to the far edge, which opens a large gap at wide 18 viewports; neutralise it and let the flex gap do the spacing instead. */ 19 margin-right: 0 !important; 20} 21#didomi-host #didomi-notice #buttons.didomi-buttons { 22 margin-left: 0 !important; 23 align-items: center !important; 24} 25 26/* Didomi ships a fixed min-width on its buttons, so short labels sit off-centre 27 inside an oversized box. Size to the label and centre it. */ 28#didomi-host #didomi-notice #buttons .didomi-components-button { 29 min-width: 0 !important; 30 width: auto !important; 31 display: inline-flex !important; 32 align-items: center !important; 33 justify-content: center !important; 34 padding: 10px 16px !important; 35 text-align: center !important; 36} 37 38@media (max-width: 644px) { 39 #didomi-host #didomi-notice #buttons { 40 flex-direction: column !important; 41 align-items: stretch !important; 42 } 43 #didomi-host #didomi-notice #buttons .didomi-components-button { 44 flex: 0 0 auto !important; 45 width: 100% !important; 46 max-width: 100% !important; 47 margin: 4px 0 !important; 48 white-space: normal !important; 49 } 50} 51</style>
51<script>(function(){const apiKey = "1b1166cc-c7d1-442a-9134-61b2f4f05b01"; 52 53 window.didomiConfig = window.didomiConfig || {}; 54 window.didomiConfig.app = Object.assign({ apiKey: apiKey }, window.didomiConfig.app); 55 // notice resolved by the loader URL (target_type=notice); keep notice enabled. 56 window.didomiConfig.notice = Object.assign({ enable: true }, window.didomiConfig.notice); 57 })();</script>
57<script>(function(){const reconsentMonths = 12; 58const migrateFromOneTrust = true; 59const debug = true; 60 61 (function () { 62 var log = debug 63 ? function () { 64 try { 65 console.log.apply(console, ['[didomi-migration]'].concat([].slice.call(arguments))); 66 } catch (e) {} 67 } 68 : function () {}; 69 70 /* ---- Preserve the ORIGINAL OneTrust expiry ---- 71 A migration is a replay, not a fresh consent event, so the migrated consent 72 must expire on the user's ORIGINAL schedule (original datestamp + reconsentMonths), 73 NOT on Didomi's migration-day clock (which would silently extend consent). 74 These two hooks (registered every load) enforce that: 75 1) when the user makes a REAL choice, stop governing expiry (their fresh choice 76 follows Didomi's normal clock) â we keep the provenance for audit; 77 2) on every visit, once the original expiry has passed, reset the migrated consent 78 so the Didomi banner re-collects at the same time OneTrust would have. */ 79 window.didomiEventListeners = window.didomiEventListeners || []; 80 [ 81 'notice.clickagree', 82 'notice.clickdisagree', 83 'preferences.clicksavechoices', 84 'preferences.clickagreetoall', 85 'preferences.clickdisagreetoall', 86 ].forEach(function (evt) { 87 window.didomiEventListeners.push({ 88 event: evt, 89 listener: function () { 90 try { 91 var f = JSON.parse(localStorage.getItem('didomi.migration') || 'null'); 92 if (f && !f.userChose) { 93 f.userChose = true; 94 localStorage.setItem('didomi.migration', JSON.stringify(f)); 95 } 96 } catch (e) {} 97 }, 98 }); 99 }); 100 101 window.didomiOnReady = window.didomiOnReady || []; 102 window.didomiOnReady.push(function (Didomi) { 103 try { 104 var rec = JSON.parse(localStorage.getItem('didomi.migration') || 'null'); 105 if (!rec || rec.userChose || !rec.provenance) return; 106 // Anchor on the STABLE consent date (OptanonAlertBoxClosed at migration time); 107 // fall back to the raw datestamp for markers written before this field existed. 108 var anchor = rec.provenance.consentDate || rec.provenance.datestamp; 109 if (!anchor) return; 110 var ds = new Date(String(anchor).replace(/^"|"$/g, '')); 111 if (isNaN(+ds)) return; 112 var originalExpiry = +ds + reconsentMonths * 30.4375 * 24 * 60 * 60 * 1000; 113 if (Date.now() >= originalExpiry) { 114 // Reached the original OneTrust expiry â re-collect via the standard notice. 115 if (Didomi.reset) Didomi.reset(); 116 localStorage.removeItem('didomi.migration'); 117 log('migrated consent reached original OneTrust expiry â reset for re-consent'); 118 } 119 } catch (e) {} 120 }); 121 122 // Only the legacy-cookie REPLAY below is gated by migrateFromOneTrust â the 123 // expiry-enforcement hooks above run on every load regardless, so an 124 // already-migrated user is still re-collected at their original expiry even 125 // after replay is switched off (e.g. once OneTrust is decommissioned). 126 if (!migrateFromOneTrust) { 127 log('OneTrust replay disabled via config'); 128 return; 129 } 130 131 /* ---- S0: read the legacy OneTrust cookie ---- */ 132 var match = document.cookie.match(/(?:^|;\s*)OptanonConsent=([^;]+)/); 133 if (!match) { 134 log('no OptanonConsent cookie â Didomi notice will behave normally'); 135 return; // S1 136 } 137 138 /* ---- parse the form-urlencoded cookie (+ = space, %XX escapes) ---- */ 139 var kv = {}; 140 match[1].split('&').forEach(function (pair) { 141 var i = pair.indexOf('='); 142 if (i === -1) return; 143 var key = pair.slice(0, i); 144 var val = pair.slice(i + 1).replace(/\+/g, ' '); 145 try { 146 val = decodeURIComponent(val); 147 } catch (e) {} 148 kv[key] = val; 149 }); 150 151 /* groups = "C0003:1,C0002:1,C0001:1,C0004:1,C0005:1" */ 152 var groups = {}; 153 (kv.groups || '').split(',').forEach(function (g) { 154 var parts = g.split(':'); 155 if (parts[0]) groups[parts[0].trim()] = parts[1] === '1'; 156 }); 157 158 /* ---- S2: eligibility guards ---- */ 159 // G4 shape: require at least one RECOGNISED OneTrust category â so a malformed 160 // cookie (e.g. groups=junk, or only sub-group/stack ids) is NOT treated as a 161 // migratable choice (which would migrate to all-opt-out and delete the cookie). 162 var hasGroups = ['C0001', 'C0002', 'C0003', 'C0004', 'C0005'].some(function (c) { 163 return c in groups; 164 }); 165 // G1 GPC: the cookie flags reflect GPC only WHEN it was written, so also honor the 166 // browser's CURRENT signal â a user who enabled GPC after the OneTrust cookie was set 167 // must not have an old full-consent replayed over their live opt-out. 168 var gpc = 169 kv.isGpcEnabled === '1' || 170 kv.browserGpcFlag === '1' || 171 navigator.globalPrivacyControl === true; 172 var reconsent = String(kv.AwaitingReconsent).toLowerCase() === 'true'; // G3 173 // G5 interaction: OneTrust writes OptanonConsent with DEFAULT groups before the 174 // user answers the banner. Only migrate a choice the user actually MADE â proven by 175 // the OptanonAlertBoxClosed cookie (set when the banner is closed) or interactionCount. 176 // Without a real interaction we must NOT replay/suppress; let Didomi collect consent. 177 var alertBoxClosed = /(?:^|;\s*)OptanonAlertBoxClosed=/.test(document.cookie); 178 var alertBoxMatch = document.cookie.match(/(?:^|;\s*)OptanonAlertBoxClosed=([^;
178]+)/); 179 var alertBoxClosedRaw = null; 180 if (alertBoxMatch) { 181 try { 182 alertBoxClosedRaw = decodeURIComponent(alertBoxMatch[1]); 183 } catch (e) { 184 alertBoxClosedRaw = alertBoxMatch[1]; 185 } 186 } 187 // G2 staleness â anchor the consent date on OptanonAlertBoxClosed (the moment the 188 // user CLOSED the banner = when they actually consented). OneTrust rolls 189 // OptanonConsent's `datestamp` FORWARD on every page load, so anchoring on it would 190 // silently re-extend the reconsent window on each visit; OptanonAlertBoxClosed does 191 // not move, so it is the correct anchor. Fall back to `datestamp` only if absent. 192 var consentStamp = null; 193 if (alertBoxClosedRaw) { 194 var abc = new Date(alertBoxClosedRaw); 195 if (!isNaN(+abc)) consentStamp = abc; 196 } 197 if (!consentStamp && kv.datestamp) { 198 var dsx = new Date(kv.datestamp.replace(/^"|"$/g, '')); 199 if (!isNaN(+dsx)) consentStamp = dsx; 200 } 201 var ageMs = consentStamp ? Date.now() - +consentStamp : Infinity; 202 var stale = ageMs > reconsentMonths * 30.4375 * 24 * 60 * 60 * 1000; // G2 203 // OneTrust increments interactionCount to 1 on the FIRST real interaction; the 204 // pre-interaction default is 0, so `> 0` excludes a non-choice yet still admits a 205 // genuine one-click consenter (NaN/missing â NaN > 0 === false â safe fallback). 206 var interactionCount = parseInt(kv.interactionCount, 10); 207 var interacted = alertBoxClosed || interactionCount > 0; 208 209 if (gpc || stale || reconsent || !hasGroups || !interacted) { 210 log('not eligible â falling back to Didomi notice', { gpc: gpc, stale: stale, reconsent: reconsent, hasGroups: hasGroups, interacted: interacted }); 211 return; // S3: no guard, keep OneTrust cookies, let Didomi prompt. 212 } 213 214 /* ---- S4: eligible â arm the flash guard and stash the choice ---- */ 215 document.documentElement.classList.add('didomi-mig-guard'); 216 window.__otMigration = { 217 groups: groups, 218 provenance: { 219 consentId: kv.consentId || null, 220 // consentDate is the STABLE expiry anchor (OptanonAlertBoxClosed when present, 221 // else the OneTrust datestamp). The expiry hook reads THIS â never the raw 222 // `datestamp`, which OneTrust rolls forward on every load. 223 consentDate: consentStamp ? consentStamp.toISOString() : null, 224 datestamp: kv.datestamp || null, 225 alertBoxClosed: alertBoxClosedRaw || null, 226 geolocation: kv.geolocation || null, 227 interactionCount: kv.interactionCount || null, 228 version: kv.version || null, 229 }, 230 }; 231 log('eligible â guard armed, choice stashed', groups); 232 233 /* ===================================================================== 234 Category mapping (runtime ids â OneTrust categories) 235 C0001 strictly necessary | C0002 analytics | C0003 functional 236 C0004 targeting | C0005 advertising + social. 237 The runner uses Didomi's bulk methods for the all-accept / all-reject 238 cases and only maps per-category for a genuinely PARTIAL choice. There is 239 no heuristic fallback: a purpose/vendor we cannot map deterministically is 240 DENIED (fail-safe to opt-out â never grant unsubstantiated consent). 241 ===================================================================== */ 242 // The all-accept / all-reject SHORTCUTS use Didomi's bulk methods, which grant or 243 // deny EVERYTHING on the notice. They are therefore only safe when the cookie 244 // carries the FULL standard OneTrust category set (C0002âC0005) AND every category 245 // present agrees. A truncated/old cookie (missing categories) or a rejected custom 246 // category (C0006+) must NOT satisfy the shortcut â it falls through to the 247 // per-category partial mapping, where any absent category is denied (never granted). 248 var EXPECTED = ['C0002', 'C0003', 'C0004', 'C0005']; 249 var hasFullSet = EXPECTED.every(function (c) { 250 return c in groups; 251 }); 252 var nonEssential = Object.keys(groups).filter(function (c) { 253 return c !== 'C0001'; 254 }); 255 var allAccepted = 256 hasFullSet && 257 nonEssential.every(function (c) { 258 return groups[c] === true; 259 }); 260 var allRejected = 261 hasFullSet && 262 nonEssential.every(function (c) { 263 return groups[c] === false; 264 }); 265 266 // IAB TCF v2 purpose number â OneTrust category. 267 var IAB_PURPOSE = { 268 1: 'C0004', // store/access info on device 269 2: 'C0004', // select basic ads 270 3: 'C0004', // create ads profile 271 4: 'C0004', // select personalised ads 272 5: 'C0003', // create content profile 273 6: 'C0003', // select personalised content 274 7: 'C0004', // measure ad performance 275 8: 'C0002', // measure content performance 276 9: 'C0002', // audience insights / statistics 277 10: 'C0002', // develop & improve services 278 11: 'C0003', // select basic content 279 }; 280 281 function classify(text) { 282 if (!text) return null; 283 var t = String(text).toLowerCase(); 284 if (IAB_PURPOSE[t.trim()]) return IAB_PURPOSE[t.trim()]; // pure IAB purpose id 285 // 1) THG custom purpose-id prefixes are AUTHORITATIVE â match the leading 286 // category token first so e.g. "targeting-audience-insights" is C0004, not 287 // C0002 (a later "audience" keyword must never override the category prefix). 288 if (/^(strictl|essential)/.test(t)) return 'C0001'; 289 if (/^analytics?[-_]/.test(t)) return 'C0002'; 290 if (/^(functional|preferences?)[-_]/.test(t)) return 'C0003'; 291 if (/^(targeting|marketing|advertis|ads)[-_]/.test(t)) return 'C0004'; 292 // 2) Keyword fallbacks. Strictly-necessary, then content/functional, then 293 // ADVERTISING BEFORE analytics so an ad purpose that also mentions 294 // "audience/insights" resolves to C0004 (restrictive), never to a granted 295 // analytics bucket. 296 if (/strictl|essential|\bsecurity\b|necessary/.test(t)) return 'C0001'; 297 if (/functional|preference|create.?content.?profile|select.?personali[sz]ed.?content|select.?basic.?content|use.?limited.?data.?to.?select.?content|content.?profile/.test(t)) 298 return 'C0003'; 299 if (/advertis|marketing|\bads?\b|\btarget|programmatic|retarget|dfp|conversion|create.?ads?.?profile|select.?(basic|personali[sz]ed).?ads|measure.?ad|\bcookies?\b/.test(t)) 300 return 'C0004'; 301 if (/analytic|statistic|audience|insight|market.?research|measure.?content|improve.?product|develop.?and.?improve/.test(t)) 302 return 'C0002'; 303 // Note: IAB special features (precise geolocation, active device scanning) are a 304 // SEPARATE TCF consent axis not covered by an OneTrust category â left 305 // unclassified, so on a partial choice they are denied (only granted via the 306 // agree-to-all path when the user accepted every category). 307 return null; 308 } 309 310 function granted(category) { 311 if (category === 'C0001') return true; // strictly necessary 312 if (category && groups[category] !== undefined) return groups[category] === true; 313 return false; // unmapped â deny (no fallback; fail-safe to opt-out) 314 } 315 316 function purposeEnabled(id, name) { 317 return granted(classify(id) || classify(name)); 318 } 319 320 function vendorEnabled(vendor) { 321 var name = (vendor && vendor.name) || ''; 322 var id = (vendor && vendor.id) || ''; 323 // 1) Classify by the vendor's DECLARED purposes first â authoritative, never 324 // name-guessing. A vendor's purposes determine its category. 325 var cat = null; 326 var pids = (vendor && vendor.purposeIds) || []; 327 for (var i = 0; i < pids.length && !cat; i++) cat = classify(pids[i]); 328 if (cat) return granted(cat); 329 // 2) Known Google products. 330 var hay = (id + ' ' + name).toLowerCase(); 331 if (/google.?analytics|googleana/.test(hay)) return granted('C0002'); 332 if (/\bgoogle\b|doubleclick|adsense|admob/.test(hay)) return granted('C0004'); 333 // 3) Social vendors â C0005. WORD-ANCHORED with specific names so we never match 334 // substrings inside unrelated vendors (e.g. "Metabase", "Snaplytics"). 335 if (/\b(facebook|meta platforms|instagram|tiktok|pinterest|snapchat|snap inc|twitter|x corp|linkedin|youtube|reddit)\b/.test(hay)) 336 return granted('C0005'); 337 // 4) Last resort: classify by name; unmapped â denied. 338 return granted(classify(name)); 339 } 340 341 /* ---- delete a cookie across the likely OneTrust domains ---- */ 342 function deleteCookie(cookieName) { 343 var host = location.hostname; 344 var parts = host.split('.'); 345 var domains = ['', host, '.' + host]; 346 for (var i = 1; i < parts.length - 1; i++) domains.push('.' + parts.slice(i).join('.')); 347 domains.forEach(function (d) { 348 document.cookie = 349 cookieName + '=; Max-Age=0; path=/' + (d ? '; domain=' + d : ''); 350 }); 351 } 352 353 /* ===================================================================== 354 S5âS8: the migration runner, registered on didomiOnReady. 355 ===================================================================== */ 356 window.didomiOnReady = window.didomiOnReady || []; 357 window.didomiOnReady.push(function (Didomi) { 358 var stash = window.__otMigration; 359 if (!stash) return; // not an eligible-migrate load 360 361 function unguard() { 362 document.documentElement.classList.remove('didomi-mig-guard'); 363 } 364 365 try { 366 /* S5: write the consent via Didomi's standard API. 367 - all categories accepted â setUserAgreeToAll() 368 - all categories rejected â setUserDisagreeToAll() 369 - partial â setCurrentUserStatus() with deterministic per-category 370 mapping over the notice's RUNTIME-enumerated ids; anything we cannot 371 map is DENIED (no fallback). */ 372 if (allAccepted) { 373 Didomi.setUserAgreeToAll(); 374 log('migration: agree-to-all (full opt-in)'); 375 } else if (allRejected) { 376 Didomi.setUserDisagreeToAll(); 377 log('migration: disagree-to-all (full opt-out)'); 378 } else { 379 var purposeIds = Didomi.getRequiredPurposeIds() || []; 380 // Prefer the supported getRequiredVendors() (objects with id + metadata); 381 // fall back to the deprecated getRequiredVendorIds() only if present, so we 382 // never call a missing method and drop a partial user into the catch/re-prompt. 383 var vendorList = (Didomi.getRequiredVendors ? Didomi.getRequiredVendors() : []) || []; 384 if (!vendorList.length && Didomi.getRequiredVendorIds) { 385 vendorList = (Didomi.getRequiredVendorIds() || []).map(function (id) { 386 return { id: id, name: '' }; 387 }); 388 } 389 390 var purposes = {}; 391 var unmapped = []; 392 purposeIds.forEach(function (id) { 393 if (classify(id) === null) unmapped.push('purpose:' + id); 394 purposes[id] = { id: id, enabled: purposeEnabled(id, id) }; 395 }); 396 397 var vendors = {}; 398 vendorList.forEach(function (v) { 399 if (v && v.id) vendors[v.id] = { id: v.id, enabled: vendorEnabled(v) }; 400 }); 401 402 // Unmapped ids are DENIED. This list must be empty after per-notice QA; 403 // any entry is a mapping gap for the privacy team to close per template. 404 if (unmapped.length) log('unmapped purposes DENIED â needs per-notice QA', unmapped); 405 406 Didomi.setCurrentUserStatus({ purposes: purposes, vendors: vendors }); 407 log('migration: partial choice mapped per category'); 408 } 409 410 /* S6: verify a COMPLETE status was written (notice no longer qualifies). */ 411 var complete = 412 typeof Didomi.shouldUserStatusBeCollected === 'function' 413 ? Didomi.shouldUserStatusBeCollected() === false 414 : true; 415 416 if (complete) { 417 /* S7: commit â record provenance for audit, then delete OneTrust cookies.
418 The provenance record is the ONLY source of the original expiry anchor 419 (consentDate) that the expiry hook re-collects on. If persisting it fails 420 (storage disabled/quota/private mode), deleting the OneTrust cookies would 421 silently rebase the consent onto Didomi's fresh clock â extending it past 422 its original OneTrust validity. So only delete the cookies once provenance 423 is confirmed stored; otherwise keep them and show the standard notice. */ 424 var provenancePersisted = false; 425 try { 426 localStorage.setItem( 427 'didomi.migration', 428 JSON.stringify({ 429 migratedAt: new Date().toISOString(), 430 source: 'onetrust', 431 provenance: stash.provenance, 432 groups: stash.groups, 433 }), 434 ); 435 provenancePersisted = 436 localStorage.getItem('didomi.migration') !== null; 437 } catch (e) {} 438 439 if (provenancePersisted) { 440 deleteCookie('OptanonConsent'); 441 deleteCookie('OptanonAlertBoxClosed'); 442 unguard(); 443 log('migration committed â OneTrust consent replayed into Didomi'); 444 } else { 445 // Consent is live in Didomi, but we could not persist the expiry anchor. 446 // Keep the OneTrust cookies so the expiry is never silently extended; 447 // the standard notice remains available as the safety net. 448 unguard(); 449 log('provenance persist failed â OneTrust cookies kept to preserve original expiry'); 450 } 451 } else { 452 /* S8: incomplete â reveal banner, KEEP OneTrust cookies. */ 453 unguard(); 454 log('write incomplete â showing Didomi notice, cookies kept'); 455 } 456 } catch (e) { 457 /* S8: write threw â reveal banner, keep cookies. */ 458 unguard(); 459 log('migration error â showing Didomi notice, cookies kept', e); 460 } 461 }); 462 })(); 463 })();</script>
463<script>(function(){const apiKey = "1b1166cc-c7d1-442a-9134-61b2f4f05b01"; 464const noticeId = "Jqp2Nbnd"; 465 466 (function (apiKey, noticeId) { 467 var preconnect = document.createElement('link'); 468 preconnect.rel = 'preconnect'; 469 preconnect.as = 'script'; 470 var dnsPrefetch = document.createElement('link'); 471 dnsPrefetch.rel = 'dns-prefetch'; 472 dnsPrefetch.as = 'script'; 473 var loader = document.createElement('script'); 474 loader.id = 'spcloader'; 475 loader.type = 'text/javascript'; 476 loader.async = true; 477 loader.charset = 'utf-8'; 478 window.didomiConfig = window.didomiConfig || {}; 479 window.didomiConfig.sdkPath = 480 window.didomiConfig.sdkPath || 'https://sdk.privacy-center.org/'; 481 var sdkPath = window.didomiConfig.sdkPath; 482 var src = sdkPath + apiKey + '/loader.js?target_type=notice&target=' + noticeId; 483 if (window.didomiConfig && window.didomiConfig.user) { 484 var user = window.didomiConfig.user; 485 if (user.country) { 486 src += '&country=' + user.country; 487 if (user.region) src += '®ion=' + user.region; 488 } 489 } 490 preconnect.href = sdkPath; 491 dnsPrefetch.href = sdkPath; 492 loader.src = src; 493 var first = document.getElementsByTagName('script')[0]; 494 first.parentNode.insertBefore(preconnect, first); 495 first.parentNode.insertBefore(dnsPrefetch, first); 496 first.parentNode.insertBefore(loader, first); 497 })(apiKey, noticeId); 498 })();</script>
498<link rel="stylesheet" href="/ssr-assets/main.DD-s9o-f.css"><link rel="stylesheet" href="/ssr-assets/hyrox.DjA5v3Rf.css"><title>About HYROX | HYROX Shop Official</title><meta name="description" content="Learn more about HYROX, the global fitness race combining running and functional workouts. Discover our mission, community, and performance-driven training gear."><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"><link rel="icon" href="/ssr-assets/hyrox/favicon.png"><link rel="dns-prefetch" href="https://fonts.googleapis.com"><link rel="dns-prefetch" href="https://fonts.gstatic.com"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="dns-prefetch" href="https://static.thcdn.com"><link rel="preconnect" href="https://static.thcdn.com" crossorigin><link rel="dns-prefetch" href="https://s1.thcdn.com"><link rel="preconnect" href="https://s1.thcdn.com" crossorigin><link rel="stylesheet" href="/ssr-assets/hyrox/hyrox-fonts.css?v2"><meta name="generator" content="Astro v5.12.8"><meta name="color-scheme" content="light"><meta name="robots" content="index, follow">
498<script src="/ssr-assets/tracker22.js" async></script>
498<script>(function(){const channel = "hyrox"; 499const siteId = 397; 500const subsite = "en"; 501const dev = false; 502 503 window.__TRACKER_CONFIG__ = { 504 channel, 505 siteId, 506 subsite, 507 dev, 508 watchers: { 509 params: { 510 loginSuccess: { paramName: 'loginSuccess', eventName: 'loginSuccess' }, 511 registrationSuccess: { 512 paramName: 'registrationSuccess', 513 eventName: 'accountRegistrationSuccess', 514 }, 515 }, 516 }, 517 }; 518 window.Tracker = { 519 store: { 520 get(k) { 521 return Tracker.store[k]; 522 }, 523 set(k, v) { 524 return (Tracker.store[k] = Tracker.store[k] ? Object.assign(Tracker.store[k], v) : v); 525 }, 526 reset(k) { 527 delete Tracker.store[k]; 528 }, 529 }, 530 }; 531 })();</script>
531<script src="/ssr-assets/tracker-init.js" defer></script>
531<link href="https://www.googletagmanager.com/gtm.js?id=GTM-MVZP5XLL" rel="true" as="script">
531<script>(function(){const id = "GTM-MVZP5XLL"; 532const endpoint = "https://www.googletagmanager.com/"; 533const disabled = false; 534const deferStart = false; 535const defer = true; 536const dev = false; 537const initDatalayer = [{"pageVisitId":"262a7406-3875-4f2a-b56b-8f7d608900b0","pageCategory":"category","pageTitle":"About HYROX Category","pageAttributes":[{"currency":"GBP","currencySymbol":"£","server":"fb5cd28909748cd1-ssr-ac811205.cf-thgaltitude.com","elysiumVersion":"altitude","site":"hyrox","subsite":"en","locale":"en_GB","categoryType":"category","pageTemplatePrefix":"","concession":"","mobile":"no","experiments":[]}],"visitorLoginState":"unknown","visitorId":"unknown","visitorEmailAddress":"unknown","visitorLoginMethod":"unknown","visitorExistingCustomer":"unknown","visitorType":"unknown","visitorAffiliate":"","visitorLocation":"unknown","visitorRecognisedState":"unknown","basketProducts":[],"basketTotal":"0.00","yandexEventInfo":{"detail":{"products":[]}}}]; 538 539 window.__GTM_CONFIG__ = { id, endpoint, disabled, deferStart, defer, dev, initDatalayer }; 540 if (!disabled) { 541 window.dataLayer = window.dataLayer || initDatalayer; 542 } 543 })();</script>
543<script src="/ssr-assets/gtm-loader.js" defer></script>
543<script>(function(){const tenantConfig = {"features":{"chatbot":{"enabled":true,"channel":"hyrox-en-gb","apiUrl":"https://api.thg.dev/agentic-commerce/shopping-assistant/ag-ui","apiKey":"5GXRAfK8Uwzdt5BqlqxvGLYA3HLi0fEymcefK9HA7dE6exYe","primaryColor":"#000000","primaryTextColor":"#FFFFFF","accentColor":"#000000","textColor":"#1A1A1A","borderBackground":"#FFFFFF","borderGradient":["#000000","#3D3D3D","#8A9600","#D4E600","#FFED00"],"avatarInitials":"HX","priceFormat":"was-save","pdpPillsMountSelector":"#pdp-gallery-container","assistantSvg":"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' width='14' height='14' aria-hidden='true'><path d='M 11 2 Q 13.5 12, 22 14 Q 13.5 16, 11 26 Q 8.5 16, 0 14 Q 8.5 12, 11 2 Z' fill='currentColor'/><path d='M 22 1 Q 23.5 6, 28 7.5 Q 23.5 9, 22 14 Q 20.5 9, 16 7.5 Q 20.5 6, 22 1 Z' fill='currentColor' opacity='0.6'/></svg>"},"hasDidomi":true,"hasSessionSettingsTrigger":true,"hasFixedHeader":true,"showColouredSocialIcons":false,"hasSubscriptions":false,"basket":{"hasTotalSavingsContainer":true},"hasDualVariantControls":["Colour"],"navigation":{"highlightedNavItems":[{"pattern":"Sale","style":"skin-nav-sale"}]},"hasMasonaryProductGallery":false,"hasReviews":true,"hasWishlist":true,"showCarouselOnDesktop":false,"hasLoyalty":false,"hasBuyNowPayLater":false,"hasQuickBuy":true,"frequentlyBoughtTogether":{"enabled":false},"hasOtherCustomersBought":false,"hasRecentlyViewed":true,"hasHighResImages":{"pdp":true,"plp":false,"widgets":true}},"basketCookieName":"hyrox","opaqueCookieDomain":"www.hyrox-shop.com","channel":"hyrox","siteName":"Hyrox UK","siteId":397,"siteAttributes":{"site":"hyrox","locale":"en_GB","subsite":"en"},"product":{"contentKeys":["synopsis","description","directions","ingredients","metaDataDesc","metaDataTitle","productDetails","material","whyChoose","keyBenefits","faq","nutritionalInfo","atAGlance","suggestedUse","subtitle","brand","ageMessage","productMessage","recyclability","CareInstructions","videoReference","cdnVideoLink"]},"securityPolicyUrl":"/c/privacy-policy/","recaptcha":{"enabled":true,"key":"6LccdMsqAAAAAPtpJOPr72zF0rFGYBuzDRzseGla"},"livedomain":"https://www.hyrox-shop.com/"}; 544const icons = {"flag":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 512 512\"><mask id=\"SVGqdEcMdXs\"><circle cx=\"256\" cy=\"256\" r=\"256\" fill=\"#fff\"/></mask><g mask=\"url(#SVGqdEcMdXs)\"><path fill=\"#eee\" d=\"m0 0l8 22l-8 23v23l32 54l-32 54v32l32 48l-32 48v32l32 54l-32 54v68l22-8l23 8h23l54-32l54 32h32l48-32l48 32h32l54-32l54 32h68l-8-22l8-23v-23l-32-54l32-54v-32l-32-48l32-48v-32l-32-54l32-54V0l-22 8l-23-8h-23l-54 32l-54-32h-32l-48 32l-48-32h-32l-54 32L68 0z\"/><path fill=\"#0052b4\" d=\"M336 0v108L444 0Zm176 68L404 176h108zM0 176h108L0 68ZM68 0l108 108V0Zm108 512V404L68 512ZM0 444l108-108H0Zm512-108H404l108 108Zm-68 176L336 404v108z\"/><path fill=\"#d80027\" d=\"M0 0v45l131 131h45zm208 0v208H0v96h208v208h96V304h208v-96H304V0zm259 0L336 131v45L512 0zM176 336L0 512h45l131-131zm160 0l176 176v-45L381 336z\"/></g></svg>","search":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m21 21l-4.34-4.34\"/><circle cx=\"11\" cy=\"11\" r=\"8\"/></g></svg>","left":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m15 18l-6-6l6-6\"/></svg>","right":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m9 18l6-6l-6-6\"/></svg>","list":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13\"/></svg>","phone":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2
5440 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233a14 14 0 0 0 6.392 6.384\"/></svg>","chat":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092a10 10 0 1 0-4.777-4.719\"/></svg>","envelope":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"><path d=\"m22 7l-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"/><rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\"/></g></svg>","message":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z\"/></svg>","facebook":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978c.401 0 .955.042 1.468.103a9 9 0 0 1 1.141.195v3.325a9 9 0 0 0-.653-.036a27 27 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.7 1.7 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103l-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647\"/></svg>","twitter":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M21.543 7.104c.015.211.015.423.015.636c0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041a4.93 4.93 0 0 1-4.6-3.42a4.9 4.9 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.9 4.9 0 0 0 2.235.616A4.93 4.93 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144a4.929 4.929 0 0 1 8.39-4.49a9.9 9.9 0 0 0 3.128-1.196a4.94 4.94 0 0 1-2.165 2.724A9.8 9.8 0 0 0 24 4.555a10 10 0 0 1-2.457 2.549\"/></svg>","instagram":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M7.03.084c-1.277.06-2.149.264-2.91.563a5.9 5.9 0 0 0-2.124 1.388a5.9 5.9 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076s-.069 1.688-.063 4.947s.021 3.667.083 4.947c.061 1.277.264 2.149.563 2.911c.308.789.72 1.457 1.388 2.123a5.9 5.9 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552c1.278.056 1.689.069 4.947.063s3.668-.021 4.947-.082c1.28-.06 2.147-.265 2.91-.563a5.9 5.9 0 0 0 2.123-1.388a5.9 5.9 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912c.056-1.28.07-1.69.063-4.948c-.006-3.258-.02-3.667-.081-4.947c-.06-1.28-.264-2.148-.564-2.911a5.9 5.9 0 0 0-1.387-2.123a5.9 5.9 0 0 0-2.128-1.38c-.764-.294-1.636-.496-2.914-.55C15.647.009 15.236-.006 11.977 0S8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.7 3.7 0 0 1-1.382-.895a3.7 3.7 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228c-.06-1.264-.072-1.644-.08-4.848c-.006-3.204.006-3.583.061-4.848c.05-1.169.246-1.805.408-2.228c.216-.561.477-.96.895-1.382a3.7 3.7 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417c1.265-.06 1.644-.072 4.848-.08c3.203-.006 3.583.006 4.85.062c1.168.05 1.804.244 2.227.408c.56.216.96.475 1.382.895s.681.817.9 1.378c.165.422.362 1.056.417 2.227c.06 1.265.074 1.645.08 4.848c.005 3.203-.006 3.583-.061 4.848c-.051 1.17-.245 1.805-.408 2.23c-.216.56-.477.96-.896 1.38a3.7 3.7 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418c-1.266.06-1.645.072-4.85.079s-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442a1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024a6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16A4 4 0 0 1 8 12.008\"/></svg>","tiktok":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.525.02c1.31-.02 2.61-.01 3.91-.02c.08 1.53.63 3.09 1.75 4.17c1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97c-.57-.26-1.1-.59-1.62-.93c-.01 2.92.01 5.84-.02 8.75c-.08 1.4-.54 2.79-1.35 3.94c-1.31 1.92-3.58 3.17-5.91 3.21c-1.43.08-2.86-.31-4.08
544-1.03c-2.02-1.19-3.44-3.37-3.65-5.71c-.02-.5-.03-1-.01-1.49c.18-1.9 1.12-3.72 2.58-4.96c1.66-1.44 3.98-2.13 6.15-1.72c.02 1.48-.04 2.96-.04 4.44c-.99-.32-2.15-.23-3.02.37c-.63.41-1.11 1.04-1.36 1.75c-.21.51-.15 1.07-.14 1.61c.24 1.64 1.82 3.02 3.5 2.87c1.12-.01 2.19-.66 2.77-1.61c.19-.33.4-.67.41-1.06c.1-1.79.06-3.57.07-5.36c.01-4.03-.01-8.05.02-12.07\"/></svg>","pinterest":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162c-.105-.949-.199-2.403.041-3.439c.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911c1.024 0 1.518.769 1.518 1.688c0 1.029-.653 2.567-.992 3.992c-.285 1.193.6 2.165 1.775 2.165c2.128 0 3.768-2.245 3.768-5.487c0-2.861-2.063-4.869-5.008-4.869c-3.41 0-5.409 2.562-5.409 5.199c0 1.033.394 2.143.889 2.741c.099.12.112.225.085.345c-.09.375-.293 1.199-.334 1.363c-.053.225-.172.271-.401.165c-1.495-.69-2.433-2.878-2.433-4.646c0-3.776 2.748-7.252 7.92-7.252c4.158 0 7.392 2.967 7.392 6.923c0 4.135-2.607 7.462-6.233 7.462c-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146c1.123.345 2.306.535 3.55.535c6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026z\"/></svg>","youtube":"<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M23.498 6.186a3.02 3.02 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.02 3.02 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.02 3.02 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.02 3.02 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814M9.545 15.568V8.432L15.818 12z\"/></svg>"}; 545 546 window.tenantConfig = tenantConfig; 547 window.icons = icons; 548 })();</script>
548<script async src="https://insights.thgaltitude.com/sdk/client.js" data-insights-channel="hyrox" data-insights-subsite="en" data-insights-client="altitude-storefront-ingenuity" data-insights-page-type="List"></script>
548<script type="application/ld+json">{"@type":"Organization","@context":"https://schema.org","name":"Hyrox UK","url":"https://www.hyrox-shop.com","sameAs":["https://www.facebook.com/HYROXWORLD/","https://www.instagram.com/hyroxworld","https://www.tiktok.com/@hyroxworld","https://www.youtube.com/channel/UCr7h-eYgYlWtwaxD7Fb55cw"],"logo":"https://www.hyrox-shop.comundefined","contactPoint":[{"@type":"ContactPoint","telephone":"0800 208 8826","contactType":"customer service"}]}</script>
548 <link rel="canonical" href="https://www.hyrox-shop.com/c/about-us/"> <meta property="og:title" content="About HYROX"> <meta property="og:site_name" content="Hyrox UK"> <meta property="og:url" content="https://www.hyrox-shop.com/c/about-us/"> <meta name="keywords" keywords="">
548<script type="application/ld+json">{"@context":"https://schema.org","@type":"CollectionPage","name":"About HYROX","description":"Learn more about HYROX, the global fitness race combining running and functional workouts. Discover our mission, community, and performance-driven training gear."}</script>
548
548<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"HYROX","item":{"@type":"Thing","@id":"https://www.hyrox-shop.com/c/"}},{"@type":"ListItem","position":2,"name":"About HYROX","item":{"@type":"Thing","@id":"https://www.hyrox-shop.com/c/about-us/"}}]}</script>
548<link rel="alternate" hreflang="en-gb" href="https://www.hyrox-shop.com/c/about-us/"><link rel="alternate" hreflang="en-us" href="https://us.hyrox-shop.com/c/about-us/"><link rel="alternate" hreflang="en-au" href="https://au.hyrox-shop.com/c/about-us/"><link rel="alternate" hreflang="x-default" href="https://eu.hyrox-shop.com/c/about-us/"><link rel="preconnect" href="https://assets.thg.dev" crossorigin>
548<script> 549 try { 550 var s = JSON.parse(localStorage.getItem('thg_chatbot_layout') || '{}'); 551 if (s.open) document.documentElement.style.marginRight = (s.width || 320) + 'px'; 552 } catch(e) {} 553 </script>
553<style>.breadcrumb-link[data-astro-cid-ilhxcym7]{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-block:-12px;vertical-align:middle} 554</style> 555<link rel="stylesheet" href="/ssr-assets/index.Ce1M0PoU.css"> 556<link rel="stylesheet" href="/ssr-assets/basket.re27LcOk.css"> 557<link rel="stylesheet" href="/ssr-assets/basket.BorODfCq.css"> 558<style>/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.sort-item[data-astro-cid-aqet4t7j]:hover{background-color:#f8f9fa}.sort-item[data-astro-cid-aqet4t7j]{cursor:pointer;padding:calc(var(--spacing,.25rem)*3)}div[data-astro-cid-aqet4t7j].sort-options.show{display:block}#complexModal[data-astro-cid-tehxonld]{height:80vh;max-height:80vh;left:0;top:0;transform:translateY(0);right:auto;margin:0;overflow:hidden}#complexModal[data-astro-cid-tehxonld] #view-products-button[data-astro-cid-tehxonld]{width:auto;max-width:200px;margin:16px auto;padding:12px 24px;display:block;text-align:center;border-radius:4px}#complexModal[data-astro-cid-tehxonld] .modal-box[data-astro-cid-tehxonld]{width:100%;max-width:100%;min-width:100%;height:100%;margin:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column}#complexModal[data-astro-cid-tehxonld]::backdrop{background-color:#00000080;transition:opacity .2s ease-out}@starting-style{#complexModal[data-astro-cid-tehxonld][open]::backdrop{opacity:0}
558}#complexModal[data-astro-cid-tehxonld][open]{transition:transform .25s cubic-bezier(.32,.72,0,1)}@starting-style{#complexModal[data-astro-cid-tehxonld][open]{transform:translateY(100%)}} 559/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */.carousel-pip[data-astro-cid-wfe7xcno].active{background-color:var(--color-gray-600,oklch(44.6% .03 256.802))}.carousel-wrapper[data-astro-cid-wfe7xcno]{overscroll-behavior-x:contain}carousel-wrapper[data-astro-cid-wfe7xcno]{display:block}.carousel[data-astro-cid-wfe7xcno]{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch} 560</style>
560<script type="module" src="/ssr-assets/page.DTIbhfSr.js"></script>
vendor: 1 bytes, line 560
560
561<script>window.altitude ={};window.altitude.i18n = function i18n(valueFunc, ...args) { 562 if (window.lang.showKeys) { 563 let k = valueFunc.toString().replaceAll(/\s/g, ""); 564 let keyReplacementCount = 0; 565 566 k = k.replace(/\[[^\[\]]*\]/g, () => { 567 const lookup = args?.[keyReplacementCount]?.toLowerCase(); 568 keyReplacementCount++; 569 return typeof lookup === "undefined" ? "" : `.${lookup}`; 570 }); 571 572 return k.substring(k.indexOf("altitude")); 573 } 574 575 try { 576 if (!window.lang) return; 577 578 let value = valueFunc(); 579 value = value.replace(/{([0-9]+)}/g, (_, index) => { 580 const lookup = args?.[index]; 581 return typeof lookup === "undefined" ? "" : lookup; 582 }); 583 584 return value; 585 } catch (e) { 586 const k = valueFunc.toString(); 587 console.log(e.message); 588 console.log( 589 `failed to evaluate ${k.substring(k.indexOf("altitude"))}`, 590 "with arguments", 591 ...args 592 ); 593 594 return ""; 595 } 596};</script>
596</head> <body class="skin flex min-h-screen flex-col antialiased" data-page-path="/en-gb/c/about-us/">
vendor: 69 bytes, line 596
596 <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=
596GTM-MVZP5XLL
vendor: 85 bytes, line 596
596" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript>
596<div id="modal" class="modal-dialog hidden cursor-pointer" aria-modal="false" role="dialog" data-astro-cid-qmzm2soj> <div class="fixed inset-0 z-[1] bg-black/50" id="modal-backdrop" data-astro-cid-qmzm2soj></div> <div class="skin-modal rounded-site relative z-[2] flex max-h-[90vh] max-w-[90vw] flex-col bg-white max-sm:max-h-[95vh] max-sm:max-w-[95vw] sm:max-h-[90vh] sm:max-w-[90vw]" data-astro-cid-qmzm2soj> <div class="tray-header hidden items-center justify-end border-b border-[var(--color-border,#e5e5e5)] px-4 py-3 max-md:flex" data-astro-cid-qmzm2soj> <button class="tray-close-button flex cursor-pointer items-center gap-2 text-sm" aria-label="Close Dialog" type="button" data-astro-cid-qmzm2soj> <span data-astro-cid-qmzm2soj></span> <span aria-hidden="true" class="h-4 w-4" data-astro-cid-qmzm2soj><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> 597 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> 598</svg></span> </button> </div> <div id="modal-content" class="h-full cursor-auto overflow-y-auto" data-astro-cid-qmzm2soj> <div class="modal-control-bar absolute top-6 right-6 z-20 max-md:hidden" id="modal-close-form" data-astro-cid-qmzm2soj> <button class="modal-close-button h-6 w-6 cursor-pointer rounded-full bg-white" aria-label="Close Dialog" data-testid="close-dialog-button" type="button" data-astro-cid-qmzm2soj> <span aria-hidden="true" class="h-4 w-4" data-astro-cid-qmzm2soj><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"> 599 <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" /> 600</svg></span> </button> </div> <div id="modal-header" class="modal-header-bar bg-primary sticky top-0 right-0 left-0 z-10 hidden p-6" data-astro-cid-qmzm2soj> <div id="modal-title" class="text-neutral text-lg font-semibold tracking-wider uppercase" data-astro-cid-qmzm2soj> </div> </div> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
600<script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script>
600<script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script>
600<astro-island uid="1xp9P6" component-url="/ssr-assets/ModalContentWrapper.BV6tHcAO.js" component-export="ModalContentWrapper" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"data-astro-cid-qmzm2soj":[0,true]}" ssr client="only" opts="{"name":"ModalContentWrapper","value":"react"}"></astro-island> </div> </div> </div>
600<script type="module" src="/ssr-assets/Modal.astro_astro_type_script_index_0_lang.CQwfYQ6p.js"></script>
600
600<script>(function(){const selectedConcessionCode = undefined; 601const currentPath = "/c/about-us/"; 602const host = "https://www.hyrox-shop.com"; 603const opaqueCookieName = "Opaque_hyrox_en"; 604 605 function updateConcessionAttribute() { 606 const concessionMatch = currentPath.match(/^\/[cp]\/([^\/]+)/); 607 608 if (selectedConcessionCode && concessionMatch) { 609 document.documentElement.setAttribute( 610 'data-concession', 611 selectedConcessionCode.toLowerCase(), 612 ); 613 } else { 614 document.documentElement.removeAttribute('data-concession'); 615 } 616 } 617 618 updateConcessionAttribute(); 619 document.documentElement.setAttribute('data-logout-host', host); 620 document.documentElement.setAttribute('data-logout-opaque', opaqueCookieName); 621})();</script>
621 <div id="fixed-header" data-testid="site-header" class="fixed top-0 right-0 left-0 z-[9000] shadow-sm top-0" data-astro-cid-vnpofkb5> <section class="skip-link text-center" data-astro-cid-vnpofkb5> <a href="#content-container" data-testid="skiplink" class="" data-astro-cid-vnpofkb5>Skip to main content</a> </section> <div class="strip-banner-above-header" data-astro-cid-vnpofkb5> <a href="/c/sale/" class="strip-banner skin-global-stripbanner interactive global-strip-banner-link" data-astro-cid-5u6nyie7> <span class="strip-banner-text global-strip-banner-text text-sm" data-astro-cid-5u6nyie7>UP TO 30% OFF SELECTED STYLES â SHOP NOW</span> </a> </div> <header id="site-header" class="skin-header" data-astro-cid-vnpofkb5> <div class="gutter" data-astro-cid-vnpofkb5> <div class="header-order relative container mx-auto flex items-center py-6 lg:py-4 justify-between" data-astro-cid-vnpofkb5> <div class="header-logo hidden items-center justify-start lg:flex" data-astro-cid-vnpofkb5> <a href="/" class="cursor-pointer" aria-label="Hyrox Logo" data-astro-cid-vnpofkb5> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 519.6 72.3" height="36" width="140" class="logo w-[120px] sm:w-[140px] md:w-[190px] lg:block" data-astro-cid-vnpofkb5="true" aria-labelledby="logo-title-hyrox-default-desktop" role="img"> <title id="logo-title-hyrox-default-desktop">Hyrox Logo</title> 622 623 <defs> 624 <style> 625 .st0 { 626 fill: #1d1d1b; 627 } 628 </style> 629 </defs> 630 <path class="st0" d="M0,2.1h11.8v29.2h28.5V2.1h11.8v68.7h-11.8v-29.3H11.8v29.3H0V2.1Z"></path> 631 <path class="st0" d="M140.3,43.6L117,6v-3.9h11.6l17.7,30.4,18.3-30.4h10.8v3.9l-23.3,37.1v27.7h-11.8v-27.2Z"></path> 632 <path class="st0" d="M238.2,2.1h29.6c13.6,0,20.7,8,20.7,21.1s-3.9,16.4-12.1,19.8l12.9,23.9v3.9h-11.6l-14.1-26.4h-13.6v26.4h-11.8V2.1ZM265.6,34.4c6.9,0,10.9-3.3,10.9-11s-4-11-10.9-11h-15.6v22h15.6Z"></path> 633 <path class="st0" d="M350.7,47.5v-22.2c0-15.6,10.5-24.7,27-24.7s27,9.1,27,24.7v22.2c0,15.6-10.5,24.7-27,24.7s-27-9.1-27-24.7ZM392.9,48.1v-23.4c0-7.4-5-13.4-15.2-13.4s-15.2,6-15.2,13.4v23.4c0,7.4,5,13.4,15.2,13.4s15.2-6,15.2-13.4Z"></path> 634 <path class="st0" d="M461.8,66.9l21.5-31.6-19.8-29.3v-3.9h12l15.2,24,15.9-24h11.3v3.9l-20,29.2,21.7,31.7v3.9h-12l-17.2-26.1-17.3,26.1h-11.3v-3.9Z"></path> 635 </svg> </a> </div> <div class="header-search flex items-center justify-between gap-8" data-astro-cid-vnpofkb5> <div class="mobile-nav-controls flex items-center gap-4 lg:hidden" data-astro-cid-vnpofkb5> <button id="mobile-menu-button" class="cursor-pointer" onclick="mobileNavDialog.showModal()" aria-label="Menu" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="h-6 w-6" data-astro-cid-vnpofkb5="true" aria-hidden="true"> <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5h.01M3 12h.01M3 19h.01M8 5h13M8 12h13M8 19h13"></path></svg> </button> </div> <div class="relative h-full" data-astro-cid-5giq5ppm> <div class="search-backdrop" id="search-backdrop" data-astro-cid-5giq5ppm></div> <!-- Desktop Search --> <div id="desktop-search-container" class="desktop-search hidden lg:block lg:w-[26rem]" data-astro-cid-5giq5ppm> <div class="relative flex items-center" data-astro-cid-5giq5ppm> <button type="button" class="absolute left-3 top-1/2 -translate-y-1/2 cursor-pointer" aria-label="Submit search" id="desktop-search-submit" data-testid="desktop-search-submit" data-astro-cid-5giq5ppm> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="h-5 w-5" aria-hidden="true" data-astro-cid-5giq5ppm="true" aria-hidden="true"> <g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></g></svg> </button> <input type="text" id="search-input" data-testid="search-input" name="search" aria-label="Search for products" class="desktop-search-input w-full rounded-none border-b border-black py-2 pl-10 pr-40" placeholder="Search for a product..." autocomplete="off" spellcheck="true" aria-live="polite" aria-controls="search-results-dropdown" aria-expanded="false" role="combobox" aria-haspopup="listbox" data-astro-cid-5giq5ppm> <button type="button" class="header-chatbot-trigger chatbot-animated-border absolute right-0 top-1/2 -translate-y-1/2 flex items-center gap-1.5 px-3 py-1 text-xs font-semibold whitespace-nowrap cursor-pointer" style="--chatbot-border-1:#000000;--chatbot-border-2:#3D3D3D;--chatbot-border-3:#8A9600;--chatbot-border-4:#D4E600;--chatbot-border-5:#FFED00;--chatbot-border-background:#FFFFFF" aria-label="Open Product Guide" aria-pressed="false" data-astro-cid-5giq5ppm> <span class="w-4 h-3 flex-shrink-0" data-astro-cid-5giq5ppm><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' width='14' height='14' aria-hidden='true'><path d='M 11 2 Q 13.5 12, 22 14 Q 13.5 16, 11 26 Q 8.5 16, 0 14 Q 8.5 12, 11 2 Z' fill='currentColor'/><path d='M 22 1 Q 23.5 6, 28 7.5 Q 23.5 9, 22 14 Q 20.5 9, 16 7.5 Q 20.5 6, 22 1 Z' fill='currentColor' opacity='0.6'/></svg></span> <span class="chatbot-trigger-label hidden xl:inline" data-astro-cid-5giq5ppm>Product Guide</span> </button> </div> <div id="search-results-dropdown" class="skin-search-results-light absolute z-50 max-h-[75vh] w-full overflow-y-auto" data-astro-cid-5giq5ppm>
635<script>(()=>{var l=(n,t)=>{let i=async()=>{await(await n())()},e=typeof t.value=="object"?t.value:void 0,s={timeout:e==null?void 0:e.timeout};"requestIdleCallback"in window?window.requestIdleCallback(i,s):setTimeout(i,s.timeout||200)};(self.Astro||(self.Astro={})).idle=l;window.dispatchEvent(new Event("astro:idle"));})();</script>
635<astro-island uid="Z1SBp3S" prefix="r9" component-url="/ssr-assets/SearchResultsWrapper.VA42UiM0.js" component-export="default" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"i18n":[0,null],"lang":[0,{"search":[0,{"instant":[0,{"suggested":[0,"Search Suggestion"],"product":[0,"Products"]}]}],"product":[0,{"price":[0,{"rrp":[0,"RRP: "],"discount":[0,"Save "],"currentprice":[0,"Current price: "],"rrpscreenreader":[0,"Recommended Retail Price: "],"save":[0,"Save"],"priceperunit":[0,{"ratetext":[0," per "]}],"from":[0,"From"]}]}]}],"data-astro-cid-5giq5ppm":[0,true]}" ssr client="idle" opts="{"name":"SearchResultsWrapper","value":true}"></astro-island> </div> </div> <!-- Mobile Search --> <button id="open-mobile-search" data-testid="open-mobile-search" class="flex cursor-pointer lg:hidden" onclick="searchModal.showModal()" aria-label="Submit search" data-astro-cid-5giq5ppm> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="h-6 w-6" data-astro-cid-5giq5ppm="true" aria-hidden="true"> <g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></g></svg> </button> <dialog id="searchModal" class="fixed inset-0 m-0 h-full w-full border-none bg-transparent p-0" data-astro-cid-5giq5ppm> <div class="skin shadow-site fixed left-0 right-0 top-0 border-b" data-astro-cid-5giq5ppm> <form method="dialog" class="flex items-center gap-4 p-4" data-astro-cid-5giq5ppm> <div class="relative flex-1" data-astro-cid-5giq5ppm> <input type="text" id="mobile-search-input" data-testid="mobile-search-input" class="rounded-site w-full border py-3 pl-10 pr-4" placeholder="Search for a product..." class="rounded-site w-full border-b py-3 pl-10 pr-4" placeholder="Search for a product..." name="search" aria-label="Search for products" autocomplete="off" spellcheck="true" aria-live="polite" aria-controls="mobile-search-results" aria-expanded="false" role="combobox" aria-haspopup="listbox" data-astro-cid-5giq5ppm> <button type="button" class="absolute left-3 top-1/2 -translate-y-1/2" aria-label="Submit search" data-testid="header-search-submit" id="mobile-search-submit" data-astro-cid-5giq5ppm> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" class="h-5 w-5" data-astro-cid-5giq5ppm="true" aria-hidden="true"> <g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="m21 21l-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></g></svg> </button> </div> <button id="close-search-modal" class="p-2" data-astro-cid-5giq5ppm>Close</button> </form> <button type="button" class="search-assistant-entry flex w-full cursor-pointer items-center gap-3 border-t px-4 py-3 text-left" aria-label="Open Product Guide" data-astro-cid-5giq5ppm> <span class="flex flex-1 flex-col" data-astro-cid-5giq5ppm> <span class="text-sm font-semibold" data-astro-cid-5giq5ppm>Product Guide</span> <span class="text-xs font-light" data-astro-cid-5giq5ppm>Kit advice for training and race day</span> </span> <span class="chatbot-entry-badge chatbot-animated-border flex text-xs font-semibold whitespace-nowrap" style="--chatbot-border-1:#000000;--chatbot-border-2:#3D3D3D;--chatbot-border-3:#8A9600;--chatbot-border-4:#D4E600;--chatbot-border-5:#FFED00;--chatbot-border-background:#FFFFFF" data-astro-cid-5giq5ppm> <span class="w-4 h-3 flex-shrink-0" data-astro-cid-5giq5ppm><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' width='14' height='14' aria-hidden='true'><path d='M 11 2 Q 13.5 12, 22 14 Q 13.5 16, 11 26 Q 8.5 16, 0 14 Q 8.5 12, 11 2 Z' fill='currentColor'/><path d='M 22 1 Q 23.5 6, 28 7.5 Q 23.5 9, 22 14 Q 20.5 9, 16 7.5 Q 20.5 6, 22 1 Z' fill='currentColor' opacity='0.6'/></svg></span> <span data-astro-cid-5giq5ppm>Ask Hx</span> </span> </button> <div id="mobile-search-results" class="max-h-[80vh] overflow-y-auto" data-astro-cid-5giq5ppm> <astro-island uid="Z1SBp3S" prefix="r10" component-url="/ssr-assets/SearchResultsWrapper.VA42UiM0.js" component-export="default" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"i18n":[0,null],"lang":[0,{"search":[0,{"instant":[0,{"suggested":[0,"Search Suggestion"],"product":[0,"Products"]}]}],"product":[0,{"price":[0,{"rrp":[0,"RRP: "],"discount":[0,"Save "],"currentprice":[0,"Current price: "],"rrpscreenreader":[0,"Recommended Retail Price: "],"save":[0,"Save"],"priceperunit":[0,{"ratetext":[0," per "]}],"from":[0,"From"]}]}]}],"data-astro-cid-5giq5ppm":[0,true]}" ssr client="idle" opts="{"name":"SearchResultsWrapper","value":true}"></astro-island> </div> </div> </dialog> </div>
635<script type="module" src="/ssr-assets/InstantSearch.astro_astro_type_script_index_0_lang.CqLRmFb9.js"></script>
635 </div> <div class="header-mobile-logo flex items-center lg:hidden" data-astro-cid-vnpofkb5> <a href="/" class="cursor-pointer" aria-label="Hyrox Logo" data-astro-cid-vnpofkb5> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 519.6 72.3" height="24" width="140" class="logo w-[120px] sm:w-[140px] md:w-[190px] lg:hidden" data-astro-cid-vnpofkb5="true" aria-labelledby="logo-title-hyrox-default-mobile" role="img"> <title id="logo-title-hyrox-default-mobile">Hyrox Logo</title> 636 637 <defs> 638 <style> 639 .st0 { 640 fill: #1d1d1b; 641 } 642 </style> 643 </defs> 644 <path class="st0" d="M0,2.1h11.8v29.2h28.5V2.1h11.8v68.7h-11.8v-29.3H11.8v29.3H0V2.1Z"></path> 645 <path class="st0" d="M140.3,43.6L117,6v-3.9h11.6l17.7,30.4,18.3-30.4h10.8v3.9l-23.3,37.1v27.7h-11.8v-27.2Z"></path> 646 <path class="st0" d="M238.2,2.1h29.6c13.6,0,20.7,8,20.7,21.1s-3.9,16.4-12.1,19.8l12.9,23.9v3.9h-11.6l-14.1-26.4h-13.6v26.4h-11.8V2.1ZM265.6,34.4c6.9,0,10.9-3.3,10.9-11s-4-11-10.9-11h-15.6v22h15.6Z"></path> 647 <path class="st0" d="M350.7,47.5v-22.2c0-15.6,10.5-24.7,27-24.7s27,9.1,27,24.7v22.2c0,15.6-10.5,24.7-27,24.7s-27-9.1-27-24.7ZM392.9,48.1v-23.4c0-7.4-5-13.4-15.2-13.4s-15.2,6-15.2,13.4v23.4c0,7.4,5,13.4,15.2,13.4s15.2-6,15.2-13.4Z"></path> 648 <path class="st0" d="M461.8,66.9l21.5-31.6-19.8-29.3v-3.9h12l15.2,24,15.9-24h11.3v3.9l-20,29.2,21.7,31.7v3.9h-12l-17.2-26.1-17.3,26.1h-11.3v-3.9Z"></path> 649 </svg> </a> </div> <div class="header-session-settings flex gap-8 lg:gap-10" data-astro-cid-vnpofkb5> <div class="hidden lg:block" data-feature="hasSessionSettingsTrigger" data-astro-cid-vnpofkb5> <button class="session-settings flex h-auto cursor-pointer items-center justify-center gap-2" aria-label="Your settings, British Pound currency selected"> <span class="session-settings-flag-icon inline-block h-6 w-6 flex-none overflow-hidden rounded-full"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" aria-hidden="true"> <mask id="SVGqdEcMdXs"><circle cx="256" cy="256" r="256" fill="#fff"></circle></mask><g mask="url(#SVGqdEcMdXs)"><path fill="#eee" d="m0 0l8 22l-8 23v23l32 54l-32 54v32l32 48l-32 48v32l32 54l-32 54v68l22-8l23 8h23l54-32l54 32h32l48-32l48 32h32l54-32l54 32h68l-8-22l8-23v-23l-32-54l32-54v-32l-32-48l32-48v-32l-32-54l32-54V0l-22 8l-23-8h-23l-54 32l-54-32h-32l-48 32l-48-32h-32l-54 32L68 0z"></path><path fill="#0052b4" d="M336 0v108L444 0Zm176 68L404 176h108zM0 176h108L0 68ZM68 0l108 108V0Zm108 512V404L68 512ZM0 444l108-108H0Zm512-108H404l108 108Zm-68 176L336 404v108z"></path><path fill="#d80027" d="M0 0v45l131 131h45zm208 0v208H0v96h208v208h96V304h208v-96H304V0zm259 0L336 131v45L512 0zM176 336L0 512h45l131-131zm160 0l176 176v-45L381 336z"></path></g></svg> </span> <span aria-hidden="true" class="session-settings-dot">â¢</span> <span class="session-settings-currency-text tracking-widest uppercase" data-currency-selected data-track-currency>GBP</span> </button>
649<script type="module">const n=document.querySelectorAll(".session-settings");Array.from(n).forEach(s=>{s.addEventListener("click",async function(){const e=await(await fetch("/kv/sessionSettings")).json();window.components.modal.open("session-settings",{currentSettings:window.sessionSettings,siteSettings:e});const t=document.getElementById("mobileNavDialog");t&&t.open&&t.close()})});</script>
649 </div> <div id="customer-account" class="dropdown-container relative" data-astro-cid-vnpofkb5> <div data-testid="account-button" data-astro-cid-vnpofkb5> <button type="button" id="account-trigger-logged-out" class="account-trigger header-icons cursor-pointer" aria-label="Sign In" data-login-href="/account/login/?returnTo=%2F" data-logged-in="false" aria-hidden="false" tabindex="0" data-astro-cid-vnpofkb5> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" aria-hidden="true" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 650<path d="M12 2C11.0111 2 10.0444 2.29324 9.22215 2.84265C8.3999 3.39206 7.75904 4.17295 7.3806 5.08658C7.00216 6.00021 6.90315 7.00555 7.09607 7.97545C7.289 8.94536 7.7652 9.83627 8.46447 10.5355C9.16373 11.2348 10.0546 11.711 11.0245 11.9039C11.9945 12.0969 12.9998 11.9978 13.9134 11.6194C14.827 11.241 15.6079 10.6001 16.1573 9.77785C16.7068 8.95561 17 7.98891 17 7C17 5.67392 16.4732 4.40215 15.5355 3.46447C14.5979 2.52678 13.3261 2 12 2ZM12 10C11.4067 10 10.8266 9.82405 10.3333 9.49441C9.83994 9.16476 9.45542 8.69623 9.22836 8.14805C9.0013 7.59987 8.94189 6.99667 9.05764 6.41473C9.1734 5.83279 9.45912 5.29824 9.87868 4.87868C10.2982 4.45912 10.8328 4.1734 11.4147 4.05764C11.9967 3.94189 12.5999 4.0013 13.1481 4.22836C13.6962 4.45542 14.1648 4.83994 14.4944 5.33329C14.8241 5.82664 15 6.40666 15 7C15 7.79565 14.6839 8.55871 14.1213 9.12132C13.5587 9.68393 12.7956 10 12 10ZM21 21V20C21 18.1435 20.2625 16.363 18.9497 15.0503C17.637 13.7375 15.8565 13 14 13H10C8.14348 13 6.36301 13.7375 5.05025 15.0503C3.7375 16.363 3 18.1435 3 20V21H5V20C5 18.6739 5.52678 17.4021 6.46447 16.4645C7.40215 15.5268 8.67392 15 10 15H14C15.3261 15 16.5979 15.5268 17.5355 16.4645C18.4732 17.4021 19 18.6739 19 20V21H21Z" fill="currentColor"></path> 651</svg> <span class="account-text hidden text-sm leading-5 font-normal lg:block" data-astro-cid-vnpofkb5> Sign In </span> </button> <button type="button" id="account-trigger-logged-in" class="account-trigger header-icons cursor-pointer" style="display: none;" aria-label="Account" data-login-href="/account/login/?returnTo=%2F" data-account-href="/account/" data-logged-in="true" aria-hidden="true" tabindex="-1" data-astro-cid-vnpofkb5> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" aria-hidden="true" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 652<path d="M12 2C11.0111 2 10.0444 2.29324 9.22215 2.84265C8.3999 3.39206 7.75904 4.17295 7.3806 5.08658C7.00216 6.00021 6.90315 7.00555 7.09607 7.97545C7.289 8.94536 7.7652 9.83627 8.46447 10.5355C9.16373 11.2348 10.0546 11.711 11.0245 11.9039C11.9945 12.0969 12.9998 11.9978 13.9134 11.6194C14.827 11.241 15.6079 10.6001 16.1573 9.77785C16.7068 8.95561 17 7.98891 17 7C17 5.67392 16.4732 4.40215 15.5355 3.46447C14.5979 2.52678 13.3261 2 12 2ZM12 10C11.4067 10 10.8266 9.82405 10.3333 9.49441C9.83994 9.16476 9.45542 8.69623 9.22836 8.14805C9.0013 7.59987 8.94189 6.99667 9.05764 6.41473C9.1734 5.83279 9.45912 5.29824 9.87868 4.87868C10.2982 4.45912 10.8328 4.1734 11.4147 4.05764C11.9967 3.94189 12.5999 4.0013 13.1481 4.22836C13.6962 4.45542 14.1648 4.83994 14.4944 5.33329C14.8241 5.82664 15 6.40666 15 7C15 7.79565 14.6839 8.55871 14.1213 9.12132C13.5587 9.68393 12.7956 10 12 10ZM21 21V20C21 18.1435 20.2625 16.363 18.9497 15.0503C17.637 13.7375 15.8565 13 14 13H10C8.14348 13 6.36301 13.7375 5.05025 15.0503C3.7375 16.363 3 18.1435 3 20V21H5V20C5 18.6739 5.52678 17.4021 6.46447 16.4645C7.40215 15.5268 8.67392 15 10 15H14C15.3261 15 16.5979 15.5268 17.5355 16.4645C18.4732 17.4021 19 18.6739 19 20V21H21Z" fill="currentColor"></path> 653</svg> <span class="account-text hidden lg:block" data-astro-cid-vnpofkb5>Account</span> </button> </div> <button id="account-a11y-btn" class="a11y-menu-btn account-a11y-btn sr-only focus:not-sr-only" aria-expanded="false" data-astro-cid-vnpofkb5> <span class="sr-only" data-astro-cid-vnpofkb5> Enter Account Menu </span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 654 <path stroke-linecap="round" 655 stroke-linejoin="round" 656 d="M19 9l-7 7-7-7" 657 ></path> 658</svg> </button> <ul id="account-flyout" class="account-menu skin-form" data-astro-cid-vnpofkb5> <li class="skin-muted w-full p-2" data-astro-cid-vnpofkb5> <div id="logged-in-menu" class="logged-in-wrapper" data-astro-cid-vnpofkb5> <p data-astro-cid-vnpofkb5> Hello <span id="greet-customer" data-cs-mask data-astro-cid-vnpofkb5></span> </p> <button id="logout-button" class="skin-primary-emphasised interactive btn -outline-offset-2" data-astro-cid-vnpofkb5> <span data-astro-cid-vnpofkb5>Logout</span> </button> </div> <div id="logged-out-menu" class="logged-out-wrapper visible-toggle" data-astro-cid-vnpofkb5> <a class="skin-primary-emphasised interactive btn group mb-2 border-2" href="/account/login/?returnTo=%2F" data-astro-cid-vnpofkb5> <span class="group-hover:underline group-hover:decoration-[0.5px] group-hover:underline-offset-2 group-hover:opacity-80" data-astro-cid-vnpofkb5> Login </span> </a> <a class="register-btn skin-secondary-emphasised interactive btn group block w-full border-2 text-center" href="/account/register/" data-astro-cid-vnpofkb5> <span class="group-hover:underline group-hover:decoration-[0.5px] group-hover:underline-offset-2 group-hover:opacity-80" data-astro-cid-vnpofkb5> Register </span> </a> </div> </li> <li class="interactive mt-1 w-full px-2" data-astro-cid-vnpofkb5> <a href="/account/" data-astro-cid-vnpofkb5> Account Home </a> </li> <li class="interactive w-full px-2" data-astro-cid-vnpofkb5> <a href="/account/my-account/wishlist/" data-astro-cid-vnpofkb5> My Wishlist </a> </li> <li class="interactive w-full px-2" data-astro-cid-vnpofkb5> <a href="/account/my-account/my-orders/" data-astro-cid-vnpofkb5> My Orders </a> </li> <li class="interactive mb-1 w-full px-2" data-astro-cid-vnpofkb5> <a href="/c/myreferrals/" data-astro-cid-vnpofkb5> My Referrals </a> </li> </ul> </div> <div id="basket-container" class="dropdown-container relative" data-astro-cid-vnpofkb5> <a href="/basket/" id="header-basket" class="flex gap-2 tracking-widest" aria-label="View Basket" data-testid="basket-button" data-astro-cid-vnpofkb5> <div class="basket-icon-container relative" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" aria-hidden="true" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 659 <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 10.5V6a3.75 3.75 0 10-7.5 0v4.5m11.356-1.993l1.263 12c.07.665-.45 1.243-1.119 1.243H4.25a1.125 1.125 0 01-1.12-1.243l1.264-12A1.125 1.125 0 015.513 7.5
659h12.974c.576 0 1.059.435 1.119 1.007zM8.625 10.5a.375.375 0 11-.75 0 .375.375 0 01.75 0zm7.5 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" ></path> 660</svg> <div id="basket-count" data-testid="basket-count" class="skin-basket-count absolute -top-2 -right-2 flex aspect-square min-h-5 min-w-5 items-center justify-center rounded-full px-1 text-center text-xs leading-none font-semibold tracking-normal" aria-hidden="true" data-astro-cid-vnpofkb5></div> </div> <span class="basket-text hidden text-sm leading-5 font-normal lg:inline-block" data-astro-cid-vnpofkb5> Basket </span> </a> <button id="basket-a11y-btn" class="a11y-menu-btn basket-a11y-btn sr-only focus:not-sr-only" aria-expanded="false" data-astro-cid-vnpofkb5> <span class="sr-only" data-astro-cid-vnpofkb5>Toggle basket menu</span> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 661 <path stroke-linecap="round" 662 stroke-linejoin="round" 663 d="M19 9l-7 7-7-7" 664 ></path> 665</svg> </button> <astro-island uid="H3bmB" component-url="/ssr-assets/FlyoutBasket.B5AL_I1D.js" component-export="default" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"i18n":[0,null],"lang":[0,{"header":[0,{"flyoutbasket":[0,{"commercialmessage":[0,"Pay in 3 interest-free instalments with PayPal Pay in 3"],"cta":[0,{"aria":[0,"View basket"],"text":[0,"View Basket"]}],"freegift":[0,"Free Gift"],"items":[0,"Items"],"subtotal":[0,"Subtotal"],"title":[0,"View basket"]}]}],"basket":[0,{"product":[0,{"quantity":[0,{"label":[0,"Quantity:"]}]}],"empty":[0,{"button":[0,{"text":[0,"Continue Shopping"]}],"title":[0,"No items added to your basket"]}],"delivery":[0,{"label":[0,"Standard Delivery"],"qualification":[0,{"free":[0,"You qualify for free {0}"]}],"shipping":[0,{"outside":[0,"Shipping outside {0}?"],"viewcharges":[0,"View charges"]}],"total":[0,{"disclaimer":[0,"Final charge confirmed at checkout based on your delivery address"],"label":[0,"Total ({0} delivery)"]}]}]}],"loyalty":[0,{"description":[0,{"prefix":[0,"Get "],"orderprefix":[0,"This order will earn "],"suffix":[0," reward points"],"ordersuffix":[0," reward points"]}],"signup":[0,{"link":[0,{"url":[0,"/account/my-account/reward/"],"text":[0,"Join Loyalty program"]}]}]}]}],"hasCommercialMessage":[0],"hasLoyalty":[0,false],"hasDeliveryMessaging":[0],"data-astro-cid-vnpofkb5":[0,true]}" ssr client="only" opts="{"name":"FlyoutBasket","value":"react"}"></astro-island> </div> </div> </div> </div> <div id="chatbot-reengage-strip" data-e2e="chatbot-reengage-strip" class="hidden cursor-pointer items-center justify-center gap-2 border-b border-t border-gray-200 bg-white px-4 py-2 text-sm font-semibold lg:hidden" style="color: #000000;" role="button" tabindex="0" aria-label="Continue with Product Guide" data-astro-cid-vnpofkb5> <span class="h-4 w-4 flex-shrink-0" data-astro-cid-vnpofkb5><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' width='14' height='14' aria-hidden='true'><path d='M 11 2 Q 13.5 12, 22 14 Q 13.5 16, 11 26 Q 8.5 16, 0 14 Q 8.5 12, 11 2 Z' fill='currentColor'/><path d='M 22 1 Q 23.5 6, 28 7.5 Q 23.5 9, 22 14 Q 20.5 9, 16 7.5 Q 20.5 6, 22 1 Z' fill='currentColor' opacity='0.6'/></svg></span> <span data-astro-cid-vnpofkb5>Continue with Product Guide</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="h-3.5 w-3.5" data-astro-cid-vnpofkb5> <polyline points="9 18 15 12 9 6" data-astro-cid-vnpofkb5></polyline> </svg> </div> </header> <div class="block lg:hidden"> <dialog id="mobileNavDialog" class="drawer" role="dialog" aria-modal="true" inert>
665 <form method="dialog" class="drawer-backdrop-click" aria-hidden="true"> <button class="h-full w-full cursor-pointer bg-black opacity-20" aria-hidden="true" tabindex="-1"></button> </form> <div id="mobileNavContainer" class="drawer-box skin flex h-full w-[90vw] max-w-[400px] flex-col overflow-x-hidden p-0"> <nav class="drill-nav"> <!-- Radio inputs for state --> <input type="radio" name="level" id="level-root" checked class="hidden" data-navigation-level tabindex="-1"> <input type="radio" name="level" id="level-root" class="hidden" checked data-navigation-level data-index="0" tabindex="-1"><input type="radio" name="level" id="level-1" class="hidden" data-navigation-level data-index="1" tabindex="-1"><input type="radio" name="level" id="level-2" class="hidden" data-navigation-level data-index="2" tabindex="-1"><input type="radio" name="level" id="level-3" class="hidden" data-navigation-level data-index="3" tabindex="-1"><input type="radio" name="level" id="level-5" class="hidden" data-navigation-level data-index="4" tabindex="-1"> <!-- Navigation header --> <div class="nav-header z-2 flex flex-shrink-0 items-center justify-between border-b-[1.5px] p-4"> <div class="breadcrumb-container flex h-6 min-w-0 flex-1 items-center overflow-hidden pr-2"> <button id="back-arrow-button" class="back-arrow flex h-6 flex-shrink-0 cursor-pointer items-center gap-1 opacity-0" aria-label="Back to All"> <svg xmlns="http://www.w3.org/2000/svg" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="0" width="24" height="24" viewBox="0 0 24 24" class="h-5 w-5" role="none" aria-hidden="true"> 666 <path fill="currentColor" d="M19 11H7.83l4.88-4.88c.39-.39.39-1.03 0-1.42a.996.996 0 0 0-1.41 0l-6.59 6.59a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41L7.83 13H19c.55 0 1-.45 1-1s-.45-1-1-1"></path> 667</svg> <span class="back-arrow-text">All</span> </button> <div id="breadcrumb-path" class="flex h-6 min-w-0 flex-1 items-center overflow-hidden"> <a href="/" id="home-button" class="home-icon flex h-6 flex-shrink-0 cursor-pointer items-center" aria-label="Home Button"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" class="h-6 w-6" aria-hidden="true"> <path fill="currentColor" d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1"></path></svg> </a> <div class="breadcrumb-text min-w-0 flex-1"> <!-- Text breadcrumb will be inserted here by JS --> </div> </div> </div> <!-- Close button --> <form method="dialog" class="ml-2 flex-shrink-0"> <button class="flex h-6 w-6 cursor-pointer items-center justify-center" aria-label="Close Navigation"> <span class="sr-only">Close Navigation</span> <span aria-hidden="true" class="leading-none">â</span> </button> </form> </div> <!-- Navigation content --> <div class="nav-content relative flex flex-col"> <ul class="menu-level absolute inset-0 flex w-full flex-col skin-mega-menu-light" data-depth="1" data-menu-type="TEXT"> <li class="mobilenav-textfeatured-card flex-shrink-0 mt-2 skin-nav-promotion"> <a aria-label="New Season" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/ah26/view-all/"> <span>New Season</span> </a> </li><li class="flex-shrink-0 "> <div class="menu-item-with-submenu interactive flex w-full items-stretch"> <label for="level-1" class="interactive focus-visible:outline-primary flex flex-1 cursor-pointer items-center" tabindex="0" aria-label="Enter HYROX Shoes submenu" aria-expanded="false" role="button" data-controls="menu-level-1"> <span class="mobile-navigation-text flex-1 px-5 py-2 text-left text-base"> <span> HYROX Shoes </span> </span> <span class="submenu-arrow-area flex min-w-[60px] items-center justify-center" data-controls="menu-level-1"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" aria-hidden="true" aria-hidden="true"> 668 <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" ></path> 669</svg> </span> </label> </div> </li><li class="flex-shrink-0 "> <div class="menu-item-with-submenu interactive flex w-full items-stretch">
669 <label for="level-2" class="interactive focus-visible:outline-primary flex flex-1 cursor-pointer items-center" tabindex="0" aria-label="Enter Men submenu" aria-expanded="false" role="button" data-controls="menu-level-2"> <span class="mobile-navigation-text flex-1 px-5 py-2 text-left text-base"> <span> Men </span> </span> <span class="submenu-arrow-area flex min-w-[60px] items-center justify-center" data-controls="menu-level-2"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" aria-hidden="true" aria-hidden="true"> 670 <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" ></path> 671</svg> </span> </label> </div> </li><li class="flex-shrink-0 "> <div class="menu-item-with-submenu interactive flex w-full items-stretch"> <label for="level-3" class="interactive focus-visible:outline-primary flex flex-1 cursor-pointer items-center" tabindex="0" aria-label="Enter Women submenu" aria-expanded="false" role="button" data-controls="menu-level-3"> <span class="mobile-navigation-text flex-1 px-5 py-2 text-left text-base"> <span> Women </span> </span> <span class="submenu-arrow-area flex min-w-[60px] items-center justify-center" data-controls="menu-level-3"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" aria-hidden="true" aria-hidden="true"> 672 <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" ></path> 673</svg> </span> </label> </div> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Kids" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/kids/"> <span>Kids</span> </a> </li><li class="flex-shrink-0 "> <div class="menu-item-with-submenu interactive flex w-full items-stretch"> <label for="level-5" class="interactive focus-visible:outline-primary flex flex-1 cursor-pointer items-center" tabindex="0" aria-label="Enter Accessories submenu" aria-expanded="false" role="button" data-controls="menu-level-5"> <span class="mobile-navigation-text flex-1 px-5 py-2 text-left text-base"> <span> Accessories </span> </span> <span class="submenu-arrow-area flex min-w-[60px] items-center justify-center" data-controls="menu-level-5"> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="h-6 w-6" aria-hidden="true" aria-hidden="true"> 674 <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" ></path> 675</svg> </span> </label> </div> </li><li class="mobilenav-textfeatured-card flex-shrink-0 skin-nav-sale"> <a aria-label="Sale" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/sale/"> <span>Sale</span> </a> </li> </ul><ul class="menu-level absolute inset-0 flex w-full flex-col skin-mega-menu-light" data-depth="2" data-parent="1" data-menu-type="TEXT"> <li class="submenu-title font-semi-bold block px-5 pt-3 pb-2 text-base"> <a class="interactive bg-transparent text-base underline" data-astro-prefetch="tap" href="/c/running-shoes/">HYROX Shoes</a> </li> <li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="View All" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/"> <span>View All</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Discover Deviate Elite HYROX" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/deviate-elite/"> <span>Discover Deviate Elite HYROX</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Men's Shoes" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/men/"> <span>Men's Shoes</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Women's Shoes" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/women/"> <span>Women's Shoes</span> </a> </li> </ul><ul class="menu-level absolute inset-0 flex w-full flex-col skin-mega-menu-light" data-depth="2" data-parent="2" data-menu-type="TEXT"> <li class="submenu-title font-semi-bold block px-5 pt-3 pb-2 text-base"> <a class="interactive bg-transparent text-base underline" data-astro-prefetch="tap" href="/c/men/">Men</a> </li> <li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="View All" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/"> <span>View All</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="New Arrivals" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/ah26/men/"> <span>New Arrivals</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Men's Shoes" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/men/"> <span>Men's Shoes</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Sports Jackets" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/sports-jackets/"> <span>Sports Jackets</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Sweatshirts & Hoodies" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/sweatshirts-hoodies/"> <span>Sweatshirts & Hoodies</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="T-Shirts & Tops" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/tops/"> <span>T-Shirts & Tops</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Shorts" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/shorts/"> <span>Shorts</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Joggers & Bottoms" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/men/joggers-bottoms/"> <span>Joggers & Bottoms</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0 skin-nav-sale"> <a aria-label="Sale" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/sale/menswear/"> <span>Sale</span> </a> </li> </ul><ul class="menu-level absolute inset-0 flex w-full flex-col skin-mega-menu-light" data-depth="2" data-parent="3" data-menu-type="TEXT"> <li class="submenu-title font-semi-bold block px-5 pt-3 pb-2 text-base"> <a class="interactive bg-transparent text-base underline" data-astro-prefetch="tap" href="/c/women/">Women</a> </li> <li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="View All" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/"> <span>View All</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="New Arrivals" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/ah26/women/"> <span>New Arrivals</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Women's Shoes" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/running-shoes/women/"> <span>Women's Shoes</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Sports Jackets" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/sports-jackets/"> <span>Sports Jackets</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Sweatshirts & Hoodies" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/sweatshirts-hoodies/"> <span>Sweatshirts & Hoodies</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="T-Shirts & Tops" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/tops/"> <span>T-Shirts & Tops</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Sports Bras" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/sports-bras/"> <span>Sports Bras</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Shorts" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/shorts/"> <span>Shorts</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Leggings & Bottoms" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/women/leggings-bottoms/"> <span>Leggings & Bottoms</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0 skin-nav-sale"> <a aria-label="Sale" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/sale/womenswear/"> <span>Sale</span> </a> </li> </ul><ul class="menu-level absolute inset-0 flex w-full flex-col skin-mega-menu-light" data-depth="2" data-parent="5" data-menu-type="TEXT"> <li class="submenu-title font-semi-bold block px-5 pt-3 pb-2 text-base"> <a class="interactive bg-transparent text-base underline" data-astro-prefetch="tap" href="/c/accessories/">Accessories</a> </li> <li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="View All" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/"> <span>View All</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="New Arrivals" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/new-in/"> <span>New Arrivals</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Headwear" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/caps-beanies/"> <span>Headwear</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Bags" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/backpacks/"> <span>Bags</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Equipment" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/equipment/"> <span>Equipment</span> </a> </li><li class="mobilenav-textfeatured-card flex-shrink-0"> <a aria-label="Training Accessories" class="interactive block py-2 pr-4 pl-5 text-base" data-astro-prefetch="tap" href="/c/accessories/training-accessories/"> <span>Training Accessories</span> </a> </li> </ul> </div> <div class="submenu-mobile-nav"> <ul class="flex flex-col"> <li class="my-4"> <button class="session-settings flex h-auto cursor-pointer items-center justify-center gap-2" aria-label="Your settings, British Poun
675d currency selected"> <span class="session-settings-flag-icon inline-block h-6 w-6 flex-none overflow-hidden rounded-full"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" aria-hidden="true"> <mask id="SVGqdEcMdXs"><circle cx="256" cy="256" r="256" fill="#fff"></circle></mask><g mask="url(#SVGqdEcMdXs)"><path fill="#eee" d="m0 0l8 22l-8 23v23l32 54l-32 54v32l32 48l-32 48v32l32 54l-32 54v68l22-8l23 8h23l54-32l54 32h32l48-32l48 32h32l54-32l54 32h68l-8-22l8-23v-23l-32-54l32-54v-32l-32-48l32-48v-32l-32-54l32-54V0l-22 8l-23-8h-23l-54 32l-54-32h-32l-48 32l-48-32h-32l-54 32L68 0z"></path><path fill="#0052b4" d="M336 0v108L444 0Zm176 68L404 176h108zM0 176h108L0 68ZM68 0l108 108V0Zm108 512V404L68 512ZM0 444l108-108H0Zm512-108H404l108 108Zm-68 176L336 404v108z"></path><path fill="#d80027" d="M0 0v45l131 131h45zm208 0v208H0v96h208v208h96V304h208v-96H304V0zm259 0L336 131v45L512 0zM176 336L0 512h45l131-131zm160 0l176 176v-45L381 336z"></path></g></svg> </span> <span aria-hidden="true" class="session-settings-dot">â¢</span> <span class="session-settings-currency-text tracking-widest uppercase" data-currency-selected data-track-currency>GBP</span> </button> </li> <li class="my-4" aria-label="Contact Us"> <a data-astro-prefetch="tap" href="/c/contact-us/">Contact Us</a> </li> <li class="mobile-help-link my-4" aria-label="Help"> <a data-astro-prefetch="tap" href="/c/help-centre/">Help</a> </li> </ul> <div class="align-center flex flex-col gap-4"> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 426.67 94.26" class="ingenuityCopyright_svg" role="img" height="25" width="114" aria-hidden="false"><title>Ingenuity Commerce</title> 676 <defs> 677 <style> 678 .cls-1 { 679 stroke-width: 0px; 680 } 681 </style> 682 </defs> 683 <rect class="cls-1" x="88.19" y="12.85" width="6.01" height="37.22"></rect> 684 <polygon class="cls-1" 685 points="143.21 12.85 143.21 50.06 137.79 50.06 117.03 23.14 117 50.06 110.99 50.06 110.99 12.85 116.42 12.85 137.2 39.78 137.2 12.85 143.21 12.85" 686 ></polygon> 687 <path class="cls-1" 688 d="m174.29,12.16c2.94,0,5.65.52,8.13,1.57,2.48,1.05,4.57,2.52,6.27,4.44l-4.41,4.28c-1.19-1.42-2.64-2.52-4.36-3.32-1.72-.8-3.6-1.2-5.64-1.2-3.83,0-6.98,1.26-9.46,3.78-2.48,2.52-3.72,5.77-3.72,9.76s1.23,7.22,3.68,9.74c2.45,2.53,5.53,3.79,9.24,3.79,3.35,0,6.02-.83,8.01-2.5,1.99-1.67,3.23-4.05,3.71-7.15h-9.86v-5.58h16.38c.04.64.05,1.12.05,1.43,0,2.68-.42,5.2-1.26,7.56-.84,2.37-2.02,4.44-3.55,6.21-1.52,1.77-3.45,3.18-5.78,4.21-2.33,1.04-4.89,1.55-7.69,1.55-1.93,0-3.82-.27-5.68-.8-1.85-.53-3.6-1.34-5.24-2.42-1.64-1.08-3.08-2.38-4.31-3.89-1.23-1.52-2.21-3.32-2.92-5.41-.72-2.09-1.08-4.34-1.08-6.75,0-2.76.49-5.34,1.46-7.74.98-2.39,2.32-4.44,4.03-6.13,1.71-1.69,3.78-3.02,6.19-3.99,2.42-.97,5.02-1.45,7.8-1.45" 689 ></path> 690 <polygon class="cls-1" 691 points="231.73 44.43 231.73 50.06 204.59 50.06 204.59 12.85 231.39 12.85 231.39 18.48 210.6 18.48 210.6 28.51 230.67 28.51 230.67 34.14 210.6 34.14 210.6 44.43 231.73 44.43" 692 ></polygon> 693 <polygon class="cls-1" 694 points="277.4 12.85 277.4 50.06 271.98 50.06 251.22 23.14 251.19 50.06 245.18 50.06 245.18 12.85 250.61 12.85 271.4 39.78 271.4 12.85 277.4 12.85" 695 ></polygon> 696 <path class="cls-1" 697 d="m322.3,12.85v22.54c0,2.52-.41,4.76-1.22,6.74-.82,1.98-1.94,3.58-3.38,4.82-1.44,1.24-3.1,2.18-5,2.82-1.9.64-3.96.96-6.19.96s-4.3-.32-6.19-.96c-1.9-.64-3.56-1.58-5-2.82-1.43-1.24-2.56-2.85-3.38-4.82-.82-1.98-1.22-4.22-1.22-6.74V12.85h6.01v22.09c0,3.4.87,5.93,2.62,7.56,1.74,1.64,4.13,2.46,7.16,2.46s5.42-.82,7.17-2.46c1.74-1.64,2.62-4.16,2.62-7.56V12.85h6.01Z" 698 ></path> 699 <rect class="cls-1" x="335.67" y="12.85" width="6.01" height="37.22"></rect> 700 <polygon class="cls-1" 701 points="384.48 12.85 384.48 18.54 372.44 18.54 372.44 50.06 366.43 50.06 366.43 18.54 354.39 18.54 354.39 12.85 384.48 12.85" 702 ></polygon> 703 <polygon class="cls-1" 704 points="419.68 12.85 409.33 29.52 399.02 12.85 391.84 12.85 406.3 34.86 406.3 50.06 412.31 50.06 412.31 34.97 426.67 12.85 419.68 12.85" 705 ></polygon> 706 <path class="cls-1" 707 d="m342.06,4.59c0,1.87-1.51,3.38-3.38,3.38s-3.38-1.51-3.38-3.38,1.51-3.38,3.38-3.38,3.38,1.51,3.38,3.38" 708 ></path> 709 <path class="cls-1" 710 d="m94.57,58.29c0,1.87-1.51,3.38-3.38,3.38s-3.38-1.51-3.38-3.38,1.51-3.38,3.38-3.38,3.38,1.51,3.38,3.38" 711 ></path> 712 <path class="cls-1" 713 d="m237.23,77.6c2.09,0,3.95.96,5.1,2.63l.12.17,2.89-1.93-.11-.17c-1.51-2.5-4.58-4.05-8-4.05-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10c3.29,0,6.25-1.46,7.92-3.91l.12-.17-2.82-2.07-.12.18c-1.17,1.69-2.97,2.62-5.08,2.62-3.81,0-6.48-2.74-6.48-6.65s2.66-6.65,6.48-6.65" 714 ></path> 715 <path class="cls-1" 716 d="m268.15,84.25c0,3.92-2.66,6.65-6.48,6.65s-6.48-2.74-6.48-6.65,2.66-6.65,6.48-6.65,6.48,2.73,6.48,6.65m-6.48-10c-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10,10.1-4.21,10.1-10-4.25-10-10.1-10" 717 ></path> 718 <polygon class="cls-1" 719 points="295.22 74.6 289.87 87.73 284.52 74.6 279.49 74.6 279.49 93.9 282.96 93.9 282.96 79.39 288.12 92.06 291.62 92.06 296.78 79.25 296.78 93.9 300.25 93.9 300.25 74.6 295.22 74.6" 720 ></polygon> 721 <polygon class="cls-1" 722 points="324.72 74.6 319.38 87.73 314.03 74.6 309 74.6 309 93.9 312.47 93.9 312.47 79.39 317.63 92.06 321.13 92.06 326.29 79.25 326.29 93.9 329.76 93.9 329.76 74.6 324.72 74.6" 723 ></polygon> 724 <polygon class="cls-1" 725 points="338.5 74.6 338.5 93.9 352.7 93.9 352.7 90.62 341.98 90.62 341.98 85.83 352.16 85.83 352.16 82.54 341.98 82.54 341.98 77.88 352.53 77.88 352.53 74.6 338.5 74.6" 726 ></polygon> 727 <path class="cls-1" 728 d="m372.22,80.27c0,1.7-1.08,2.5-3.39,2.5h-4.43v-4.89h4.43c2.31,0,3.39.76,3.39,2.39m3.6,0c0-3.66-2.45-5.67-6.9-5.67h-7.98v19.31h3.47v-7.94h1.22l6.02,7.94h4.32l-6.23-7.97c3.72-.27,6.09-2.47,6.09-5.67"
729 ></path> 730 <path class="cls-1" 731 d="m392.55,77.6c2.09,0,3.95.96,5.1,2.63l.12.17,2.89-1.93-.11-.17c-1.51-2.5-4.58-4.05-8-4.05-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10c3.29,0,6.25-1.46,7.92-3.91l.12-.17-2.82-2.07-.12.18c-1.17,1.69-2.97,2.62-5.08,2.62-3.81,0-6.48-2.74-6.48-6.65s2.66-6.65,6.48-6.65" 732 ></path> 733 <polygon class="cls-1" 734 points="408.19 74.6 408.19 93.9 422.38 93.9 422.38 90.62 411.66 90.62 411.66 85.83 421.84 85.83 421.84 82.54 411.66 82.54 411.66 77.88 422.21 77.88 422.21 74.6 408.19 74.6" 735 ></polygon> 736 <path class="cls-1" 737 d="m39.71,21.51c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.93,2.93-2.93,2.93,1.31,2.93,2.93-1.31,2.93-2.93,2.93m2.61,26.42h-5.21v-22.21h5.21v22.21Zm-18.46,0c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.93,2.93-2.93,2.93,1.31,2.93,2.93-1.31,2.93-2.93,2.93m-2.61-32.28h5.21v22.21h-5.21V15.65ZM56.92,6.66C48.03-2.22,15.55-2.22,6.66,6.66-2.22,15.55-2.22,48.03,6.66,56.91c8.88,8.88,41.37,8.88,50.25,0,8.88-8.88,8.88-41.37,0-50.25" 738 ></path> 739</svg> <span class="text-left font-sans text-sm leading-snug font-medium tracking-wide text-gray-600"> 2026 740The Hut.com Ltd. </span> </div> </div> </nav> </div> </dialog> <!-- Dynamic CSS injected using set:html --> <style is:global> 741/* Dynamic CSS for breadcrumb visibility */ 742 743 /* Breadcrumb visibility for level-1 */ 744 #level-1:checked ~ .nav-header .crumb[for="level-1"] { 745 display: flex; 746 opacity: 1; 747 } 748 749 #level-1:checked ~ .nav-header .crumb[for="level-root"] { 750 display: flex; 751 opacity: 1; 752 } 753 #level-1:checked ~ .nav-header .back-arrow { 754 display: flex; 755 opacity: 1; 756 } 757 /* Only show separator AFTER the root item */ 758 #level-1:checked ~ .nav-header .crumb[for="level-root"] + .separator { 759 display: flex; 760 opacity: 1; 761 } 762 763 /* Breadcrumb visibility for level-2 */ 764 #level-2:checked ~ .nav-header .crumb[for="level-2"] { 765 display: flex; 766 opacity: 1; 767 } 768 769 #level-2:checked ~ .nav-header .crumb[for="level-root"] { 770 display: flex; 771 opacity: 1; 772 } 773 #level-2:checked ~ .nav-header .back-arrow { 774 display: flex; 775 opacity: 1; 776 } 777 /* Only show separator AFTER the root item */ 778 #level-2:checked ~ .nav-header .crumb[for="level-root"] + .separator { 779 display: flex; 780 opacity: 1; 781 } 782 783 /* Breadcrumb visibility for level-3 */ 784 #level-3:checked ~ .nav-header .crumb[for="level-3"] { 785 display: flex; 786 opacity: 1; 787 } 788 789 #level-3:checked ~ .nav-header .crumb[for="level-root"] { 790 display: flex; 791 opacity: 1; 792 } 793 #level-3:checked ~ .nav-header .back-arrow { 794 display: flex; 795 opacity: 1; 796 } 797 /* Only show separator AFTER the root item */ 798 #level-3:checked ~ .nav-header .crumb[for="level-root"] + .separator { 799 display: flex; 800 opacity: 1; 801 } 802 803 /* Breadcrumb visibility for level-5 */ 804 #level-5:checked ~ .nav-header .crumb[for="level-5"] { 805 display: flex; 806 opacity: 1; 807 } 808 809 #level-5:checked ~ .nav-header .crumb[for="level-root"] { 810 display: flex; 811 opacity: 1; 812 } 813 #level-5:checked ~ .nav-header .back-arrow { 814 display: flex; 815 opacity: 1; 816 } 817 /* Only show separator AFTER the root item */ 818 #level-5:checked ~ .nav-header .crumb[for="level-root"] + .separator { 819 display: flex; 820 opacity: 1; 821 } 822 823/* Dynamic CSS for menu level visibility */ 824 825/* Level 1 visibility */ 826#level-1:checked ~ .nav-content .menu-level[data-depth='2'][data-parent='1'] { 827 visibility: visible; 828 transform: translateX(0); 829 opacity: 1; 830 pointer-events: auto; 831} 832 833#level-1:checked ~ .nav-content .menu-level[data-depth='1'] { 834 transform: translateX(-100%); 835 opacity: 0; 836 visibility: hidden; 837 pointer-events: none; 838} 839 840/* Level 2 visibility */ 841#level-2:checked ~ .nav-content .menu-level[data-depth='2'][data-parent='2'] { 842 visibility: visible; 843 transform: translateX(0); 844 opacity: 1; 845 pointer-events: auto; 846} 847 848#level-2:checked ~ .nav-content .menu-level[data-depth='1'] { 849 transform: translateX(-100%); 850 opacity: 0; 851 visibility: hidden; 852 pointer-events: none; 853} 854 855/* Level 3 visibility */ 856#level-3:checked ~ .nav-content .menu-level[data-depth='2'][data-parent='3'] { 857 visibility: visible; 858 transform: translateX(0); 859 opacity: 1; 860 pointer-events: auto; 861} 862 863#level-3:checked ~ .nav-content .menu-level[data-depth='1'] { 864 transform: translateX(-100%); 865 opacity: 0; 866 visibility: hidden; 867 pointer-events: none; 868} 869 870/* Level 5 visibility */ 871#level-5:checked ~ .nav-content .menu-level[data-depth='2'][data-parent='5'] { 872 visibility: visible; 873 transform: translateX(0); 874 opacity: 1; 875 pointer-events: auto; 876} 877 878#level-5:checked ~ .nav-content .menu-level[data-depth='1'] { 879 transform: translateX(-100%); 880 opacity: 0; 881 visibility: hidden; 882 pointer-events: none; 883} 884 885</style> <!-- Breadcrumb data for JS -->
885<script>(function(){const serializedBreadcrumbs = "[{\"id\":\"root\",\"label\":\"All\",\"depth\":0},{\"id\":\"1\",\"label\":\"HYROX Shoes\",\"depth\":1},{\"id\":\"2\",\"label\":\"Men\",\"depth\":1},{\"id\":\"3\",\"label\":\"Women\",\"depth\":1},{\"id\":\"5\",\"label\":\"Accessories\",\"depth\":1}]"; 886 887 window.navigationBreadcrumbData = JSON.parse(serializedBreadcrumbs); 888})();</script>
888
888<script type="module" src="/ssr-assets/MobileNavigationMenu.astro_astro_type_script_index_0_lang.D8BGnW7P.js"></script>
888 </div> <div class="hidden lg:block desktop-nav-bar"> <nav id="main-nav" class="skin-navigation text-body sticky top-0 z-[10] h-12 w-full overflow-y-visible" data-nav-initialized="false" data-astro-cid-zafnspx5> <div class="relative container h-full w-full" data-astro-cid-zafnspx5> <ul class="navigation-items-list flex h-full w-full items-center justify-center overflow-hidden" role="list" data-astro-cid-zafnspx5> <li id="nav-item-0" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer skin-nav-promotion" data-nav-item="nav-item-0" data-astro-cid-zafnspx5> <div id="nav-container-0" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] cursor-pointer" data-nav-container="nav-container-0" data-astro-cid-zafnspx5> <a id="nav-link-0" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="New Season" data-nav-link="nav-link-0" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/ah26/view-all/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>New Season</span> </a> </div> </li><li id="nav-item-1" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer" data-nav-item="nav-item-1" data-astro-cid-zafnspx5> <div id="nav-container-1" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] cursor-pointer" data-nav-container="nav-container-1" data-astro-cid-zafnspx5> <a id="nav-link-1" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="HYROX Shoes" data-nav-link="nav-link-1" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/running-shoes/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>HYROX Shoes</span> </a> <button id="nav-button-1" class="mega-menu-container:focus-within:opacity-0 pointer-events-none absolute right-0 mr-[7px] overflow-hidden pt-[2px] whitespace-nowrap opacity-0 group-focus-within/container:pointer-events-auto group-focus-within/container:opacity-100 focus:translate-x-[2px] focus:border-2 focus:outline-none" aria-expanded="false" aria-controls="mega-menu-1-container" aria-haspopup="true" data-dropdown-toggle aria-label="Open HYROX Shoes submenu" data-astro-cid-zafnspx5> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-zafnspx5="true" aria-hidden="true"> 889 <path stroke-linecap="round" 890 stroke-linejoin="round" 891 d="M19 9l-7 7-7-7" 892 ></path> 893</svg> </button> </div> <div id="mega-menu-1-container" class="mega-menu-container group/megamenu pointer-events-auto absolute top-[100%] right-0 left-0 w-[100%] max-w-[1356px] origin-top cursor-default focus:outline-none" data-mega-menu-container="mega-menu-1-container" data-state="closed" tabindex="-1" data-mega-menu="mega-menu-1" data-parent-nav="nav-item-1" aria-label="HYROX Shoes submenu. Press the escape key to close the submenu" data-astro-cid-zafnspx5> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-inner-container" class="w-full skin-mega-menu-light overflow-x-hidden px-6 rounded-b-site shadow-site group-focus-visible/megamenu:not-focus-visible:outline-2 -outline-offset-8 outline-radius-8" data-menu-type="TEXT"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-content" class="space-6 mx-auto flex max-w-[1304px]"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main" role="group" class="my-6 min-w-0 flex-1"> <ul> <div class="grid gap-4" style="grid-template-columns: repeat(6, minmax(0, 1fr))"> <li id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-item-0"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-section-0"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/">View All</a> </div> </div> </li><li id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-item-1"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-section-1"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/deviate-elite/">Discover Deviate Elite HYROX</a> </div> </div> </li><li id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-item-2"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-section-2"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/men/">Men's Shoes</a> </div> </div> </li><li id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-item-3"> <div id="mega-menu-18e6168d-2fc6-475e-a11a-9a2bfebd32ca-main-section-3"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/women/">Women's Shoes</a> </div> </div> </li> </div> </ul> </div> </div> </div> <div class="pointer-events-none absolute top-0 bottom-[-100vh] left-[50%] z-[-1] w-[calc(var(--vw,1vw)*100)] translate-x-[-50%] bg-black opacity-20" data-astro-cid-zafnspx5></div> </div> </li><li id="nav-item-2" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer" data-nav-item="nav-item-2" data-astro-cid-zafnspx5> <div id="nav-container-2" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] curs
893or-pointer" data-nav-container="nav-container-2" data-astro-cid-zafnspx5> <a id="nav-link-2" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="Men" data-nav-link="nav-link-2" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/men/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>Men</span> </a> <button id="nav-button-2" class="mega-menu-container:focus-within:opacity-0 pointer-events-none absolute right-0 mr-[7px] overflow-hidden pt-[2px] whitespace-nowrap opacity-0 group-focus-within/container:pointer-events-auto group-focus-within/container:opacity-100 focus:translate-x-[2px] focus:border-2 focus:outline-none" aria-expanded="false" aria-controls="mega-menu-2-container" aria-haspopup="true" data-dropdown-toggle aria-label="Open Men submenu" data-astro-cid-zafnspx5> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-zafnspx5="true" aria-hidden="true"> 894 <path stroke-linecap="round" 895 stroke-linejoin="round" 896 d="M19 9l-7 7-7-7" 897 ></path> 898</svg> </button> </div> <div id="mega-menu-2-container" class="mega-menu-container group/megamenu pointer-events-auto absolute top-[100%] right-0 left-0 w-[100%] max-w-[1356px] origin-top cursor-default focus:outline-none" data-mega-menu-container="mega-menu-2-container" data-state="closed" tabindex="-1" data-mega-menu="mega-menu-2" data-parent-nav="nav-item-2" aria-label="Men submenu. Press the escape key to close the submenu" data-astro-cid-zafnspx5> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-inner-container" class="w-full skin-mega-menu-light overflow-x-hidden px-6 rounded-b-site shadow-site group-focus-visible/megamenu:not-focus-visible:outline-2 -outline-offset-8 outline-radius-8" data-menu-type="TEXT"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-content" class="space-6 mx-auto flex max-w-[1304px]"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main" role="group" class="my-6 min-w-0 flex-1"> <ul> <div class="grid gap-4" style="grid-template-columns: repeat(6, minmax(0, 1fr))"> <li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-0"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-0"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/">View All</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-1"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-1"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/ah26/men/">New Arrivals</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-2"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-2"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/men/">Men's Shoes</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-3"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-3"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/sports-jackets/">Sports Jackets</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-4"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-4"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/sweatshirts-hoodies/">Sweatshirts & Hoodies</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-5"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-5"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/tops/">T-Shirts & Tops</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-6"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-6"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/shorts/">Shorts</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-7"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-7"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/men/joggers-bottoms/">Joggers & Bottoms</a> </div> </div> </li><li id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-item-8"> <div id="mega-menu-00697915-4c5c-46e8-bee5-85eadfe85185-main-section-8"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/sale/menswear/">Sale</a> </div> </div> </li> </div> </ul> </div> </div> </div> <div class="pointer-events-none absolute top-0 bottom-[-100vh] left-[50%] z-[-1] w-[calc(var(--vw,1vw)*100)] translate-x-[-50%] bg-black opacity-20" data-astro-cid-zafnspx5></div> </div> </li><li id="nav-item-3" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer" data-nav-item="nav-item-3" data-astro-cid-zafnspx5> <div id="nav-container-3" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] curs
898or-pointer" data-nav-container="nav-container-3" data-astro-cid-zafnspx5> <a id="nav-link-3" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="Women" data-nav-link="nav-link-3" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/women/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>Women</span> </a> <button id="nav-button-3" class="mega-menu-container:focus-within:opacity-0 pointer-events-none absolute right-0 mr-[7px] overflow-hidden pt-[2px] whitespace-nowrap opacity-0 group-focus-within/container:pointer-events-auto group-focus-within/container:opacity-100 focus:translate-x-[2px] focus:border-2 focus:outline-none" aria-expanded="false" aria-controls="mega-menu-3-container" aria-haspopup="true" data-dropdown-toggle aria-label="Open Women submenu" data-astro-cid-zafnspx5> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-zafnspx5="true" aria-hidden="true"> 899 <path stroke-linecap="round" 900 stroke-linejoin="round" 901 d="M19 9l-7 7-7-7" 902 ></path> 903</svg> </button> </div> <div id="mega-menu-3-container" class="mega-menu-container group/megamenu pointer-events-auto absolute top-[100%] right-0 left-0 w-[100%] max-w-[1356px] origin-top cursor-default focus:outline-none" data-mega-menu-container="mega-menu-3-container" data-state="closed" tabindex="-1" data-mega-menu="mega-menu-3" data-parent-nav="nav-item-3" aria-label="Women submenu. Press the escape key to close the submenu" data-astro-cid-zafnspx5> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-inner-container" class="w-full skin-mega-menu-light overflow-x-hidden px-6 rounded-b-site shadow-site group-focus-visible/megamenu:not-focus-visible:outline-2 -outline-offset-8 outline-radius-8" data-menu-type="TEXT"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-content" class="space-6 mx-auto flex max-w-[1304px]"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main" role="group" class="my-6 min-w-0 flex-1"> <ul> <div class="grid gap-4" style="grid-template-columns: repeat(6, minmax(0, 1fr))"> <li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-0"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-0"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/">View All</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-1"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-1"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/ah26/women/">New Arrivals</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-2"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-2"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/running-shoes/women/">Women's Shoes</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-3"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-3"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/sports-jackets/">Sports Jackets</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-4"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-4"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/sweatshirts-hoodies/">Sweatshirts & Hoodies</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-5"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-5"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/tops/">T-Shirts & Tops</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-6"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-6"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/sports-bras/">Sports Bras</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-7"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-7"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/shorts/">Shorts</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-8"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-8"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/women/leggings-bottoms/">Leggings & Bottoms</a> </div> </div> </li><li id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-item-9"> <div id="mega-menu-9abb3ca7-e940-4f7d-a152-62742f854daa-main-section-9"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/sale/womenswear/">Sale</a> </div> </div> </li> </div> </ul> </div> </div> </div> <div class="pointer-events-none absolute top-0 bottom-[-100vh] left-[50%] z-[-1] w-[calc(var(--vw,1vw)*100)] translate-x-[-50%] bg-black opacity-20" data-astro-cid-zafnspx5></div> </div> </li><li id="nav-item-4" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer" data-nav-item="nav-item-4" data-astro-cid-zafnspx5> <div id="nav-container-4" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] curs
903or-pointer" data-nav-container="nav-container-4" data-astro-cid-zafnspx5> <a id="nav-link-4" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="Kids" data-nav-link="nav-link-4" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/kids/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>Kids</span> </a> </div> </li><li id="nav-item-5" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer" data-nav-item="nav-item-5" data-astro-cid-zafnspx5> <div id="nav-container-5" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] cursor-pointer" data-nav-container="nav-container-5" data-astro-cid-zafnspx5> <a id="nav-link-5" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="Accessories" data-nav-link="nav-link-5" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/accessories/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>Accessories</span> </a> <button id="nav-button-5" class="mega-menu-container:focus-within:opacity-0 pointer-events-none absolute right-0 mr-[7px] overflow-hidden pt-[2px] whitespace-nowrap opacity-0 group-focus-within/container:pointer-events-auto group-focus-within/container:opacity-100 focus:translate-x-[2px] focus:border-2 focus:outline-none" aria-expanded="false" aria-controls="mega-menu-5-container" aria-haspopup="true" data-dropdown-toggle aria-label="Open Accessories submenu" data-astro-cid-zafnspx5> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-3 w-3 stroke-current" data-astro-cid-zafnspx5="true" aria-hidden="true"> 904 <path stroke-linecap="round" 905 stroke-linejoin="round" 906 d="M19 9l-7 7-7-7" 907 ></path> 908</svg> </button> </div> <div id="mega-menu-5-container" class="mega-menu-container group/megamenu pointer-events-auto absolute top-[100%] right-0 left-0 w-[100%] max-w-[1356px] origin-top cursor-default focus:outline-none" data-mega-menu-container="mega-menu-5-container" data-state="closed" tabindex="-1" data-mega-menu="mega-menu-5" data-parent-nav="nav-item-5" aria-label="Accessories submenu. Press the escape key to close the submenu" data-astro-cid-zafnspx5> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-inner-container" class="w-full skin-mega-menu-light overflow-x-hidden px-6 rounded-b-site shadow-site group-focus-visible/megamenu:not-focus-visible:outline-2 -outline-offset-8 outline-radius-8" data-menu-type="TEXT"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-content"
908class="space-6 mx-auto flex max-w-[1304px]"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main" role="group" class="my-6 min-w-0 flex-1"> <ul> <div class="grid gap-4" style="grid-template-columns: repeat(6, minmax(0, 1fr))"> <li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-0"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-0"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/">View All</a> </div> </div> </li><li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-1"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-1"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/new-in/">New Arrivals</a> </div> </div> </li><li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-2"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-2"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/caps-beanies/">Headwear</a> </div> </div> </li><li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-3"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-3"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/backpacks/">Bags</a> </div> </div> </li><li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-4"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-4"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/equipment/">Equipment</a> </div> </div> </li><li id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-item-5"> <div id="mega-menu-cba31911-273b-4c19-9f99-873029d15cef-main-section-5"> <div> <a class="skin-navigation-text-item flex w-full items-center justify-between px-2 mb-2 font-bold py-2 navigation-mega-menu-text-item-heading interactive rounded-site" data-astro-prefetch="false" data-mega-menu-link="true" href="/c/accessories/training-accessories/">Training Accessories</a> </div> </div> </li> </div> </ul> </div> </div> </div> <div class="pointer-events-none absolute top-0 bottom-[-100vh] left-[50%] z-[-1] w-[calc(var(--vw,1vw)*100)] translate-x-[-50%] bg-black opacity-20" data-astro-cid-zafnspx5></div> </div> </li><li id="nav-item-6" class="interactive group/heading static flex h-full min-w-0 flex-shrink flex-grow items-center focus-within:bg-[var(--color-background-hover)] focus-within:text-[var(--color-foreground-hover)] cursor-pointer skin-nav-sale" data-nav-item="nav-item-6" data-astro-cid-zafnspx5> <div id="nav-container-6" class="group/container nav-container relative flex h-12 w-full min-w-0 items-center py-2 focus-within:outline-2 focus-within:outline-offset-[-4px] cursor-pointer" data-nav-container="nav-container-6" data-astro-cid-zafnspx5> <a id="nav-link-6" class="nav-link relative flex w-full cursor-pointer items-center py-1 focus:outline-none" target="_self" rel aria-label="Sale" data-nav-link="nav-link-6" data-astro-prefetch="hover" data-astro-cid-zafnspx5="true" href="/c/sale/"> <span class="desktop-nav-text truncate" data-astro-cid-zafnspx5>Sale</span> </a> </div> </li> </ul> </div> </nav>
908<script type="module">const S=()=>{let o=!1,a=!1,r=!1;const c=()=>{document.querySelectorAll("[data-nav-item]").forEach(t=>{t.style.pointerEvents="none"})},u=()=>{if(o)return;document.querySelectorAll("[data-nav-item]").forEach(t=>{t.style.pointerEvents=""})},p=e=>Array.from(e.querySelectorAll('a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])')).filter(t=>{const n=t;return!n.hasAttribute("disabled")&&!n.getAttribute("aria-hidden")&&n.offsetParent!==null}),f=(e,t,n=!1)=>{const s=e.closest("li");s&&(s.style.pointerEvents="none",t.style.visibility="hidden",t.style.opacity="0",t.style.pointerEvents="none",e.setAttribute("aria-expanded","false"),t.setAttribute("data-state","closed"),n&&e.focus(),s.style.pointerEvents="",t.style.removeProperty("visibility"),t.style.removeProperty("opacity"),t.style.removeProperty("pointer-events")),a&&(a=!1,o||u(),v())},h=()=>{r||(document.addEventListener("keydown",g),document.addEventListener("mousedown",E),r=!0)},v=()=>{r&&(document.removeEventListener("keydown",g),document.removeEventListener("mousedown",E),r=!1)},E=()=>{o=!1,d(!1),a||u()},b=(e,t=!1)=>{const n=e.getAttribute("aria-controls"),s=document.getElementById(n);if(!s)return;if(e.getAttribute("aria-expanded")==="true")f(e,s),t&&(a=!1,u()),v();else{if(t){a=!0,c();const i=e.closest("li");i&&(i.style.pointerEvents="")}e.setAttribute("aria-expanded","true"),s.setAttribute("data-state","open"),s.style.visibility="visible",s.style.opacity="1",s.style.pointerEvents="auto",requestAnimationFrame(()=>{p(s)[0]?.focus({preventScroll:!0})}),h()}},g=e=>{const t=document.querySelector('.mega-menu-container[data-state="open"]');if(!t){v();return}if(e.key==="Tab")A(e);else if(e.key==="Escape"){const n=document.querySelector(`[aria-controls="${t.id}"]`);n&&(e.preventDefault(),e.stopPropagation(),f(n,t,!0))}else(e.key===" "||e.key==="Enter")&&e.target.hasAttribute("data-dropdown-toggle")&&(e.preventDefault(),b(e.target,!0))},A=e=>{const t=document.querySelector('.mega-menu-container[data-state="open"]');if(!t)return;if(!o&&!a){o=!0,a=!0,d(!0),c();const i=document.querySelector(`[aria-controls="${t.id}"]`);if(i){const y=i.closest("li");y&&(y.style.pointerEvents="")}return}const n=p(t);if(!n.length)return;const s=n[0],l=n[n.length-1];e.shiftKey&&document.activeElement===s?(e.preventDefault(),l.focus()):!e.shiftKey&&document.activeElement===l&&(e.preventDefault(),s.focus())},d=e=>{document.querySelectorAll("[data-nav-item]").forEach(n=>{n.setAttribute("data-keyboard-active",e.toString())})},L=e=>{const t=e.target,n=t.closest("[data-nav-item]"),s=t.hasAttribute("data-nav-link"),l=t.hasAttribute("data-dropdown-toggle");if(n||s||l){o=!0,d(!0),c();const i=t.closest("[data-nav-item]");i&&(i.style.pointerEvents="")}},I=e=>{const t=e.relatedTarget;(!t||!t.closest("#main-nav"))&&(o=!1,d(!1),a||u())};document.addEventListener("click",e=>{const t=e.target;if(t.hasAttribute("data-dropdown-toggle")){e.preventDefault(),b(t,!1);return}const n=document.querySelector('.mega-menu-container[data-state="open"]');if(n){const s=!n.contains(t),l=document.querySelector(`[aria-controls="${n.id}"]`);s&&!l?.contains(t)&&(f(l,n,!0),a&&(a=!1,o||u()))}});const m=document.getElementById("main-nav");m&&(m.addEventListener("focusin",L),m.addEventListener("focusout",I))};S();const k=()=>{const o=document.getElementById("main-nav");document.querySelectorAll("[data-nav-item]").forEach(r=>{if(r.matches(":hover")){r.setAttribute("data-initial-hover","true");const c=()=>{r.removeAttribute("data-initial-hover"),r.removeEventListener("mouseleave",c)};r.addEventListener("mouseleave",c,{once:!0})}}),setTimeout(()=>{o?.setAttribute("data-nav-initialized","true")},50)};document.addEventListener("DOMContentLoaded",k,{once:!0});</script>
908 </div> </div> <main id="main-content" tabindex="-1" class="flex-grow" style="padding-top: var(--header-height);" data-astro-cid-vnpofkb5> <div id="responsive-usp" class="skin-usp-banner scrollbar-hide relative w-full overflow-x-auto border-t py-3 pb-6 lg:pb-4" data-astro-cid-rchrrkyz> <div class="gutter" data-astro-cid-rchrrkyz> <div class="responsiveUsp_slider scrollbar-hide container mx-auto flex items-center overflow-x-auto text-center text-xs lg:justify-center lg:gap-6" data-astro-cid-rchrrkyz> <a href="/c/delivery-information/" class="responsiveUsp_link usp-item delivery-order flex flex-[0_0_100%] items-center justify-center gap-3 lg:flex-initial" data-astro-cid-rchrrkyz> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6" data-astro-cid-rchrrkyz="true" aria-hidden="true"> 909 <g id="delivery-svg" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 910 <g id="delivey-inner-svg" fill="#333333" fill-rule="nonzero"> 911 <path d="M15.9694148,4 L15.9694148,6.00193404 C18.0458162,5.99103332 19.3147282,5.98437177 19.7761507,5.98194939 L19.9519307,5.98102658 C19.966579,5.98094968 19.9739032,5.98091123 19.9739032,5.98091123 C19.9739032,5.98091123 20.8012768,7.36007457 22.4560241,10.1184012 L22.7980052,10.6884554 L22.7980052,10.6884554 L22.9772694,10.9872742 L23,18.0240497 L21.8453507,18.0140325 C21.3946332,19.7323908 19.8311569,21 17.971659,21 C16.1060027,21 14.5383319,19.7239805 14.0935258,17.9969446 L9.8363272,17.9969446 C9.39152112,19.7239805 7.82385033,21 5.958194,21 C4.09253767,21 2.52486688,19.7239805 2.0800608,17.9969446 L1,17.9961822 L1,4 L15.9694148,4 Z M5.958194,14.9923645 C4.85238508,14.9923645 3.95594983,15.8889345 3.95594983,16.9949097 C3.95594983,18.1008848 4.85238508,18.9974548 5.958194,18.9974548 C7.06400292,18.9974548 7.96043817,18.1008848 7.96043817,16.9949097 C7.96043817,15.8889345 7.06400292,14.9923645 5.958194,14.9923645 Z M17.971659,14.9923645 C16.8658501,14.9923645 15.9694148,15.8889345 15.9694148,16.9949097 C15.9694148,18.1008848 16.8658501,18.9974548 17.971659,18.9974548 C19.0774679,18.9974548 19.9739032,18.1008848 19.9739032,16.9949097 C19.9739032,15.8889345 19.0774679,14.9923645 17.971659,14.9923645 Z M18.9727811,7.9834564 L14.9682928,7.9834564 L14.9682928,11.9885467 L20.9750253,11.9885467 L20.9750253,10.9872742 L18.9727811,7.9834564 Z" id="delivery-path"></path> 912 </g> 913 </g> 914</svg> <span class="usp-item-text text-xs" data-astro-cid-rchrrkyz>Free Standard Delivery on orders over £100 (Exclusions Apply*)</span> </a><a href="/email-sign-up/" class="responsiveUsp_link usp-item email-
914order flex flex-[0_0_100%] items-center justify-center gap-3 lg:flex-initial" data-astro-cid-rchrrkyz> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" class="w-6 h-6" data-astro-cid-rchrrkyz="true" aria-hidden="true"> 915 <path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75" ></path> 916</svg> <span class="usp-item-text text-xs" data-astro-cid-rchrrkyz>Sign up and get 10% off your first order</span> </a><a href="/c/myreferrals/" class="responsiveUsp_link usp-item rewardPoints-order flex flex-[0_0_100%] items-center justify-center gap-3 lg:flex-initial" data-astro-cid-rchrrkyz> <svg width="39" height="40" xmlns="http://www.w3.org/2000/svg" data-astro-cid-rchrrkyz="true" aria-hidden="true"> 917 <path d="M21.45 28c3.23 0 5.85-2.686 5.85-6s-2.62-6-5.85-6c-3.23 0-5.85 2.686-5.85 6s2.62 6 5.85 6zm0 2c-4.308 0-7.8-3.582-7.8-8s3.492-8 7.8-8 7.8 3.582 7.8 8-3.492 8-7.8 8z"></path> 918 <path d="M15.732 26.782c-3.43-.84-5.982-4.006-5.982-7.782 0-4.418 3.492-8 7.8-8 2.814 0 5.28 1.529 6.652 3.82l-1.662 1.047C21.482 14.098 19.61 13 17.55 13c-3.23 0-5.85 2.686-5.85 6 0 2.792 1.875 5.197 4.485 5.836l-.453 1.946zM22.425 18h1.95l-3.9 8h-1.95z"></path> 919</svg> <span class="usp-item-text text-xs" data-astro-cid-rchrrkyz>Refer a friend and earn £10</span> </a><a href="/c/returns-policy/" class="responsiveUsp_link usp-item returns-order flex flex-[0_0_100%] items-center justify-center gap-3 lg:flex-initial" data-astro-cid-rchrrkyz> <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" fill="#000000" viewBox="0 0 256 256" data-astro-cid-rchrrkyz="true" aria-hidden="true"> <path d="M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.34,44-29.77,16.3-80.35-44ZM128,120,47.66,76l33.9-18.56,80.34,44ZM40,90l80,43.78v85.79L40,175.82Zm176,85.78h0l-80,43.79V133.82l32-17.51V152a8,8,0,0,0,16,0V107.55L216,90v85.77Z"></path></svg> <span class="usp-item-text text-xs" data-astro-cid-rchrrkyz>28-day returns</span> </a><a href="/" class="responsiveUsp_link usp-item store-order flex flex-[0_0_100%] items-center justify-center gap-3 lg:flex-initial" data-astro-cid-rchrrkyz> <svg width="20px" height="20px" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 20" class="sc-hrPIyr dauvbd" data-astro-cid-rchrrkyz="true" aria-hidden="true"> <path d="M11.125 7.5C11.125 9.25781 9.71875 10.625 8 10.625C6.24219 10.625 4.875 9.25781 4.875 7.5C4.875 5.78125 6.24219 4.375 8 4.375C9.71875 4.375 11.125 5.78125 11.125 7.5ZM8 9.375C9.01562 9.375 9.875 8.55469 9.875 7.5C9.875 6.48438 9.01562 5.625 8 5.625C6.94531 5.625 6.125 6.48438 6.125 7.5C6.125 8.55469 6.94531 9.375 8 9.375ZM15.5 7.5C15.5 10.9375 10.9297 16.9922 8.89844 19.5312C8.42969 20.1172 7.53125 20.1172 7.0625 19.5312C5.03125 16.9922 0.5 10.9375 0.5 7.5C0.5 3.35938 3.82031 0 8 0C12.1406 0 15.5 3.35938 15.5 7.5ZM8 1.25C4.52344 1.25 1.75 4.0625 1.75 7.5C1.75 8.125 1.94531 8.94531 2.375 10C2.80469 11.0156 3.39062 12.1094 4.09375 13.2031C5.42188 15.3516 6.98438 17.4219 8 18.6719C8.97656 17.4219 10.5391 15.3516 11.8672 13.2031C12.5703 12.1094 13.1562 11.0156 13.5859 10C14.0156 8.94531 14.25 8.125 14.25 7.5C14.25 4.0625 11.4375 1.25 8 1.25Z"></path></svg> <span class="usp-item-text text-xs" data-astro-cid-rchrrkyz>Official HYROX Store</span> </a> </div> </div> <!-- Mobile Navigation Dots --> <div class="responsiveUsp_nav absolute bottom-2 left-1/2 -translate-x-1/2 transform gap-2 lg:hidden" data-astro-cid-rchrrkyz></div> <!-- Mobile Play/Pause Button --> <button class="responsiveUsp_playPause absolute top-1/2 right-1 h-8 w-8 -translate-y-1/2 transform items-center justify-center rounded bg-transparent lg:hidden" aria-label="Pause" data-astro-cid-rchrrkyz> <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="responsiveUsp_playIcon hidden h-4 w-4 text-black" data-astro-cid-rchrrkyz="true" aria-hidden="true"> 920 <path d="M8 5v14l11-7z"></path> 921</svg> <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" class="responsiveUsp_pauseIcon h-4 w-4 text-black" data-astro-cid-rchrrkyz="true" aria-hidden="true"> 922 <path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"></path> 923</svg> </button> </div>
923<script>(function(){const PLAY_LABEL = "Play"; 924const PAUSE_LABEL = "Pause"; 925 926 class CountdownTimer extends HTMLElement { 927 targetTime; 928 interval; 929 930 constructor() { 931 super(); 932 this.targetTime = parseInt(this.dataset?.targettime || '0', 10); 933 this.interval = null; 934 } 935 936 connectedCallback() { 937 if (this.targetTime) { 938 this.updateCountdown(); 939 this.interval = window.setInterval(() => this.updateCountdown(), 1000); 940 } 941 } 942 943 disconnectedCallback() { 944 if (this.interval) { 945 clearInterval(this.interval); 946 } 947 } 948 949 updateCountdown() { 950 const now = new Date().getTime(); 951 const timeLeft = this.targetTime - now; 952 953 const display = this.querySelector('[data-countdown-display]'); 954 if (!display) return; 955 956 if (timeLeft <= 0) { 957 this.classList.add('hidden'); 958 if (this.interval) clearInterval(this.interval); 959 return; 960 } 961 962 const hours = Math.floor(timeLeft / (1000 * 60 * 60)); 963 const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60)); 964 const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000); 965 966 display.textContent = `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`; 967 } 968 } 969 970 customElements.get('uspbar-countdown-timer') || 971 customElements.define('uspbar-countdown-timer', CountdownTimer); 972 973 const AUTOMOVE_TIMEOUT = 3000; 974 const INTERACTION_TIMEOUT = 5000; 975 976 const _touch = { 977 startX: 0, 978 history: [], 979 historyMaxLength: 5, 980 threshold: 1, 981 }; 982 983 const comp = { 984 element: null, 985 slider: null, 986 links: [], 987 nav: null, 988 navDots: [], 989 playPauseBtn: null, 990 playIcon: null, 991 pauseIcon: null, 992 current: -1, 993 timeout: null, 994 isPlaying: true, 995 isMobile: false, 996 }; 997 998 const _classes = { 999 navDot: 'responsiveUsp_navDot', 1000 navDotActive: 'responsiveUsp_navDot-active', 1001 sliderTransitioned: 'responsiveUsp_slider-transitioned', 1002 }; 1003 1004 const _select = { 1005 slider: '.responsiveUsp_slider', 1006 link: '.responsiveUsp_link', 1007 nav: '.responsiveUsp_nav', 1008 playPause: '.responsiveUsp_playPause', 1009 playIcon: '.responsiveUsp_playIcon', 1010 pauseIcon: '.responsiveUsp_pauseIcon', 1011 }; 1012 1013 /** 1014 * Init 1015 */ 1016 comp.init = function () { 1017 comp.element = document.getElementById('responsive-usp'); 1018 if (!comp.element) return; 1019 1020 comp.slider = comp.element.querySelector(_select.slider); 1021 comp.nav = comp.element.querySelector(_select.nav); 1022 comp.links = [...comp.element.querySelectorAll(_select.link)]; 1023 comp.playPauseBtn = comp.element.querySelector(_select.playPause); 1024 comp.playIcon = comp.element.querySelector(_select.playIcon); 1025 comp.pauseIcon = comp.element.querySelector(_select.pauseIcon); 1026 1027 comp.checkMobile(); 1028 comp.build(); 1029 comp.bind(); 1030 1031 if (comp.isMobile && comp.links.length > 0) { 1032 // Initialize to first item 1033 comp.current = 0; 1034 if (comp.navDots.length > 0) { 1035 comp.navDots[0].classList.add(_classes.navDotActive); 1036 } 1037 comp.automove(false); 1038 } 1039 }; 1040 1041 /** 1042 * Check if mobile 1043 */ 1044 comp.checkMobile = function () { 1045 comp.isMobile = window.innerWidth < 1024; 1046 }; 1047 1048 /** 1049 * Builds nav dots for mobile 1050 */ 1051 comp.build = function () { 1052 if (comp.isMobile && comp.links.length > 0) { 1053 // Clear existing dots 1054 comp.nav.innerHTML = ''; 1055 1056 comp.navDots = comp.links.map((_, index) => { 1057 const el = document.createElement('div'); 1058 el.className = _classes.navDot; 1059 el.addEventListener('click', () => comp.navigate(index)); 1060 comp.nav.appendChild(el); 1061 return el; 1062 }); 1063 } 1064 }; 1065 1066 /** 1067 * Binds event listeners 1068 */ 1069 comp.bind = function () { 1070 if (comp.isMobile) { 1071 comp.slider.addEventListener('touchstart', comp.touchstart, { 1072 passive: true, 1073 }); 1074 comp.slider.addEventListener('touchmove', comp.touchmove, { 1075 passive: false, 1076 }); 1077 comp.slider.addEventListener('touchend', comp.touchend, { 1078 passive: true, 1079 }); 1080 1081 if (comp.playPauseBtn) { 1082 comp.playPauseBtn.addEventListener('click', comp.togglePlayPause); 1083 } 1084 } 1085 1086 window.addEventListener('resize', debounce(comp.handleResize, 100)); 1087 }; 1088 1089 /** 1090 * Handle resize 1091 */ 1092 comp.handleResize = function () { 1093 const wasMobile = comp.isMobile; 1094 comp.checkMobile(); 1095 1096 if (wasMobile !== comp.isMobile) { 1097 comp.cleanup(); 1098 comp.build(); 1099 comp.bind(); 1100 1101 if (comp.isMobile && comp.links.length > 0) { 1102 // Initialize to first item 1103 comp.current = 0; 1104 if (comp.navDots.length > 0) { 1105 comp.navDots[0].classList.add(_classes.navDotActive); 1106 } 1107 comp.automove(false); 1108 } 1109 } 1110 }; 1111 1112 /** 1113 * Cleanup 1114 */ 1115 comp.cleanup = function () { 1116 if (comp.timeout) { 1117 clearTimeout(comp.timeout); 1118 comp.timeout = null; 1119 } 1120 1121 if (comp.nav) { 1122 comp.nav.innerHTML = ''; 1123 } 1124 1125 comp.navDots = []; 1126 }; 1127 1128 /** 1129 * Navigates to specified index 1130 */ 1131 comp.navigate = function (index) { 1132 if (!comp.isMobile || comp.links.length <= 1) return; 1133 1134 if (comp.navDots[comp.current]) { 1135 comp.navDots[comp.current].classList.remove(_classes.navDotActive); 1136 } 1137 1138 comp.current = index; 1139 1140 if (comp.navDots[comp.current]) { 1141 comp.navDots[comp.current].classList.add(_classes.navDotActive); 1142 1143 // Use scroll instead of transform for better compatibility 1144 const containerWidth = comp.slider.offsetWidth; 1145 comp.slider.scrollTo({ 1146 top: 0, 1147 left: containerWidth * index, 1148 behavior: 'smooth', 1149 }); 1150 } 1151 }; 1152 1153 /** 1154 * Navigates to previous slide 1155 */ 1156 comp.previous = function (isInteraction) { 1157 const index = comp.current - 1; 1158 1159 if (index >= 0) { 1160 comp.navigate(index); 1161 } else {
1162 comp.navigate(isInteraction ? comp.current : comp.links.length - 1); 1163 } 1164 }; 1165 1166 /** 1167 * Navigates to next slide 1168 */ 1169 comp.next = function (isInteraction) { 1170 const index = comp.current + 1; 1171 1172 if (index < comp.links.length) { 1173 comp.navigate(index); 1174 } else { 1175 comp.navigate(isInteraction ? comp.current : 0); 1176 } 1177 }; 1178 1179 /** 1180 * Auto move functionality 1181 */ 1182 comp.automove = function (reset) { 1183 if (!comp.isMobile || !comp.isPlaying) return; 1184 1185 if (reset) { 1186 comp.current = -1; 1187 comp.next(false); 1188 } else { 1189 comp.next(false); 1190 } 1191 1192 comp.timeout = setTimeout(comp.automove, AUTOMOVE_TIMEOUT); 1193 }; 1194 1195 /** 1196 * Toggle play/pause 1197 */ 1198 comp.togglePlayPause = function () { 1199 comp.isPlaying = !comp.isPlaying; 1200 1201 if (comp.isPlaying) { 1202 // Show pause icon when playing 1203 comp.playIcon.classList.add('hidden'); 1204 comp.pauseIcon.classList.remove('hidden'); 1205 comp.playPauseBtn.setAttribute('aria-label', PAUSE_LABEL); 1206 comp.timeout = setTimeout(comp.automove, AUTOMOVE_TIMEOUT); 1207 } else { 1208 // Show play icon when paused 1209 comp.playIcon.classList.remove('hidden'); 1210 comp.pauseIcon.classList.add('hidden'); 1211 comp.playPauseBtn.setAttribute('aria-label', PLAY_LABEL); 1212 if (comp.timeout) { 1213 clearTimeout(comp.timeout); 1214 comp.timeout = null; 1215 } 1216 } 1217 }; 1218 1219 /** 1220 * Touch start event listener 1221 */ 1222 comp.touchstart = function (ev) { 1223 if (!comp.isMobile) return; 1224 1225 const x = ev.changedTouches[0].pageX; 1226 const t = ev.timeStamp; 1227 1228 _touch.startX = x; 1229 _touch.history = [{ x, t }]; 1230 1231 if (comp.timeout) { 1232 clearTimeout(comp.timeout); 1233 comp.timeout = null; 1234 } 1235 comp.slider.classList.remove(_classes.sliderTransitioned); 1236 }; 1237 1238 /** 1239 * Touch move event listener 1240 */ 1241 comp.touchmove = function (ev) { 1242 if (!comp.isMobile) return; 1243 1244 const x = ev.changedTouches[0].pageX; 1245 const t = ev.timeStamp; 1246 1247 _touch.history.push({ x, t }); 1248 1249 if (_touch.history.length > _touch.historyMaxLength) { 1250 _touch.history.shift(); 1251 } 1252 1253 // Prevent default to avoid scrolling issues 1254 ev.preventDefault(); 1255 }; 1256 1257 /** 1258 * Touch end event listener 1259 */ 1260 comp.touchend = function (ev) { 1261 if (!comp.isMobile) return; 1262 1263 if (comp.isPlaying) { 1264 comp.timeout = setTimeout(comp.automove, INTERACTION_TIMEOUT); 1265 } 1266 comp.slider.classList.add(_classes.sliderTransitioned); 1267 1268 const x = ev.changedTouches[0].pageX; 1269 const diff = x - _touch.startX; 1270 1271 if (Math.abs(diff) >= comp.slider.offsetWidth / 2) { 1272 setTimeout(() => comp.move(diff, true)(), 0); 1273 return; 1274 } 1275 1276 // Calculate velocity 1277 let velX = 0; 1278 for (let index = 1; index < _touch.history.length; index++) { 1279 const deltaX = _touch.history[index].x - _touch.history[index - 1].x; 1280 const deltaT = _touch.history[index].t - _touch.history[index - 1].t; 1281 velX += deltaX / deltaT; 1282 } 1283 1284 if (Math.abs(velX) < _touch.threshold) { 1285 comp.navigate(comp.current); 1286 return; 1287 } 1288 1289 setTimeout(() => comp.move(velX, true)(), 0); 1290 }; 1291 1292 /** 1293 * Move function 1294 */ 1295 comp.move = (diff, isInteraction) => () => { 1296 if (diff > 0) { 1297 comp.previous(isInteraction); 1298 } else { 1299 comp.next(isInteraction); 1300 } 1301 }; 1302 1303 /** 1304 * Debounce function 1305 */ 1306 function debounce(func, wait) { 1307 let timeout; 1308 return function executedFunction(...args) { 1309 const later = () => { 1310 clearTimeout(timeout); 1311 func(...args); 1312 }; 1313 clearTimeout(timeout); 1314 timeout = setTimeout(later, wait); 1315 }; 1316 } 1317 1318 // Initialize when DOM is ready 1319 if (document.readyState === 'loading') { 1320 document.addEventListener('DOMContentLoaded', comp.init); 1321 } else { 1322 comp.init(); 1323 } 1324})();</script>
1324 <div class="strip-banner-below-header" data-astro-cid-vnpofkb5> <a href="/c/sale/" class="strip-banner skin-global-stripbanner interactive global-strip-banner-link" data-astro-cid-5u6nyie7> <span class="strip-banner-text global-strip-banner-text text-sm" data-astro-cid-5u6nyie7>UP TO 30% OFF SELECTED STYLES â SHOP NOW</span> </a> </div> <div id="content-container" data-astro-cid-vnpofkb5>
1324<script>(function(){const sessionSettings = {"currency":"GBP","country":"GB","locale":"en-gb"}; 1325const geoSettings = {"detectedCountry":"US","detectedCountryName":"United States","suggestedUrl":"https://us.hyrox-shop.com","suggestedSiteName":"us.hyrox-shop.com","isExternal":false}; 1326const host = "https://www.hyrox-shop.com"; 1327const tenantConfig = {"siteName":"Hyrox UK","channel":"hyrox","horizonEndpoint":"https://horizon-api.www.hyrox-shop.com/graphql","opaqueCookieDomain":"www.hyrox-shop.com","livedomain":"https://www.hyrox-shop.com/","domainName":"www.hyrox-shop.com","basketCookieName":"hyrox","theme":"hyrox","siteId":397,"live":true,"siteAttributes":{"site":"hyrox","locale":"en_GB","subsite":"en"},"settings":{"defaultCurrency":"GBP","defaultCountry":"GB"},"socialLinks":{"instagram":"https://www.instagram.com/hyroxworld","facebook":"https://www.facebook.com/HYROXWORLD/","tiktok":"https://www.tiktok.com/@hyroxworld"},"recaptcha":{"enabled":true,"key":"6LccdMsqAAAAAPtpJOPr72zF0rFGYBuzDRzseGla"},"recaptchaDev":{"key":"6LccdMsqAAAAAPtpJOPr72zF0rFGYBuzDRzseGla"},"securityPolicyUrl":"/c/privacy-policy/","csp":{"child-src":["'self'","https://www.google.com","https://*.ringcentral.com","https://www.googletagmanager.com","https://*.doubleclick.net","https://feed.pghub.io","https://insight.adsrvr.org","https://*.googleapis.com","https://*.recaptcha.net","https://*.akamaihd.net","https://*.translate.naver.net","https://www.zenaps.com","https://tr.snapchat.com","https://ln-rules.rewardstyle.com","https://www.youtube.com","https://www.youtube-nocookie.com","https://cdn-akamai.mookie1.com","https://s1.thcdn.com","https://www.awin1.com","https://d2d7do8qaecbru.cloudfront.net","https://gum.criteo.com","https://www.pinterest.com","https://smct.co","https://*.smct.co","https://smct.io","https://*.smct.io","https://csxd.contentsquare.net","https://td.doubleclick.net","blob:","https://*.abtasty.com","https://cdn.revieve.com"],"connect-src":["'self'","https://horizon-api.www.hyrox-shop.com","wss://*.ringcentral.com","https://*.ringcentral.com","https://api.tadpad.com","https://*.impact.com","https://cdn.cookielaw.org","https://www.dwin1.com","https://*.awin1.com","https://*.google-analytics.com","https://*.doubleclick.net","https://*.google.com","https://*.sciencebehindecommerce.com","https://*.akamaihd.net","https://*.googleapis.com","https://*.trustpilot.com","https://*.pinterest.com","https://*.doubleclick.net","https://*.bing.com","https://connect.facebook.net","https://*.parcellab.com","https://smct.co","https://*.smct.co","https://smct.io","https://*.smct.io","https://cognito-identity.eu-west-1.amazonaws.com","https://firehose.eu-west-1.amazonaws.com","https://analytics.tiktok.com","https://privacyportal-eu.onetrust.com","https://geolocation.onetrust.com","https://*.wepowerconnections.com","https://partner-test.revieve.com","https://partner.revieve.com","https://sst.revieve.com","https://cdn.revieve.com","https://*.abtasty.com","https://*.contentsquare.net","https://*.ingest.us.sentry.io","https://d38knilzwtuys1.cloudfront.net","https://www.google-analytics.com","https://d.impactradius-event.com","https://insight.adsrvr.org","https://*.thgaltitude.com","https://asgard.thehut.net","https://api.privacy-center.org","https://*.privacy-center.org","https://assets.thg.dev","https://api.thg.dev"],"default-src":["https://cdn.revieve.com","https://*.thcdn.com"],"media-src":["'self'","https://*.thcdn.com"],"font-src":["'self'","https://*.ringcentral.com","https://fonts.gstatic.com","https://fonts.smct.co","https://fonts.smct.io","https://fonts.googleapis.com","https://fonts.gstatic.com","https://maxcdn.bootstrapcdn.com","blob:","data:","https://*.abtasty.com","https://*.gstatic.com","https://*.googleapis.com","https://d38knilzwtuys1.cloudfront.net","data:","https://cdn.revieve.com","https://s1.thcdn.com","https://*.thcdn.com","https://*.privacy-center.org"],"form-action":["https://*.thgaltitude.com","https://*.no7beauty.com","https://connect.facebook.net","https://tr.snapchat.com","https://www.facebook.com"],"img-src":["'self'","https://*.ringcentral.com","https://www.dwin1.com","https://*.awin1.com","https://*.google-analytics.com","https://*.doubleclick.net","https://*.google.com","https:","blob:","data:","https://d.impactradius-event.com","https://insight.adsrvr.org","https://*.privacy-center.org"],"report-uri":["https://csp.thehut.net/cspReport.txt"],"script-src":["'self'","'unsafe-eval'","'unsafe-inline'","https://static.thcdn.com","https://s1.thcdn.com","https://*.chat.digital.ringcentral.com","https://*.ringcentral.com","https://js.adsrvr.org","https://tadpad.com","https://*.impact.com","https://cdn.cookielaw.org","https://www.googletagmanager.com","https://www.google-analytics.com","https://*.google.com","https://*.googletagservices.com","https://www.googleadservices.com","https://connect.facebook.net","https://*.pinimg.com","https://*.googletagmanager.com","https://*.google-analytics.com","https://*.bing.com","https://*.recaptcha.net","https://*.gstatic.
1327com","https://*.googleapis.com","https://*.gstatic.cn","https://*.sciencebehindecommerce.com","https://*.akamaihd.net","https://*.microsofttranslator.com","https://google.com","https://*.trustpilot.com","https://www.googleadservices.com","https://*.translate.naver.net","https://*.doubleclick.net","https://*.google.com","https://*.zenaps.com","https://sc-static.net","https://*.google.co.uk","https://google.co.uk","https://*.criteo.com","https://static.criteo.net","https://ln-rules.rewardstyle.com","https://geolocation.onetrust.com","https://www.youtube.com","https://smct.co","https://*.smct.co","https://smct.io","https://*.smct.io","https://*.amazonaws.com","https://analytics.tiktok.com","https://*.ibytedtos.com","https://static.criteo.net","https://*.criteo.com","https://www.dwin1.com","https://*.awin1.com","https://dev--revieve-web-plugin-4.netlify.app","https://cdn.revieve.com","https://cdn.parcellab.com","https://lantern.roeyecdn.com","blob:","https://*.abtasty.com","https://*.contentsquare.net","https://app.contentsquare.com","https://d38knilzwtuys1.cloudfront.net","https://d.impactradius-event.com","https://pghub.io","https://insights.thgaltitude.com","https://sdk.privacy-center.org","https://*.privacy-center.org","https://assets.thg.dev"],"style-src":["'self'","'unsafe-inline'","https://static.thcdn.com","https://*.ringcentral.com","https://cdn.cookielaw.org","https://www.googletagmanager.com","https://fonts.googleapis.com","https://*.googleapis.com","https://*.translate.naver.net","https://*.microsofttranslator.com","https://cdn.parcellab.com","https://fonts.googleapis.com","https://fonts.smct.co","https://maxcdn.bootstrapcdn.com","https://fonts.smct.io","https://cdn.revieve.com","https://*.abtasty.com","https://*.gstatic.com","https://d38knilzwtuys1.cloudfront.net","https://*.privacy-center.org"],"frame-src":["'self'","https://www.googletagmanager.com","https://gum.criteo.com","https://www.google.com/","https://*.ringcentral.com","https://*.chat.digital.ringcentral.com","https://www.facebook.com"],"frame-ancestors":["'self'","https://www.google.com/"]},"features":{"chatbot":{"enabled":true,"channel":"hyrox-en-gb","apiUrl":"https://api.thg.dev/agentic-commerce/shopping-assistant/ag-ui","apiKey":"5GXRAfK8Uwzdt5BqlqxvGLYA3HLi0fEymcefK9HA7dE6exYe","primaryColor":"#000000","primaryTextColor":"#FFFFFF","accentColor":"#000000","textColor":"#1A1A1A","borderBackground":"#FFFFFF","borderGradient":["#000000","#3D3D3D","#8A9600","#D4E600","#FFED00"],"avatarInitials":"HX","priceFormat":"was-save","pdpPillsMountSelector":"#pdp-gallery-container","assistantSvg":"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28' width='14' height='14' aria-hidden='true'><path d='M 11 2 Q 13.5 12, 22 14 Q 13.5 16, 11 26 Q 8.5 16, 0 14 Q 8.5 12, 11 2 Z' fill='currentColor'/><path d='M 22 1 Q 23.5 6, 28 7.5 Q 23.5 9, 22 14 Q 20.5 9, 16 7.5 Q 20.5 6, 22 1 Z' fill='currentColor' opacity='0.6'/></svg>"},"hasDidomi":true,"hasSessionSettingsTrigger":true,"hasFixedHeader":true,"showColouredSocialIcons":false,"hasSubscriptions":false,"basket":{"hasTotalSavingsContainer":true},"hasDualVariantControls":["Colour"],"navigation":{"highlightedNavItems":[{"pattern":"Sale","style":"skin-nav-sale"}]},"hasMasonaryProductGallery":false,"hasReviews":true,"hasWishlist":true,"showCarouselOnDesktop":false,"hasLoyalty":false,"hasBuyNowPayLater":false,"hasQuickBuy":true,"frequentlyBoughtTogether":{"enabled":false},"hasOtherCustomersBought":false,"hasRecentlyViewed":true,"hasHighResImages":{"pdp":true,"plp":false,"widgets":true},"footer":{"showIngenuityCopyright":true,"hasFooterIcons":true,"paymentOptions":["electron","visa","paypal","mastercard","maestro","amex","applepay","afterpay"]}},"product":{"contentKeys":["synopsis","description","directions","ingredients","metaDataDesc","metaDataTitle","productDetails","material","whyChoose","keyBenefits","faq","nutritionalInfo","atAGlance","suggestedUse","subtitle","brand","ageMessage","productMessage","recyclability","CareInstructions","videoReference","cdnVideoLink"]},"content":{"socialLinks":{"circular-facebook":"https://www.facebook.com/HYROXWORLD/","circular-instagram":"https://www.instagram.com/hyroxworld","circular-tiktok":"https://www.tiktok.com/@hyroxworld","circular-youtube":"https://www.youtube.com/channel/UCr7h-eYgYlWtwaxD7Fb55cw"}},"tracking":{"googleTagManager":{"enabled":true,"gtmID":"GTM-MVZP5XLL","gtmDefer":true},"didomi":{"enabled":true,"apiKey":"1b1166cc-c7d1-442a-9134-61b2f4f05b01","noticeId":"Jqp2Nbnd","reconsentMonths":12,"migrateFromOneTrust":true,"debug":true}},"proxy":{"legacy":{"target":"www.hyrox-shop.com","dnsHackForTarget":"ingenuity.thgingenuity.com"}}}; 1328const subsite = "en"; 1329const locale = "en-gb"; 1330const showProperties = null; 1331const pathBasedRouting = false;
1332const pathPrefix = undefined; 1333const hasMultipleShippingDestinations = true; 1334const langForClient = {"navigation":{"mobile":{"back":{"text":"All"}},"screenreader":{"backto":"Back to {0}"}},"basket":{"arialabel":"View Basket","empty":{"button":{"text":"Continue Shopping"},"title":"No items added to your basket"},"product":{"quantity":{"label":"Quantity:"},"savetowishlist":{"arialabel":{"updated":"Saved {0} to Wishlist","text":"Save {0} to Wishlist"},"updated":"Saved to wishlist","text":"Save to wishlist"}},"delivery":{"label":"Standard Delivery","qualification":{"free":"You qualify for free {0}"},"shipping":{"outside":"Shipping outside {0}?","viewcharges":"View charges"},"total":{"disclaimer":"Final charge confirmed at checkout based on your delivery address","label":"Total ({0} delivery)"}},"recommendations":{"title":"You may also like"},"personalisation":{"field":{"template":"Template"}}},"search":{"instant":{"suggested":"Search Suggestion","product":"Products"}},"product":{"price":{"rrp":"RRP: ","discount":"Save ","currentprice":"Current price: ","rrpscreenreader":"Recommended Retail Price: ","save":"Save","priceperunit":{"ratetext":" per "},"from":"From"},"availability":{"preorder":"Pre-order","instock":"In stock | Usually dispatched within 24 hours","outofstock":"Out of stock","futurelot":"Available to order | Expected to ship from {0}"},"details":{"keys":{"aboutthegame":"Olfactory Notes","additionalproductinfo":"Beauty Editorâs Notes","agemessage":"At A Glance","ataglance":"Fit & Fabric Composition","brand":"Brand","careinstructions":"Material Information'","compliancewarnings":"Compliance Warnings","directions":"Directions","electronicaddress":"Electronic Address","faq":"Frequently Asked Questions","ingredients":"Ingredients","keybenefits":"Key Benefits","material":"Material","nddavailable":"Next Day Delivery Available","nutritionalinfo":"Nutritional Information","postaladdress":"Postal Address","provtransparencytext":"Provenance","range":"Range","recyclability":"Recyclability","subtitlelanguage":"Ingredients","suggesteduse":"Suggested Use","sustainableinfo":"Sustainable Info","synopsis":"Product Story","videoreference":"Product Video","visibleresults":"Visible Results","volume":"Volume","whychoose":"Why Choose","ws_standardmeasurementsdi":"Standard Measurements"},"title":"Product details"},"quickbuy":{"button":{"outofstock":"Out of stock","personalisetext":"Personalise","text":"Add to Basket"}},"swatches":{"more":"...({0}) more"},"minimumagemodal":{"button":{"text":"Alter bestätigen"},"content":{"error":"Bitte geben Sie ein gültiges Datum ein","heading":"Dieses Produkt ist nur für Personen über {0} Jahre","message":"Wann wurden Sie geboren?","rememberme":"Auswahl merken"}},"viewdetails":{"arialabel":"View product details for {0}","text":"View product details"},"preorderreleasedate":{"text":"Dispatching now, up until:"}},"sessionsettings":{"modal":{"close":{"arialabel":"Close session settings modal"},"currency":"Currencies","language":"Region & Language","save":{"arialabel":"Save settings","text":"Save"},"shipping":"Shipping Country","title":"Your settings"},"intended":{"redirect":"Go to {0}","stay":"Stay on {0}","subtitle":"Your currency and shipping destination settings are not supported on this site. Would you like to visit {0}?","title":"Welcome"}},"internationaloverlay":{"redirect":"Go to {0}","stay":"No Thanks, Stay on {0}","subtitle":"It looks like you are in {0}, would you like to see our site with local currency?","title":"Welcome"},"header":{"flyoutbasket":{"commercialmessage":"Pay in 3 interest-free instalments with PayPal Pay in 3","cta":{"aria":"View basket","text":"View Basket"},"freegift":"Free Gift","items":"Items","subtotal":"Subtotal","title":"View basket"}},"loyalty":{"description":{"prefix":"Get ","orderprefix":"This order will earn ","suffix":" reward points","ordersuffix":" reward points"},"signup":{"link":{"url":"/account/my-account/reward/","text":"Join Loyalty program"}}},"reengagement":{"modal":{"alert":{"error":"Something went wrong, please try again."},"apierrors":{"ratelimiterror":"Rate limited: Please try again later"},"arialabel":"Close newsletter engagement modal","button":{"back":"Back to page","loading":"Submitting...","text":"Sign up"},"email":{"label":"Email"},"error":{"alreadymember":"You are already a member of our newsletter.","generic":"Something went wrong, please try again","incorrectemail":"Please enter a valid email address","invali
1334dphone":"please enter a valid mobile number","required":"Email is required"},"existing":{"subtext":"No need to do anything, you're already a member of our newsletter.","title":"You're already a member!"},"phone":{"label":"mobile number (optional)"},"success":{"both":"you have successfully signed up for email and sms marketing.","button":"Continue Shopping","emailonly":"you have been signed up to our email newsletter. there was an issue signing up for sms - please try again later.","message":"You have successfully signed up for our newsletter.","smsonly":"you have been signed up for sms marketing. there was an issue with your email signup - please try again later.","subtext":"You are now signed up to our newsletter.","title":"Thank You!"},"viewpolicy":"View our privacy policy"}},"newsletter":{"legend":"Required fields are marked with","modal":{"arialabel":"Newsletter modal","close":{"arialabel":"Close email signup modal"},"content":{"email":{"label":"Email Address"},"phone":{"label":"mobile number (optional)"},"submit":{"arialabel":"Sign up to our newsletter","text":"Sign up"},"subtext":"Be the first to hear about our latest brands, curated edits, sale previews and exclusive offers...","title":"Sign-up to our newsletter"},"existing":{"subtext":"No need to do anything, you're already a member of our newsletter.","title":"You're already a member!"},"success":{"both":"you have successfully signed up for email and sms marketing.","button":"Continue Shopping","emailonly":"you have been signed up to our email newsletter. there was an issue signing up for sms - please try again later.","smsonly":"you have been signed up for sms marketing. there was an issue with your email signup - please try again later.","subtext":"You are now signed up to our newsletter.","title":"Thank you!"}},"page":{"arialabel":"Email signup page","content":{"email":{"label":"Email Address"},"submit":{"arialabel":"Sign up to our newsletter","text":"Sign up"},"subtext":"Sign up to get the latest exclusive discount and deals. You can revoke your consent to receive these emails at any time. To unsubscribe, simply click on the link in the newsletter. This does not affect the validity of the data processing until the time of un-subscription. The newsletter is sent in accordance with our privacy policy.","title":"Sign-up to our newsletter"},"existing":{"subtext":"No need to do anything, you're already a member of our newsletter.","title":"You're already a member!"},"input":{"error":{"invalid":"Please enter a valid email address. For example: [email protected]","required":"Email address is required. Please enter your email address to continue."}},"success":{"button":"Continue Shopping","subtext":"You are now signed up to our newsletter.","title":"Thank you!"},"verification":{"button":"Continue Shopping","subtext":"Please check your email inbox and click the verification link to confirm your email address.","title":"Verify your email"}}},"alert":{"error":{"message":"Something went wrong, please try again."}},"services":{"catalogue":{"seo":{"descriptions":{"default":"Shop at {0}. Free delivery available!"}}}},"productlist":{"breadcrumbs":{"arialabel":"Breadcrumbs"},"filter":{"results":"Results","more":{"text":"+ Filters"},"less":{"text":"- Filters"}},"infinitescroll":{"backtotop":"Back to top","loading":"Loading more products"},"readmore":"Read More","readless":"Read Less"},"components":{"facets":{"viewall":{"products":"View {0} Products","product":"View {0} Product"}}},"addtobasket":{"button":{"maxreached":{"text":"Maximum quantity reached"},"processing":"Processing","preorder":"Pre-order now","available":{"text":"Add to basket"},"unavailable":{"text":"Out of stock"},"loading":"loading"},"quantity":{"label":"Quantity:","maxlimit":"Item limited to a max quantity of {0}","decrease":{"arialabel":"Decrease quantity"},"increase":{"arialabel":"Increase quantity"}},"secondarybutton":{"viewmore":{"text":"View more information"}},"modal":{"continue":"Continue shopping","heading":"Added to your basket","quantity":"Quantity: {0}","subtotal":"Subtotal: {0}","totalitems":"{0} items in your basket","viewbasket":"View your basket"}},"reviews":{"arialabel":{"summarytotal":"{0} star rating based on {1} reviews","customerreview":"{0} stars out of a maximum of {1}"}},"wishlist":{"modal":{"login":{"button":{"text":"Login"}},"register":{"button":{"text":"Register"}},"title":"to add to your wishlist!"},"login":{"modal":{"text":"Login/register to add to your wishlist!"}}},"bundle":{"cta":{"buildyourbundle":"Choose Your Bundle"}},"flexpaytag":{"arialabel":"HSA or FSA eligible - pay using Health Savings Account or Flexible Spending Account","label":"HSA | FSA eligible","link":"/c/flexpay/"},"subscriptions":{"deliveryfrequency":{"label":"Delivery frequency","arialabel":"Select your subscription delivery frequency","recommended":"(recommended)"},"infobox":{"title":"Benefits of subscribing","text2":"FREE delivery","text3":"You control the frequency","text4":"No commitment. Cancel or delay"},"nocontracts":"This product option is not available to buy on a subscription.","subscriptiontabs":{"arialabel":"Purchase options","lefttab":"One time purchase","righttab":"Subscribe & Save"},"recurringprice":{"text":"for your 1st order, then {0} for each delivery after"}},"pagination":{"arialabel":"Pagination","label":"{0} of {1}","nav":{"arialabel":"Top pagination"},"next":{"arialabel":"Next page","label":"Next"},"option":{"arialabel":"Page {0} of {1}"},"prev":{"arialabel":"Previous page","label":"Prev"},"progress":{"arialabel":"Progress of viewed products","total":"out of"},"viewed":"You viewed {0} out of {1}","viewmore":"view more"},"widgets":{"profilewidget":{"buttons":{"back":"Back","login":"Log in","next":"Next","skip":"Skip","start":"Start","submit":"Submit","submitting":"Submitting...","update":"Update"},"errors":{"alreadysubmitted":"ou have already submitted this form","cannotsubmit":"This form cannot accept submissions","invali
1334ddata":"Please check the highlighted fields and try again.","invalidemail":"Please enter a valid email address","invalidformat":"Please enter a valid format","invalidoption":"Please select a valid option","loginrequired":"Please log in to submit this form.","maxlength":"Must be no more than {0} characters","minlength":"Must be at least {0} characters","noteditable":"This submission cannot be edited. It may have been locked or completed.","required":"This field is required","submissionerror":"An error occurred while submitting. Please try again later or contact support if the issue persists.","unexpected":"An unexpected error occurred. Please try again."},"messages":{"fieldlocked":"This field cannot be edited","selectpreviousoption":"Please select an option from the previous step"},"placeholder":{"default":"Enter your answer"},"success":{"button":"Continue Shopping","message":"Your entry has been received. Good luck!","title":"Thank you!"},"title":"Profile","warnings":{"alreadysubmitted":"You have already submitted this form.","cannotsubmit":"Warning:"},"welcome":{"description":"Please complete the following form","title":"Welcome"}}},"composites":{"buildyourownbundle":{"accordionsubtitle":{"maxproducts":"Choose {0} product(s)","selectedproducts":"0 selected"},"addtobasket":{"add":"Add to Basket","aria":"Add Selected Products to Basket","error":"There was an error adding your items"},"addtobundle":{"add":"Add {0} to your bundle"},"button":{"next":"Next","pleaseselect":"Please select at least one item"},"categories":"Categories","category":{"stepcomplete":"{0} of {1} steps completed"},"chooseitems":"Choose items","items":"Choose {0} item(s)","macro":{"description":"The products below are handpicked to help you hit your fitness goals and stay on track with your macro targets. Choose the ones that work best for your journey!","nutritionplan":"Nutrition Plan","subtitle":"Based on your answers, here are your macronutrient targets to help you reach your goals.","your":"Your"},"maxitems":{"desktop":"of {0} product(s)","mobile":"of {0} product(s) selected"},"product":{"back":"Back in stock soon","description":{"title":"Product Information","tooltip":"View Product Information"},"oos":"Sold out","warning":"You've made the max number of selections in this section"},"productcard":{"open":"Open product description - {0}","remove":"Remove product selection - {0}"},"productinformation":"More information about {0}","progress":{"arialabel":"Progress selected products","next":"NEXT","stepscompleted":"{0} of {1} steps completed"},"selecteditemscategory":"{0} of {1} Selected","selectfull":"Selection Full","selectitem":"Select Item","selectitems":"Please select product(s) to proceed.","selectproducttext":"Select the products you want to add to your bundle","skipselection":"Skip to product selection","title":"Build Your Own Bundle","total":{"bundle":"Your Bundle Total","label":"Total price:","title":"Your Total"}},"helpcentre":{"backlabel":"Back to ","contact":{"title":"Get in touch"},"faq":{"description":"Below are the most frequently asked questions for this topic"},"menu":{"app":"Open messages app","chat":{"subtext":"Click the chat icon (bottom right of page) for support: Mon-Fri 6am-10pm, Weekends 8am-5pm GMT","title":"Live Chat"},"customer":"Customer Support","faq":"Frequently asked questions","message":{"new":"Message","view":"View your messages"},"messages":{"app":"Messages App"},"phone":{"openingtimes":"Mon-Fri 8:00-17:00<br>Sat 8:00-17:00<br>Sun CLOSED<br>Bank Holidays CLOSED","phonenumber":"","title":"Phone"},"social":"Social Links"},"search":{"empty":"No matches were found. Please refine your search.","heading":"Try searching for your question","label":"Try searching for your question","placeholder":"Find helpâ¦"}},"referral":{"heading":"Welcome","link":"Login","subheading":"Want to get money off your next order? Introduce a friend to our site today and not only do they receive discount but you will receive credits too!"}},"helpcentre":{"return":{"text":"Back to Help Centre"},"search":{"empty":"No matches were found. Please refine your search."},"title":"Help Centre"},"referrals":{"balance":"Your balance","email":{"button":"Share via email","error":"Something went wrong, please try again.","label":"Recipients email address","placeholder":"Email separated by a Space or Comma","success":"The referral email was sent successfully!","title":"Send an email to your friends"},"friends":{"title":"Friends Referred"},"link":{"copied":"Copied!","copy":"Copy","copyfailed":"Failed to copy","title":"Your unique code"},"modal":{"alert":{"error":"Something went wrong, please try again.","success":"The referral email was sent successfully!"},"button":{"text":"Send"},"close":{"arialabel":"Close referrals modal"},"input":{"label":"To:","placeholder":"Email separated by a Space or Comma"},"title":"Send via email"},"social":{"alt":{"email":"Share via Email","facebook":"Share on Facebook","messenger":"Share on Messenger","sms":"Share via SMS","twitter":"Share on Twitter","whatsapp":"Share on WhatsApp"}},"title":"Your Referrals"},"productpage":{"video":{"arialabel":"Play Product Video","notsupported":"Your browser does not support this video.","transcript":{"button":{"close"
1334:{"arialabel":"close transcript modal"},"open":{"text":"Open Transcript"}},"modal":{"arialabel":"Video transcript modal"}}}},"video":{"transcript":{"nocontent":"No transcript available for this video","notitle":"Product Video"}}}; 1335 1336 window.Tracker.store.set('locale', { 1337 value: tenantConfig?.siteAttributes?.locale, 1338 }); 1339 1340 window.altitude = window.altitude || {}; 1341 window.altitude.lang = langForClient; 1342 1343 window.lang = {}; 1344 window.locale = locale; 1345 window.pathBasedRouting = pathBasedRouting ?? false; 1346 window.pathPrefix = pathPrefix ?? ''; 1347 1348 if (showProperties === 'SHOW-KEYS') { 1349 window.lang.showKeys = true; 1350 } 1351 1352 window.__HOST__ = host; 1353 function rootDomain(hostname) { 1354 // Strip protocol if present (e.g., "https://example.com" -> "example.com") 1355 hostname = hostname.replace(/^https?:\/\//, ''); 1356 1357 let parts = hostname.split('.'); 1358 if (hostname === 'localhost' || hostname.includes('localhost:')) { 1359 return 'localhost'; 1360 } 1361 if (parts.length <= 2) return hostname; 1362 1363 parts = parts.slice(-3); 1364 if (['co', 'com'].indexOf(parts[1]) > -1) return parts.join('.'); 1365 1366 return parts.slice(-2).join('.'); 1367 } 1368 const isPreviewDomain = host.includes('thgaltitude') || host.includes('thg.dev'); 1369 const cookieDomain = tenantConfig?.opaqueCookieDomain || rootDomain(host); 1370 const cookieSuffix = isPreviewDomain ? '; secure' : `; secure; domain=${cookieDomain}`; 1371 const cookieExpiryDays = tenantConfig?.cookieExpiryDays || 365; 1372 const cookieExpire = new Date(); 1373 cookieExpire.setDate(cookieExpire.getDate() + cookieExpiryDays); 1374 1375 document.cookie = `${subsite}_shippingCountry_V6=${sessionSettings.country}; path=/${cookieSuffix}; expires=${cookieExpire.toUTCString()}`; 1376 1377 document.cookie = `${subsite}_currency_V6=${sessionSettings.currency}; path=/${cookieSuffix}; expires=${cookieExpire.toUTCString()}`; 1378 1379 document.cookie = `locale_V6=${sessionSettings.locale}; path=/${cookieSuffix}; expires=${cookieExpire.toUTCString()}`; 1380 1381 const queryString = window.location.search; 1382 const searchParams = new URLSearchParams(queryString); 1383 1384 function validatedParam(value, maxLength, pattern) { 1385 if (value && value.length <= maxLength && pattern.test(value)) { 1386 return value; 1387 } 1388 return null; 1389 } 1390 1391 function safeBase64Encode(str) { 1392 const bytes = new TextEncoder().encode(str); 1393 let binary = ''; 1394 for (let i = 0; i < bytes.length; i++) { 1395 binary += String.fromCharCode(bytes[i]); 1396 } 1397 return btoa(binary); 1398 } 1399 1400 // Build Facebook FBC value: fb.1.<creation_time_ms>.<fbclid> 1401 // Only set if no existing cookie â preserves original timestamp 1402 const fbclid = validatedParam(searchParams.get('fbclid'), 61, /^[a-zA-Z0-9\-_]+$/); 1403 const fbcValue = 1404 fbclid && !document.cookie.includes('fb_fbc_V6=') ? `fb.1.${Date.now()}.${fbclid}` : null; 1405 1406 const gclid = validatedParam(searchParams.get('gclid'), 55, /^[a-zA-Z0-9\-_]+$/); 1407 const cjevent = validatedParam(searchParams.get('cjevent'), 64, /^[a-zA-Z0-9\-_=]+$/); 1408
1409 const validAffiliateCookies = { 1410 affil_V6: { value: searchParams.get('affil'), b64Encoded: false }, 1411 google_gclid_V6: { value: gclid, b64Encoded: true }, 1412 fb_fbc_V6: { value: fbcValue, b64Encoded: true }, 1413 utm_source_V6: { value: searchParams.get('utm_source'), b64Encoded: true }, 1414 utm_medium_V6: { value: searchParams.get('utm_medium'), b64Encoded: true }, 1415 utm_campaign_V6: { value: searchParams.get('utm_campaign'), b64Encoded: true }, 1416 awin_awc_V6: { value: searchParams.get('awc'), b64Encoded: true }, 1417 CJ_CJEVENT_V6: { value: cjevent, b64Encoded: true }, 1418 'thg-society-clickref_V6': { value: searchParams.get('clickref'), b64Encoded: true }, 1419 }; 1420 1421 for (const key in validAffiliateCookies) { 1422 const cookieVal = validAffiliateCookies[key].value; 1423 const defaultExpiry = new Date(); 1424 defaultExpiry.setMonth(defaultExpiry.getMonth() + 1); 1425 const cookieDate = validAffiliateCookies[key].expiryDate || defaultExpiry; 1426 if (cookieVal) { 1427 try { 1428 const encodedCookieValue = validAffiliateCookies[key].b64Encoded 1429 ? safeBase64Encode(cookieVal) 1430 : cookieVal; 1431 1432 document.cookie = `${key}=${encodedCookieValue};expires=${cookieDate.toUTCString()};path=/${cookieSuffix}`; 1433 } catch (error) { 1434 console.error('Failed to set affiliate cookie: ', error); 1435 } 1436 } 1437 } 1438 1439 window.sessionSettings = sessionSettings; 1440 window.sessionSettings.hasMultipleShippingDestinations = hasMultipleShippingDestinations; 1441 window.geoSettings = geoSettings; 1442})();</script>
1442
1442<script type="module">document.addEventListener("DOMContentLoaded",()=>{if(!document.body.querySelector("h1")){const t=document.querySelector("[data-page-title]")?.getAttribute("data-page-title");if(t){const e=document.createElement("h1");e.className="sr-only",e.textContent=t;const n=document.querySelector(".gutter")||document.body;n.insertBefore(e,n.firstChild)}}});</script>
1442
1442<script type="module" src="/ssr-assets/ClientInit.astro_astro_type_script_index_1_lang.DlG6T2eF.js"></script>
1442 <div data-track="pageLoad" data-track-type="onload" class="gutter"> <div class="container mx-auto my-6 flex flex-col listpage-container"> <div class="flex-auto overflow-x-auto whitespace-nowrap"> <nav aria-label="Breadcrumbs" class="breadcrumb skin mb-6 p-0" data-astro-cid-ilhxcym7><ol class="breadcrumb-list-item px-4" data-astro-cid-ilhxcym7><li data-astro-cid-ilhxcym7><a href="/" class="breadcrumb-link focus-visible:outline-primary rounded focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2" data-astro-cid-ilhxcym7>HYROX</a></li><li aria-current="page" class="flex w-full items-center" data-astro-cid-ilhxcym7><span data-astro-cid-ilhxcym7>About HYROX</span></li></ol></nav> </div> <section class="widgets " data-id="5294929" data-widget="simpletextwidgetwithh1" data-track-type="click" data-track="widgetClick" data-component="simpletextwidgetwithh1" data-description="About us" style="contain: layout style;"><div data-track="widgetTrack" data-track-type="impression" data-component="simpletextwidgetwithh1"></div><div class="text- mb-5 md:mb-10 flex flex-col gap-3 items-start px-4 sm:px-6 md:px-0 break-words overflow-wrap-break-word simple-widgets-container" data-astro-cid-vkoinrso> <div class="simple-widgets-header" data-astro-cid-vkoinrso> <h1 class="sm:text-2lg simpletextwidgetwithh1 simple-widgets-title text-lg leading-tight font-bold break-words hyphens-auto" data-astro-cid-vkoinrso>ABOUT US</h1> </div> <div class="simple-text-widget-content simple-widgets-content break-words" data-astro-cid-vkoinrso> </div> </div>
1442<script>(function(){const confirmMessage = "This link will open in a new tab. Do you want to continue?"; 1443 1444 document.addEventListener('DOMContentLoaded', function () { 1445 const widget = document.querySelector('.simple-text-widget-content'); 1446 if (widget) { 1447 const externalLinks = widget.querySelectorAll('a[target="_blank"]'); 1448 externalLinks.forEach((link) => { 1449 link.addEventListener('click', function (event) { 1450 event.preventDefault(); 1451 event.stopPropagation(); 1452 1453 alert(confirmMessage); 1454 window.open(this.href, '_blank'); 1455 }); 1456 }); 1457 } 1458 }); 1459})();</script>
1459</section><section class="widgets mb-10 md:mb-14 lg:mb-16 xl:mb-20" data-id="5282371" data-widget="GlobalTwoItemImageTextBlock" data-track-type="click" data-track="widgetClick" data-component="GlobalTwoItemImageTextBlock" data-description="About us - The Origin" style="contain: layout style;"><div data-track="widgetTrack" data-track-type="impression" data-component="GlobalTwoItemImageTextBlock"></div><div class="container mx-auto flex flex-col items-center sm:items-stretch md:flex-row global-two-item-image-text-block md:flex-row-reverse" style=""> <div class="w-full md:w-1/2"> <a class="block" href="https://hyrox.com/find-my-race/"> <div class="overflow-hidden"><picture><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=430&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=2 2x, /images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=3 3x" media="(max-width: 430px)"/><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=640&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=640&fit=cover&v=2&dpr=2 2x" media="(max-width: 640px)"/><img src="/images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=700&fit=cover&v=2" srcSet="/images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=700&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/59/original-2025_The_Origin_1200x600-compressed-page-00001-103459.jpg&format=webp&auto=avif&width=700&fit=cover&v=2&dpr=2 2x" alt="Find my race" loading="eager" width="700" class="w-full h-auto rounded-site global-two-item-image-text-block-image mx-auto object-cover" decoding="auto" fetchPriority="high"/></picture></div> </a> </div> <div class="sm:flex sm:flex-col sm:justify-center z-10 w-full p-6 md:w-1/2 md:p-10 sm:min-h-full global-two-item-image-text-block-content items-start text-left" style=""> <h2 class="mb-6 text-lg font-bold global-two-item-image-text-block-item-title"> THE ORIGIN </h2> <div class="mb-4 global-two-image-text-block-item-text"> <p>HYROX combines both running & functional workout stations, where participants run 1km, followed by 1 functional workout station, repeated eight times.</p> 1460<p>This race format remains consistent across the globe, enabling global leaderboards & a cumulative World Championships at the end of each race season.</p> 1461<p>Accommodating both professional athletes, and everyday fitness enthusiasts looking to take their training to the next level, HYROX is for everybody.</p> </div> <div class="mt-2 flex gap-4 flex-row global-two-item-image-text-block-buttons-wrapper"> <a class="btn skin-primary-emphasised interactive global-two-item-image-text-block-primary-button" aria-label="FIND MY RACE THE ORIGIN" href="https://hyrox.com/find-my-race/">FIND MY RACE</a> </div> </div> </div> </section><section class="widgets mb-10 md:mb-14 lg:mb-16 xl:mb-20" data-id="5282373" data-widget="GlobalTwoItemImageTextBlock" data-track-type="click" data-track="widgetClick" data-component="GlobalTwoItemImageTextBlock" data-description="About us - Mass Participation" style="contain: layout style;"><div data-track="widgetTrack" data-track-type="impression" data-component="GlobalTwoItemImageTextBlock"></div><div class="container mx-auto flex flex-col items-center sm:items-stretch md:flex-row global-two-item-image-text-block" style=""> <div class="w-full md:w-1/2"> <div class="block"> <div class="overflow-hidden"><picture><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=430&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=2 2x, /images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=3 3x" media="(max-width: 430px)"/><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=640&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=640&fit=cover&v=2&dpr=2 2x" media="(max-width: 640px)"/><img src="/images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=700&fit=cover&v=2" srcSet="/images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=700&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/36/original-2025_Mass_participation_1200x600-compressed-page-00001-103836.jpg&format=webp&auto=avif&width=700&fit=cover&v=2&dpr=2 2x" alt="Mass participation" loading="lazy" width="700" class="w-full h-auto rounded-site global-two-item-image-text-block-image mx-auto object-cover" decoding="auto" fetchPriority="high"/></picture></div> </div> </div> <div class="sm:flex sm:flex-col sm:justify-center z-10 w-full p-6 md:w-1/2 md:p-10 sm:min-h-full global-two-item-image-text-block-content items-start text-left" style=""> <h2 class="mb-6 text-lg font-bold global-two-item-image-text-block-item-title"> MASS PARTICIPATION </h2> <div class="mb-4 global-two-image-text-block-item-text"> <p>Over 98% of our athletes complete their HYROX race. With no finishing time restriction, and no qualification required to enter, HYROX welcomes every participant with open arms.</p> 1462<p>It is a race to run at your own pace, with the continuous support of friends, family and fellow participants.</p> 1463<p>Not only that, but the structure of HYROX eliminates the generic fear of âcoming lastâ. Every HYROX race has start waves of all ages happening every 10 minutes throughout the entire day, working through each division. Put simply, this means that a 3-hour athlete can cross the finish line at the very same time as a sub-60 athlete!</p> </div> <div class="mt-2 flex gap-4 flex-row global-two-item-image-text-block-buttons-wrapper"> </div> </div> </div> </section><section class="widgets mb-10 md:mb-14 lg:mb-16 xl:mb-20" data-id="5282376" data-widget="GlobalTwoItemImageTextBlock" data-track-type="click" data-track="widgetClick" data-component="GlobalTwoItemImageTextBlock" data-description="About us - Global Footprint" style="contain: layout style;"><div data-track="widgetTrack" data-track-type="impression" data-component="GlobalTwoItemImageTextBlock"></div><div class="container mx-auto flex flex-col items-center sm:items-stretch md:flex-row global-two-item-image-text-block md:flex-row-reverse" style=""> <div class="w-full md:w-1/2"> <div class="block"> <div class="overflow-hidden"><picture><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=430&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=2 2x, /images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=430&fit=cover&v=2&dpr=3 3x" media="(max-width: 430px)"/><source srcSet="/images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=640&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=640&fit=cover&v=2&dpr=2 2x" media="(max-width: 640px)"/><img src="/images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=700&fit=cover&v=2" srcSet="/images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=700&fit=cover&v=2 1x, /images?url=https://static.thcdn.com/widgets/397-en/10/original-2025_Global_Footprint_1200x600-compressed-page-00001-104310.jpg&format=webp&auto=avif&width=700&fit=cover&v=2&dpr=2 2x" alt="Global Footprint" loading="lazy" width="700" class="w-full h-auto rounded-site global-two-item-image-text-block-image mx-auto object-cover" decoding="auto" fetchPriority="high"/></picture></div> </div> </div> <div class="sm:flex sm:flex-col sm:justify-center z-10 w-full p-6 md:w-1/2 md:p-10 sm:min-h-full global-two-item-image-text-block-content items-start text-left" style=""> <h2 class="mb-6 text-lg font-bold global-two-item-image-text-block-item-title"> GLOBAL FOOTPRINT </h2> <div class="mb-4 global-two-image-text-block-item-text"> <p>Since its launch in Hamburg, Germany in 2017, HYROX has seen exponential growth, with over 100+ Events in 2026. This is where training meets community, and your effort meets experience.</p> </div> <div class="mt-2 flex gap-4 flex-row global-two-item-image-text-block-buttons-wrapper"> </div> </div> </div> </section> <!-- Fallback h1 for SEO and accessibility - hidden by default since page title is usually displayed in widgets above. Can be shown via CSS if needed for specific tenants -->
1463 </div> </div> </div> </main> <footer id="site-footer" data-testid="site-footer" class="skin-footer skin-footer-wrapper flex-col pt-4 xl:flex" data-astro-cid-vnpofkb5> <div class="skin-footer-trust-pilot flex w-full flex-row items-center justify-center" data-astro-cid-vnpofkb5> </div> <div class="skin-footer-email-signup" data-astro-cid-vnpofkb5> <div class="container mx-auto flex w-full flex-col items-start gap-8 border-y border-[var(--color-border)] p-4 lg:flex-row lg:items-center lg:gap-12" data-astro-cid-vnpofkb5> <div class="email-signup flex items-start gap-4 max-lg:flex-col lg:w-1/2 lg:items-center" data-astro-cid-vnpofkb5> <p class="email-signup-text font-semibold" data-astro-cid-vnpofkb5> Sign up to our newsletter to receive the latest offers and exclusive discounts </p> <astro-island uid="Z1KmWmq" prefix="r7" component-url="/ssr-assets/EmailSignupButton.C5qzf-dn.js" component-export="default" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"buttonText":[0,"SIGN ME UP"],"modalId":[0,"sign-up"],"footerRedirectLink":[0,""],"data-astro-cid-vnpofkb5":[0,true]}" ssr client="idle" opts="{"name":"EmailSignupButton","value":true}" await-children><a href="/email-sign-up/" data-testid="email-signup-button" class="btn skin-primary-emphasised skin-footer-email-signup-btn interactive w-fit text-nowrap ">SIGN ME UP</a><!--astro:end--></astro-island> </div> <div class="footer-socials flex items-start gap-4 max-lg:flex-col lg:w-1/2 lg:items-center lg:justify-end lg:gap-8" data-astro-cid-vnpofkb5> <div class="footer-socials-text font-semibold" data-astro-cid-vnpofkb5> Connect with us </div> <ul class="flex gap-4" data-astro-cid-vnpofkb5> <li class="social-icon pr-2" data-astro-cid-vnpofkb5> <a href="https://www.facebook.com/HYROXWORLD/" target="_blank" rel="noopener noreferrer" aria-label="Visit our facebook" class="h-8 w-8" data-astro-cid-vnpofkb5> <svg width="26" height="26" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" data-icon="circular-facebook" alt="circular-facebook" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1464 <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> 1465 <g> 1466 <circle fill="#4267B2" cx="20" cy="20" r="20"></circle> 1467 <path d="M17.0680736,16.6145435 L17.0680736,14.6052554 C17.0680736,13.7187702 17.0904121,12.3525954 17.7335254,11.5060843 C18.4119099,10.6090177 19.3418964,10 20.9432132,10 C23.5509376,10 24.6490506,10.3715243 24.6490506,10.3715243 L24.132914,13.4342484 C24.132914,13.4342484 23.2711187,13.1861737 22.4669332,13.1861737 C21.6627476,13.1861737 20.9432132,13.4742226 20.9432132,14.2772324 L20.9432132,16.6145435 L24.2399036,16.6145435 L24.0094645,19.6055494 L20.9432132,19.6055494 L20.9432132,30 L17.0680736,30 L17.0680736,19.6055494 L15,19.6055494 L15,16.6145435 L17.0680736,16.6145435 Z" 1468 fill="#FFFFFF" 1469 ></path> 1470 </g> 1471 </g> 1472</svg> </a> </li><li class="social-icon pr-2" data-astro-cid-vnpofkb5> <a href="https://www.instagram.com/hyroxworld" target="_blank" rel="noopener noreferrer" aria-label="Visit our instagram" class="h-8 w-8" data-astro-cid-vnpofkb5> <svg width="26" height="26" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" data-icon="circular-instagram" alt="circular-instagram" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1473 <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> 1474 <g> 1475 <circle fill="#ED0375" cx="20" cy="20" r="20"></circle> 1476 <path d="M19.9968651,10.0063095 C17.2818651,10.0063095 16.9414286,10.0178175 15.8751587,10.0664683 C14.8111111,10.115 14.0844048,10.2840079 13.4485317,10.5311508 C12.7911508,10.7865873 12.2336508,11.1284127 11.6778571,11.6841667 C11.1221032,12.2399603 10.7802778,12.7974603 10.5248413,13.4548413 C10.2776984,14.0907143 10.1086905,14.8174206 10.0601587,15.8814683 C10.0115079,16.9477381 10,17.2881746 10,20.0031746 C10,22.7181349 10.0115079,23.0585714 10.0601587,24.1248413 C10.1086905,25.1888889 10.2776984,25.9155952 10.5248413,26.5514683 C10.7802778,27.2088492 11.1221032,27.7663492 11.6778571,28.3221429 C12.2336508,28.8778968 12.7911508,29.2197222 13.4485317,29.4751984 C14.0844048,29.7223016 14.8111111,29.8913095 15.8751587,29.9398413 C16.9414286,29.9884921 17.2818651,30 19.9968651,30 C22.7118254,30 23.0522619,29.9884921 24.1185317,29.9398413 C25.1825794,29.8913095 25.9092857,29.7223016 26.5451587,29.4751984 C27.2025397,29.2197222 27.7600397,28.8778968 28.3158333,28.3221429 C28.8715873,27.7663492 29.2134127,27.2088492 29.4688889,26.5514683 C29.7159921,25.9155952 29.885,25.1888889 29.9335317,24.1248413 C29.9821825,23.0585714 29.9936905,22.7181349 29.9936905,20.0031746 C29.9936905,17.2881746 29.9821825,16.9477381 29.9335317,15.8814683 C29.885,14.8174206 29.7159921,14.0907143 29.4688889,13.4548413 C29.2134127,12.7974603 28.8715873,12.2399603 28.3158333,11.6841667 C27.7600397,11.1284127 27.2025397,10.7865873 26.5451587,10.5311508 C25.9092857,10.2840079 25.1825794,10.115 24.1185317,10.0664683 C23.0522619,10.0178175 22.7118254,10.0063095 19.9968651,10.0063095 Z M19.9968651,11.8075397 C22.6661111,11.8075397 22.9823016,11.8177381 24.0364286,11.8658333 C25.0111111,11.9102778 25.5404365,12.0731349 25.8926984,12.2100397 C26.3593254,12.3913889 26.6923413,12.6080159 27.0421429,12.9578571 C27.3919841,13.3076587 27.6086111,13.6406746 27.7899603,14.1073016 C27.9268651,14.4595635 28.0897222,14.9888889 28.1341667,15.9635714 C28.1822619,17.0176984 28.1924603,17.3338889 28.1924603,20.0031746 C28.1924603,22.6724206 28.1822619,22.9886111 28.1341667,24.0427381 C28.0897222,25.0174206 27.9268651,25.546746 27.7899603,25.8990079 C27.6086111,26.3656349 27.3919841,26.6986508 27.0421429,27.0484524 C26.6923413,27.3982937 26.3593254,27.6149206 25.8926984,27.7962698 C25.5404365,27.9331746 25.0111111,28.0960317 24.0364286,28.1404762 C22.9824603,28.1885714 22.6663095,28.1987698 19.9968651,28.1987698 C17.327381,28.1987698 17.0112698,28.1885714 15.9572619,28.1404762 C14.9825794,28.0960317 14.453254,27.9331746 14.1009921,27.7962698 C13.6343651,27.6149206 13.3013492,27.3982937 12.9515476,27.0484524 C12.601746,26.6986508 12.3850794,26.3656349 12.2037302,25.8990079 C12.0668254,25.546746 11.9
1476039683,25.0174206 11.8595238,24.0427381 C11.8114286,22.9886111 11.8012302,22.6724206 11.8012302,20.0031746 C11.8012302,17.3338889 11.8114286,17.0176984 11.8595238,15.9635714 C11.9039683,14.9888889 12.0668254,14.4595635 12.2037302,14.1073016 C12.3850794,13.6406746 12.6017063,13.3076587 12.9515476,12.9578571 C13.3013492,12.6080159 13.6343651,12.3913889 14.1009921,12.2100397 C14.453254,12.0731349 14.9825794,11.9102778 15.9572619,11.8658333 C17.0113889,11.8177381 17.3275794,11.8075397 19.9968651,11.8075397 L19.9968651,11.8075397 Z" 1477 fill="#FFFFFF" 1478 ></path> 1479 <path d="M19.9968651,14.8696429 C22.8320238,14.8696429 25.1303571,17.1679762 25.1303571,20.0031746 C25.1303571,22.8383333 22.8320238,25.1366667 19.9968651,25.1366667 C17.1616667,25.1366667 14.8633333,22.8383333 14.8633333,20.0031746 C14.8633333,17.1679762 17.1616667,14.8696429 19.9968651,14.8696429 Z" 1480 fill="#FFFFFF" 1481 ></path> 1482 <path d="M19.9968651,23.3354365 C18.1564683,23.3354365 16.6645635,21.8435317 16.6645635,20.0031746 C16.6645635,18.1627778 18.1564683,16.670873 19.9968651,16.670873 C21.8372222,16.670873 23.329127,18.1627778 23.329127,20.0031746 C23.329127,21.8435317 21.8372222,23.3354365 19.9968651,23.3354365 Z" 1483 fill="#ED0375" 1484 ></path> 1485 <path d="M25.3331746,13.4671825 C25.9957143,13.4671825 26.5328175,14.0042857 26.5328175,14.6668254 C26.5328175,15.3293651 25.9957143,15.8664286 25.3331746,15.8664286 C24.6706746,15.8664286 24.1335714,15.3293651 24.1335714,14.6668254 C24.1335714,14.0042857 24.6706746,13.4671825 25.3331746,13.4671825 Z" 1486 fill="#FFFFFF" 1487 ></path> 1488 </g> 1489 </g> 1490</svg> </a> </li><li class="social-icon pr-2" data-astro-cid-vnpofkb5> <a href="https://www.tiktok.com/@hyroxworld" target="_blank" rel="noopener noreferrer" aria-label="Visit our tiktok" class="h-8 w-8" data-astro-cid-vnpofkb5> <svg width="26" height="26" aria-hidden="true" viewBox="0 0 40 40" data-icon="circular-tiktok" alt="circular-tiktok" data-astro-cid-vnpofkb5="true" aria-hidden="true"> <circle fill="#000" cx="20" cy="20" r="20"></circle><path fill="#00f7ef" fill-rule="evenodd" d="M24.2089 7c0 .33361.044.69289.0996 1.0208H21.055v15.7654c0 .7271-.0761 1.3743-.2284 1.9418-1.3237 2.84-5.0721 2.4693-6.1088.5189 1.5433.941 4.0794.6901 5.119-1.5426.1522-.5674.2284-1.2147.2284-1.9418V7h4.1437zm2.211 4.7675c.8376.653 1.9943 1.132 3.5874 1.2261v.9068c-1.763-.3194-2.8787-1.1748-3.5874-2.1329zM11.5434 29.0812c-5.30635-4.4824-1.87714-14.4651 6.2815-13.2077v.9239c-6.8877-.3108-9.92156 7.6902-6.2815 12.2838z" clip-rule="evenodd"></path><path fill="#fff" fill-rule="evenodd" d="M25.1988 8.0208v.01996c0 .36498.1112 5.64294 5.7983 5.97084 0 4.9101.0029 0 .0029 4.0775-.4275.0256-3.7455-.2082-5.8071-2.0017l-.0059 7.9383c.0498 3.5956-2.003 7.1199-5.851 7.8299-1.0777.1996-2.0499.2224-3.6781-.1255-9.38572-2.7344-6.26692-16.29 3.1568-14.8386 0 4.3769.003 0 .003 4.3769-3.8949-.5589-5.1951 2.5948-4.1614 4.8531.943 2.0558 4.8173 2.5006 6.1703-.3992.1523-.5675.2284-1.2147.2284-1.9418V8.0208h4.1438z" clip-rule="evenodd"></path><path fill="#ff004f" fill-rule="evenodd" d="M25.1988 8.0208v.01996c0 .21385.038 2.12144 1.2211 3.72674-1.4232-1.1092-1.9328-2.71165-2.1114-3.7467h.8903zm4.8085 5.8767c.3104.0542.6413.0941.9898.1141 0 4.9101.0029 0 .0029 4.0775-.4275.0256-3.7455-.2082-5.8071-2.0017l-.0059 7.9383c.0498 3.5956-2.003 7.1199-5.851 7.8299-1.0777.1996-2.0499.2224-3.6781-.1255-1.8332-.5332-3.1891-1.4827-4.1145-2.6517.8258.6985 1.8625 1.2631 3.1246 1.6309 1.6283.3451 2.5976.3223 3.6753.1255 3.8479-.7071 5.9037-4.2343 5.8539-7.827l.0059-7.9412c2.0645 1.7935 5.3795 2.0273 5.81 2.0017 0-3.7867-.0058.1768-.0058-3.1708zm-12.1824 2.8999c.3221.0142.6531.0456.9898.0969 0 4.3769.003 0 .003 4.3769-3.8949-.5588-5.1951 2.5948-4.1614 4.8531.0176.0399.041.0827.0615.1226-.4627-.2823-.8346-.6701-1.0513-1.1434-1.0337-2.2583.2665-5.4119 4.1613-4.8531-.0029-4.0119-.0029-.6757-.0029-3.453z" clip-rule="evenodd"></path></svg> </a> </li><li class="social-icon pr-2" data-astro-cid-vnpofkb5> <a href="https://www.youtube.com/channel/UCr7h-eYgYlWtwaxD7Fb55cw" target="_blank" rel="noopener noreferrer" aria-label="Visit our youtube" class="h-8 w-8" data-astro-cid-vnpofkb5> <svg width="26" height="26" viewBox="0 0 40 40" xmlns="http://www.w3.org/2000/svg" data-icon="circular-youtube" alt="circular-youtube" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1491 <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> 1492 <g transform="translate(-285.000000, -7536.000000)"> 1493 <g transform="translate(104.000000, 7180.000000)"> 1494 <g transform="translate(181.000000, 356.000000)"> 1495 <g fill="#FF0402"> 1496 <circle cx="20" cy="20" r="20"></circle> 1497 </g> 1498 <g transform="translate(10.000000, 13.000000)"> 1499 <path fill="#FFFFFF" 1500 d="M4,0 L16,0 C18.209139,-4.05812251e-16 20,1.790861 20,4 L20,10 C20,12.209139 18.209139,14 16,14 L4,14 C1.790861,14 2.705415e-16,12.209139 0,10 L0,4 C-2.705415e-16,1.790861 1.790861,4.05812251e-16 4,0 Z" 1501 ></path> 1502 <path fill="#FF0402" 1503 d="M14.0923077,6.87471264 L7.69230769,10.6344828 L7.69230769,3.11494253 L14.0923077,6.87471264" 1504 ></path> 1505 </g> 1506 </g> 1507 </g> 1508 </g> 1509 </g> 1510</svg> </a> </li> </ul> </div> </div> </div> <div data-astro-cid-vnpofkb5> <div class="skin-footer link-sections container mx-auto flex w-full flex-col items-center px-5 py-3 lg:flex-row lg:items-start lg:py-16" data-astro-cid-vnpofkb5> <div class="footer-logo flex max-w-72 flex-col items-center lg:max-w-64 lg:items-start" data-testid="footer-logo" data-astro-cid-vnpofkb5> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 519.6 72.3" height="40" width="180" class="logo footer-logo" data-astro-cid-vnpofkb5="true" aria-labelledby="logo-title-hyrox-default-footer" role="img"> <title id="logo-title-hyrox-default-footer">Hyrox Logo</title> 1511 1512 <defs> 1513 <style> 1514 .st0 { 1515 fill: #1d1d1b; 1516 } 1517 </style> 1518 </defs> 1519 <path class="st0" d="M0,2.1h11.8v29.2h28.5V2.1h11.8v68.7h-11.8v-29.3H11.8v29.3H0V2.1Z"></path> 1520 <path class="st0" d="M140.3,43.6L117,6v-3.9h11.6l17.7,30.4,18.3-30.4h10.8v3.9l-23.3,37.1v27.7h-11.8v-27.2Z"></path> 1521 <path class="st0" d="M238.2,2.1h29.6c13.6,0,20.7,8,20.7,21.1s-3.9,16.4-12.1,19.8l12.9,23.9v3.9h-11.6l-14.1-26.4h-13.6v26.4h-11.8V2.1ZM265.6,34.4c6.9,0,10.9-3.3,10.9-11s-4-11-10.9-11h-15.6v22h15.6Z"></path> 1522 <path class="st0" d="M350.7,47.5v-22.2c0-15.6,10.5-24.7,27-24.7s27,9.1,27,24.7v22.2c0,15.6-10.5,24.7-27,24.7s-27-9.1-27-24.7ZM392.9,48.1v-23.4c0-7.4-5-13.4-15.2-13.4s-15.2,6-15.2,13.4v23.4c0,7.4,5,13.4,15.2,13.4s15.2-6,15.2-13.4Z"></path> 1523 <path class="st0" d="M461.8,66.9l21.5-31.6-19.8-29.3v-3.9h12l15.2,24,15.9-24h11.3v3.9l-20,29.2,21.7,31.7v3.9h-12l-17.2-26.1-17.3,26.1h-11.3v-3.9Z"></path> 1524 </svg> <p class="mt-6 text-center text-sm lg:text-left" data-astro-cid-vnpofkb5></p> </div> <div class="w-full px-0 text-left lg:hidden" data-astro-cid-vnpofkb5> <accordion-wrapper> <accordion-section data-first-accordion-open="true" data-astro-cid-o4mlbpkd="true"> <div class="w-full mb-0 mx-0 border-t border-[var(--color-border-active)] py-2 px-2 " data-astro-cid-o4mlbpkd> <button class="accordion-trigger flex w-full cursor-pointer gap-2 w-full text-left uppercase text-xs font-semibold tracking-widest flex items-center justify-between px-0" data-testid="footer-accordion-0" id="help-and-support-trigger" aria-controls="help-and-support-content" aria-expanded="true" data-astro-cid-o4mlbpkd> <span class="accordion-title" data-astro-cid-o4mlbpkd>HELP & SUPPORT</span> <span class="accordion-icon h-5 w-5 duration-300 ease-in-out" data-astro-cid-o4mlbpkd> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-5 w-5" data-astro-cid-o4mlbpkd="true" aria-hidden="true"> 1525 <path stroke-linecap="round" 1526 stroke-linejoin="round" 1527 d="M19 9l-7 7-7-7" 1528 ></path> 1529</svg> </span> </button> <div id="help-and-support-content" role="region" aria-labelledby="help-and-support-trigger" class="accordion-content overflow-x-auto overflow-y-hidden transition-all duration-300 ease-in-out max-h-screen" data-astro-cid-o4mlbpkd> <div class="accordion-inner-content" data-astro-cid-o4mlbpkd> <ul class="my-2 flex h-auto flex-col gap-2 transition ease-in" data-astro-cid-vnpofkb5>
1529 <li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1530 <path d="M12,22 C6.4771525,22 2,17.5228475 2,12 C2,6.4771525 6.4771525,2 12,2 C17.5228475,2 22,6.4771525 22,12 C22,17.5228475 17.5228475,22 12,22 Z M11,18 L13,18 L13,11 L11,11 L11,18 Z M12,9 C12.8633094,9 13.5,8.34980989 13.5,7.50570342 C13.5,6.65019011 12.8633094,6 12,6 C11.1366906,6 10.5,6.65019011 10.5,7.50570342 C10.5,8.34980989 11.1366906,9 12,9 Z"></path> 1531</svg> </span> <a href="/c/contact-us/" class="hover:underline" aria-label="Contact Us" data-astro-cid-vnpofkb5> Contact Us </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1532 <path d="M6,7.43978349 C6.12053571,4.32746955 8.19642857,2 12.0803571,2 C15.6160714,2 18,4.12449256 18,7.0608931 C18,9.14479026 16.9553571,10.6197564 15.1875,11.6887686 C13.4598214,12.7171854 12.9642857,13.4343708 12.9642857,14.8010825 L12.9642857,15.6129905 L10.1919643,15.6129905 L10.1785714,14.5845737 C10.1116071,12.6359946 10.9285714,11.4181326 12.7633929,10.308525 C14.3839286,9.32070365 14.9598214,8.54939107 14.9598214,7.1826793 C14.9598214,5.69418133 13.7678571,4.61163735 11.9330357,4.61163735 C10.0848214,4.61163735 8.89285714,5.70771313 8.77232143,7.43978349 L6,7.43978349 Z M11.7455357,22 C10.5133929,22 9.66964286,21.1745602 9.66964286,19.9431664 C9.66964286,18.6847091 10.5133929,17.8592693 11.7455357,17.8592693 C12.9776786,17.8592693 13.8080357,18.6847091 13.8080357,19.9431664 C13.8080357,21.1745602 12.9776786,22 11.7455357,22 Z"></path> 1533</svg> </span> <a href="/c/help-centre/" class="hover:underline" aria-label="Help Centre" data-astro-cid-vnpofkb5> Help Centre </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1534 <path d="M9.83652345,17.9961822 C9.3919824,19.723605 7.82412481,21 5.958194,21 C4.09226318,21 2.52440559,19.723605 2.07986455,17.9961822 L1,17.9961822 L1,4 L15.9694148,4 L15.9694148,6.00193404 C18.6390737,5.98791883 19.9739032,5.98091123 19.9739032,5.98091123 C19.9739032,5.98091123 20.9750253,7.64969887 22.9772694,10.9872742 L23,18.0240497 L21.8455118,18.013418 C21.3950059,19.7320885 19.8313785,21 17.971659,21 C16.1057282,21 14.5378706,19.723605 14.0933296,17.9961822 L9.83652345,17.9961822 Z M14.9682928,7.9834564 L14.9682928,11.9885467 L20.9750253,11.9885467 L20.9750253,10.9872742 L18.9727811,7.9834564 L14.9682928,7.9834564 Z M5.958194,18.9974548 C7.06400292,18.9974548 7.96043817,18.1008848 7.96043817,16.9949097 C7.96043817,15.8889345 7.06400292,14.9923645 5.958194,14.9923645 C4.85238508,14.9923645 3.95594983,15.8889345 3.95594983,16.9949097 C3.95594983,18.1008848 4.85238508,18.9974548 5.958194,18.9974548 Z M17.971659,18.9974548 C19.0774679,18.9974548 19.9739032,18.1008848 19.9739032,16.9949097 C19.9739032,15.8889345 19.0774679,14.9923645 17.971659,14.9923645 C16.8658501,14.9923645 15.9694148,15.8889345 15.9694148,16.9949097 C15.9694148,18.1008848 16.8658501,18.9974548 17.971659,18.9974548 Z"></path> 1535</svg> </span> <a href="/c/delivery-information/" class="hover:underline" aria-label="Delivery Information" data-astro-cid-vnpofkb5> Delivery Information </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1536 <path d="M12,2 C17.5228475,2 22,6.4771525 22,12 C22,14.4452017 21.1179427,16.7564187 19.5448599,18.5633646 L18.0364037,17.2501397 C19.2954713,15.8038921 20,13.9578458 20,12 C20,7.581722 16.418278,4 12,4 L12,6 L8,3 L12,-1.71807013e-13 L12,2 Z M12,22 C6.4771525,22 2,17.5228475 2,12 C2,9.55479826 2.88205727,7.24358127 4.45514006,5.43663535 L5.96359628,6.74986033 C4.70452866,8.19610785 4,10.0421542 4,12 C4,16.418278 7.581722,20 12,20 L12,18 L16,21 L12,24 L12,22 Z"></path> 1537</svg> </span> <a href="/c/returns-policy/" class="hover:underline" aria-label="Returns Policy" data-astro-cid-vnpofkb5> Returns Policy </a> </li>
1537<li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1538 <path d="M13 2.05A10.003 10.003 0 0121.95 11H24v2h-2.05A10.003 10.003 0 0113 21.95V24h-2v-2.05A10.003 10.003 0 012.05 13H0v-2h2.05A10.003 10.003 0 0111 2.05V0h2v2.05zM12 16a4 4 0 110-8 4 4 0 010 8zm0 4a8 8 0 100-16 8 8 0 000 16z"></path> 1539</svg> </span> <a href="/c/track-your-order/" class="hover:underline" aria-label="Track your order" data-astro-cid-vnpofkb5> Track your order </a> </li> <li class="cookie-settings mobile-footer-links-list-item flex leading-6 mb-1.5 gap-2" data-feature="footer.hasOneTrust" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" data-astro-cid-vnpofkb5="true" aria-hidden="true"> <path d="M12.132,21.787c-5.412,0-9.799-4.388-9.799-9.799c0-5.412,4.387-9.799,9.799-9.799s9.799,4.387,9.799,9.799 C21.932,17.399,17.544,21.787,12.132,21.787z M15.943,8.722c0.902,0,1.635-0.732,1.635-1.634c0-0.901-0.732-1.632-1.635-1.632 s-1.633,0.731-1.633,1.632C14.311,7.99,15.041,8.722,15.943,8.722z M18.121,16.341c0.901,0.023,1.65-0.689,1.673-1.592 c0.021-0.9-0.69-1.651-1.593-1.672c-0.026-0.001-0.053-0.001-0.08,0c-0.902,0.021-1.615,0.771-1.594,1.672 C16.55,15.62,17.25,16.321,18.121,16.341z M11.587,13.077c0.902,0.021,1.651-0.691,1.673-1.593c0.021-0.902-0.69-1.652-1.593-1.675 c-0.025,0-0.053,0-0.08,0c-0.902,0.022-1.614,0.772-1.593,1.675C10.017,12.354,10.717,13.056,11.587,13.077z M7.233,8.722 c0.902,0,1.634-0.732,1.634-1.634c0-0.901-0.732-1.632-1.634-1.632S5.6,6.187,5.6,7.088C5.6,7.99,6.331,8.722,7.233,8.722z M7.233,17.434c0.902,0,1.634-0.732,1.634-1.633c0.001-0.904-0.73-1.635-1.632-1.635c-0.001,0-0.001,0-0.002,0 c-0.902,0-1.633,0.73-1.633,1.635C5.601,16.701,6.332,17.432,7.233,17.434z M12.679,19.608c0.9,0.001,1.634-0.729,1.634-1.632 s-0.73-1.634-1.633-1.636c-0.001,0-0.001,0-0.001,0c-0.903,0.002-1.634,0.733-1.634,1.636 C11.045,18.878,11.776,19.608,12.679,19.608z"></path> <rect x="2.166" y="2.12" fill="none" width="19.834" height="19.834"></rect> </svg> </span> <button class="cursor-pointer hover:underline" data-astro-cid-vnpofkb5> Cookie Settings </button> </li> </ul> </div> </div> </div> </accordion-section>
1539<script type="module">class o extends HTMLElement{trigger;panel;innerContent;icon;state;resizeObserver;constructor(){super(),this.trigger=this.querySelector(".accordion-trigger"),this.panel=this.querySelector(".accordion-content"),this.innerContent=this.querySelector(".accordion-inner-content"),this.icon=this.querySelector(".accordion-icon"),this.resizeObserver=null;const e=this.dataset.firstAccordionOpen==="true";this.state=e||!1,this.setupResizeObserver(),this.state?(this.icon&&(this.icon.style.transform="rotate(180deg)"),this.setAccordionHeight(),this.panel&&this.panel.setAttribute("aria-hidden","false"),this.toggleFocusableElements(!0)):(this.panel&&(this.panel.style.maxHeight="0px",this.panel.setAttribute("aria-hidden","true")),this.toggleFocusableElements(!1))}toggleFocusableElements(e){if(!this.panel)return;this.panel.querySelectorAll("a, button, input, select, textarea").forEach(t=>{e?t.removeAttribute("tabindex"):t.setAttribute("tabindex","-1")})}setupResizeObserver(){"ResizeObserver"in window&&this.innerContent&&(this.resizeObserver=new ResizeObserver(()=>{this.state&&this.setAccordionHeight()}),this.resizeObserver.observe(this.innerContent))}async setAccordionHeight(){if(!this.innerContent||!this.panel)return;const e=this.innerContent.querySelectorAll("img");if(e.length>0){const s=Array.from(e).map(n=>n.complete?Promise.resolve():Promise.race([new Promise(i=>{n.onload=i,n.onerror=i}),new Promise(i=>setTimeout(i,5e3))]));await Promise.all(s)}await new Promise(s=>setTimeout(s,10));const r=window.innerWidth<768?20:30,t=this.innerContent.scrollHeight+r;this.panel.style.maxHeight=t+"px"}addEvent(){this.trigger&&this.trigger.addEventListener("click",()=>this.handleClick())}open(){this.state||this.handleClick()}async handleClick(){this.state=!this.state,this.trigger&&this.trigger.setAttribute("aria-expanded",this.state.toString()),this.state?(await this.setAccordionHeight(),this.icon&&(this.icon.style.transform="rotate(180deg)"),this.panel&&this.panel.setAttribute("aria-hidden","false"),this.toggleFocusableElements(!0)):(this.panel&&(this.panel.style.maxHeight="0px",this.panel.setAttribute("aria-hidden","true")),this.icon&&(this.icon.style.transform="rotate(0)"),this.toggleFocusableElements(!1))}disconnectedCallback(){this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}}customElements.define("accordion-section",o);</script>
1539 </accordion-wrapper>
1539<script type="module">class o extends HTMLElement{constructor(){super()}connectedCallback(){const e=new IntersectionObserver(s=>{s.forEach(c=>{c.isIntersecting&&(this.querySelectorAll("accordion-section").forEach(n=>n.addEvent()),e.unobserve(this))})});e.observe(this)}}customElements.define("accordion-wrapper",o);</script>
1539<accordion-wrapper> <accordion-section data-first-accordion-open="false" data-astro-cid-o4mlbpkd="true"> <div class="w-full mb-0 mx-0 border-t border-[var(--color-border-active)] py-2 px-2 " data-astro-cid-o4mlbpkd> <button class="accordion-trigger flex w-full cursor-pointer gap-2 w-full text-left uppercase text-xs font-semibold tracking-widest flex items-center justify-between px-0" data-testid="footer-accordion-1" id="terms-and-conditions-trigger" aria-controls="terms-and-conditions-content" aria-expanded="false" data-astro-cid-o4mlbpkd> <span class="accordion-title" data-astro-cid-o4mlbpkd>TERMS & CONDITIONS</span> <span class="accordion-icon h-5 w-5 duration-300 ease-in-out" data-astro-cid-o4mlbpkd> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-5 w-5" data-astro-cid-o4mlbpkd="true" aria-hidden="true"> 1540 <path stroke-linecap="round" 1541 stroke-linejoin="round" 1542 d="M19 9l-7 7-7-7" 1543 ></path> 1544</svg> </span> </button> <div id="terms-and-conditions-content" role="region" aria-labelledby="terms-and-conditions-trigger" class="accordion-content overflow-x-auto overflow-y-hidden transition-all duration-300 ease-in-out max-h-0" data-astro-cid-o4mlbpkd> <div class="accordion-inner-content" data-astro-cid-o4mlbpkd> <ul class="my-2 flex h-auto flex-col gap-2 transition ease-in" data-astro-cid-vnpofkb5> <li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/terms-conditions/" class="hover:underline" aria-label="Terms & Conditions" data-astro-cid-vnpofkb5> Terms & Conditions </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/privacy-policy/" class="hover:underline" aria-label="Privacy Policy" data-astro-cid-vnpofkb5> Privacy Policy </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/cookie-policy/" class="hover:underline" aria-label="Cookie Policy" data-astro-cid-vnpofkb5> Cookie Policy </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/accessibility/" class="hover:underline" aria-label="Accessibility" data-astro-cid-vnpofkb5> Accessibility </a> </li> </ul> </div> </div> </div> </accordion-section> </accordion-wrapper> <accordion-wrapper> <accordion-section data-first-accordion-open="false" data-astro-cid-o4mlbpkd="true"> <div class="w-full mb-0 mx-0 border-t border-[var(--color-border-active)] py-2 px-2 border-b border-[var(--color-border-active)]" data-astro-cid-o4mlbpkd> <button class="accordion-trigger flex w-full cursor-pointer gap-2 w-full text-left uppercase text-xs font-semibold tracking-widest flex items-center justify-between px-0" data-testid="footer-accordion-2" id="useful-information-trigger" aria-controls="useful-information-content" aria-expanded="false" data-astro-cid-o4mlbpkd> <span class="accordion-title" data-astro-cid-o4mlbpkd>USEFUL INFORMATION</span> <span class="accordion-icon h-5 w-5 duration-300 ease-in-out" data-astro-cid-o4mlbpkd> <svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2" class="h-5 w-5" data-astro-cid-o4mlbpkd="true" aria-hidden="true"> 1545 <path stroke-linecap="round" 1546 stroke-linejoin="round" 1547 d="M19 9l-7 7-7-7" 1548 ></path> 1549</svg> </span> </button> <div id="useful-information-content" role="region" aria-labelledby="useful-information-trigger" class="accordion-content overflow-x-auto overflow-y-hidden transition-all duration-300 ease-in-out max-h-0" data-astro-cid-o4mlbpkd> <div class="accordion-inner-content" data-astro-cid-o4mlbpkd> <ul class="my-2 flex h-auto flex-col gap-2 transition ease-in" data-astro-cid-vnpofkb5>
1549 <li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/about-us/" class="hover:underline" aria-label="About Us" data-astro-cid-vnpofkb5> About Us </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/klarna/" class="hover:underline" aria-label="Klarna" data-astro-cid-vnpofkb5> Klarna </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="https://hyrox.com/find-my-race/" class="hover:underline" aria-label="Find My Race" data-astro-cid-vnpofkb5> Find My Race </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/black-friday/" class="hover:underline" aria-label="Black Friday" data-astro-cid-vnpofkb5> Black Friday </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/myreferrals/" class="hover:underline" aria-label="Refer a Friend" data-astro-cid-vnpofkb5> Refer a Friend </a> </li><li class="mobile-footer-links-list-item gap-2 leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/sale/" class="hover:underline" aria-label="Sale" data-astro-cid-vnpofkb5> Sale </a> </li> </ul> </div> </div> </div> </accordion-section> </accordion-wrapper> </div> <div class="desktop-footer-wrapper hidden w-full grow grid-cols-4 lg:grid lg:pl-10 xl:pl-20" data-astro-cid-vnpofkb5> <div data-testid="footer-links" data-astro-cid-vnpofkb5> <h2 class="footer-links-title text-xs font-semibold tracking-widest uppercase" data-astro-cid-vnpofkb5> HELP & SUPPORT </h2> <ul class="my-3 text-sm" data-astro-cid-vnpofkb5> <li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1550 <path d="M12,22 C6.4771525,22 2,17.5228475 2,12 C2,6.4771525 6.4771525,2 12,2 C17.5228475,2 22,6.4771525 22,12 C22,17.5228475 17.5228475,22 12,22 Z M11,18 L13,18 L13,11 L11,11 L11,18 Z M12,9 C12.8633094,9 13.5,8.34980989 13.5,7.50570342 C13.5,6.65019011 12.8633094,6 12,6 C11.1366906,6 10.5,6.65019011 10.5,7.50570342 C10.5,8.34980989 11.1366906,9 12,9 Z"></path> 1551</svg> </span> <a href="/c/contact-us/" class="hover:underline" aria-label="Contact Us" data-astro-cid-vnpofkb5> Contact Us </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1552 <path d="M6,7.43978349 C6.12053571,4.32746955 8.19642857,2 12.0803571,2 C15.6160714,2 18,4.12449256 18,7.0608931 C18,9.14479026 16.9553571,10.6197564 15.1875,11.6887686 C13.4598214,12.7171854 12.9642857,13.4343708 12.9642857,14.8010825 L12.9642857,15.6129905 L10.1919643,15.6129905 L10.1785714,14.5845737 C10.1116071,12.6359946 10.9285714,11.4181326 12.7633929,10.308525 C14.3839286,9.32070365 14.9598214,8.54939107 14.9598214,7.1826793 C14.9598214,5.69418133 13.7678571,4.61163735 11.9330357,4.61163735 C10.0848214,4.61163735 8.89285714,5.70771313 8.77232143,7.43978349 L6,7.43978349 Z M11.7455357,22 C10.5133929,22 9.66964286,21.1745602 9.66964286,19.9431664 C9.66964286,18.6847091 10.5133929,17.8592693 11.7455357,17.8592693 C12.9776786,17.8592693 13.8080357,18.6847091 13.8080357,19.9431664 C13.8080357,21.1745602 12.9776786,22 11.7455357,22 Z"></path> 1553</svg> </span> <a href="/c/help-centre/" class="hover:underline" aria-label="Help Centre" data-astro-cid-vnpofkb5> Help Centre </a> </li>
1553<li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1554 <path d="M9.83652345,17.9961822 C9.3919824,19.723605 7.82412481,21 5.958194,21 C4.09226318,21 2.52440559,19.723605 2.07986455,17.9961822 L1,17.9961822 L1,4 L15.9694148,4 L15.9694148,6.00193404 C18.6390737,5.98791883 19.9739032,5.98091123 19.9739032,5.98091123 C19.9739032,5.98091123 20.9750253,7.64969887 22.9772694,10.9872742 L23,18.0240497 L21.8455118,18.013418 C21.3950059,19.7320885 19.8313785,21 17.971659,21 C16.1057282,21 14.5378706,19.723605 14.0933296,17.9961822 L9.83652345,17.9961822 Z M14.9682928,7.9834564 L14.9682928,11.9885467 L20.9750253,11.9885467 L20.9750253,10.9872742 L18.9727811,7.9834564 L14.9682928,7.9834564 Z M5.958194,18.9974548 C7.06400292,18.9974548 7.96043817,18.1008848 7.96043817,16.9949097 C7.96043817,15.8889345 7.06400292,14.9923645 5.958194,14.9923645 C4.85238508,14.9923645 3.95594983,15.8889345 3.95594983,16.9949097 C3.95594983,18.1008848 4.85238508,18.9974548 5.958194,18.9974548 Z M17.971659,18.9974548 C19.0774679,18.9974548 19.9739032,18.1008848 19.9739032,16.9949097 C19.9739032,15.8889345 19.0774679,14.9923645 17.971659,14.9923645 C16.8658501,14.9923645 15.9694148,15.8889345 15.9694148,16.9949097 C15.9694148,18.1008848 16.8658501,18.9974548 17.971659,18.9974548 Z"></path> 1555</svg> </span> <a href="/c/delivery-information/" class="hover:underline" aria-label="Delivery Information" data-astro-cid-vnpofkb5> Delivery Information </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1556 <path d="M12,2 C17.5228475,2 22,6.4771525 22,12 C22,14.4452017 21.1179427,16.7564187 19.5448599,18.5633646 L18.0364037,17.2501397 C19.2954713,15.8038921 20,13.9578458 20,12 C20,7.581722 16.418278,4 12,4 L12,6 L8,3 L12,-1.71807013e-13 L12,2 Z M12,22 C6.4771525,22 2,17.5228475 2,12 C2,9.55479826 2.88205727,7.24358127 4.45514006,5.43663535 L5.96359628,6.74986033 C4.70452866,8.19610785 4,10.0421542 4,12 C4,16.418278 7.581722,20 12,20 L12,18 L16,21 L12,24 L12,22 Z"></path> 1557</svg> </span> <a href="/c/returns-policy/" class="hover:underline" aria-label="Returns Policy" data-astro-cid-vnpofkb5> Returns Policy </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> 1558 <path d="M13 2.05A10.003 10.003 0 0121.95 11H24v2h-2.05A10.003 10.003 0 0113 21.95V24h-2v-2.05A10.003 10.003 0 012.05 13H0v-2h2.05A10.003 10.003 0 0111 2.05V0h2v2.05zM12 16a4 4 0 110-8 4 4 0 010 8zm0 4a8 8 0 100-16 8 8 0 000 16z"></path> 1559</svg> </span> <a href="/c/track-your-order/" class="hover:underline" aria-label="Track your order" data-astro-cid-vnpofkb5> Track your order </a> </li> <li class="cookie-settings footer-links-list-item flex leading-6 mb-1.5" data-feature="footer.hasOneTrust" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="mr-2" data-astro-cid-vnpofkb5="true" aria-hidden="true"> <path d="M12.132,21.787c-5.412,0-9.799-4.388-9.799-9.799c0-5.412,4.387-9.799,9.799-9.799s9.799,4.387,9.799,9.799 C21.932,17.399,17.544,21.787,12.132,21.787z M15.943,8.722c0.902,0,1.635-0.732,1.635-1.634c0-0.901-0.732-1.632-1.635-1.632 s-1.633,0.731-1.633,1.632C14.311,7.99,15.041,8.722,15.943,8.722z M18.121,16.341c0.901,0.023,1.65-0.689,1.673-1.592 c0.021-0.9-0.69-1.651-1.593-1.672c-0.026-0.001-0.053-0.001-0.08,0c-0.902,0.021-1.615,0.771-1.594,1.672 C16.55,15.62,17.25,16.321,18.121,16.341z M11.587,13.077c0.902,0.021,1.651-0.691,1.673-1.593c0.021-0.902-0.69-1.652-1.593-1.675 c-0.025,0-0.053,0-0.08,0c-0.902,0.022-1.614,0.772-1.593,1.675C10.017,12.354,10.717,13.056,11.587,13.077z M7.233,8.722 c0.902,0,1.634-0.732,1.634-1.634c0-0.901-0.732-1.632-1.634-1.632S5.6,6.187,5.6,7.088C5.6,7.99,6.331,8.722,7.233,8.722z M7.233,17.434c0.902,0,1.634-0.732,1.634-1.633c0.001-0.904-0.73-1.635-1.632-1.635c-0.001,0-0.001,0-0.002,0 c-0.902,0-1.633,0.73-1.633,1.635C5.601,16.701,6.332,17.432,7.233,17.434z M12.679,19.608c0.9,0.001,1.634
1559-0.729,1.634-1.632 s-0.73-1.634-1.633-1.636c-0.001,0-0.001,0-0.001,0c-0.903,0.002-1.634,0.733-1.634,1.636 C11.045,18.878,11.776,19.608,12.679,19.608z"></path> <rect x="2.166" y="2.12" fill="none" width="19.834" height="19.834"></rect> </svg> </span> <button class="cursor-pointer hover:underline" data-astro-cid-vnpofkb5> Cookie Settings </button> </li> </ul> </div><div data-testid="footer-links" data-astro-cid-vnpofkb5> <h2 class="footer-links-title text-xs font-semibold tracking-widest uppercase" data-astro-cid-vnpofkb5> TERMS & CONDITIONS </h2> <ul class="my-3 text-sm" data-astro-cid-vnpofkb5> <li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/terms-conditions/" class="hover:underline" aria-label="Terms & Conditions" data-astro-cid-vnpofkb5> Terms & Conditions </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/privacy-policy/" class="hover:underline" aria-label="Privacy Policy" data-astro-cid-vnpofkb5> Privacy Policy </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/cookie-policy/" class="hover:underline" aria-label="Cookie Policy" data-astro-cid-vnpofkb5> Cookie Policy </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/accessibility/" class="hover:underline" aria-label="Accessibility" data-astro-cid-vnpofkb5> Accessibility </a> </li> </ul> </div><div data-testid="footer-links" data-astro-cid-vnpofkb5> <h2 class="footer-links-title text-xs font-semibold tracking-widest uppercase" data-astro-cid-vnpofkb5> USEFUL INFORMATION </h2> <ul class="my-3 text-sm" data-astro-cid-vnpofkb5> <li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/about-us/" class="hover:underline" aria-label="About Us" data-astro-cid-vnpofkb5> About Us </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/klarna/" class="hover:underline" aria-label="Klarna" data-astro-cid-vnpofkb5> Klarna </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="https://hyrox.com/find-my-race/" class="hover:underline" aria-label="Find My Race" data-astro-cid-vnpofkb5> Find My Race </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/black-friday/" class="hover:underline" aria-label="Black Friday" data-astro-cid-vnpofkb5> Black Friday </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/myreferrals/" class="hover:underline" aria-label="Refer a Friend" data-astro-cid-vnpofkb5> Refer a Friend </a> </li><li class="footer-links-list-item leading-6 mb-1.5 flex" data-astro-cid-vnpofkb5> <span data-feature="footer.hasFooterIcons" data-astro-cid-vnpofkb5> </span> <a href="/c/sale/" class="hover:underline" aria-label="Sale" data-astro-cid-vnpofkb5> Sale </a> </li> </ul> </div> </div> </div> </div> <div class="skin-footer-payment-icons w-full" data-astro-cid-vnpofkb5> <div class="skin-footer skin-footer-payment-icons container mx-auto flex flex-col gap-8 px-5 py-4 text-center text-xs text-gray-500" data-astro-cid-vnpofkb5> <div class="flex flex-col-reverse justify-center gap-8 lg:flex-row lg:justify-between" data-astro-cid-vnpofkb5> <div class="align-center flex flex-col gap-4" data-feature="footer.showIngenuityCopyright" data-astro-cid-vnpofkb5> <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 426.67 94.26" class="footer-ingenuity-copyright" role="img" height="25" width="114" data-astro-cid-vnpofkb5="true" aria-hidden="false"><title>Ingenuity Commerce</title> 1560 <defs> 1561 <style> 1562 .cls-1 { 1563 stroke-width: 0px; 1564 } 1565 </style> 1566 </defs> 1567 <rect class="cls-1" x="88.19" y="12.85" width="6.01" height="37.22"></rect> 1568 <polygon class="cls-1" 1569 points="143.21 12.85 143.21 50.06 137.79 50.06 117.03 23.14 117 50.06 110.99 50.06 110.99 12.85 116.42 12.85 137.2 39.78 137.2 12.85 143.21 12.85" 1570 ></polygon> 1571 <path class="cls-1" 1572 d="m174.29,12.16c2.94,0,5.65.52,8.13,1.57,2.48,1.05,4.57,2.52,6.27,4.44l-4.41,4.28c-1.19-1.42-2.64-2.52-4.36-3.32-1.72-.8-3.6-1.2-5.64-1.2-3.83,0-6.98,1.26-9.46,3.78-2.48,2.52-3.72,5.77-3.72,9.76s1.23,7.22,3.68,9.74c2.45,2.53,5.53,3.79,9.24,3.79,3.35,0,6.02-.83,8.01-2.5,1.99-1.67,3.23-4.05,3.71-7.15h-9.86v-5.58h16.38c.04.64.05,1.12.05,1.43,0,2.68-.42,5.2-1.26,7.56-.84,2.37-2.02,4.44-3.55,6.21-1.52,1.77-3.45,3.18-5.78,4.21-2.33,1.04-4.89,1.55-7.69,1.55-1.93,0-3.82-.27-5.68-.8-1.85-.53-3.6-1.34-5.24-2.42-1.64-1.08-3.08-2.38-4.31-3.89-1.23-1.52-2.21-3.32-2.92-5.41-.72-2.09-1.
157208-4.34-1.08-6.75,0-2.76.49-5.34,1.46-7.74.98-2.39,2.32-4.44,4.03-6.13,1.71-1.69,3.78-3.02,6.19-3.99,2.42-.97,5.02-1.45,7.8-1.45" 1573 ></path> 1574 <polygon class="cls-1" 1575 points="231.73 44.43 231.73 50.06 204.59 50.06 204.59 12.85 231.39 12.85 231.39 18.48 210.6 18.48 210.6 28.51 230.67 28.51 230.67 34.14 210.6 34.14 210.6 44.43 231.73 44.43" 1576 ></polygon> 1577 <polygon class="cls-1" 1578 points="277.4 12.85 277.4 50.06 271.98 50.06 251.22 23.14 251.19 50.06 245.18 50.06 245.18 12.85 250.61 12.85 271.4 39.78 271.4 12.85 277.4 12.85" 1579 ></polygon> 1580 <path class="cls-1" 1581 d="m322.3,12.85v22.54c0,2.52-.41,4.76-1.22,6.74-.82,1.98-1.94,3.58-3.38,4.82-1.44,1.24-3.1,2.18-5,2.82-1.9.64-3.96.96-6.19.96s-4.3-.32-6.19-.96c-1.9-.64-3.56-1.58-5-2.82-1.43-1.24-2.56-2.85-3.38-4.82-.82-1.98-1.22-4.22-1.22-6.74V12.85h6.01v22.09c0,3.4.87,5.93,2.62,7.56,1.74,1.64,4.13,2.46,7.16,2.46s5.42-.82,7.17-2.46c1.74-1.64,2.62-4.16,2.62-7.56V12.85h6.01Z" 1582 ></path> 1583 <rect class="cls-1" x="335.67" y="12.85" width="6.01" height="37.22"></rect> 1584 <polygon class="cls-1" 1585 points="384.48 12.85 384.48 18.54 372.44 18.54 372.44 50.06 366.43 50.06 366.43 18.54 354.39 18.54 354.39 12.85 384.48 12.85" 1586 ></polygon> 1587 <polygon class="cls-1" 1588 points="419.68 12.85 409.33 29.52 399.02 12.85 391.84 12.85 406.3 34.86 406.3 50.06 412.31 50.06 412.31 34.97 426.67 12.85 419.68 12.85" 1589 ></polygon> 1590 <path class="cls-1" 1591 d="m342.06,4.59c0,1.87-1.51,3.38-3.38,3.38s-3.38-1.51-3.38-3.38,1.51-3.38,3.38-3.38,3.38,1.51,3.38,3.38" 1592 ></path> 1593 <path class="cls-1" 1594 d="m94.57,58.29c0,1.87-1.51,3.38-3.38,3.38s-3.38-1.51-3.38-3.38,1.51-3.38,3.38-3.38,3.38,1.51,3.38,3.38" 1595 ></path> 1596 <path class="cls-1" 1597 d="m237.23,77.6c2.09,0,3.95.96,5.1,2.63l.12.17,2.89-1.93-.11-.17c-1.51-2.5-4.58-4.05-8-4.05-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10c3.29,0,6.25-1.46,7.92-3.91l.12-.17-2.82-2.07-.12.18c-1.17,1.69-2.97,2.62-5.08,2.62-3.81,0-6.48-2.74-6.48-6.65s2.66-6.65,6.48-6.65" 1598 ></path> 1599 <path class="cls-1" 1600 d="m268.15,84.25c0,3.92-2.66,6.65-6.48,6.65s-6.48-2.74-6.48-6.65,2.66-6.65,6.48-6.65,6.48,2.73,6.48,6.65m-6.48-10c-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10,10.1-4.21,10.1-10-4.25-10-10.1-10" 1601 ></path> 1602 <polygon class="cls-1" 1603 points="295.22 74.6 289.87 87.73 284.52 74.6 279.49 74.6 279.49 93.9 282.96 93.9 282.96 79.39 288.12 92.06 291.62 92.06 296.78 79.25 296.78 93.9 300.25 93.9 300.25 74.6 295.22 74.6" 1604 ></polygon> 1605 <polygon class="cls-1" 1606 points="324.72 74.6 319.38 87.73 314.03 74.6 309 74.6 309 93.9 312.47 93.9 312.47 79.39 317.63 92.06 321.13 92.06 326.29 79.25 326.29 93.9 329.76 93.9 329.76 74.6 324.72 74.6" 1607 ></polygon> 1608 <polygon class="cls-1" 1609 points="338.5 74.6 338.5 93.9 352.7 93.9 352.7 90.62 341.98 90.62 341.98 85.83 352.16 85.83 352.16 82.54 341.98 82.54 341.98 77.88 352.53 77.88 352.53 74.6 338.5 74.6" 1610 ></polygon> 1611 <path class="cls-1" 1612 d="m372.22,80.27c0,1.7-1.08,2.5-3.39,2.5h-4.43v-4.89h4.43c2.31,0,3.39.76,3.39,2.39m3.6,0c0-3.66-2.45-5.67-6.9-5.67h-7.98v19.31h3.47v-7.94h1.22l6.02,7.94h4.32l-6.23-7.97c3.72-.27,6.09-2.47,6.09-5.67" 1613 ></path> 1614 <path class="cls-1" 1615 d="m392.55,77.6c2.09,0,3.95.96,5.1,2.63l.12.17,2.89-1.93-.11-.17c-1.51-2.5-4.58-4.05-8-4.05-5.85,0-10.1,4.21-10.1,10s4.25,10,10.1,10c3.29,0,6.25-1.46,7.92-3.91l.12-.17-2.82-2.07-.12.18c-1.17,1.69-2.97,2.62-5.08,2.62-3.81,0-6.48-2.74-6.48-6.65s2.66-6.65,6.48-6.65" 1616 ></path> 1617 <polygon class="cls-1" 1618 points="408.19 74.6 408.19 93.9 422.38 93.9 422.38 90.62 411.66 90.62 411.66 85.83 421.84 85.83 421.84 82.54 411.66 82.54 411.66 77.88 422.21 77.88 422.21 74.6 408.19 74.6" 1619 ></polygon> 1620 <path class="cls-1" 1621 d="m39.71,21.51c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.93,2.93-2.93,2.93,1.31,2.93,2.93-1.31,2.93-2.93,2.93m2.61,26.42h-5.21v-22.21h5.21v22.21Zm-18.46,0c-1.62,0-2.93-1.31-2.93-2.93s1.31-2.93,2.93-2.93,2.93,1.31,2.93,2.93-1.31,2.93-2.93,2.93m-2.61-32.28h5.21v22.21h-5.21V15.65ZM56.92,6.66C48.03-2.22,15.55-2.22,6.66,6.66-2.22,15.55-2.22,48.03,6.66,56.91c8.88,8.88,41.37,8.88,50.25,0,8.88-8.88,8.88-41.37,0-50.25" 1622 ></path> 1623</svg> <span class="text-left font-sans text-sm leading-snug font-medium tracking-wide text-[var(--color-foreground)]" data-astro-cid-vnpofkb5> 2026 1624The Hut.com Ltd. </span> </div> <div class="payment-options flex flex-col items-start gap-8 lg:flex-row lg:items-center" data-astro-cid-vnpofkb5>
1624 <div class="flex flex-col items-start pb-4" data-astro-cid-vnpofkb5> <div class="payment-options-text mb-2 font-sans text-base leading-6 font-semibold tracking-normal text-[var(--color-foreground)]" data-astro-cid-vnpofkb5> Pay Securely With </div> <ul class="float-none m-0 flex w-auto flex-wrap justify-start gap-1" data-astro-cid-vnpofkb5> <li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/electron.svg" alt="electron" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/visa.svg" alt="visa" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/paypal.svg" alt="paypal" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/mastercard.svg" alt="mastercard" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/maestro.svg" alt="maestro" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/amex.svg" alt="amex" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/applepay.svg" alt="applepay" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li><li class="mr-1 flex items-center justify-center rounded border bg-white shadow-sm" data-astro-cid-vnpofkb5> <img src="/ssr-assets/payment-options/afterpay.svg" alt="afterpay" height="40" width="60" loading="lazy" data-astro-cid-vnpofkb5> </li> </ul> </div> </div> </div> <astro-island uid="Z27KhDA" prefix="r8" component-url="/ssr-assets/FooterNotes.DOivWn9Q.js" component-export="default" renderer-url="/ssr-assets/client.C3CGs8Zm.js" props="{"hasFooterNotes":[0],"footerNotesTermsPolicyText":[0,""],"arialabelFooterNotes":[0,""],"data-astro-cid-vnpofkb5":[0,true]}" ssr client="idle" opts="{"name":"FooterNotes","value":true}"></astro-island> </div> </div> </footer>
1624<script type="module" src="/ssr-assets/HeaderFooter.astro_astro_type_script_index_0_lang.FzIjyod3.js"></script>
1624
1624<script>(function(){const hasFixedHeader = true; 1625 1626 function updateHeaderPadding() { 1627 const header = document.getElementById('fixed-header'); 1628 const headerCopyright = document.getElementById('header-copyright'); 1629 1630 if (header) { 1631 const fixedHeaderHeight = header.offsetHeight; 1632 let headerHeight = fixedHeaderHeight; 1633 if (headerCopyright) { 1634 headerHeight = headerHeight + headerCopyright.offsetHeight; 1635 } 1636 // Update the CSS variable instead of inline style 1637 document.documentElement.style.setProperty('--header-height', `${headerHeight}px`); 1638 document.documentElement.style.setProperty( 1639 '--fixed-header-height', 1640 `${fixedHeaderHeight}px` 1641 ); 1642 } 1643 } 1644 1645 function initializeHeader() { 1646 const header = document.getElementById('fixed-header'); 1647 1648 if (header) { 1649 requestAnimationFrame(() => { 1650 updateHeaderPadding(); 1651 }); 1652 } 1653 1654 initializeScrollBehavior(); 1655 } 1656 1657 document.addEventListener('DOMContentLoaded', () => { 1658 // Initialize header behavior 1659 initializeHeader(); 1660 1661 // Set initial header height 1662 updateHeaderPadding(); 1663 1664 // Set up observer for header changes 1665 const headerObserver = new MutationObserver(updateHeaderPadding); 1666 const header = document.getElementById('fixed-header'); 1667 1668 if (header) { 1669 headerObserver.observe(header, { 1670 childList: true, 1671 subtree: true, 1672 attributes: true, 1673 characterData: true, 1674 }); 1675 } 1676 }); 1677 1678 function initializeScrollBehavior() { 1679 const header = document.getElementById('fixed-header'); 1680 const headerCopyright = document.getElementById('header-copyright'); 1681 if (!header) return; 1682 1683 let lastScrollY = window.scrollY; 1684 let scrollingDown = false; 1685 let headerHeight = header.offsetHeight; 1686 if (headerCopyright) { 1687 headerHeight = headerHeight + headerCopyright.offsetHeight; 1688 } 1689 const scrollThreshold = headerHeight; 1690 1691 header.classList.add('header-transition'); 1692 1693 function throttle(callback, delay = 100) { 1694 let lastCall = 0; 1695 return function (...args) { 1696 const now = Date.now(); 1697 if (now - lastCall >= delay) { 1698 lastCall = now; 1699 return callback.apply(this, args); 1700 } 1701 }; 1702 } 1703 1704 function handleScroll() { 1705 const currentScrollY = window.scrollY; 1706 1707 scrollingDown = currentScrollY > lastScrollY; 1708 1709 if (currentScrollY <= scrollThreshold) { 1710 header.classList.remove('header-hidden'); 1711 } else if (scrollingDown) { 1712 header.classList.add('header-hidden'); 1713 } else { 1714 header.classList.remove('header-hidden'); 1715 } 1716 1717 lastScrollY = currentScrollY; 1718 } 1719 1720 if (!hasFixedHeader) { 1721 const throttledHandleScroll = throttle(handleScroll, 50); 1722 window.addEventListener('scroll', throttledHandleScroll); 1723 } 1724 } 1725 1726 // Update header padding on resize 1727 window.addEventListener('resize', updateHeaderPadding); 1728 1729 // Also run once before DOMContentLoaded if possible 1730 if (document.readyState !== 'loading') { 1731 updateHeaderPadding(); 1732 } 1733})();</script>
1733 <!-- The re-engage strip itself is rendered by HeaderFooter, directly under the 1734 header (same placement as the luxury storefront); this component only owns 1735 its behaviour, below. -->
1735<script>(function(){const welcomeMessages = undefined; 1736 1737 if (welcomeMessages && welcomeMessages.length) { 1738 window.__THG_CHATBOT_CONTENT__ = { welcomeMessages }; 1739 } 1740 1741 // Site-session join key â read at emit time, so it survives session rotation. 1742 window.__THG_CHATBOT_GET_SITE_SESSION_ID__ = function () { 1743 const m = document.cookie.match(/(?:^|; )chumewe_sess=([^;]*)/); 1744 return m ? decodeURIComponent(m[1]) : null; 1745 }; 1746 1747 // Queue for storefront basket adds / checkout starts â see @utils/chatbotTelemetry. 1748 window.__THG_CHATBOT_SITE_EVENTS__ = window.__THG_CHATBOT_SITE_EVENTS__ || []; 1749 1750 // Fixed elements can't see the sidebar's <html> margin, so mirror the push as 1751 // a class + custom properties. Read back: width and edge are configurable. 1752 (function () { 1753 const root = document.documentElement; 1754 let last = ''; 1755 function syncSidebarPush() { 1756 const left = root.style.marginLeft || ''; 1757 const right = root.style.marginRight || ''; 1758 const key = left + '|' + right; 1759 if (key === last) return; // our own setProperty re-triggers the observer 1760 last = key; 1761 root.style.setProperty('--chatbot-push-left', left || '0px'); 1762 root.style.setProperty('--chatbot-push-right', right || '0px'); 1763 root.classList.toggle('chatbot-sidebar-open', !!(left || right)); 1764 // No resize fires, so --vw would stay frozen and full-bleed sections 1765 // overflow. The margin animates, so repeat once it has settled. 1766 window.dispatchEvent(new Event('resize')); 1767 root.addEventListener( 1768 'transitionend', 1769 function onEnd(e) { 1770 if (e.target !== root || !/^margin/.test(e.propertyName)) return; 1771 root.removeEventListener('transitionend', onEnd); 1772 window.dispatchEvent(new Event('resize')); 1773 }, 1774 false, 1775 ); 1776 setTimeout(() => window.dispatchEvent(new Event('resize')), 400); 1777 } 1778 new MutationObserver(syncSidebarPush).observe(root, { 1779 attributes: true, 1780 attributeFilter: ['style'], 1781 }); 1782 syncSidebarPush(); 1783 })(); 1784})();</script>
1784
1784<script type="module" src="/ssr-assets/ShoppingAssistant.astro_astro_type_script_index_0_lang.BswpGxd1.js"></script>
1784
1784<script defer src="https://assets.thg.dev/agentic-commerce/shopping-assistant/loader.js" data-channel="hyrox-en-gb" data-locale="en-GB" data-api-url="https://api.thg.dev/agentic-commerce/shopping-assistant/ag-ui" data-api-key="5GXRAfK8Uwzdt5BqlqxvGLYA3HLi0fEymcefK9HA7dE6exYe" data-hide-trigger="true" data-layout-mode="sidebar" data-primary-color="#000000" data-primary-text-color="#FFFFFF" data-accent-color="#000000" data-text-color="#1A1A1A" data-border-background="#FFFFFF" data-border-gradient="["#000000","#3D3D3D","#8A9600","#D4E600","#FFED00"]" data-header-title="Product Guide" data-tooltip-description="Ask about kit, sizing and race-day gear" data-disclaimer-text="Product Guide can make mistakes. Check important info." data-input-placeholder="Type your question hereâ¦" data-send-button-label="Send" data-error-message="Sorry, something went wrong. Please try again." data-avatar-initials="HX" data-price-format="was-save" data-pdp-pills-mount-selector="#pdp-gallery-container" data-product-pills-label="Ask Product Guide"></script>
1784
1784<script> 1785 // Enrichment only â the SDK scopes sessions and memory by its own cookie. 1786 // setIdentity, not a late data-customer-id write: attributes are read at boot. 1787 window.addEventListener('loginStateUpdated', function (e) { 1788 const visitorId = e.detail?.visitorId; 1789 if (visitorId && window.THGChatbot && window.THGChatbot.setIdentity) { 1790 window.THGChatbot.setIdentity(visitorId); 1791 } 1792 }); 1793 1794 (function () { 1795 var strip = document.getElementById('chatbot-reengage-strip'); 1796 if (!strip) return; 1797 1798 var chatbotOpen = false; 1799 1800 function hasActiveConversation() { 1801 try { 1802 var conv = sessionStorage.getItem('thg_chatbot_conversation'); 1803 if (!conv) return false; 1804 var parsed = JSON.parse(conv); 1805 // The SDK persists { type }, not { role } â `role` never matched. 1806 return Array.isArray(parsed) && parsed.some(function (m) { return m.type === 'question'; }); 1807 } catch (e) { 1808 return false; 1809 } 1810 } 1811 1812 function showStrip() { 1813 if (!chatbotOpen && hasActiveConversation()) { 1814 strip.classList.remove('hidden'); 1815 strip.classList.add('flex'); 1816 } 1817 } 1818 1819 function hideStrip() { 1820 strip.classList.add('hidden'); 1821 strip.classList.remove('flex'); 1822 } 1823 1824 document.addEventListener('thg-chatbot:opened', function () { 1825 chatbotOpen = true; 1826 hideStrip(); 1827 }); 1828 1829 document.addEventListener('thg-chatbot:closed', function () { 1830 chatbotOpen = false; 1831 showStrip(); 1832 }); 1833 1834 strip.addEventListener('click', function () { 1835 hideStrip(); 1836 var chatbot = document.querySelector('thg-chatbot'); 1837 if (chatbot && chatbot.open) chatbot.open(); 1838 }); 1839 1840 strip.addEventListener('keydown', function (e) { 1841 if (e.key === 'Enter' || e.key === ' ') { 1842 e.preventDefault(); 1843 strip.click(); 1844 } 1845 }); 1846 1847 // Header trigger sync 1848 var triggers = document.querySelectorAll('.header-chatbot-trigger'); 1849 1850 triggers.forEach(function (btn) { 1851 btn.addEventListener('click', function () { 1852 var chatbot = document.querySelector('thg-chatbot'); 1853 if (!chatbot) return; 1854 if (chatbotOpen) { 1855 if (chatbot.close) chatbot.close(); 1856 } else { 1857 if (chatbot.open) chatbot.open(); 1858 } 1859 }); 1860 }); 1861 1862 document.addEventListener('thg-chatbot:opened', function () { 1863 triggers.forEach(function (btn) { 1864 btn.setAttribute('aria-pressed', 'true'); 1865 btn.classList.add('chatbot-trigger-active'); 1866 }); 1867 }); 1868 1869 document.addEventListener('thg-chatbot:closed', function () { 1870 triggers.forEach(function (btn) { 1871 btn.setAttribute('aria-pressed', 'false'); 1872 btn.classList.remove('chatbot-trigger-active'); 1873 }); 1874 }); 1875 1876 document.querySelectorAll('.search-assistant-entry').forEach(function (entry) { 1877 entry.addEventListener('click', function () { 1878 const dialog = entry.closest('dialog'); 1879 if (dialog && dialog.open) dialog.close(); 1880 const chatbot = document.querySelector('thg-chatbot'); 1881 if (chatbot && chatbot.open) chatbot.open(); 1882 }); 1883 }); 1884 1885 // Check for existing conversation on page load 1886 showStrip(); 1887 })(); 1888</script>
1888
1888<script> 1889 // Hide entry points when the backend is down, except for users mid-conversation 1890 // who can still reach their history (the SDK gates new sends). 1891 (function () { 1892 const SELECTORS = [ 1893 '.header-chatbot-trigger', 1894 '.search-assistant-entry', 1895 '#chatbot-reengage-strip', 1896 ]; 1897 1898 document.addEventListener('thg-chatbot:health-changed', function (e) { 1899 const detail = e.detail || {}; 1900 const show = !!detail.healthy || !!detail.hasActiveConversation; 1901 1902 document.querySelectorAll(SELECTORS.join(',')).forEach(function (el) { 1903 // Inline display: Tailwind's flex/block beats `[hidden]` on specificity. 1904 el.style.display = show ? '' : 'none'; 1905 el.setAttribute('aria-hidden', show ? 'false' : 'true'); 1906 }); 1907 }); 1908 })(); 1909</script>
1909
1909<script type="module">function e(){const t=document.documentElement;let n=(t.offsetWidth||t.clientWidth)/100;t.style.setProperty("--vw",`${n}px`)}e();window.addEventListener("resize",e);</script>
1909</body></html>
1909<script data-track="plp" data-track-type="onload" data-track-push="plp">(function(){const pageTitle = "About HYROX"; 1910const currencySymbol = "£"; 1911const experiments = undefined; 1912const userCountry = "GB"; 1913const itemLength = 4; 1914const trackedProducts = undefined; 1915const rayId = "E1Sl_b-7EfG1YInlNSUYXQ"; 1916const breadcrumbsCategories = ["About HYROX"]; 1917const isListPage = false; 1918 1919 window.Tracker.store.set('rayId', rayId); 1920 window.Tracker.store.set('currency', sessionSettings.currency); 1921 1922 window.Tracker.store.set('pageInfo', { 1923 event: 'PageLoad', 1924 platformType: 'Altitude', 1925 pageCategory: 'category', 1926 pageTitle: pageTitle, 1927 pageCrumbs: breadcrumbsCategories ?? [], 1928 reEngagementUserId: '', 1929 pagePath: window?.location?.pathname + window?.location?.search, 1930 pageAttributes: [ 1931 { 1932 locale: tenantConfig?.siteAttributes?.locale, 1933 site: tenantConfig?.siteAttributes?.site, 1934 subsite: tenantConfig?.siteAttributes?.subsite, 1935 currency: sessionSettings.currency, 1936 currencySymbol: currencySymbol, 1937 listPage: isListPage ? 'true' : 'false', 1938 mobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( 1939 navigator.userAgent 1940 ) 1941 ? 'yes' 1942 : 'no', 1943 experiments: [experiments], 1944 pageTemplatePrefix: 'default' 1945 } 1946 ], 1947 basketTotal: '', 1948 visitorLocation: userCountry, 1949 }); 1950 window.Tracker.store.set('plp', { 1951 rayId, 1952 trackedProducts 1953 }); 1954})();</script>
1954
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.