PageSourceSearch

https://www.sprintmyofficial.com/blogs/articles

html sprintmyofficial.com collected 2026-10-07 19:30:03 UTC 198,646 bytes, 4,329 lines download raw bytes

1<!doctype html>
2<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
3<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en"> <![endif]-->
5<!--[if IE 9 ]><html class="ie9 no-js"> <![endif]-->
6<!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js"> <!--<![endif]-->
7<head>
8
9  <!-- Basic page needs ================================================== -->
10  <meta charset="utf-8">
11  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
12
13  
14  <link rel="icon" href="https://cdn.store-assets.com/s/1368538/f/17677728.png" />
15  
16
17  <!-- Title and description ================================================== -->
18  <title>
19  Articles &ndash; Sprint Running
20  </title>
21
22  
23  <meta name="description" content="Don’t let Malaysia’s humidity slow you down. Learn how to train smarter, stay hydrated, and choose gear that keeps you cool — every mile, every day.">
24  
25
26  <!-- Social meta ================================================== -->
27  
28
29    <meta property="og:type" content="blog">
30    <meta property="og:title" content="Articles">
31    <meta property="og:url" content="https://www.sprintmyofficial.com/blogs/articles">
32
33
34<meta property="og:description" content="Don’t let Malaysia’s humidity slow you down. Learn how to train smarter, stay hydrated, and choose gear that keeps you cool — every mile, every day.">
35<meta property="og:site_name" content="Sprint Running">
36
37
38
39  <meta name="twitter:card" content="summary">
40
41
42
43  <meta name="twitter:site" content="@">
44
45
46  <meta name="twitter:title" content="Articles">
47  <meta name="twitter:description" content="Don’t let Malaysia’s humidity slow you down. Learn how to train smarter, stay hydrated, and choose gear that keeps you cool — every mile, every day.">
48
49
50
51
52  <!-- Helpers ================================================== -->
53  <link rel="canonical" href="https://www.sprintmyofficial.com/blogs/articles">
54  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
55  <meta name="theme-color" content="#121212">
56  
57  
57<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript" ></script>
57
58  
59  <!-- Header hook for plugins ================================================== -->
60  
61<!-- ScriptTags -->
62<script>window.__st={p: "blog",cid: null,cem: null,cph: null,cfn: null,cln: null,cge: null,cdb: null,ccc: null};</script>
62<script src='/assets/events.js'></script>
62<script>(function(){function asyncLoad(){var urls=['/assets/traffic.js?v=1','https://apps.easystore.co/marketplace/shopee-malaysia/script.js?shop=sprintrunning.easy.co'];for(var i=0;i<urls.length;i++){var s=document.createElement('script');s.type='text/javascript';s.async=true;s.src=urls[i];var x=document.getElementsByTagName('script')[0];x.parentNode.insertBefore(s, x);}}window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);})();</script>
62
63<!-- /ScriptTags -->
64
65  
66  
67  
67<script src="https://store-themes.easystore.co/1368538/themes/55058/assets/global.js?t=1787901486" defer="defer"></script>
67
68
69  
70  
71  
71<script>
72  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
73  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
74  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
75  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
76
77  ga('create', '', 'auto','myTracker');
78  ga('myTracker.send', 'pageview');
79
80  </script>
80
81  
82  
82<script src="/assets/storefront.js?id=1d419de2011a5572c98b" type="text/javascript" ></script>
82
83  
84
85  <!-- CSS ================================================== -->
86  <style>
87      @font-face {
88        font-family: 'Sunflower';
89        font-style: normal;
90        font-weight: 300;
91        src: local('Sunflower 300'), local('Sunflower-300'), url(https://fonts.gstatic.com/s/sunflower/v9/RWmPoKeF8fUjqIj7Vc-06MfiqYsGBGBzCw.ttf) format('truetype');
92      }
93
94      @font-face {
95        font-family: 'Bebas Neue';
96        font-style: normal;
97        font-weight: regular;
98        src: local('Bebas Neue regular'), local('Bebas Neue-regular'), url(https://fonts.gstatic.com/s/bebasneue/v2/JTUSjIg69CK48gW7PXooxW5rygbi49c.ttf) format('truetype');
99      }
100
101      :root {
102        --font-body-family: 'Sunflower', sans-serif;
103        --font-body-style: normal;
104        --font-body-weight: 500;
105
106        --font-heading-family: 'Bebas Neue', display;
107        --font-heading-style: normal;
108        --font-heading-weight: 500;
109
110        --color-heading-text: 18,18,18;
111        --color-base-text: 18,18,18;
112        --color-base-background-1: 255,255,255;
113        --color-base-background-2: 255,255,255;
114        
115        --color-base-solid-button-labels: 255,255,255;
116        --color-base-outline-button-labels: 18,18,18;
117        
118        --color-base-accent-1: 18,18,18;
119        --color-base-accent-2: 18,18,18;
120        --payment-terms-background-color: 255,255,255;
121
122        --gradient-base-background-1: 255,255,255;
123        --gradient-base-background-2: 255,255,255;
124        --gradient-base-accent-1: 18,18,18;
125        --gradient-base-accent-2: 18,18,18;
126
127        --page-width: 145rem;
128      }
129
130      *,
131      *::before,
132      *::after {
133        box-sizing: inherit;
134      }
135
136      html {
137        box-sizing: border-box;
138        font-size: 62.5%;
139        height: 100%;
140      }
141
142      body {
143        display: grid;
144        grid-template-rows: auto auto 1fr auto;
145        grid-template-columns: 100%;
146        min-height: 100%;
147        margin: 0;
148        font-size: 1.5rem;
149        letter-spacing: 0.06rem;
150        line-height: 1.8;
151        font-family: var(--font-body-family);
152        font-style: var(--font-body-style);
153        font-weight: var(--font-body-weight);
154        
155      }
156
157      @media screen and (min-width: 750px) {
158        body {
159          font-size: 1.6rem;
160        }
161      }
162   </style>
163  
164  <link href="https://store-themes.easystore.co/1368538/themes/55058/assets/base.css?t=1787901486" rel="stylesheet" type="text/css" media="screen" />
165
166  
167  
168<!-- Snippet:global/head: Shopee Malaysia -->
169<link type="text/css" rel="stylesheet" href="https://apps.easystore.co/assets/css/marketplace/main.css?v1.71">
170<!-- /Snippet -->
171
172<!-- Snippet:global/head: Product Property 進階規格選項 -->
173
174            
174<script src="https://apps.easystore.co/assets/js/product-property/properties.js?v2.05"></script>
174
175            <link type="text/css" rel="stylesheet" href="https://apps.easystore.co/assets/css/product-property/main.css?v2.03">
176          
177<!-- /Snippet -->
178
179<!-- Snippet:global/head: Reperk Rewards & Loyalty Program by OnVoard -->
180<script>
181  (function() {
182    window.OnVoard = window.OnVoard || function() {
183      (window.OnVoard.q = window.OnVoard.q || []).push(arguments);
184    };
185    var script = document.createElement("script");
186    var parent = document.getElementsByTagName("script")[0].parentNode;
187    script.async = 1;
188
189    
190    script.src = "https://scripts.onvoard.com/apps/loader.js";
191    
192    parent.appendChild(script);
193  })();
194</script>
194
195
196
197<script>
198
199var ovData = {};
200ovData["ecommerce_platform"] = "easystore";
201ovData["account_id"] = "acct_tnf48i374s95hk4";
202
203
204  ovData["template"] = "blog";
205  ovData["cart"] = {"item_count":0,"total_price":0,"announcements":[]};
206  ovData["product"] = "";
207  ovData["shop"] = {};
208  ovData["customer"] = {};
209
210  
211    ovData["shop"] = {
212      "currency": "MYR",
213      "domain": "www.sprintmyofficial.com",
214      "url": "https://www.sprintmyofficial.com",
215      "money_format": "<span class=money data-ori-price='{{amount}}'>RM {{amount}} </span>",
216    };
217  
218
219  
220
221  window.OnVoardData = ovData;
222</script>
222
223
224<!-- /Snippet -->
225
226
227  
227<script>document.documentElement.className = document.documentElement.className.replace('no-js', 'js');</script>
227
228</head>
229
230<body id="articles" class="template-blog" >
231	
232  
233<!-- Snippet:global/body_start: Announcement Bar -->
234<link rel="stylesheet" href="https://apps.easystore.co/assets/css/annoucement-bar/marquee.css?v1.04">
235
236<div id="announcement-bar" name="announcement-bar" style="
237    border: unset;
238    padding: 6px 0px;
239    margin: 0px;
240    z-index:2999;
241    background:rgb(66, 2, 1);
242    color:rgb(255, 255, 255);
243    position: -webkit-sticky; position: sticky; top: 0;
244">
245
246  <input type="hidden" id="total_announcement_left" name="total_announcement_left" value="1">
247  <input type="hidden" id="locale" name="locale" value="en_US">
248
249  <div class="app_marquee-wrapper" style="
250    padding: 0px 0px;
251    border-top: 0px;
252    border-bottom: 0px;
253    border-color: transparent;
254  ">
255    <div class="app_marquee-container">
256              <div id="announcement_bar_0" class="announcement_bar_0 announcement_bar-content">
257          <span class="marquee-msg">Login to enjoy extra 10% off sitewide with RM650 spend. USE CODE: SPRINT10</span>
258                              <input type="hidden" id="expired_at_0" name="expired_at_0" value="2025-12-31 12:00">
259        </div>
260          </div>
261
262          <span id="announcement-close-button" name="announcement-close-button" class="announcement-close-button" style="color: rgb(200, 2, 16); background: rgb(255, 255, 255);">
263        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" width="20" height="20" stroke-width="2">
264          <path d="M18 6l-12 12"></path>
265          <path d="M6 6l12 12"></path>
266        </svg>
267      </span>
268      </div>
269</div>
270
271
272
273<script>
274  var is_top_enabled = 1;
275  if (is_top_enabled) {
276    // Prevent announcement bar block header
277    setTimeout(() => {
278      let header = document.querySelector('#easystore-section-header');
279      let topbar = document.querySelector('.sticky-topbar');
280      let announcementBar = document.querySelector('#announcement-bar');
281
282      if (announcementBar) {
283          let height = announcementBar.offsetHeight + 'px';
284          if (header) header.style.top = height;
285          if (topbar) topbar.style.top = height;
286      }
287    }, 2000);
288  }
289
290  setInterval(function () {
291      let total_announcement = parseInt("1", 10);
292      let total_announcement_left = parseInt(document.querySelector("#total_announcement_left").value, 10);
293
294      for (let i = 0; i <= total_announcement; i++) {
295          let startDate = new Date();
296          let endDateStr = document.querySelector(`#expired_at_${i}`)?.value;
297          let endDate = endDateStr ? new Date(endDateStr.replace(/-/g, "/")) : new Date();
298          let seconds = (endDate.getTime() - startDate.getTime()) / 1000;
299
300          let days = Math.floor(seconds / 86400);
301          let hours = Math.floor((seconds % 86400) / 3600);
302          let mins = Math.floor((seconds % 3600) / 60);
303          let secs = Math.floor(seconds % 60);
304
305          function translate(key, locale, values = 1) {
306              if (locale === "zh_TW") {
307                  let translations = {
308                      day: "天",
309                      hour: "小時",
310                      min: "分鐘",
311                      sec: "秒"
312                  };
313                  return translations[key] || key;
314              } else {
315                  let singularPlural = { day: "Day", hour: "Hour", min: "Min", sec: "Sec" };
316                  let plural = { day: "Days", hour: "Hours", min: "Mins", sec: "Secs" };
317                  if (key in singularPlural) {
318                      return values > 1 ? plural[key] : singularPlural[key];
319                  }
320                  return key;
321              }
322          }
323
324
325          let countdownElement = document.querySelector(`#announcementBar_countdown_${i}`);
326          if (countdownElement && seconds > 0) {
327            let locale = document.querySelector("#locale")?.value || "en";
328            let countdownItems = document.querySelectorAll(`.announcementBar_countdown_${i}`);
329            countdownItems.forEach(item => {
330                item.style.display = '';
331                item.innerHTML = `
332                    <div>
333                        <span>${days}</span> <small>${translate('day', locale, days)}</small>
334                    </div>
335                    <div>
336                        <span>${hours}</span> <small>${translate('hour', locale, hours)}</small>
337                    </div>
338                    <div>
339                        <span>${mins}</span> <small>${translate('min', locale, mins)}</small>
340                    </div>
341                    <div>
342                        <span>${secs}</span> <small>${translate('sec', locale, secs)}</small>
343                    </div>
344                `;
345            });
346          } else if (countdownElement && seconds <= 0) {
347              let bar = document.querySelector(`#announcement_bar_${i}`);
348              if (bar) bar.remove();
349              total_announcement_left -= 1;
350              document.querySelector("#total_announcement_left").value = total_announcement_left;
351          }
352      }
353
354      showOrHide(total_announcement_left);
355  }, 1000);
356
357  function showOrHide(total_announcement_left) {
358      let prevButton = document.querySelector("#previous-announcement-bar-button");
359      let nextButton = document.querySelector("#next-announcement-bar-button");
360      let closeButton = document.querySelector("#announcement-close-button");
361      let announcementBar = document.querySelector("#announcement-bar");
362      let announcementBarTop = document.querySelector("#announcement-bar-top");
363      let header = document.querySelector("#easystore-section-header");
364      let topbar = document.querySelector(".sticky-topbar");
365
366      if (total_announcement_left <= 1) {
367          if (prevButton) prevButton.style.display = 'none';
368          if (nextButton) nextButton.style.display = 'none';
369      } else {
370          if (prevButton) prevButton.style.display = 'block';
371          if (nextButton) nextButton.style.display = 'block';
372      }
373
374      if (total_announcement_left === 0) {
375          if (closeButton) closeButton.style.display = 'none';
376          if (announcementBar) announcementBar.style.display = 'none';
377          if (announcementBarTop) announcementBarTop.style.display = 'none';
378          if (header) header.style.top = '0px';
379          if (topbar) topbar.style.top = '0px';
380      }
381  }
382
383  let closeButton = document.querySelector("#announcement-close-button");
384  if (closeButton) {
385      closeButton.addEventListener('click', () => {
386          let announcementBar = document.querySelector("#announcement-bar");
387          let announcementBarTop = document.querySelector("#announcement-bar-top");
388          let header = document.querySelector("#easystore-section-header");
389          let topbar = document.querySelector(".sticky-topbar");
390
391          if (announcementBar) announcementBar.style.display = 'none';
392          if (announcementBarTop) announcementBarTop.style.display = 'none';
393          if (header) header.style.top = '';
394          if (topbar) topbar.style.top = '';
395      });
396  }
397
398</script>
398
399
400
401<script>
402  (function initializeMarquee() {
403    const marqueeWrapper = document.querySelector(`#announcement-bar .app_marquee-wrapper`);
404    const marqueeContainer = document.querySelector(`#announcement-bar .app_marquee-container`);
405
406    if (!marqueeWrapper || !marqueeContainer) return;
407
408    const children = Array.from(marqueeContainer.children);
409
410    // Calculate the total width of children
411    let totalWidth = children.reduce((acc, child) => acc + child.offsetWidth, 0);
412    const screenWidth = window.innerWidth;
413
414    // Clone children until the total width exceeds the screen width
415    if(totalWidth > 5){
416      while (totalWidth < screenWidth * 3) {
417        children.forEach(child => {
418          const clone = child.cloneNode(true);
419          marqueeContainer.appendChild(clone);
420          totalWidth += clone.offsetWidth;
421        });
422      }
423    }
424
425    // Clone the marquee container
426    const clonedContainer = marqueeContainer.cloneNode(true);
427    marqueeWrapper.appendChild(clonedContainer);
428  })();
429</script>
429
430
431<!-- /Snippet -->
432
433<!-- Snippet:global/body_start: Console Extension -->
434<div id='es_console' style='display: none;'>1368538</div>
435<!-- /Snippet -->
436
437	
438 	<style>
439  header {
440    --logo-width: 180px;
441  }
442  .header-wrapper,
443  .header-wrapper .list-menu--disclosure,
444  .header-wrapper .search-modal{
445    background-color: #FFFFFF;
446  }
447  .header-wrapper .search-modal .field__input{
448    background-color: rgb(var(--color-background));
449  }
450  .header-wrapper summary .icon-caret,
451  .header-wrapper .header__menu-item a,
452  .header-wrapper .list-menu__item,
453  .header-wrapper .link--text{
454    color: #000000;
455  }
456  
457  .search-modal__form{
458    position: relative;
459  }
460  
461  .dropdown {
462    display: none;
463    position: absolute;
464    top: 100%;
465    left: 0;
466    width: 100%;
467    padding: 5px 0;
468    background-color: #fff;
469    color:#000;
470    z-index: 1000;
471    border-bottom-left-radius: 15px;
472    border-bottom-right-radius: 15px;
473    border: 1px solid rgba(var(--color-foreground), 1);
474    border-top: none;
475    overflow-x: hidden;
476    overflow-y: auto;
477    max-height: 350px;
478  }
479  
480  .dropdown-item {
481    padding: 0.4rem 2rem;
482    cursor: pointer;
483    line-height: 1.4;
484    overflow: hidden;
485    text-overflow: ellipsis;
486    white-space: nowrap;
487  }
488  
489  .dropdown-item:hover{
490    background-color: #f3f3f3;
491  }
492  
493  .search__input.is-focus{
494    border-radius: 15px;
495    border-bottom-left-radius: 0;
496    border-bottom-right-radius: 0;
497    border: 1px solid rgba(var(--color-foreground), 1);
498    border-bottom: none;
499    box-shadow: none;
500  }
501  
502  .clear-all {
503    text-align: right;
504    padding: 0 2rem 0.2rem;
505    line-height: 1;
506    font-size: 70%;
507    margin-bottom: -2px;
508  }
509  
510  .clear-all:hover{
511    background-color: #fff;
512  }
513  
514  .search-input-focus .easystore-section-header-hidden{
515    transform: none;
516  }
517  .referral-notification {
518    position: absolute;
519    top: 100%;
520    right: 0;
521    background: white;
522    border: 1px solid #e0e0e0;
523    border-radius: 8px;
524    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
525    width: 280px;
526    z-index: 1000;
527    padding: 16px;
528    margin-top: 8px;
529    font-size: 14px;
530    line-height: 1.4;
531  }
532  
533  .referral-notification::before {
534    content: '';
535    position: absolute;
536    top: -8px;
537    right: 20px;
538    width: 0;
539    height: 0;
540    border-left: 8px solid transparent;
541    border-right: 8px solid transparent;
542    border-bottom: 8px solid white;
543  }
544  
545  .referral-notification::after {
546    content: '';
547    position: absolute;
548    top: -9px;
549    right: 20px;
550    width: 0;
551    height: 0;
552    border-left: 8px solid transparent;
553    border-right: 8px solid transparent;
554    border-bottom: 8px solid #e0e0e0;
555  }
556  
557  .referral-notification h4 {
558    margin: 0 0 8px 0;
559    color: #2196F3;
560    font-size: 16px;
561    font-weight: 600;
562  }
563  
564  .referral-notification p {
565    margin: 0 0 12px 0;
566    color: #666;
567  }
568  
569  .referral-notification .referral-code {
570    background: #f5f5f5;
571    padding: 8px;
572    border-radius: 4px;
573    font-family: monospace;
574    font-size: 13px;
575    text-align: center;
576    margin: 8px 0;
577    border: 1px solid #ddd;
578  }
579  
580  .referral-notification .close-btn {
581    position: absolute;
582    top: 8px;
583    right: 8px;
584    background: none;
585    border: none;
586    font-size: 18px;
587    color: #999;
588    cursor: pointer;
589    padding: 0;
590    width: 20px;
591    height: 20px;
592    line-height: 1;
593  }
594  
595  .referral-notification .close-btn:hover {
596    color: #333;
597  }
598  
599  .referral-notification .action-btn {
600    background: #2196F3;
601    color: white;
602    border: none;
603    padding: 8px 16px;
604    border-radius: 4px;
605    cursor: pointer;
606    font-size: 12px;
607    margin-right: 8px;
608    margin-top: 8px;
609  }
610  
611  .referral-notification .action-btn:hover {
612    background: #1976D2;
613  }
614  
615  .referral-notification .dismiss-btn {
616    background: transparent;
617    color: #666;
618    border: 1px solid #ddd;
619    padding: 8px 16px;
620    border-radius: 4px;
621    cursor: pointer;
622    font-size: 12px;
623    margin-top: 8px;
624  }
625  
626  .referral-notification .dismiss-btn:hover {
627    background: #f5f5f5;
628  }
629  .referral-modal__dialog {
630    transform: translate(-50%, 0);
631    transition: transform var(--duration-default) ease, visibility 0s;
632    z-index: 10000;
633    position: fixed;
634    top: 20vh;
635    left: 50%;
636    width: 100%;
637    max-width: 350px;
638    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
639    border-radius: 12px;
640    background-color: #fff;
641    color: #000;
642    padding: 20px;
643    text-align: center;
644  }
645
646  .modal-overlay.referral-modal-overlay {
647    position: fixed;
648    top: 0;
649    left: 0;
650    width: 100%;
651    height: 100%;
652    background-color: rgba(0, 0, 0, 0.7);
653    z-index: 2001;
654    display: block;
655    opacity: 1;
656    transition: opacity var(--duration-default) ease, visibility 0s;
657  }
658</style>
659
660<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/section-header.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
661<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/component-list-menu.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
662<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/component-menu-drawer.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
663<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/component-cart-notification.css?v1.1?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
664
665<script src="https://store-themes.easystore.co/1368538/themes/55058/assets/cart-notification.js?t=1787901486" defer="defer"></script>
vendor: 2 bytes, line 665
665
666<script src="https://store-themes.easystore.co/1368538/themes/55058/assets/details-modal.js?t=1787901486" defer="defer"></script>
666
667
668<svg xmlns="http://www.w3.org/2000/svg" class="hidden">
669  <symbol id="icon-search" viewbox="0 0 18 19" fill="none">
670    <path fill-rule="evenodd" clip-rule="evenodd" d="M11.03 11.68A5.784 5.784 0 112.85 3.5a5.784 5.784 0 018.18 8.18zm.26 1.12a6.78 6.78 0 11.72-.7l5.4 5.4a.5.5 0 11-.71.7l-5.41-5.4z" fill="currentColor"/>
671  </symbol>
672
673  <symbol id="icon-close" class="icon icon-close" fill="none" viewBox="0 0 18 17">
674    <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
675  </symbol>
676</svg>
677
678
679<div id="easystore-section-header">
680  <sticky-header class="header-wrapper header-wrapper--border-bottom">
681    <header class="header header--middle-left page-width header--has-menu" itemscope itemtype="http://schema.org/Organization">
682      <header-drawer data-breakpoint="tablet">
683        <details class="menu-drawer-container menu-opening">
684          <summary class="header__icon header__icon--menu header__icon--summary link link--text focus-inset" aria-label="Menu" role="button" aria-expanded="true" aria-controls="menu-drawer">
685            <span>
686              
687
688
689    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-hamburger " fill="none" viewBox="0 0 18 16">
690      <path d="M1 .5a.5.5 0 100 1h15.71a.5.5 0 000-1H1zM.5 8a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1A.5.5 0 01.5 8zm0 7a.5.5 0 01.5-.5h15.71a.5.5 0 010 1H1a.5.5 0 01-.5-.5z" fill="currentColor">
691      </path>
692    </svg>
693
694  
695
696              
697
698
699    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-close " fill="none" viewBox="0 0 18 17">
700      <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
701      </path>
702    </svg>
703
704  
705
706            </span>
707          </summary>
708          <div id="menu-drawer" class="menu-drawer motion-reduce" tabindex="-1">
709            <div class="menu-drawer__inner-container">
710              <div class="menu-drawer__navigation-container">
711                <nav class="menu-drawer__navigation">
712                  <ul class="menu-drawer__menu list-menu" role="list">
713                    
714                    
715                      
716                        <li>
717                          <a href="/"  class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
718                            Home
719                          </a>
720                        </li>
721                      
722                    
723                    
724                      
725                        
726                        <li>
727                          <details>
728                                <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
729                                  <a href="/no-direct"  class="link--text list-menu__item menu-drawer__menu-item">
730                                    Featured
731                                  </a>
732                                  
733
734
735    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
736      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
737    </svg>
738
739  
740
741                                  
742
743
744    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
745      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
746    </svg>
747
748  
749
750                                </summary>
751                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
752                                  <div class="menu-drawer__inner-submenu">
753                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
754                                      
755
756
757    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
758      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
759    </svg>
760
761  
762
763                                      Featured
764                                    </button>
765                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
766                                      
767                                        
768                                        
769                                          <li>
770                                            <a href="/collections/new-arrival"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
771                                              New Arrivals
772                                            </a>
773                                          </li>
774                                        
775                                      
776                                        
777                                        
778                                          <li>
779                                            <a href="/collections/bestsellers"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
780                                              Bestsellers
781                                            </a>
782                                          </li>
783                                        
784                                      
785                                      
786                                    </ul>
787                                  </div>
788                                </div>
789                          </details>
790                        </li>
791                      
792                    
793                    
794                      
795                        
796                        <li>
797                          <details>
798                                <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
799                                  <a href="/brands"  class="link--text list-menu__item menu-drawer__menu-item">
800                                    Brands
801                                  </a>
802                                  
803
804
805    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
806      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
807    </svg>
808
809  
810
811                                  
812
813
814    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
815      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
816    </svg>
817
818  
819
820                                </summary>
821                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
822                                  <div class="menu-drawer__inner-submenu">
823                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
824                                      
825
826
827    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
828      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
829    </svg>
830
831  
832
833                                      Brands
834                                    </button>
835                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
836                                      
837                                        
838                                        
839                                          <li>
840                                            <a href="/collections/hoka"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
841                                              HOKA
842                                            </a>
843                                          </li>
844                                        
845                                      
846                                        
847                                        
848                                          <li>
849                                            <a href="/collections/new-balance"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
850                                              NEW BALANCE
851                                            </a>
852                                          </li>
853                                        
854                                      
855                                        
856                                        
857                                          <li>
858                                            <a href="/collections/on"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
859                                              ON
860                                            </a>
861                                          </li>
862                                        
863                                      
864                                        
865                                        
866                                          <li>
867                                            <a href="/collections/saucony"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
868                                              SAUCONY
869                                            </a>
870                                          </li>
871                                        
872                                      
873                                        
874                                        
875                                          <li>
876                                            <a href="/collections/norda"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
877                                              NORDA
878                                            </a>
879                                          </li>
880                                        
881                                      
882                                        
883                                        
884                                          <li>
885                                            <a href="/collections/altra"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
886                                              ALTRA
887                                            </a>
888                                          </li>
889                                        
890                                      
891                                        
892                                        
893                                          <li>
894                                            <a href="/collections/keen"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
895                                              KEEN
896                                            </a>
897                                          </li>
898                                        
899                                      
900                                        
901                                        
902                                          <li>
903                                            <a href="/collections/teva"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
904                                              TEVA
905                                            </a>
906                                          </li>
907                                        
908                                      
909                                        
910                                        
911                                          <li>
912                                            <a href="/collections/oofos"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
913                                              OOFOS
914                                            </a>
915                                          </li>
916                                        
917                                      
918                                        
919                                        
920                                          <li>
921                                            <a href="/collections/telic"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
922                                              TELIC
923                                            </a>
924                                          </li>
925                                        
926                                      
927                                        
928                                        
929                                          <li>
930                                            <a href="/collections/injinji"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
931                                              INJINJI
932                                            </a>
933                                          </li>
934                                        
935                                      
936                                        
937                                        
938                                          <li>
939                                            <a href="/collections/feetures"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
940                                              FEETURES
941                                            </a>
942                                          </li>
943                                        
944                                      
945                                        
946                                        
947                                          <li>
948                                            <a href="/collections/ciele"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
949                                              CIELE
950                                            </a>
951                                          </li>
952                                        
953                                      
954                                        
955                                        
956                                          <li>
957                                            <a href="/collections/rabbit"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
958                                              RABBIT
959                                            </a>
960                                          </li>
961                                        
962                                      
963                                      
964                                    </ul>
965                                  </div>
966                                </div>
967                          </details>
968                        </li>
969                      
970                    
971     
971               
972                      
973                        
974                        <li>
975                          <details>
976                                <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
977                                  <a href="/men"  class="link--text list-menu__item menu-drawer__menu-item">
978                                    Men
979                                  </a>
980                                  
981
982
983    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
984      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
985    </svg>
986
987  
988
989                                  
990
991
992    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
993      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
994    </svg>
995
996  
997
998                                </summary>
999                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
1000                                  <div class="menu-drawer__inner-submenu">
1001                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
1002                                      
1003
1004
1005    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1006      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1007    </svg>
1008
1009  
1010
1011                                      Men
1012                                    </button>
1013                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
1014                                      
1015                                        
1016                                        
1017                                          <li>
1018                                            <a href="/collections/road-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1019                                              Road
1020                                            </a>
1021                                          </li>
1022                                        
1023                                      
1024                                        
1025                                        
1026                                          <li>
1027                                            <a href="/collections/race-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1028                                              Race
1029                                            </a>
1030                                          </li>
1031                                        
1032                                      
1033                                        
1034                                        
1035                                          <li>
1036                                            <a href="/collections/trail-hiking-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1037                                              Trail/Hiking
1038                                            </a>
1039                                          </li>
1040                                        
1041                                      
1042                                        
1043                                        
1044                                          <li>
1045                                            <a href="/collections/recovery-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1046                                              Recovery
1047                                            </a>
1048                                          </li>
1049                                        
1050                                      
1051                                        
1052                                        
1053                                          <li>
1054                                            <a href="/collections/gym-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1055                                              Gym
1056                                            </a>
1057                                          </li>
1058                                        
1059                                      
1060                                        
1061                                        
1062                                          <li>
1063                                            <a href="/collections/lifestyle-men"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1064                                              Lifestyle
1065                                            </a>
1066                                          </li>
1067                                        
1068                                      
1069                                      
1070                                    </ul>
1071                                  </div>
1072                                </div>
1073                          </details>
1074                        </li>
1075                      
1076                    
1077                    
1078                      
1079                        
1080                        <li>
1081                          <details>
1082                                <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
1083                                  <a href="/women"  class="link--text list-menu__item menu-drawer__menu-item">
1084                                    Women
1085                                  </a>
1086                                  
1087
1088
1089    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1090      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1091    </svg>
1092
1093  
1094
1095                                  
1096
1097
1098    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1099      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1100    </svg>
1101
1102  
1103
1104                                </summary>
1105                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
1106                                  <div class="menu-drawer__inner-submenu">
1107                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
1108                                      
1109
1110
1111    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1112      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1113    </svg>
1114
1115  
1116
1117                                      Women
1118                                    </button>
1119                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
1120                                      
1121                                        
1122                                        
1123                                          <li>
1124                                            <a href="/collections/road-women"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1125                                              Road
1126                                            </a>
1127                                          </li>
1128                                        
1129                                      
1130                                        
1131                                        
1132                                          <li>
1133                                            <a href="/collections/race-women"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1134                                              Race
1135                                            </a>
1136                                          </li>
1137                                        
1138                                      
1139                                        
1140                                        
1141                                          <li>
1142                                            <a href="/collections/trail-hiking-women"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1143                                              Trail/Hiking
1144                                            </a>
1145                                          </li>
1146                                        
1147                                      
1148                                        
1149                                        
1150                                          <li>
1151                                            <a href="/collections/gym-women"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1152                                              Gym
1153                                            </a>
1154                                          </li>
1155                                        
1156                                      
1157                                        
1158                                        
1159                                          <li>
1160                                            <a href="/collections/lifestyle-women"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1161                                              Lifestyle
1162                                            </a>
1163                                          </li>
1164                                        
1165                                      
1166                                      
1167                                    </ul>
1168                                  </div>
1169                                </div>
1170                          </details>
1171                        </li>
1172                      
1173                    
1174                    
1175                      
1176                        
1177                        <li>
1178                          <details>
1179                                <summary class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
1180                                  <a href="/apparel"  class="link--text list-menu__item menu-drawer__menu-item">
1181                                    Apparel
1182                                  </a>
1183                                  
1184
1185
1186    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1187      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1188    </svg>
1189
1190  
1191
1192                                  
1193
1194
1195    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1196      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1197    </svg>
1198
1199  
1200
1201                                </summary>
1202                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
1203                                  <div class="menu-drawer__inner-submenu">
1204                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
1205                                      
1206
1207
1208    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1209      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1210    </svg>
1211
1212  
1213
1214                                      Apparel
1215                                    </button>
1216                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
1217                                      
1218                                        
1219                                        
1220                                          <li>
1221                                            <a href="/collections/apparel"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1222                                              All Apparel
1223                                            </a>
1224                                          </li>
1225                                        
1226                                      
1227                                        
1228                                        
1229                                          <li>
1230                                            <a href="/collections/accessories"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1231                                              Accessories
1232                                            </a>
1233                                          </li>
1234                                        
1235                                      
1236                                        
1237                                        
1238                                          <li>
1239                                            <a href="/collections/socks"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1240                                              Socks
1241                                            </a>
1242                                          </li>
1243                                        
1244                                      
1245                                        
1246                                        
1247                                          <li>
1248                                            <a href="/collections/tops"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1249                                              Tops
1250                                            </a>
1251                                          </li>
1252                                        
1253                                      
1254                                        
1255                                        
1256                                          <li>
1257                                            <a href="/collections/bottoms"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1258                                              Bottoms
1259                                            </a>
1260                                          </li>
1261                                        
1262                                      
1263                                      
1264                                    </ul>
1265                                  </div>
1266                                </div>
1267                          </details>
1268                        </li>
1269                      
1270                    
1271                    
1272                      
1273                        
1274                        <li>
1275                          <details>
1276                                <summa
1276ry class="menu-drawer__menu-item list-menu__item link link--text focus-inset" role="button" aria-expanded="false" aria-controls="link-Bags">
1277                                  <a href="/runnershub"  class="link--text list-menu__item menu-drawer__menu-item">
1278                                    Runner&#39;s Hub
1279                                  </a>
1280                                  
1281
1282
1283    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1284      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1285    </svg>
1286
1287  
1288
1289                                  
1290
1291
1292    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1293      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1294    </svg>
1295
1296  
1297
1298                                </summary>
1299                                <div class="menu-drawer__submenu motion-reduce" tabindex="-1">
1300                                  <div class="menu-drawer__inner-submenu">
1301                                    <button class="menu-drawer__close-button link link--text focus-inset" aria-expanded="true">
1302                                      
1303
1304
1305    <svg viewBox="0 0 14 10" fill="none" aria-hidden="true" focusable="false" role="presentation" class="icon icon-arrow " xmlns="http://www.w3.org/2000/svg">
1306      <path fill-rule="evenodd" clip-rule="evenodd" d="M8.537.808a.5.5 0 01.817-.162l4 4a.5.5 0 010 .708l-4 4a.5.5 0 11-.708-.708L11.793 5.5H1a.5.5 0 010-1h10.793L8.646 1.354a.5.5 0 01-.109-.546z" fill="currentColor"></path>
1307    </svg>
1308
1309  
1310
1311                                      Runner&#39;s Hub
1312                                    </button>
1313                                    <ul class="menu-drawer__menu list-menu" role="list" tabindex="-1">
1314                                      
1315                                        
1316                                        
1317                                          <li>
1318                                            <a href="/pages/about-us"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1319                                              About Us
1320                                            </a>
1321                                          </li>
1322                                        
1323                                      
1324                                        
1325                                        
1326                                          <li>
1327                                            <a href="/blogs/articles"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1328                                              Articles 
1329                                            </a>
1330                                          </li>
1331                                        
1332                                      
1333                                        
1334                                        
1335                                          <li>
1336                                            <a href="/blogs/news"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1337                                              Community Runs
1338                                            </a>
1339                                          </li>
1340                                        
1341                                      
1342                                        
1343                                        
1344                                          <li>
1345                                            <a href="/collections/event"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1346                                              Events
1347                                            </a>
1348                                          </li>
1349                                        
1350                                      
1351                                        
1352                                        
1353                                          <li>
1354                                            <a href="/pages/faq"  class="menu-drawer__menu-item link link--text list-menu__item focus-inset">
1355                                              FAQ
1356                                            </a>
1357                                          </li>
1358                                        
1359                                      
1360                                      
1361                                    </ul>
1362                                  </div>
1363                                </div>
1364                          </details>
1365                        </li>
1366                      
1367                    
1368                    
1369                      
1370                        <li>
1371                          <a href="/collections/sale"  class="menu-drawer__menu-item list-menu__item link link--text focus-inset">
1372                            Sale
1373                          </a>
1374                        </li>
1375                      
1376                    
1377                  </ul>
1378                </nav>
1379
1380                <div class="menu-drawer__utility-links">
1381
1382                  
1383
1384
1385
1386
1387                  
1388                  
1389                  
1390                    <a href="/account/login" class="menu-drawer__account link link--text focus-inset h5">
1391                       
1392
1393
1394    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-account " fill="none" viewBox="0 0 18 19">
1395      <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.
13951-3.67-1.35-6.17-1.35z" fill="currentColor"></path>
1396    </svg>
1397
1398  
1399 
1400                      
1401                      Log in
1402                    </a>
1403                  
1404                    <a href="/account/register" class="menu-drawer__account link link--text focus-inset h5">
1405                      
1406                       
1407
1408
1409    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-plus " fill="none" viewBox="0 0 10 10">
1410      <path fill-rule="evenodd" clip-rule="evenodd" d="M1 4.51a.5.5 0 000 1h3.5l.01 3.5a.5.5 0 001-.01V5.5l3.5-.01a.5.5 0 00-.01-1H5.5L5.49.99a.5.5 0 00-1 .01v3.5l-3.5.01H1z" fill="currentColor"></path>
1411    </svg>
1412
1413  
1414 
1415                      Create account
1416                    </a>
1417                  
1418                  
1419                  
1420                </div>
1421              </div>
1422            </div>
1423          </div>
1424        </details>
1425      </header-drawer>
1426  
1427      
1428        <a href="/" class="header__heading-link link link--text focus-inset" itemprop="url">
1429          <img src="https://cdn.store-assets.com/s/1368538/f/17677622.png" class="header__heading-logo" alt="Sprint Running" loading="lazy" itemprop="logo">
1430        </a>
1431      
1432      <nav class="header__inline-menu">
1433        <ul class="list-menu list-menu--inline" role="list">
1434          
1435            
1436              
1437                <li>
1438                  <a href="/"  class="header__menu-item header__menu-item list-menu__item link link--text focus-inset">
1439                    Home
1440                  </a>
1441                </li>
1442              
1443            
1444            
1445              
1446                
1447                <li>
1448                  <details-disclosure>
1449                    <details>
1450                      <summary class="header__menu-item list-menu__item link focus-inset">
1451                        <a href="/no-direct"  >Featured</a>
1452                        
1453
1454
1455    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1456      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1457    </svg>
1458
1459  
1460
1461                      </summary>
1462                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1463                        
1464                        
1465                        
1466                          
1467                            
1468                            <li>
1469                              <a href="/collections/new-arrival"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1470                                New Arrivals
1471                              </a>
1472                            </li>
1473                          
1474                        
1475                        
1476                          
1477                            
1478                            <li>
1479                              <a href="/collections/bestsellers"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1480                                Bestsellers
1481                              </a>
1482                            </li>
1483                          
1484                        
1485                      </ul>
1486                    </details>
1487                  </details-disclosure>
1488                </li>
1489              
1490            
1491            
1492              
1493                
1494                <li>
1495                  <details-disclosure>
1496                    <details>
1497                      <summary class="header__menu-item list-menu__item link focus-inset">
1498                        <a href="/brands"  >Brands</a>
1499                        
1500
1501
1502    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1503      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1504    </svg>
1505
1506  
1507
1508                      </summary>
1509                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1510                        
1511                        
1512                        
1513                          
1514                            
1515                            <li>
1516                              <a href="/collections/hoka"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1517                                HOKA
1518                              </a>
1519                            </li>
1520                          
1521                        
1522                        
1523                          
1524                            
1525                            <li>
1526                              <a href="/collections/new-balance"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1527                                NEW BALANCE
1528                              </a>
1529                            </li>
1530                          
1531                        
1532                        
1533                          
1534                            
1535                            <li>
1536                              <a href="/collections/on"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1537                                ON
1538                              </a>
1539                            </li>
1540                          
1541                        
1542                        
1543                          
1544                            
1545                            <li>
1546                              <a href="/collections/saucony"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1547                                SAUCONY
1548                              </a>
1549                            </li>
1550                          
1551                        
1552                        
1553                          
1554                            
1555                            <li>
1556                              <a href="/collections/norda"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1557                                NORDA
1558                              </a>
1559                            </li>
1560                          
1561                        
1562                        
1563                          
1564                            
1565                            <li>
1566                              <a href="/collections/altra"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1567                                ALTRA
1568                              </a>
1569                            </li>
1570                          
1571                        
1572                        
1573                          
1574                            
1575                            <li>
1576                              <a href="/collections/keen"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1577                                KEEN
1578                              </a>
1579                            </li>
1580                          
1581                        
1582                        
1583                          
1584                            
1585                            <li>
1586                              <a href="/collections/teva"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1587                                TEVA
1588                              </a>
1589                            </li>
1590                          
1591                        
1592                        
1593                          
1594                            
1595                            <li>
1596                              <a href="/collections/oofos"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1597                                OOFOS
1598                              </a>
1599                            </li>
1600                          
1601                        
1602                        
1603                          
1604                            
1605                            <li>
1606                              <a href="/collections/telic"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1607                                TELIC
1608                              </a>
1609                            </li>
1610                          
1611                        
1612                        
1613                          
1614                            
1615                            <li>
1616                              <a href="/collections/injinji"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1617                                INJINJI
1618                              </a>
1619                            </li>
1620                          
1621                        
1622                        
1623                          
1624                            
1625                            <li>
1626                              <a href="/collections/feetures"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1627                                FEETURES
1628                              </a>
1629                            </li>
1630                          
1631                        
1632                        
1633                          
1634                            
1635                            <li>
1636                              <a href="/collections/ciele"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1637                                CIELE
1638                              </a>
1639                            </li>
1640                          
1641                        
1642                        
1643                          
1644                            
1645                            <li>
1646                              <a href="/collections/rabbit"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1647                                RABBIT
1648                              </a>
1649                            </li>
1650                          
1651                        
1652                      </ul>
1653                    </details>
1654                  </details-disclosure>
1655                </li>
1656              
1657            
1658            
1659              
1660                
1661                <li>
1662                  <details-disclosure>
1663                    <details>
1664                      <summary class="header__menu-item list-menu__item link focus-inset">
1665                        <a href="/men"  >Men</a>
1666                        
1667
1668
1669    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1670      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1671    </svg>
1672
1673  
1674
1675                      </summary>
1676                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1677                        
1678                        
1679                        
1680                          
1681                            
1682                            <li>
1683                              <a href="/collections/road-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1684                                Road
1685                              </a>
1686                            </li>
1687                          
1688                        
1689                        
1690                          
1691                            
1692                            <li>
1693                              <a href="/collections/race-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1694                                Race
1695                              </a>
1696                            </li>
1697                          
1698                        
1699                        
1700                          
1701                            
1702                            <li>
1703                              <a href="/collections/trail-hiking-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1704                                Trail/Hiking
1705                              </a>
1706                            </li>
1707                          
1708                        
1709                        
1710                          
1711                            
1712                            <li>
1713                              <a href="/collections/recovery-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1714                                Recovery
1715                              </a>
1716                            </li>
1717                          
1718                        
1719                        
1720                          
1721                            
1722                            <li>
1723                              <a href="/collections/gym-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1724                                Gym
1725                              </a>
1726                            </li>
1727                          
1728                        
1729                        
1730                          
1731                            
1732                            <li>
1733                              <a href="/collections/lifestyle-men"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1734                                Lifestyle
1735                              </a>
1736                            </li>
1737                          
1738                        
1739                      </ul>
1740                    </details>
1741                  </details-disclosure>
1742                </li>
1743              
1744            
1745            
1746              
1747                
1748                <li>
1749                  <details-disclosure>
1750                    <details>
1751                      <summary class="header__menu-item list-menu__item link focus-inset">
1752                        <a href="/women"  >Women</a>
1753                        
1754
1755
1756    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1757      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1758    </svg>
1759
1760  
1761
1762                      </summary>
1763                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1764                        
1765                        
1766                        
1767                          
1768                            
1769                            <li>
1770                              <a href="/collections/road-women"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1771                                Road
1772                              </a>
1773                            </li>
1774                          
1775                        
1776                        
1777                          
1778                            
1779                            <li>
1780                              <a href="/collections/race-women"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1781                                Race
1782                              </a>
1783                            </li>
1784                          
1785                        
1786                        
1787                          
1788                            
1789                            <li>
1790                              <a href="/collections/trail-hiking-women"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1791                                Trail/Hiking
1792                              </a>
1793                            </li>
1794                          
1795                        
1796                        
1797             
1797             
1798                            
1799                            <li>
1800                              <a href="/collections/gym-women"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1801                                Gym
1802                              </a>
1803                            </li>
1804                          
1805                        
1806                        
1807                          
1808                            
1809                            <li>
1810                              <a href="/collections/lifestyle-women"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1811                                Lifestyle
1812                              </a>
1813                            </li>
1814                          
1815                        
1816                      </ul>
1817                    </details>
1818                  </details-disclosure>
1819                </li>
1820              
1821            
1822            
1823              
1824                
1825                <li>
1826                  <details-disclosure>
1827                    <details>
1828                      <summary class="header__menu-item list-menu__item link focus-inset">
1829                        <a href="/apparel"  >Apparel</a>
1830                        
1831
1832
1833    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1834      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1835    </svg>
1836
1837  
1838
1839                      </summary>
1840                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1841                        
1842                        
1843                        
1844                          
1845                            
1846                            <li>
1847                              <a href="/collections/apparel"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1848                                All Apparel
1849                              </a>
1850                            </li>
1851                          
1852                        
1853                        
1854                          
1855                            
1856                            <li>
1857                              <a href="/collections/accessories"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1858                                Accessories
1859                              </a>
1860                            </li>
1861                          
1862                        
1863                        
1864                          
1865                            
1866                            <li>
1867                              <a href="/collections/socks"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1868                                Socks
1869                              </a>
1870                            </li>
1871                          
1872                        
1873                        
1874                          
1875                            
1876                            <li>
1877                              <a href="/collections/tops"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1878                                Tops
1879                              </a>
1880                            </li>
1881                          
1882                        
1883                        
1884                          
1885                            
1886                            <li>
1887                              <a href="/collections/bottoms"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1888                                Bottoms
1889                              </a>
1890                            </li>
1891                          
1892                        
1893                      </ul>
1894                    </details>
1895                  </details-disclosure>
1896                </li>
1897              
1898            
1899            
1900              
1901                
1902                <li>
1903                  <details-disclosure>
1904                    <details>
1905                      <summary class="header__menu-item list-menu__item link focus-inset">
1906                        <a href="/runnershub"  >Runner&#39;s Hub</a>
1907                        
1908
1909
1910    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret " viewBox="0 0 10 6">
1911      <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor"></path>
1912    </svg>
1913
1914  
1915
1916                      </summary>
1917                      <ul class="header__submenu list-menu list-menu--disclosure caption-large motion-reduce" role="list" tabindex="-1">
1918                        
1919                        
1920                        
1921                          
1922                            
1923                            <li>
1924                              <a href="/pages/about-us"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1925                                About Us
1926                              </a>
1927                            </li>
1928                          
1929                        
1930                        
1931                          
1932                            
1933                            <li>
1934                              <a href="/blogs/articles"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1935                                Articles 
1936                              </a>
1937                            </li>
1938                          
1939                        
1940                        
1941                          
1942                            
1943                            <li>
1944                              <a href="/blogs/news"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1945                                Community Runs
1946                              </a>
1947                            </li>
1948                          
1949                        
1950                        
1951                          
1952                            
1953                            <li>
1954                              <a href="/collections/event"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1955                                Events
1956                              </a>
1957                            </li>
1958                          
1959                        
1960                        
1961                          
1962                            
1963                            <li>
1964                              <a href="/pages/faq"  class="header__menu-item list-menu__item link link--text focus-inset caption-large">
1965                                FAQ
1966                              </a>
1967                            </li>
1968                          
1969                        
1970                      </ul>
1971                    </details>
1972                  </details-disclosure>
1973                </li>
1974              
1975            
1976            
1977              
1978                <li>
1979                  <a href="/collections/sale"  class="header__menu-item header__menu-item list-menu__item link link--text focus-inset">
1980                    Sale
1981                  </a>
1982                </li>
1983              
1984            
1985            
1986            
1987              
1988                
1989                  
1990                
1991                  
1992                
1993              
1994            
1995        </ul>
1996      </nav>
1997      <div class="header__icons">
1998        <details-modal class="header__search">
1999          <details>
2000            <summary class="header__icon header__icon--search header__icon--summary link link--text focus-inset modal__toggle" aria-haspopup="dialog" aria-label="Search">
2001              <span>
2002                <svg class="modal__toggle-open icon icon-search" aria-hidden="true" focusable="false" role="presentation">
2003                  <use href="#icon-search">
2004                </svg>
2005                <svg class="modal__toggle-close icon icon-close" aria-hidden="true" focusable="false" role="presentation">
2006                  <use href="#icon-close">
2007                </svg>
2008              </span>
2009            </summary>
2010            <div class="search-modal modal__content" role="dialog" aria-modal="true" aria-label="Search">
2011              <div class="modal-overlay"></div>
2012              <div class="search-modal__content" tabindex="-1">
2013                  <form action="/search" method="get" role="search" class="search search-modal__form">
2014                    <div class="field">
2015                      <input class="search__input field__input" 
2016                        id="Search-In-Modal"
2017                        type="search"
2018                        name="q"
2019                        value=""
2020                        placeholder="Search"
2021                        autocomplete="off"
2022                      >
2023                      <label class="field__label" for="Search-In-Modal">Search</label>
2024                      <div class="dropdown" id="searchDropdown"></div>
2025                      <input type="hidden" name="search_history" class="hidden_search_history">
2026                      <input type="hidden" name="options[prefix]" value="last">
2027                      <button class="search__button field__button" aria-label="Search">
2028                        <svg class="icon icon-search" aria-hidden="true" focusable="false" role="presentation">
2029                          <use href="#icon-search">
2030                        </svg>
2031                      </button> 
2032                    </div>
2033                  </form>
2034                <button type="button" class="search-modal__close-button modal__close-button link link--text focus-inset" aria-label="accessibility.close">
2035                  <svg class="icon icon-close" aria-hidden="true" focusable="false" role="presentation">
2036                    <use href="#icon-close">
2037                  </svg>
2038                </button>
2039              </div>
2040            </div>
2041          </details>
2042        </details-modal>
2043
2044        
2045          
2046            <div class="header__icon header__icon--account link link--text focus-inset small-hide medium-hide" style="position: relative;">
2047              <a href="/account/login" class="header__icon link link--text focus-inset p-2">
2048                
2049
2050
2051    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-account " fill="none" viewBox="0 0 18 19">
2052      <path fill-rule="evenodd" clip-rule="evenodd" d="M6 4.5a3 3 0 116 0 3 3 0 01-6 0zm3-4a4 4 0 100 8 4 4 0 000-8zm5.58 12.15c1.12.82 1.83 2.24 1.91 4.85H1.51c.08-2.6.79-4.03 1.9-4.85C4.66 11.75 6.5 11.5 9 11.5s4.35.26 5.58 1.15zM9 10.5c-2.5 0-4.65.24-6.17 1.35C1.27 12.98.5 14.93.5 18v.5h17V18c0-3.07-.77-5.02-2.33-6.15-1.52-1.1-3.67-1.35-6.17-1.35z" fill="currentColor"></path>
2053    </svg>
2054
2055  
2056
2057              </a>
2058
2059              <!-- Referral Notification Popup for Desktop -->
2060              <div id="referralNotification" class="referral-notification" style="display: none;">
2061                <button class="close-btn" onclick="dismissReferralNotification()">&times;</button>
2062                <div style="text-align: center; margin-bottom: 16px;">
2063                  <div style="width: 100px; height: 100px; margin: 0 auto;">
2064                    <img src="https://resources.easystore.co/storefront/icons/channels/vector_referral_program.svg">
2065                  </div>
2066                </div>
2067                <p id="referralSignupMessage" style="text-align: center; font-size: 14px; color: #666; margin: 0 0 20px 0;">
2068                  Your friend gifted you   credit! Sign up now to redeem.
2069                </p>
2070                <div style="text-align: center;">
2071                  <button class="btn" onclick="goToSignupPage()" style="width: 100%;">
2072                    Sign Up
2073                  </button>
2074                </div>
2075              </div>
2076            </div>
2077          
2078        
2079        
2080        <a href="/cart" class="header__icon header__icon--cart link link--text focus-inset" id="cart-icon-bubble">
2081          
2082
2083
2084    <svg class="icon icon-cart-empty " aria-hidden="true" focusable="false" role="presentation" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" fill="none">
2085      <path d="m15.75 11.8h-3.16l-.77 11.6a5 5 0 0 0 4.99 5.34h7.38a5 5 0 0 0 4.99-5.33l-.78-11.61zm0 1h-2.22l-.71 10.67a4 4 0 0 0 3.99 4.27h7.38a4 4 0 0 0 4-4.27l-.72-10.67h-2.22v.63a4.75 4.75 0 1 1 -9.5 0zm8.5 0h-7.5v.63a3.7
20855 3.75 0 1 0 7.5 0z" fill="currentColor" fill-rule="evenodd"></path>
2086    </svg>
2087
2088  
2089
2090          <div class="cart-count-bubble hidden">
2091            <span aria-hidden="true" class="js-content-cart-count">0</span>
2092          </div>
2093        </a>
2094
2095        
2096          
2097          <!-- Referral Notification Modal for Mobile -->
2098          <details-modal class="referral-modal" id="referralMobileModal">
2099            <details>
2100              <summary class="referral-modal__toggle" aria-haspopup="dialog" aria-label="Open referral modal" style="display: none;">
2101              </summary>
2102              <div class="modal-overlay referral-modal-overlay"></div>
2103              <div class="referral-modal__dialog" role="dialog" aria-modal="true" aria-label="Referral notification">
2104                <div class="referral-modal__content">
2105                  <button type="button" class="modal__close-button" aria-label="Close" onclick="closeMobileReferralModal()" style="position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 24px; cursor: pointer;">
2106                    &times;
2107                  </button>
2108                  
2109                  <div style="margin-bottom: 24px;">
2110                    <div style="width: 120px; height: 120px; margin: 0 auto 20px;">
2111                      <img src="https://resources.easystore.co/storefront/icons/channels/vector_referral_program.svg" style="width: 100%; height: 100%;">
2112                    </div>
2113                  </div>
2114                  
2115                  <p id="referralSignupMessageMobile" style="font-size: 16px; color: #333; margin: 0 0 30px 0; line-height: 1.5;">
2116                    Your friend gifted you   credit! Sign up now to redeem.
2117                  </p>
2118                  
2119                  <button type="button" class="btn" onclick="goToSignupPageFromMobile()" style="width: 100%;">
2120                    Sign Up
2121                  </button>
2122                </div>
2123              </div>
2124            </details>
2125          </details-modal>
2126          
2127        
2128      </div>
2129    </header>
2130  </sticky-header>
2131  
2132<cart-notification>
2133  <div class="cart-notification-wrapper page-width color-background-1">
2134    <div id="cart-notification" class="cart-notification focus-inset" aria-modal="true" aria-label="Added to cart" role="dialog" tabindex="-1">
2135      <div class="cart-notification__header">
2136        <h2 class="cart-notification__heading caption-large">
2137
2138
2139    <svg class="icon icon-checkmark color-foreground-text " aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 9" fill="none">
2140      <path fill-rule="evenodd" clip-rule="evenodd" d="M11.35.643a.5.5 0 01.006.707l-6.77 6.886a.5.5 0 01-.719-.006L.638 4.845a.5.5 0 11.724-.69l2.872 3.011 6.41-6.517a.5.5 0 01.707-.006h-.001z" fill="currentColor"></path>
2141    </svg>
2142
2143  
2144 Added to cart</h2>
2145        <button type="button" class="cart-notification__close modal__close-button link link--text focus-inset" aria-label="accessibility.close">
2146          
2147
2148
2149    <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" role="presentation" class="icon icon-close " fill="none" viewBox="0 0 18 17">
2150      <path d="M.865 15.978a.5.5 0 00.707.707l7.433-7.431 7.579 7.282a.501.501 0 00.846-.37.5.5 0 00-.153-.351L9.712 8.546l7.417-7.416a.5.5 0 10-.707-.708L8.991 7.853 1.413.573a.5.5 0 10-.693.72l7.563 7.268-7.418 7.417z" fill="currentColor">
2151      </path>
2152    </svg>
2153
2154  
2155
2156        </button>
2157      </div>
2158      <div id="cart-notification-product" class="cart-notification-product"></div>
2159      <div class="cart-notification__links">
2160        <a href="/cart" id="cart-notification-button" class="button button--secondary button--full-width">View cart (<span class="js-content-cart-count">0</span>)</a>
2161        <form action="/cart" method="post" id="cart-notification-form">
2162          <input type="hidden" name="_token" value="Yk1o0bjD68CjvN1rBe0fhkVImyeAwL0LdRoXVyGb">
2163          <input type="hidden" name="current_currency" value="">
2164          <button class="button button--primary button--full-width" name="checkout" value="true">Checkout</button>
2165        </form>
2166        <button type="button" class="link button-label">Continue shopping</button>
2167      </div>
2168    </div>
2169  </div>
2170</cart-notification>
2171<style>
2172  .cart-notification {
2173     display: none;
2174  }
2175</style>
2176<script>
2177document.getElementById('cart-notification-form').addEventListener('submit',(event)=>{
2178  if(event.submitter) event.submitter.classList.add('loading');
2179})
2180
2181</script>
2181
2182
2183</div>
2184
2185
2186<script>
2187
2188  class StickyHeader extends HTMLElement {
2189    constructor() {
2190      super();
2191    }
2192
2193    connectedCallback() {
2194      this.header = document.getElementById('easystore-section-header');
2195      this.headerBounds = {};
2196      this.currentScrollTop = 0;
2197      this.preventReveal = false;
2198
2199      this.onScrollHandler = this.onScroll.bind(this);
2200      this.hideHeaderOnScrollUp = () => this.preventReveal = true;
2201
2202      this.addEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
2203      window.addEventListener('scroll', this.onScrollHandler, false);
2204
2205      this.createObserver();
2206    }
2207
2208    disconnectedCallback() {
2209      this.removeEventListener('preventHeaderReveal', this.hideHeaderOnScrollUp);
2210      window.removeEventListener('scroll', this.onScrollHandler);
2211    }
2212
2213    createObserver() {
2214      let observer = new IntersectionObserver((entries, observer) => {
2215        this.headerBounds = entries[0].intersectionRect;
2216        observer.disconnect();
2217      });
2218
2219      observer.observe(this.header);
2220    }
2221
2222    onScroll() {
2223      const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
2224
2225      if (scrollTop > this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
2226        requestAnimationFrame(this.hide.bind(this));
2227      } else if (scrollTop < this.currentScrollTop && scrollTop > this.headerBounds.bottom) {
2228        if (!this.preventReveal) {
2229          requestAnimationFrame(this.reveal.bind(this));
2230        } else {
2231          window.clearTimeout(this.isScrolling);
2232
2233          this.isScrolling = setTimeout(() => {
2234            this.preventReveal = false;
2235          }, 66);
2236
2237          requestAnimationFrame(this.hide.bind(this));
2238        }
2239      } else if (scrollTop <= this.headerBounds.top) {
2240        requestAnimationFrame(this.reset.bind(this));
2241      }
2242
2243
2244      this.currentScrollTop = scrollTop;
2245    }
2246
2247    hide() {
2248      this.header.classList.add('easystore-section-header-hidden', 'easystore-section-header-sticky');
2249      this.closeMenuDisclosure();
2250      // this.closeSearchModal();
2251    }
2252
2253    reveal() {
2254      this.header.classList.add('easystore-section-header-sticky', 'animate');
2255      this.header.classList.remove('easystore-section-header-hidden');
2256    }
2257
2258    reset() {
2259      this.header.classList.remove('easystore-section-header-hidden', 'easystore-section-header-sticky', 'animate');
2260    }
2261
2262    closeMenuDisclosure() {
2263      this.disclosures = this.disclosures || this.header.querySelectorAll('details-disclosure');
2264      this.disclosures.forEach(disclosure => disclosure.close());
2265    }
2266
2267    // closeSearchModal() {
2268    //   this.searchModal = this.searchModal || this.header.querySelector('details-modal');
2269    //   this.searchModal.close(false);
2270    // }
2271  }
2272
2273  customElements.define('sticky-header', StickyHeader);
2274
2275  
2276  class DetailsDisclosure extends HTMLElement{
2277    constructor() {
2278      super();
2279      this.mainDetailsToggle = this.querySelector('details');
2280      // this.mainDetailsToggle.addEventListener('focusout', this.onFocusOut.bind(this));
2281      this.mainDetailsToggle.addEventListener('mouseover', this.open.bind(this));
2282      this.mainDetailsToggle.addEventListener('mouseleave', this.close.bind(this));
2283    }
2284
2285    onFocusOut() {
2286      setTimeout(() => {
2287        if (!this.contains(document.activeElement)) this.close();
2288      })
2289    }
2290
2291    open() {
2292      this.mainDetailsToggle.setAttribute('open',1)
2293    }
2294
2295    close() {
2296      this.mainDetailsToggle.removeAttribute('open')
2297    }
2298  }
2299
2300  customElements.define('details-disclosure', DetailsDisclosure);
2301
2302  function clearAll() {
2303    localStorage.removeItem('searchHistory'); 
2304    
2305    var customer = "";
2306    if(customer) {
2307      // Your logic to clear all data or call an endpoint
2308      fetch('/account/search_histories', {
2309          method: 'DELETE',
2310          headers: {
2311            "Content-Type": "application/json",
2312            "X-Requested-With": "XMLHttpRequest"
2313          },
2314          body: JSON.stringify({
2315            _token: "Yk1o0bjD68CjvN1rBe0fhkVImyeAwL0LdRoXVyGb"
2316          }),
2317      })
2318      .then(response => response.json())
2319    }
2320  }
2321  // End - delete search history from local storage
2322  
2323  // search history dropdown  
2324  var searchInputs = document.querySelectorAll('.search__input');
2325  
2326  if(searchInputs.length > 0) {
2327    
2328    searchInputs.forEach((searchInput)=> {
2329    
2330      searchInput.addEventListener('focus', function() {
2331        var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown');
2332        searchDropdown.innerHTML = ''; // Clear existing items
2333  
2334        // retrieve data from local storage
2335        var searchHistoryData = JSON.parse(localStorage.getItem('searchHistory')) || [];
2336  
2337        // Convert JSON to string
2338        var search_history_json = JSON.stringify(searchHistoryData);
2339  
2340        // Set the value of the hidden input
2341        searchInput.closest('form').querySelector(".hidden_search_history").value = search_history_json;
2342  
2343        // create dropdown items
2344        var clearAllItem = document.createElement('div');
2345        clearAllItem.className = 'dropdown-item clear-all';
2346        clearAllItem.textContent = 'Clear';
2347        clearAllItem.addEventListener('click', function() {
2348          clearAll();
2349          searchDropdown.style.display = 'none';
2350          searchInput.classList.remove('is-focus');
2351        });
2352        searchDropdown.appendChild(clearAllItem);
2353  
2354        // create dropdown items
2355        searchHistoryData.forEach(function(item) {
2356          var dropdownItem = document.createElement('div');
2357          dropdownItem.className = 'dropdown-item';
2358          dropdownItem.textContent = item.term;
2359          dropdownItem.addEventListener('click', function() {
2360            searchInput.value = item.term;
2361            searchInput.closest('form').submit();
2362            searchDropdown.style.display = 'none';
2363          });
2364          searchDropdown.appendChild(dropdownItem);
2365        });
2366  
2367        if(searchHistoryData.length > 0){
2368          // display the dropdown
2369          searchInput.classList.add('is-focus');
2370          document.body.classList.add('search-input-focus');
2371          searchDropdown.style.display = 'block';
2372        }
2373      });
2374  
2375      searchInput.addEventListener("focusout", (event) => {
2376        var searchDropdown = searchInput.closest('form').querySelector('#searchDropdown');
2377        searchInput.classList.remove('is-focus');
2378        searchDropdown.classList.add('transparent');
2379        setTimeout(()=>{
2380          searchDropdown.style.display = 'none';
2381          searchDropdown.classList.remove('transparent');
2382          document.body.classList.remove('search-input-focus');
2383        }, 400);
2384      });
2385    })
2386  }
2387  // End - search history dropdown
2388
2389  // referral notification popup
2390  const referralMessageTemplate = 'Your friend gifted you __CURRENCY_CODE__ __CREDIT_AMOUNT__ credit! Sign up now to redeem.';
2391  const shopCurrency = 'RM';
2392
2393  function getCookie(name) {
2394    const value = `; ${document.cookie}`;
2395    const parts = value.split(`; ${name}=`);
2396    if (parts.length === 2) return parts.pop().split(';').shift();
2397    return null;
2398  }
2399
2400  function removeCookie(name) {
2401    document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
2402  }
2403
2404  function showReferralNotification() {
2405    const referralCode = getCookie('customer_referral_code');
2406    
2407    
2408    const customerReferralCode = null;
2409    
2410    
2411    const activeReferralCode = referralCode || customerReferralCode;
2412    const referralData = JSON.parse(localStorage.getItem('referral_notification_data')) || {};
2413    
2414    if (referralData.timestamp && referralData.expirationDays) {
2415      const expirationTime = referralData.timestamp + (referralData.expirationDays * 24 * 60 * 60 * 1000);
2416      if (Date.now() > expirationTime) {
2417        localStorage.removeItem('referral_notification_data');
2418        return;
2419      }
2420    }
2421    
2422    if (referralData.dismissed) return;
2423    
2424    if (activeReferralCode) {
2425      if (referralData.creditAmount) {
2426        displayReferralNotification(referralData.creditAmount);
2427      } else {
2428        fetchReferralCampaignData(activeReferralCode);
2429      }
2430    }
2431  }
2432    
2433  function fetchReferralCampaignData(referralCode) {
2434    fetch(`/customer/referral_program/campaigns/${referralCode}`)
2435      .then(response => {
2436        if (!response.ok) {
2437          throw new Error('Network response was not ok');
2438        }
2439        return response.json();
2440      })
2441      .then(data => {
2442        let refereeCreditAmount = null;
2443        if (data.data.campaign && data.data.campaign.referral_rules) {
2444          const refereeRule = data.data.campaign.referral_rules.find(rule => 
2445            rule.target_type === 'referee' && 
2446            rule.event_name === 'customer/create' && 
2447            rule.entitlement && 
2448            rule.entitlement.type === 'credit'
2449          );
2450          
2451          if (refereeRule) {
2452            refereeCreditAmount = refereeRule.entitlement.amount;
2453          }
2454        }
2455        
2456        const referralData = JSON.parse(localStorage.getItem('referral_notification_data')) || {};
2457        referralData.creditAmount = refereeCreditAmount;
2458        referralData.dismissed = referralData.dismissed || false;
2459        referralData.timestamp = Date.now();
2460        referralData.expirationDays = 3;
2461        localStorage.setItem('referral_notification_data', JSON.stringify(referralData));
2462        
2463        displayReferralNotification(refereeCreditAmount);
2464      })
2465      .catch(error => {
2466        removeCookie('customer_referral_code');
2467      });
2468  }
2469    
2470  function displayReferralNotification(creditAmount = null) {
2471    const isMobile = innerWidth <= 749;
2472    
2473    if (isMobile) {
2474      const mobileModal = document.querySelector('#referralMobileModal details');
2475      const mobileMessageElement = document.getElementById('referralSignupMessageMobile');
2476      
2477      if (mobileModal && mobileMessageElement) {
2478        if (creditAmount) {
2479          const finalMessage = referralMessageTemplate
2480            .replace('__CREDIT_AMOUNT__', creditAmount)
2481            .replace('__CURRENCY_CODE__', shopCurrency);
2482          
2483          mobileMessageElement.textContent = finalMessage;
2484        }
2485        
2486        mobileModal.setAttribute('open', '');
2487      }
2488    } else {
2489      const notification = document.getElementById('referralNotification');
2490      
2491      if (notification) {
2492        if (creditAmount) {
2493          const messageElement = document.getElementById('referralSignupMessage');
2494          if (messageElement) {
2495            const finalMessage = referralMessageTemplate
2496              .replace('__CREDIT_AMOUNT__', creditAmount)
2497              .replace('__CURRENCY_CODE__', shopCurrency);
2498            
2499            messageElement.textContent = finalMessage;
2500          }
2501        }
2502        
2503        notification.style.display = 'block';
2504      }
2505    }
2506  }
2507
2508  showReferralNotification();
2509
2510  addEventListener('beforeunload', function() {
2511    const referralData = JSON.parse(localStorage.getItem('referral_notification_data')) || {};
2512    
2513    if (referralData.creditAmount !== undefined) {
2514      referralData.creditAmount = null;
2515      localStorage.setItem('referral_notification_data', JSON.stringify(referralData));
2516    }
2517  });
2518
2519  function closeReferralNotification() {
2520    const notification = document.getElementById('referralNotification');
2521    if (notification) {
2522      notification.style.display = 'none';
2523    }
2524  }
2525
2526  function dismissReferralNotification() {
2527    const referralData = JSON.parse(localStorage.getItem('referral_notification_data')) || {};
2528    
2529    referralData.dismissed = true;
2530    referralData.timestamp = referralData.timestamp || Date.now();
2531    referralData.expirationDays = referralData.expirationDays || 3;
2532    
2533    localStorage.setItem('referral_notification_data', JSON.stringify(referralData));
2534    
2535    closeReferralNotification();
2536  }
2537
2538  function goToSignupPage() {
2539    location.href = '/account/register';
2540    dismissReferralNotification();
2541  }
2542
2543  function closeMobileReferralModal() {
2544    const mobileModal = document.querySelector('#referralMobileModal details');
2545    if (mobileModal) {
2546      mobileModal.removeAttribute('open');
2547    }
2548    
2549    const referralData = JSON.parse(localStorage.getItem('referral_notification_data')) || {};
2550    referralData.dismissed = true;
2551    referralData.timestamp = referralData.timestamp || Date.now();
2552    referralData.expirationDays = referralData.expirationDays || 3;
2553    localStorage.setItem('referral_notification_data', JSON.stringify(referralData));
2554  }
2555
2556  function goToSignupPageFromMobile() {
2557    location.href = '/account/register';
2558    closeMobileReferralModal();
2559  }
2560  // End - referral notification popup
2561</script>
2561
2562
2563
2564  <main id="MainContent" class="content-for-layout focus-none" role="main" tabindex="-1">
2565    
2566    <link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/blog.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
2567<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/component-card.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
2568
2569<div class="main-blog page-width">
2570    <h1 class="title--primary">
2571        
2572        Articles
2573        
2574    </h1>
2575    <div class="blog-articles">
2576        
2577        <div class="blog-articles__article article">
2578            <article class="article-card ">
2579                <a href="/blogs/articles/running-resolutions-you-can-keep-past-february-sprint-my" class="article-content motion-reduce">
2580                    
2581                        <div class="article-card__image-wrapper">
2582                            <div class="article-card__image media media--landscape">
2583                                <img src="https://cdn.store-assets.com/s/1368538/f/16528000.jpeg" alt="Running Resolutions You Can Keep Past February | Sprint MY" class="motion-reduce">
2584                            </div>
2585                        </div>
2586                    
2587                    <div class="article-card__info">
2588                        <header class="article-card__header">
2589                            <h2 class="article-card__title">
2590                                Running Resolutions You Can Keep Past February | Sprint MY
2591                            </h2>
2592                            <span class="circle-divider caption-with-letter-spacing">
2593                                <time datetime="2026-01-09"> Jan 09, 26</time>
2594                            </span>
2595                            
2596                                <span class="caption-with-letter-spacing">
2597                                    Sprint
2598                                </span>
2599                            
2600                        </header>
2601                        <p class="article-card__excerpt rte-width break">Struggling to stay consistent with running after January? Learn how to build running resolutions that last beyond February — realistic, sustainable, and pressure-free. </p>
2602                    </div>
2603                </a>
2604            </article>
2605        </div>
2606        
2607        <div class="blog-articles__article article">
2608            <article class="article-card ">
2609                <a href="/blogs/articles/why-the-new-year-is-the-best-time-to-rethink-your-relationship-with-running-sprintmy" class="article-content motion-reduce">
2610                    
2611                        <div class="article-card__image-wrapper">
2612                            <div class="article-card__image media media--landscape">
2613                                <img src="https://cdn.store-assets.com/s/1368538/f/16505288.jpeg" alt="Why the New Year Is the Best Time to Rethink Your Relationship With Running | SprintMY" class="motion-reduce">
2614                            </div>
2615                        </div>
2616                    
2617                    <div class="article-card__info">
2618                        <header class="article-card__header">
2619                            <h2 class="article-card__title">
2620                                Why the New Year Is the Best Time to Rethink Your Relationship With Running | SprintMY
2621                            </h2>
2622                            <span class="circle-divider caption-with-letter-spacing">
2623                                <time datetime="2026-01-05"> Jan 05, 26</time>
2624                            </span>
2625                            
2626                                <span class="caption-with-letter-spacing">
2627                                    Sprint
2628                                </span>
2629                            
2630                        </header>
2631                        <p class="article-card__excerpt rte-width break">The New Year often arrives with a quiet question rather than a loud resolution: How do I want running to fit into my life this year? Not faster. Not longer.... </p>
2632                    </div>
2633                </a>
2634            </article>
2635        </div>
2636        
2637        <div class="blog-articles__article article">
2638            <article class="article-card ">
2639                <a href="/blogs/articles/how-to-set-realistic-running-goals-for-the-new-year-without-feeling-guilty-sprint-my" class="article-content motion-reduce">
2640                    
2641                        <div class="article-card__image-wrapper">
2642                            <div class="article-card__image media media--landscape">
2643                                <img src="https://cdn.store-assets.com/s/1368538/f/16486195.jpeg" alt="How to Set Realistic Running Goals for the New Year (Without Feeling Guilty) | Sprint MY" class="motion-reduce">
2644                            </div>
2645                        </div>
2646                    
2647                    <div class="article-card__info">
2648                        <header class="article-card__header">
2649                            <h2 class="article-card__title">
2650                                How to Set Realistic Running Goals for the New Year (Without Feeling Guilty) | Sprint MY
2651                            </h2>
2652                            <span class="circle-divider caption-with-letter-spacing">
2653                                <time datetime="2025-12-31"> Dec 31, 25</time>
2654                            </span>
2655                            
2656                                <span class="caption-with-letter-spacing">
2657                                    Sprint
2658                                </span>
2659                            
2660                        </header>
2661                        <p class="article-card__excerpt rte-width break">Learn how to set realistic running goals that fit your lifestyle, build consistency, and keep you motivated — without pressure, guilt, or burnout. </p>
2662                    </div>
2663                </a>
2664            </article>
2665        </div>
2666        
2667        <div class="blog-articles__article article">
2668            <article class="article-card ">
2669                <a href="/blogs/articles/how-to-wrap-up-your-running-year-and-prepare-for-a-stronger-new-season-sprint-my" class="article-content motion-reduce">
2670                    
2671                        <div class="article-card__image-wrapper">
2672                            <div class="article-card__image media media--landscape">
2673                                <img src="https://cdn.store-assets.com/s/1368538/f/16480686.jpeg" alt="How to Wrap Up Your Running Year and Prepare for a Stronger New Season | Sprint MY" class="motion-reduce">
2674                            </div>
2675                        </div>
2676                    
2677                    <div class="article-card__info">
2678                        <header class="article-card__header">
2679                            <h2 class="article-card__title">
2680                                How to Wrap Up Your Running Year and Prepare for a Stronger New Season | Sprint MY
2681                            </h2>
2682                            <span class="circle-divider caption-with-letter-spacing">
2683                                <time datetime="2025-12-29"> Dec 29, 25</time>
2684                            </span>
2685                            
2686                                <span class="caption-with-letter-spacing">
2687                                    Sprint
2688                                </span>
2689                            
2690                        </header>
2691                        <p class="article-card__excerpt rte-width break">Learn how to review your running year, reflect on progress, avoid burnout, and set yourself up for a stronger, more consistent running season ahead — without pressure or guilt. </p>
2692                    </div>
2693                </a>
2694            </article>
2695        </div>
2696        
2697        <div class="blog-articles__article article">
2698            <article class="article-card ">
2699                <a href="/blogs/articles/december-runs-slower-shorter-and-still-worth-it-sprint-my" class="article-content motion-reduce">
2700                    
2701                        <div class="article-card__image-wrapper">
2702                            <div class="article-card__image media media--landscape">
2703                                <img src="https://cdn.store-assets.com/s/1368538/f/16450665.jpeg" alt="December Runs: Slower, Shorter, and Still Worth It | Sprint MY" class="motion-reduce">
2704                            </div>
2705                        </div>
2706                    
2707                    <div class="article-card__info">
2708                        <header class="article-card__header">
2709                            <h2 class="article-card__title">
2710                                December Runs: Slower, Shorter, and Still Worth It | Sprint MY
2711                            </h2>
2712                            <span class="circle-divider caption-with-letter-spacing">
2713                                <time datetime="2025-12-22"> Dec 22, 25</time>
2714                            </span>
2715                            
2716                                <span class="caption-with-letter-spacing">
2717                                    Sprint 
2718                                </span>
2719                            
2720                        </header>
2721                        <p class="article-card__excerpt rte-width break">December runs often look different from the rest of the year. Distances seem shorter, paces slow down, and on some days, just getting out the door feels like a win.... </p>
2722                    </div>
2723                </a>
2724            </article>
2725        </div>
2726        
2727        <div class="blog-articles__article article">
2728            <article class="article-card ">
2729                <a href="/blogs/articles/running-smarter-how-to-balance-training-rest-and-progress-without-overdoing-it-sprint-my" class="article-content motion-reduce">
2730                    
2731                        <div class="article-card__image-wrapper">
2732                            <div class="article-card__image media media--landscape">
2733                                <img src="https://cdn.store-assets.com/s/1368538/f/16432083.jpeg" alt="Running Smarter: How to Balance Training, Rest, and Progress Without Overdoing It | Sprint MY" class="motion-reduce">
2734                            </div>
2735                        </div>
2736                    
2737                    <div class="article-card__info">
2738                        <header class="article-card__header">
2739                            <h2 class="article-card__title">
2740                                Running Smarter: How to Balance Training, Rest, and Progress Without Overdoing It | Sprint MY
2741                            </h2>
2742                            <span class="circle-divider caption-with-letter-spacing">
2743                                <time datetime="2025-12-18"> Dec 18, 25</time>
2744                            </span>
2745                            
2746                                <span class="caption-with-letter-spacing">
2747                                    Sprint
2748                                </span>
2749                            
2750                        </header>
2751                        <p class="article-card__excerpt rte-width break">Discover how to run smarter by balancing training and rest. Practical advice for sustainable progress and injury-free running in Malaysia. </p>
2752                    </div>
2753                </a>
2754            </article>
2755        </div>
2756        
2757        <div class="blog-articles__article article">
2758            <article class="article-card ">
2759                <a href="/blogs/articles/how-to-stay-consistent-with-running-without-burning-out-sprint-my" class="article-content motion-reduce">
2760                    
2761                        <div class="article-card__image-wrapper">
2762                            <div class="article-card__image media media--landscape">
2763                                <img src="https://cdn.store-assets.com/s/1368538/f/16412889.jpeg" alt="How to Stay Consistent With Running Without Burning Out | Sprint MY" class="motion-reduce">
2764                            </div>
2765                        </div>
2766                    
2767                    <div class="article-card__info">
2768                        <header class="article-card__header">
2769                            <h2 class="article-card__title">
2770                                How to Stay Consistent With Running Without Burning Out | Sprint MY
2771                            </h2>
2772                            <span class="circle-divider caption-with-letter-spacing">
2773                                <time datetime="2025-12-15"> Dec 15, 25</time>
2774                            </span>
2775                            
2776                                <span class="caption-with-letter-spacing">
2777                                    Sprint
2778                                </span>
2779                            
2780                        </header>
2781                        <p class="article-card__excerpt rte-width break">It sounds easy to stay consistent with running on paper. Lace up, head out, repeat. But in reality, many runners find themselves starting strong, only to lose motivation weeks later... </p>
2782                    </div>
2783                </a>
2784            </article>
2785        </div>
2786        
2787        <div class="blog-articles__article article">
2788            <article class="article-card ">
2789                <a href="/blogs/articles/why-your-first-1km-always-feels-the-hardest-and-how-to-warm-up-smarter-sprint-my" class="article-content motion-reduce">
2790                    
2791                        <div class="article-card__image-wrapper">
2792                            <div class="article-card__image media media--landscape">
2793                                <img src="https://cdn.store-assets.com/s/1368538/f/16399717.jpeg" alt="Why Your First 1KM Always Feels the Hardest — And How to Warm Up Smarter | Sprint MY" class="motion-reduce">
2794                            </div>
2795                        </div>
2796                    
2797                    <div class="article-card__info">
2798                        <header class="article-card__header">
2799                            <h2 class="article-card__title">
2800                                Why Your First 1KM Always Feels the Hardest — And How to Warm Up Smarter | Sprint MY
2801                            </h2>
2802                            <span class="circle-divider caption-with-letter-spacing">
2803                                <time datetime="2025-12-12"> Dec 12, 25</time>
2804                            </span>
2805                            
2806                                <span class="caption-with-letter-spacing">
2807                                    Sprint
2808                                </span>
2809                            
2810                        </header>
2811                        <p class="article-card__excerpt rte-width break">If the first kilometre of every run feels like a battle, you’re not alone. Even experienced runners say the early part of a run is the toughest. It takes your... </p>
2812                    </div>
2813                </a>
2814            </article>
2815        </div>
2816        
2817        <div class="blog-articles__article article">
2818            <article class="article-card ">
2819                <a href="/blogs/articles/your-first-5km-run-what-to-expect-beginner-tips-that-actually-help-sprint-my" class="article-content motion-reduce">
2820                    
2821                        <div class="article-card__image-wrapper">
2822                            <div class="article-card__image media media--landscape">
2823                                <img src="https://cdn.store-assets.com/s/1368538/f/16338394.jpeg" alt="Your First 5KM Run: What to Expect & Beginner Tips That Actually Help | Sprint MY" class="motion-reduce">
2824                            </div>
2825                        </div>
2826                    
2827                    <div class="article-card__info">
2828                        <header class="article-card__header">
2829                            <h2 class="article-card__title">
2830                                Your First 5KM Run: What to Expect & Beginner Tips That Actually Help | Sprint MY
2831                            </h2>
2832                            <span class="circle-divider caption-with-letter-spacing">
2833                                <time datetime="2025-12-02"> Dec 02, 25</time>
2834                            </span>
2835                            
2836                                <span class="caption-with-letter-spacing">
2837                                    Sprint
2838                                </span>
2839                            
2840                        </header>
2841                        <p class="article-card__excerpt rte-width break">Your first 5K run is a big deal. It's exciting, a little scary, and surprisingly rewarding. No matter how well you've trained, nothing beats the feeling of being there on... </p>
2842                    </div>
2843                </a>
2844            </article>
2845        </div>
2846        
2847        <div class="blog-articles__article article">
2848            <article class="article-card ">
2849                <a href="/blogs/articles/5-common-running-myths-runners-still-believe-sprint-my" class="article-content motion-reduce">
2850                    
2851                        <div class="article-card__image-wrapper">
2852                            <div class="article-card__image media media--landscape">
2853                                <img src="https://cdn.store-assets.com/s/1368538/f/16319498.jpeg" alt="5 Common Running Myths Runners Still Believe | Sprint MY" class="motion-reduce">
2854                            </div>
2855                        </div>
2856                    
2857                    <div class="article-card__info">
2858                        <header class="article-card__header">
2859                            <h2 class="article-card__title">
2860                                5 Common Running Myths Runners Still Believe | Sprint MY
2861                            </h2>
2862                            <span class="circle-divider caption-with-letter-spacing">
2863                                <time datetime="2025-11-28"> Nov 28, 25</time>
2864                            </span>
2865                            
2866                                <span class="caption-with-letter-spacing">
2867                                    Sprint
2868                                </span>
2869                            
2870                        </header>
2871                        <p class="article-card__excerpt rte-width break">Running is simple — lace up, head out, and go. But over the years, the sport has built up a lot of myths that even experienced runners still tell. Some... <
2871/p>
2872                    </div>
2873                </a>
2874            </article>
2875        </div>
2876        
2877        <div class="blog-articles__article article">
2878            <article class="article-card ">
2879                <a href="/blogs/articles/how-to-run-safely-in-the-rain-sprint-my" class="article-content motion-reduce">
2880                    
2881                        <div class="article-card__image-wrapper">
2882                            <div class="article-card__image media media--landscape">
2883                                <img src="https://cdn.store-assets.com/s/1368538/f/16306271.jpeg" alt="How to Run Safely in the Rain | Sprint MY" class="motion-reduce">
2884                            </div>
2885                        </div>
2886                    
2887                    <div class="article-card__info">
2888                        <header class="article-card__header">
2889                            <h2 class="article-card__title">
2890                                How to Run Safely in the Rain | Sprint MY
2891                            </h2>
2892                            <span class="circle-divider caption-with-letter-spacing">
2893                                <time datetime="2025-11-26"> Nov 26, 25</time>
2894                            </span>
2895                            
2896                                <span class="caption-with-letter-spacing">
2897                                    Sprint 
2898                                </span>
2899                            
2900                        </header>
2901                        <p class="article-card__excerpt rte-width break">Running in Malaysia's rainy season has its own rhythm. On some days, the sky cools the air just enough to make running feel easier. On some days, sudden downpours can... </p>
2902                    </div>
2903                </a>
2904            </article>
2905        </div>
2906        
2907        <div class="blog-articles__article article">
2908            <article class="article-card ">
2909                <a href="/blogs/articles/what-is-running-cadence-a-simple-guide-for-better-safer-running-sprint-my" class="article-content motion-reduce">
2910                    
2911                        <div class="article-card__image-wrapper">
2912                            <div class="article-card__image media media--landscape">
2913                                <img src="https://cdn.store-assets.com/s/1368538/f/16293199.jpeg" alt="What Is Running Cadence? A Simple Guide for Better, Safer Running | Sprint MY" class="motion-reduce">
2914                            </div>
2915                        </div>
2916                    
2917                    <div class="article-card__info">
2918                        <header class="article-card__header">
2919                            <h2 class="article-card__title">
2920                                What Is Running Cadence? A Simple Guide for Better, Safer Running | Sprint MY
2921                            </h2>
2922                            <span class="circle-divider caption-with-letter-spacing">
2923                                <time datetime="2025-11-24"> Nov 24, 25</time>
2924                            </span>
2925                            
2926                                <span class="caption-with-letter-spacing">
2927                                    Sprint
2928                                </span>
2929                            
2930                        </header>
2931                        <p class="article-card__excerpt rte-width break">Many runners only care about their pace and distance. Cadence is another number that quietly affects how smooth, efficient, and comfortable your run feels. It's one of the easiest running... </p>
2932                    </div>
2933                </a>
2934            </article>
2935        </div>
2936        
2937        <div class="blog-articles__article article">
2938            <article class="article-card ">
2939                <a href="/blogs/articles/why-every-runner-has-bad-run-days-and-how-to-bounce-back-stronger-sprint-my" class="article-content motion-reduce">
2940                    
2941                        <div class="article-card__image-wrapper">
2942                            <div class="article-card__image media media--landscape">
2943                                <img src="https://cdn.store-assets.com/s/1368538/f/16283295.jpeg" alt="Why Every Runner Has Bad Run Days — And How to Bounce Back Stronger | Sprint MY" class="motion-reduce">
2944                            </div>
2945                        </div>
2946                    
2947                    <div class="article-card__info">
2948                        <header class="article-card__header">
2949                            <h2 class="article-card__title">
2950                                Why Every Runner Has Bad Run Days — And How to Bounce Back Stronger | Sprint MY
2951                            </h2>
2952                            <span class="circle-divider caption-with-letter-spacing">
2953                                <time datetime="2025-11-21"> Nov 21, 25</time>
2954                            </span>
2955                            
2956                                <span class="caption-with-letter-spacing">
2957                                    Sprint
2958                                </span>
2959                            
2960                        </header>
2961                        <p class="article-card__excerpt rte-width break">Every runner has had those days when their legs feel heavy, their breathing is off, and even their favourite route seems twice as long. If you've been consistent or working... </p>
2962                    </div>
2963                </a>
2964            </article>
2965        </div>
2966        
2967        <div class="blog-articles__article article">
2968            <article class="article-card ">
2969                <a href="/blogs/articles/how-to-pick-the-best-running-socks-sprint-my-" class="article-content motion-reduce">
2970                    
2971                        <div class="article-card__image-wrapper">
2972                            <div class="article-card__image media media--landscape">
2973                                <img src="https://cdn.store-assets.com/s/1368538/f/16271338.jpeg" alt="How to Pick the Best Running Socks | Sprint MY " class="motion-reduce">
2974                            </div>
2975                        </div>
2976                    
2977                    <div class="article-card__info">
2978                        <header class="article-card__header">
2979                            <h2 class="article-card__title">
2980                                How to Pick the Best Running Socks | Sprint MY 
2981                            </h2>
2982                            <span class="circle-divider caption-with-letter-spacing">
2983                                <time datetime="2025-11-19"> Nov 19, 25</time>
2984                            </span>
2985                            
2986                                <span class="caption-with-letter-spacing">
2987                                    Sprint 
2988                                </span>
2989                            
2990                        </header>
2991                        <p class="article-card__excerpt rte-width break"> When you think about the things you need to run, shoes are usually the first thing that comes to mind. But who is the real unsung hero? Your socks.... </p>
2992                    </div>
2993                </a>
2994            </article>
2995        </div>
2996        
2997        <div class="blog-articles__article article">
2998            <article class="article-card ">
2999                <a href="/blogs/articles/the-mental-benefits-of-running-you-didn-t-expect-sprint-my" class="article-content motion-reduce">
3000                    
3001                        <div class="article-card__image-wrapper">
3002                            <div class="article-card__image media media--landscape">
3003                                <img src="https://cdn.store-assets.com/s/1368538/f/16259621.jpeg" alt="The Mental Benefits of Running You Didn’t Expect | Sprint MY" class="motion-reduce">
3004                            </div>
3005                        </div>
3006                    
3007                    <div class="article-card__info">
3008                        <header class="article-card__header">
3009                            <h2 class="article-card__title">
3010                                The Mental Benefits of Running You Didn’t Expect | Sprint MY
3011                            </h2>
3012                            <span class="circle-divider caption-with-letter-spacing">
3013                                <time datetime="2025-11-17"> Nov 17, 25</time>
3014                            </span>
3015                            
3016                                <span class="caption-with-letter-spacing">
3017                                    Sprint
3018                                </span>
3019                            
3020                        </header>
3021                        <p class="article-card__excerpt rte-width break">Running is frequently recognized for its physical benefits, yet a significant number of runners remain dedicated due to its impact on their mental well-being. From a casual jog through the... </p>
3022                    </div>
3023                </a>
3024            </article>
3025        </div>
3026        
3027        <div class="blog-articles__article article">
3028            <article class="article-card ">
3029                <a href="/blogs/articles/why-running-is-malaysia-s-new-favorite-social-fitness-habit-sprint-my" class="article-content motion-reduce">
3030                    
3031                        <div class="article-card__image-wrapper">
3032                            <div class="article-card__image media media--landscape">
3033                                <img src="https://cdn.store-assets.com/s/1368538/f/16245142.jpeg" alt="Why Running Is Malaysia’s New Favorite Social Fitness Habit | Sprint MY" class="motion-reduce">
3034                            </div>
3035                        </div>
3036                    
3037                    <div class="article-card__info">
3038                        <header class="article-card__header">
3039                            <h2 class="article-card__title">
3040                                Why Running Is Malaysia’s New Favorite Social Fitness Habit | Sprint MY
3041                            </h2>
3042                            <span class="circle-divider caption-with-letter-spacing">
3043                                <time datetime="2025-11-14"> Nov 14, 25</time>
3044                            </span>
3045                            
3046                                <span class="caption-with-letter-spacing">
3047                                    Sprint
3048                                </span>
3049                            
3050                        </header>
3051                        <p class="article-card__excerpt rte-width break"> Running in Malaysia is no longer just a way to stay fit; it's becoming a way of life. More Malaysians are putting on their running shoes in Penang, KL,... </p>
3052                    </div>
3053                </a>
3054            </article>
3055        </div>
3056        
3057        <div class="blog-articles__article article">
3058            <article class="article-card ">
3059                <a href="/blogs/articles/how-to-choose-the-right-running-shoes-for-your-foot-type-sprint-my" class="article-content motion-reduce">
3060                    
3061                        <div class="article-card__image-wrapper">
3062                            <div class="article-card__image media media--landscape">
3063                                <img src="https://cdn.store-assets.com/s/1368538/f/16231698.jpeg" alt="How to Choose the Right Running Shoes for Your Foot Type | Sprint MY" class="motion-reduce">
3064                            </div>
3065                        </div>
3066                    
3067                    <div class="article-card__info">
3068                        <header class="article-card__header">
3069                            <h2 class="article-card__title">
3070                                How to Choose the Right Running Shoes for Your Foot Type | Sprint MY
3071                            </h2>
3072                            <span class="circle-divider caption-with-letter-spacing">
3073                                <time datetime="2025-11-12"> Nov 12, 25</time>
3074                            </span>
3075                            
3076                                <span class="caption-with-letter-spacing">
3077                                    Sprint
3078                                </span>
3079                            
3080                        </header>
3081                        <p class="article-card__excerpt rte-width break">It's not just about style when it comes to finding the right running shoes Malaysia. You also need to think about how well they support, balance, and fit your feet.... </p>
3082                    </div>
3083                </a>
3084            </article>
3085        </div>
3086        
3087        <div class="blog-articles__article article">
3088            <article class="article-card ">
3089                <a href="/blogs/articles/5-small-wins-every-runner-should-celebrate-more-often-sprint-my" class="article-content motion-reduce">
3090                    
3091                        <div class="article-card__image-wrapper">
3092                            <div class="article-card__image media media--landscape">
3093                                <img src="https://cdn.store-assets.com/s/1368538/f/16218226.jpeg" alt="5 Small Wins Every Runner Should Celebrate More Often | Sprint MY" class="motion-reduce">
3094                            </div>
3095                        </div>
3096                    
3097                    <div class="article-card__info">
3098                        <header class="article-card__header">
3099                            <h2 class="article-card__title">
3100                                5 Small Wins Every Runner Should Celebrate More Often | Sprint MY
3101                            </h2>
3102                            <span class="circle-divider caption-with-letter-spacing">
3103                                <time datetime="2025-11-10"> Nov 10, 25</time>
3104                            </span>
3105                            
3106                                <span class="caption-with-letter-spacing">
3107                                    Sprint
3108                                </span>
3109                            
3110                        </header>
3111                        <p class="article-card__excerpt rte-width break">People often think of running as a way to reach big goals, like finishing a marathon, beating their personal best, or getting over a tough trail. But the small wins—the... </p>
3112                    </div>
3113                </a>
3114            </article>
3115        </div>
3116        
3117        <div class="blog-articles__article article">
3118            <article class="article-card ">
3119                <a href="/blogs/articles/5-things-running-teaches-you-about-patience-and-making-progress-sprint-my" class="article-content motion-reduce">
3120                    
3121                        <div class="article-card__image-wrapper">
3122                            <div class="article-card__image media media--landscape">
3123                                <img src="https://cdn.store-assets.com/s/1368538/f/16203646.jpeg" alt="5 Things Running Teaches You About Patience and Making Progress | Sprint MY" class="motion-reduce">
3124                            </div>
3125                        </div>
3126                    
3127                    <div class="article-card__info">
3128                        <header class="article-card__header">
3129                            <h2 class="article-card__title">
3130                                5 Things Running Teaches You About Patience and Making Progress | Sprint MY
3131                            </h2>
3132                            <span class="circle-divider caption-with-letter-spacing">
3133                                <time datetime="2025-11-07"> Nov 07, 25</time>
3134                            </span>
3135                            
3136                                <span class="caption-with-letter-spacing">
3137                                    Sprint
3138                                </span>
3139                            
3140                        </header>
3141                        <p class="article-card__excerpt rte-width break">Running is more than fitness — it’s a lesson in patience, growth, and consistency. Discover five life lessons every runner learns with each stride. </p>
3142                    </div>
3143                </a>
3144            </article>
3145        </div>
3146        
3147        <div class="blog-articles__article article">
3148            <article class="article-card ">
3149                <a href="/blogs/articles/5-reasons-to-join-a-running-community-in-malaysia-sprint-my-" class="article-content motion-reduce">
3150                    
3151                        <div class="article-card__image-wrapper">
3152                            <div class="article-card__image media media--landscape">
3153                                <img src="https://cdn.store-assets.com/s/1368538/f/16189442.jpeg" alt="5 Reasons to Join a Running Community in Malaysia | Sprint MY " class="motion-reduce">
3154                            </div>
3155                        </div>
3156                    
3157                    <div class="article-card__info">
3158                        <header class="article-card__header">
3159                            <h2 class="article-card__title">
3160                                5 Reasons to Join a Running Community in Malaysia | Sprint MY 
3161                            </h2>
3162                            <span class="circle-divider caption-with-letter-spacing">
3163                                <time datetime="2025-11-05"> Nov 05, 25</time>
3164                            </span>
3165                            
3166                                <span class="caption-with-letter-spacing">
3167                                    Sprint
3168                                </span>
3169                            
3170                        </header>
3171                        <p class="article-card__excerpt rte-width break">Running often feels like a solo pursuit — just you, your shoes, and the open road. But the moment you start running with others, everything changes. It’s no longer just... </p>
3172                    </div>
3173                </a>
3174            </article>
3175        </div>
3176        
3177    </div>
3178</div>
3179
3180
3181    
3182
3183  <div class="pagination-wrapper">
3184    <link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/component-pagination.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
3185    <nav class="pagination" role="navigation" aria-label="general.pagination.label">
3186      <ul class="pagination__list list-unstyled" role="list">
3187      
3188
3189      
3190        <li>
3191          
3192            <span class="pagination__item pagination__item--current" aria-current="page" aria-label="general.pagination.page">1</span>
3193          
3194        </li>
3195      
3196        <li>
3197          
3198            <a href="articles?page=2" class="pagination__item">2</a>
3199          
3200        </li>
3201      
3202
3203      
3204        <li>
3205          <a href="articles?page=2" class="pagination__item pagination__item--prev pagination__item-arrow link motion-reduce" aria-label="Next Page" >
3206            <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-caret" viewBox="0 0 10 6">
3207              <path fill-rule="evenodd" clip-rule="evenodd" d="M9.354.646a.5.5 0 00-.708 0L5 4.293 1.354.646a.5.5 0 00-.708.708l4 4a.5.5 0 00.708 0l4-4a.5.5 0 000-.708z" fill="currentColor">
3208              </path>
3209            </svg>
3210          </a>
3211        </li>
3212      
3213      </ul>
3214    </nav>
3215  </div>
3216
3217
3218
3219
3220
3221
3222    
3223  </main>
3224 	<style>
3225  .footer{
3226    background-color: #FFFFFF;
3227    color: #484848;
3228  }
3229  .footer .link--text,
3230  .footer .list-menu__item--link,
3231  .footer .footer-block__details-content .list-menu__item--link{
3232    color: #484848;
3233  }
3234  .footer-block__heading{
3235    color: #000000;
3236  }
3237  .rounded{
3238    border-radius: 10px;
3239  }
3240  .shopping-app-border{
3241    border: 1px #ECECEC solid;
3242    margin-right: 3px;
3243  }
3244  .app-download-badge{
3245    display: inline-block; 
3246    margin-right: 3px;
3247  }
3248</style>
3249
3250<link rel="preload" href="https://store-themes.easystore.co/1368538/themes/55058/assets/section-footer.css?t=1787901486" as="style" onload="this.onload=null;this.rel='stylesheet'">
3251
3252<footer class="footer color-background-1">
3253  <div class="footer__content-top page-width">
3254    <div class="grid grid--1-col grid--4-col-tablet ">
3255      
3256      
3257      
3258        <div class="grid__item">
3259          
3260              <h2 class="footer-block__heading">SPRINT Official</h2>
3261              <div class="footer-block__details-content">
3262                <p>Founded in 2019, Sprint is a specialty running store built on the foundation of Lee Hoe Sports, a trusted name in the Northern Region’s sports retail scene since the 1970s. With decades of experience, Lee Hoe Sports was a pioneer in managing mono-stores for globally recognized brands. At Sprint, we focus on offering flagship products that feature the latest innovations in footwear technology.  Catering to diverse needs—from walks to triathlons—we prioritize precise fittings to ensure optimal performance, comfort, and safety for every customer. We are passionate to help you achieve your goals - one step at a time.</p>
3263              </div>
3264              <ul class="footer__list-social list-unstyled list-social" role="list">
3265                
3266                
3267                  <li class="list-social__item">
3268                    <a href="https://www.facebook.com/SprintPg/" class="link link--text list-social__link">
3269                      
3270
3271
3272    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-facebook "
3273    viewBox="0 0 18 18">
3274      <path fill="currentColor"
3275        d="M16.42.61c.27 0 .5.1.69.28.19.2.28.42.28.7v15.44c0 .27-.1.5-.28.69a.94.94 0 01-.7.28h-4.39v-6.7h2.25l.31-2.65h-2.56v-1.7c0-.4.1-.72.28-.93.18-.2.5-.32 1-.32h1.37V3.35c-.6-.06-1.27-.1-2.01-.1-1.01 0-1.83.3-2.45.9-.62.6-.93 1.44-.93 2.53v1.97H7.04v2.65h2.24V18H.98c-.28 0-.5-.1-.7-.28a.94.94 0 01-.28-.7V1.59c0-.27.1-.5.28-.69a.94.94 0 01.7-.28h15.44z">
3276      </path>
3277    </svg>
3278
3279  
3280
3281                    </a>
3282                  </li>
3283                
3284                
3285                  <li class="list-social__item">
3286                    <a href="https://www.instagram.com/sprint_my/?hl=en" class="link link--text list-social__link">
3287                      
3288
3289
3290    <svg aria-hidden="true" focusable="false" role="presentation" class="icon icon-instagram "
3291    viewBox="0 0 18 18">
3292      <path fill="currentColor"
3293        d="M8.77 1.58c2.34 0 2.62.01 3.54.05.86.04 1.32.18 1.63.3.41.17.7.35 1.01.66.3.3.5.6.65 1 .12.32.27.78.3 1.64.05.92.06 1.2.06 3.54s-.01 2.62-.05 3.54a4.79 4.79 0 01-.3 1.63c-.17.41-.35.7-.66 1.01-.3.3-.6.5-1.01.66-.31.12-.77.26-1.63.3-.92.04-1.2.05-3.54.05s-2.62 0-3.55-.05a4.79 4.79 0 01-1.62-.3c-.42-.16-.7-.35-1.01-.66-.31-.3-.5-.6-.66-1a4.87 4.87 0 01-.3-1.64c-.04-.92-.05-1.2-.05-3.54s0-2.62.05-3.54c.04-.86.18-1.32.3-1.63.16-.41.35-.7.66-1.01.3-.3.6-.5 1-.65.32-.12.78-.27 1.63-.3.93-.05 1.2-.06 3.55-.06zm0-1.58C6.39 0 6.09.01 5.15.05c-.93.04-1.57.2-2.13.4-.57.23-1.06.54-1.55 1.02C1 1.96.7 2.45.46 3.02c-.22.56-.37 1.2-.4 2.13C0 6.1 0 6.4 0 8.77s.01 2.68.05 3.61c.04.94.2 1.57.4 2.13.23.58.54 1.07 1.02 1.56.49.48.98.78 1.55 1.01.56.22 1.2.37 2.13.4.94.05 1.24.06 3.62.06 2.39 0 2.68-.01 3.62-.05.93-.04 1.57-.2 2.13-.41a4.27 4.27 0 001.55-1.01c.49-.49.79-.98 1.01-1.56.22-.55.37-1.19.41-2.13.04-.93.05-1.23.05-3.61 0-2.39 0-2.68-.05-3.62a6.47 6.47 0 00-.4-2.13 4.27 4.27 0 00-1.02-1.55A4.35 4.35 0 0014.52.46a6.43 6.43 0 00-2.13-.41A69 69 0 008.77 0z">
3294      </path>
3295      <path fill="currentColor"
3296        d="M8.8 4a4.5 4.5 0 100 9 4.5 4.5 0 000-9zm0 7.43a2.92 2.92 0 110-5.85 2.92 2.92 0 010 5.85zM13.43 5a1.05 1.05 0 100-2.1 1.05 1.05 0 000 2.1z">
3297      </path>
3298    </svg>
3299
3300  
3301
3302                    </a>
3303                  </li>
3304                
3305                
3306                
3307                  <li class="list-social__item">
3308                    <a href="https://wa.me/" class="link link--text list-social__link">
3309                      
3310
3311
3312    <svg class="icon icon-whatsapp " fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 750 750"><path d="M703.5,195.64A371,371,0,0,0,572,56C523.89,26,471.51,8.4,415.21,2.51A370.48,370.48,0,0,0,316.5,5.42,364,364,0,0,0,215.23,37.47a369,369,0,0,0-132.68,108Q17.36,230.17,7,336.63A370.11,370.11,0,0,0,53.42,554.94a7.23,7.23,0,0,1,.61,4.9Q36.48,624.6,18.7,689.27C13.24,709.19,7.75,729.1,2.14,749.5c1.23-.26,1.93-.36,2.61-.55q95.75-25.11,191.54-50.2a8.43,8.43,0,0,1,5.19.61c12.79,5.8,25.28,12.34,38.29,17.59A370.28,370.28,0,0,0,666.09,604q69.06-86.36,80-196.47A370.36,370.36,0,0,0,743,311.86,361,361,0,0,0,703.5,195.
331264ZM684.64,388c-3.6,65.27-25.48,123.75-66.06,174.9-44.89,56.63-102.85,93.24-173.19,109.84a297.41,297.41,0,0,1-91.27,7A305.68,305.68,0,0,1,215.31,635a17.54,17.54,0,0,0-15.2-2.14c-35.5,9.58-71.1,18.74-106.66,28-.49.13-1,.21-2.14.45,1.72-6.37,3.29-12.22,4.89-18Q109,596.7,121.66,550.07a7.12,7.12,0,0,0-1-5.07c-12.37-19.32-23.31-39.25-31.6-60.64A309,309,0,0,1,70.4,410.63c-6.11-49.35-.93-97.44,16.1-144.15,57.86-160.1,234.55-243,394.65-185.11a308.31,308.31,0,0,1,120.2,79.18c34.9,37.19,59.32,80.31,72.81,129.53A304.75,304.75,0,0,1,684.64,388Z"/><path d="M556,454.42c-13.84-6.52-27.43-13.55-41.24-20.12-11.47-5.46-23-10.89-34.73-15.69-9.1-3.73-13.09-1.72-19.12,6.06-9.39,12.09-19.09,23.95-28.89,35.71-4.7,5.63-9.47,6.79-16.1,3.8-12.32-5.56-24.82-10.9-36.58-17.51-39.6-22.29-69.59-54.3-92.67-93.11-4.87-8.2-4.3-12.16,2.14-19.13,9.07-9.9,18.4-19.63,24.09-32.12a17.42,17.42,0,0,0,.47-14.67c-9.55-23-19-46-28.75-68.92a75.82,75.82,0,0,0-7-12.7c-2.56-3.82-6.6-5.49-11.28-5.36H255.78v-.56c-5.48.29-11,.11-16.39,1-8.66,1.37-15,6.75-20.95,12.94-25.46,26.48-34.58,57.89-28.66,93.83a145.64,145.64,0,0,0,20.75,53.75C220.48,377.5,231.32,393,242.65,408a435.09,435.09,0,0,0,70.53,73.19c31.48,26,67,44.54,105.56,57.58,16.1,5.44,32.08,11.08,49.36,11.42,11.52.22,23,.08,34.16-3.22a110.77,110.77,0,0,0,42.1-23.61c5.48-4.81,10.48-10.18,13.19-17a110.56,110.56,0,0,0,7.57-37.2C565.27,461.93,562.42,457.42,556,454.42Z"/></svg>
3313
3314  
3315
3316                    </a>
3317                  </li>
3318                
3319                
3320                
3321                
3322                
3323              </ul>
3324              <br>
3325            
3326        </div>
3327      
3328      
3329      
3330        <div class="grid__item">
3331          
3332              <h2 class="footer-block__heading">
3333                Links
3334              </h2>
3335              <ul class="footer-block__details-content list-unstyled">
3336                
3337                <li>
3338                  <a href="/pages/faq"  class="link link--text list-menu__item list-menu__item--link">
3339                    FAQ
3340                  </a>
3341                </li>
3342                
3343                <li>
3344                  <a href="/store-locator"  class="link link--text list-menu__item list-menu__item--link">
3345                    Find Our Store
3346                  </a>
3347                </li>
3348                
3349                <li>
3350                  <a href="/pages/about-us"  class="link link--text list-menu__item list-menu__item--link">
3351                    About Us
3352                  </a>
3353                </li>
3354                
3355                
3356              </ul>
3357            
3358        </div>
3359      
3360    </div>
3361  </div>
3362  <div class="footer__content-bottom">
3363    <div class="footer__content-bottom-wrapper page-width">
3364      <div class="footer__column footer__column--info">
3365
3366        
3367
3368
3369
3370
3371        <div class="footer__payment">
3372          <ul class="list list-payment" role="list">
3373            
3374              <li class="list-payment__item">
3375                
3376
3377
3378    <svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img"
3379    width="38" height="24" aria-labelledby="pi-visa">
3380      <path opacity=".07"
3381        d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
3382      <path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32">
3383      </path>
3384      <path
3385        d="M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 
33850-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z"
3386        fill="#142688"></path>
3387    </svg>
3388
3389  
3390
3391              </li>
3392            
3393            
3394              <li class="list-payment__item">
3395                
3396
3397
3398    <svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" role="img"
3399    width="38" height="24" aria-labelledby="pi-master">
3400      <path opacity=".07"
3401        d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
3402      <path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32">
3403      </path>
3404      <circle fill="#EB001B" cx="15" cy="12" r="7"></circle>
3405      <circle fill="#F79E1B" cx="23" cy="12" r="7"></circle>
3406      <path fill="#FF5F00"
3407        d="M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z"></path>
3408    </svg>
3409
3410  
3411
3412              </li>
3413            
3414            
3415              <li class="list-payment__item">
3416                
3417
3418
3419    <svg class="icon icon--full-color " xmlns="http://www.w3.org/2000/svg" role="img" viewBox="0 0 38 24"
3420      width="38" height="24" aria-labelledby="pi-american_express">
3421      <g fill="none">
3422        <path fill="#000"
3423          d="M35,0 L3,0 C1.3,0 0,1.3 0,3 L0,21 C0,22.7 1.4,24 3,24 L35,24 C36.7,24 38,22.7 38,21 L38,3 C38,1.3 36.6,0 35,0 Z"
3424          opacity=".07"></path>
3425        <path fill="#006FCF"
3426          d="M35,1 C36.1,1 37,1.9 37,3 L37,21 C37,22.1 36.1,23 35,23 L3,23 C1.9,23 1,22.1 1,21 L1,3 C1,1.9 1.9,1 3,1 L35,1">
3427        </path>
3428        <path fill="#FFF"
3429          d="M8.971,10.268 L9.745,12.144 L8.203,12.144 L8.971,10.268 Z M25.046,10.346 L22.069,10.346 L22.069,11.173 L24.998,11.173 L24.998,12.412 L22.075,12.412 L22.075,13.334 L25.052,13.334 L25.052,14.073 L27.129,11.828 L25.052,9.488 L25.046,10.346 L25.046,10.346 Z M10.983,8.006 L14.978,8.006 L15.865,9.941 L16.687,8 L27.057,8 L28.135,9.19 L29.25,8 L34.013,8 L30.494,11.852 L33.977,15.68 L29.143,15.68 L28.065,14.49 L26.94,15.68 L10.03,15.68 L9.536,14.49 L8.406,14.49 L7.911,15.68 L4,15.68 L7.286,8 L10.716,8 L10.983,8.006 Z M19.646,9.084 L17.407,9.084 L15.907,12.62 L14.282,9.084 L12.06,9.084 L12.06,13.894 L10,9.084 L8.007,9.084 L5.625,14.596 L7.18,14.596 L7.674,13.406 L10.27,13.406 L10.764,14.596 L13.484,14.596 L13.484,10.661 L15.235,14.602 L16.425,14.602 L18.165,10.673 L18.165,14.603 L19.623,14.603 L19.647,9.083 L19.646,9.084 Z M28.986,11.852 L31.517,9.084 L29.695,9.084 L28.094,10.81 L26.546,9.084 L20.652,9.084 L20.652,14.602 L26.462,14.602 L28.076,12.864 L29.624,14.602 L31.499,14.602 L28.987,11.852 L28.986,11.852 Z">
3430        </path>
3431      </g>
3432    </svg>
3433
3434  
3435
3436              </li>
3437            
3438            
3439              <li class="list-payment__item">
3440                
3441
3442
3443    <svg class="icon icon--full-color " viewBox="0 0 38 24" xmlns="http://www.w3.org/2000/svg" width="38"
3444      height="24" role="img" aria-labelledby="pi-paypal">
3445      <path opacity=".07"
3446        d="M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z"></path>
3447      <path fill="#fff" d="M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32">
3448      </path>
3449      <path fill="#003087"
3450        d="M23.9 8.3c.2-1 0-1.7-.6-2.3-.6-.7-1.7-1-3.1-1h-4.1c-.3 0-.5.2-.6.5L14 15.6c0 .2.1.4.3.4H17l.4-3.4 1.8-2.2 4.7-2.1z">
3451      </path>
3452      <path fill="#3086C8"
3453        d="M23.9 8.3l-.2.2c-.5 2.8-2.2 3.8-4.6 3.8H18c-.3 0-.5.2-.6.5l-.6 3.9-.2 1c0 .2.1.4.3.4H19c.3 0 .5-.2.5-.4v-.1l.4-2.4v-.1c0-.2.3-.4.5-.4h.3c2.1 0 3.7-.8 4.1-3.2.2-1 .1-1.8-.4-2.4-.1-.5-.3-.7-.5-.8z">
3454      </path>
3455      <path fill="#012169"
3456        d="M23.3 8.1c-.1-.1-.2-.1-.3-.1-.1 0-.2 0-.3-.1-.3-.1-.7-.1-1.1-.1h-3c-.1 0-.2 
34560-.2.1-.2.1-.3.2-.3.4l-.7 4.4v.1c0-.3.3-.5.6-.5h1.3c2.5 0 4.1-1 4.6-3.8v-.2c-.1-.1-.3-.2-.5-.2h-.1z">
3457      </path>
3458    </svg>
3459
3460  
3461
3462              </li>
3463            
3464            
3465            
3466          </ul>
3467        </div>
3468        
3469        <div class="footer__copyright caption">
3470          <div class="copyright__content">© 2026 GM Sports Sdn Bhd 1003212-V.</div>
3471        </div>
3472
3473        <div class="footer__copyright caption">
3474          
3475        </div>
3476        
3477      </div>
3478    </div>
3479  </div>
3480</footer>
3481
3482
3483
3484  
3485
3486  
3486<script>
3487  EasyStore.Currencies.init([{"name":"Malaysian Ringgit","code":"MYR","rate":"1.0","format_prefix":"RM","format_suffix":null,"format_decimals":2,"thousand_separator":",","is_primary":true}], 1)
3488</script>
3488
3489
3490
3491
3492  
3492<script>
3493    let page_template = 'blog';
3494
3495    if(document.querySelector('.currency-picker')) {
3496      EasyStore.Currencies.change(document.querySelector('.currency-picker').value)
3497      EasyStore.Currencies.convertAll() 
3498    }
3499
3500    document.querySelectorAll('.currency-picker').forEach((el)=>{
3501      el.addEventListener('change',(event)=>{
3502        EasyStore.Currencies.change(event.target.value)
3503
3504        
3505          if (page_template == 'cart') {
3506            const params = new URLSearchParams(window.location.search);
3507            params.set('delete_cache', 1);
3508            window.location.search = params;
3509          } else {
3510            window.location.reload();
3511          }
3512
3513          return
3514        
3515
3516        document.querySelectorAll('[name=currencies],[name=current_currency]').forEach((el)=>{
3517          el.value = event.target.value
3518        })
3519
3520        if(page_template == 'cart') location.reload();
3521      })
3522    })
3523  </script>
3523
3524
3525
3526
3527
3528  
3528<script>
3529
3530    window.variantStrings = {
3531      addToCart: `Add to Cart`,
3532      soldOut: `Sold Out`,
3533      unavailable: `Unavailable`,
3534    }
3535
3536    window.accessibilityStrings = {
3537      shareSuccess: `Link copied to clipboard`,
3538    }
3539  </script>
3539
3540  
3541<!-- Snippet:global/body_end: Insert Code -->
3542
3543<!--CSS for product Comment-->
3544<style>
3545.comment-wrapper{
3546border-bottom: 2px solid oklch(0.967 0.003 264.542) !important;
3547padding-top:20px;
3548padding-bottom: 20px;
3549}
3550
3551
3552.comment-card-wrapper{
3553box-shadow: none !important;
3554
3555}
3556
3557.comment-wrapper span,
3558.comment-wrapper > div>div:nth-child(2) {
3559    font-size: 16px !important;
3560    color: black !important;
3561}
3562
3563
3564</style>
3565<!-- /Snippet -->
3566
3567<!-- Snippet:global/body_end: Product Label -->
3568<link href='https://apps.easystore.co/assets/css/product-label/main.css?v2.3' rel='stylesheet' type='text/css' media='screen' />
3568<script src='https://apps.easystore.co/product-labels/productlabelv2.js?shop=sprintrunning.easy.co' type='text/javascript'></script>
3568
3569<!-- /Snippet -->
3570<script>
3571
3572  /*
3573
3574    ------
3575    Events
3576    ------
3577
3578    pages/viewed
3579
3580    customers/signup
3581
3582    customers/login
3583
3584    products/searched
3585
3586    collections/viewed
3587
3588    products/viewed
3589
3590    products/shared
3591
3592    wishlists/item_added
3593
3594    carts/items_added
3595
3596    carts/viewed
3597
3598    carts/item_removed
3599
3600    checkouts/initiated
3601
3602    checkouts/shipping_info_added
3603
3604    checkouts/payment_info_added
3605
3606    checkouts/completed
3607
3608    orders/placed
3609
3610    orders/purchased
3611
3612    payments/captured
3613
3614    payments/failed
3615
3616  */
3617
3618  window.__latest_cart = window.__latest_cart || null;
3619
3620  const _selector = document.querySelector.bind(document),
3621        _selectorAll = document.querySelectorAll.bind(document)
3622
3623  document.addEventListener('DOMContentLoaded', (event) => {
3624
3625    const default_currency = getCookie("currency")
3626    const customer_id = window.__st.cid
3627    const template    = window.__st.p
3628
3629    onPageView()
3630
3631    //-----------------------//
3632    //        Configs        //
3633    //-----------------------//
3634
3635    window.dataLayer = window.dataLayer || []
3636
3637    Array.prototype.last = Array.prototype.last || function() {
3638      return this[this.length - 1] || null
3639    }
3640
3641    Array.prototype.first = Array.prototype.first || function() {
3642      return this[0] || null
3643    }
3644
3645    //----------------------//
3646    //       Triggers       //
3647    //----------------------//
3648
3649    const XHR = window.XMLHttpRequest
3650
3651    function xhr() {
3652
3653      const xhr = new XHR()
3654
3655      xhr.addEventListener("readystatechange", function() {
3656
3657        if(xhr.readyState != 4) return
3658
3659        try {
3660
3661          const response_url = xhr.responseURL
3662
3663          if (response_url.includes("cart/add")) {
3664
3665            window.__latest_cart = JSON.parse(xhr.response)
3666
3667            onCartItemsAdded() // ok
3668
3669          }
3670
3671          if (response_url.includes("cart/remove_item_quantity")) {
3672
3673            window.__latest_cart = JSON.parse(xhr.response)
3674
3675            onCartItemRemoved() // ok
3676
3677          }
3678
3679          if (response_url.includes("new_cart?retrieve=true")) {
3680
3681            result = JSON.parse(xhr.response)
3682
3683            if (result.cart) {
3684              window.__latest_cart = result.cart
3685            }
3686
3687          }
3688
3689        } catch(e) {
3690
3691          console.error(e)
3692
3693        }
3694
3695      }, false);
3696
3697      return xhr
3698
3699    }
3700
3701    window.XMLHttpRequest = xhr
3702
3703    switch(template) {
3704
3705      case 'cart': onCartView() // ok
3706      break
3707      case 'product': onProductView() // ok
3708      break
3709      case 'collection': onCollectionView() // ok
3710      break
3711      case 'blog': onBlogView()
3712      break
3713      case 'article': onArticleView()
3714      break
3715      case 'payment_completed': onOrderPlace()
3716      break
3717      case 'payment_fail': onPaymentFail()
3718      break
3719
3720    }
3721
3722    // _selector('form[action="/checkout/payments"]').addEventListener("submit", onPaymentInfoAdded(_selector('form[action="/checkout/payments"]')))
3723    if (_selector('form[action="/checkout/detail"]'))                            _selector('form[action="/checkout/detail"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/detail"]'))})  // ok
3724    if (_selector('form[action="/checkout/shipping"]'))                          _selector('form[action="/checkout/shipping"]').addEventListener("submit", ()=>{onShippingInfoAdded(_selector('form[action="/checkout/shipping"]'))})  // ok
3725    if (_selector('form[action="/account/register"]'))                           _selector('form[action="/account/register"]').addEventListener("submit", onSignUp)  // ok
3726    if (_selector('form[action="/account/login"]'))                              _selector('form[action="/account/login"]').addEventListener("submit", onLogin)  // ok
3727    if (_selector('form[action="/search"]'))                                     _selector('form[action="/search"]').addEventListener("submit", onProductSearch()) // ok
3728    if (_selector('#line-login-btn'))                                            _selector('#line-login-btn').addEventListener('click', onLineLogin) // ok
3729    if (_selector('#PlaceOrder'))                                                _selector('#PlaceOrder').addEventListener("click", ()=>{onCheckoutComplete(_selector('form[action="/checkout/payments"]'))});  // ok
3730    if (_selector('#add_wishlist'))                                              _selector('#add_wishlist').addEventListener("click", onWishlistItemAdded) // ok
3731    if (_selectorAll('a[href="/account/logout"]'))                               _selectorAll('a[href="/account/logout"]').forEach(logoutButton => logoutButton.addEventListener("click", onLogout)) // ok
3732    if (_selector('.CartDrawerTrigger.cart-page-link'))                          _selector('.CartDrawerTrigger.cart-page-link').addEventListener("click", onCartView) // ok
3733    if (_selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link'))    _selector('.CartDrawerTrigger.cart-page-link.mobile-cart-page-link').addEventListener("click", onCartView) // ok
3734    if (_selectorAll('a[class^="share-"]'))                                      _selectorAll('a[class^="share-"]').forEach(shareButton => shareButton.addEventListener("click", ()=>{onProductShare(shareButton)}) ) // ok
3735    if (_selectorAll('[name$="checkout"]'))                                      _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
3736
3737    // For append elements
3738    const bodyMutationObserver = new MutationObserver(() => {
3739      if (_selector('#form__spc #PlaceOrder'))             _selector('#form__spc #PlaceOrder').addEventListener("click", onSinglePageCheckout) // ok
3740      if (_selectorAll('[name$="checkout"]'))              _selectorAll('[name$="checkout"]').forEach(checkoutButton => checkoutButton.addEventListener("click", onCheckoutInitiate))
3741    });
3742    bodyMutationObserver.observe(_selector("body"), {subtree: true, childList: true});
3743
3744    //------------------------------//
3745    //        Event handlers        //
3746    //------------------------------//
3747
3748    function onPageView() {
3749
3750      EasyStore.Event.dispatch('pages/viewed', {
3751        page: {
3752          type: template,
3753          title: document.title,
3754          description: _selector('meta[name=description]') ? _selector('meta[name=description]').getAttribute('content') : null,
3755          url: location.href,
3756        }
3757      })
3758
3759    }
3760
3761    function onSignUp() {
3762
3763      const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
3764      const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
3765
3766      const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
3767
3768      let data = {}
3769
3770      if (email_regex.test(email_or_phone)) {
3771        data.method = 'email'
3772        data.email = email_or_phone
3773      }
3774
3775      if (phone_regex.test(email_or_phone)) {
3776        data.method = "phone"
3777        data.phone = email_or_phone
3778      }
3779
3780      if (!data.method) return
3781
3782      EasyStore.Event.dispatch('customers/signup', data)
3783
3784    }
3785
3786    function onLogin() {
3787
3788      const email_regex = new RegExp(/^[a-zA-Z0-9.!#$%&"*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/)
3789      const phone_regex = new RegExp(/^(\+?6?01)[0-46-9]-*[0-9]{7,8}$/)
3790
3791      const email_or_phone = _selector(`input[name="customer[email_or_phone]"]`).value.replace("+", "").replace(/\s+/, "")
3792
3793      let data = {}
3794
3795      if (email_regex.test(email_or_phone)) {
3796        data.method = 'email'
3797        data.email = email_or_phone
3798      }
3799
3800      if (phone_regex.test(email_or_phone)) {
3801        data.method = "phone"
3802        data.phone = email_or_phone
3803      }
3804
3805      if (!data.method) return
3806
3807      EasyStore.Event.dispatch('customers/login', data)
3808
3809    }
3810
3811    function onLineLogin() {
3812
3813      EasyStore.Event.dispatch('customers/login', { method: 'line' })
3814
3815    }
3816
3817    function onLogout() {
3818
3819      EasyStore.Event.dispatch('customers/logout', { customer_id })
3820
3821    }
3822
3823    function onBlogView() {
3824
3825      const blog = {"id":1106566,"handle":"articles","url":"\/blogs\/articles","title":"Articles","description":"Don\u2019t let Malaysia\u2019s humidity slow you down. Learn how to train smarter, stay hydrated, and choose gear that keeps you cool \u2014 every mile, every day.","articles_count":27,"all_tags":null,"comments_enabled":null,"moderated":null,"next_article":null,"previous_article":null,"tags":null,"updated_at":"2025-10-21T17:00:14.000+08:00","articles":[{"id":566280,"title":"Running Resolutions You Can Keep Past February | Sprint MY","handle":"running-resolutions-you-can-keep-past-february-sprint-my","url":"\/blogs\/articles\/running-resolutions-you-can-keep-past-february-sprint-my","author":"Sprint","description":"Struggling to stay consistent with running after January? Learn how to build running resolutions that last beyond February \u2014 realistic, sustainable, and pressure-free.","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16528000.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16528000.jpeg"},"published_at":"2026-01-09T17:33:12.000+08:00","updated_at":"2026-01-09T18:11:49.000+08:00"},{"id":565997,"title":"Why the New Year Is the Best Time to Rethink Your Relationship With Running | SprintMY","handle":"why-the-new-year-is-the-best-time-to-rethink-your-relationship-with-running-sprintmy","url":"\/blogs\/articles\/why-the-new-year-is-the-best-time-to-rethink-your-relationship-with-running-sprintmy","author":"Sprint","description":"The New Year often arrives with a quiet question rather than a loud resolution: How do I want running to fit into my life this year? Not faster. Not longer. Just better. For many runners, the start of a new year brings a reset button \u2014 one that allow","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16505288.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16505288.jpeg"},"published_at":"2026-01-05T17:19:13.000+08:00","updated_at":"2026-01-05T18:15:11.000+08:00"},{"id":565729,"title":"How to Set Realistic Running Goals for the New Year (Without Feeling Guilty) | Sprint MY","handle":"how-to-set-real
3825istic-running-goals-for-the-new-year-without-feeling-guilty-sprint-my","url":"\/blogs\/articles\/how-to-set-realistic-running-goals-for-the-new-year-without-feeling-guilty-sprint-my","author":"Sprint","description":"Learn how to set realistic running goals that fit your lifestyle, build consistency, and keep you motivated \u2014 without pressure, guilt, or burnout.","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16486195.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16486195.jpeg"},"published_at":"2025-12-31T10:00:57.000+08:00","updated_at":"2025-12-30T19:24:21.000+08:00"},{"id":565725,"title":"How to Wrap Up Your Running Year and Prepare for a Stronger New Season | Sprint MY","handle":"how-to-wrap-up-your-running-year-and-prepare-for-a-stronger-new-season-sprint-my","url":"\/blogs\/articles\/how-to-wrap-up-your-running-year-and-prepare-for-a-stronger-new-season-sprint-my","author":"Sprint","description":"Learn how to review your running year, reflect on progress, avoid burnout, and set yourself up for a stronger, more consistent running season ahead \u2014 without pressure or guilt.","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16480686.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16480686.jpeg"},"published_at":"2025-12-29T15:51:50.000+08:00","updated_at":"2025-12-29T16:42:53.000+08:00"},{"id":565434,"title":"December Runs: Slower, Shorter, and Still Worth It | Sprint MY","handle":"december-runs-slower-shorter-and-still-worth-it-sprint-my","url":"\/blogs\/articles\/december-runs-slower-shorter-and-still-worth-it-sprint-my","author":"Sprint ","description":"December runs often look different from the rest of the year. Distances seem shorter, paces slow down, and on some days, just getting out the door feels like a win. Running tends to slide down the list of things to do when you have work deadlines, ho","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16450665.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16450665.jpeg"},"published_at":"2025-12-22T17:51:26.000+08:00","updated_at":"2025-12-22T18:38:30.000+08:00"},{"id":565222,"title":"Running Smarter: How to Balance Training, Rest, and Progress Without Overdoing It | Sprint MY","handle":"running-smarter-how-to-balance-training-rest-and-progress-without-overdoing-it-sprint-my","url":"\/blogs\/articles\/running-smarter-how-to-balance-training-rest-and-progress-without-overdoing-it-sprint-my","author":"Sprint","description":"Discover how to run smarter by balancing training and rest. Practical advice for sustainable progress and injury-free running in Malaysia.","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16432083.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16432083.jpeg"},"published_at":"2025-12-18T17:08:42.000+08:00","updated_at":"2025-12-18T18:03:53.000+08:00"},{"id":565090,"title":"How to Stay Consistent With Running Without Burning Out | Sprint MY","handle":"how-to-stay-consistent-with-running-without-burning-out-sprint-my","url":"\/blogs\/articles\/how-to-stay-consistent-with-running-without-burning-out-sprint-my","author":"Sprint","description":"It sounds easy to stay consistent with running on paper. Lace up, head out, repeat. But in reality, many runners find themselves starting strong, only to lose motivation weeks later \u2014 not because they don\u2019t enjoy running, but because they\u2019re tired, o","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16412889.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16412889.jpeg"},"published_at":"2025-12-15T17:40:08.000+08:00","updated_at":"2025-12-15T17:59:34.000+08:00"},{"id":564946,"title":"Why Your First 1KM Always Feels the Hardest \u2014 And How to Warm Up Smarter | Sprint MY","handle":"why-your-first-1km-always-feels-the-hardest-and-how-to-warm-up-smarter-sprint-my","url":"\/blogs\/articles\/why-your-first-1km-always-feels-the-hardest-and-how-to-warm-up-smarter-sprint-my","author":"Sprint","description":"If the first kilometre of every run feels like a battle, you\u2019re not alone. Even experienced runners say the early part of a run is the toughest. It takes your body a while to get into a rhythm, while your breathing is heavy and your legs are stiff. T","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16399717.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16399717.jpeg"},"published_at":"2025-12-12T16:21:55.000+08:00","updated_at":"2025-12-12T17:14:32.000+08:00"},{"id":564599,"title":"Your First 5KM Run: What to Expect & Beginner Tips That Actually Help | Sprint MY","handle":"your-first-5km-run-what-to-expect-beginner-tips-that-actually-help-sprint-my","url":"\/blogs\/articles\/your-first-5km-run-what-to-expect-beginner-tips-that-actually-help-sprint-my","author":"Sprint","description":"Your first 5K run is a big deal. It\u0027s exciting, a little scary, and surprisingly rewarding. No matter how well you\u0027ve trained, nothing beats the feeling of being there on race day with other runners who are just as excited (and nervous) as you are. T","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16338394.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16338394.jpeg"},"published_at":"2025-12-02T14:31:07.000+08:00","updated_at":"2025-12-02T14:53:56.000+08:00"},{"id":564411,"title":"5 Common Running Myths Runners Still Believe | Sprint MY","handle":"5-common-running-myths-runners-still-believe-sprint-my","url":"\/blogs\/articles\/5-common-running-myths-runners-still-believe-sprint-my","author":"Sprint","description":"Running is simple \u2014 lace up, head out, and go. But over the years, the sport has built up a lot of myths that even experienced runners still tell. Some of these thoughts are fine; others can slow your progress, increase your risk of injury, or make r","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16319498.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16319498.jpeg"},"published_at":"2025-11-28T17:23:09.000+08:00","updated_at":"2025-11-28T17:29:27.000+08:00"},{"id":564315,"title":"How to Run Safely in the Rain | Sprint MY","handle":"how-to-run-safely-in-the-rain-sprint-my","url":"\/blogs\/articles\/h
3825ow-to-run-safely-in-the-rain-sprint-my","author":"Sprint ","description":"Running in Malaysia\u0027s rainy season has its own rhythm. On some days, the sky cools the air just enough to make running feel easier. On some days, sudden downpours can slow you down, make it harder to see, and make your usual path slippery. Many runne","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16306271.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16306271.jpeg"},"published_at":"2025-11-26T16:35:29.000+08:00","updated_at":"2025-11-26T17:21:49.000+08:00"},{"id":564199,"title":"What Is Running Cadence? A Simple Guide for Better, Safer Running | Sprint MY","handle":"what-is-running-cadence-a-simple-guide-for-better-safer-running-sprint-my","url":"\/blogs\/articles\/what-is-running-cadence-a-simple-guide-for-better-safer-running-sprint-my","author":"Sprint","description":"Many runners only care about their pace and distance. Cadence is another number that quietly affects how smooth, efficient, and comfortable your run feels. It\u0027s one of the easiest running ideas to get and one of the best ways to get better. What does","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16293199.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16293199.jpeg"},"published_at":"2025-11-24T17:18:28.000+08:00","updated_at":"2025-11-24T18:06:50.000+08:00"},{"id":564138,"title":"Why Every Runner Has Bad Run Days \u2014 And How to Bounce Back Stronger | Sprint MY","handle":"why-every-runner-has-bad-run-days-and-how-to-bounce-back-stronger-sprint-my","url":"\/blogs\/articles\/why-every-runner-has-bad-run-days-and-how-to-bounce-back-stronger-sprint-my","author":"Sprint","description":"Every runner has had those days when their legs feel heavy, their breathing is off, and even their favourite route seems twice as long. If you\u0027ve been consistent or working towards a goal, a \"bad run\" can be very discouraging. But here\u0027s the truth: b","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16283295.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16283295.jpeg"},"published_at":"2025-11-21T15:58:17.000+08:00","updated_at":"2025-11-21T18:37:36.000+08:00"},{"id":564057,"title":"How to Pick the Best Running Socks | Sprint MY ","handle":"how-to-pick-the-best-running-socks-sprint-my-","url":"\/blogs\/articles\/how-to-pick-the-best-running-socks-sprint-my-","author":"Sprint ","description":" When you think about the things you need to run, shoes are usually the first thing that comes to mind. But who is the real unsung hero? Your socks. The right pair can keep your feet cool, stop blisters, and make every step feel lighter. Even a short","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16271338.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16271338.jpeg"},"published_at":"2025-11-19T16:46:17.000+08:00","updated_at":"2025-11-19T17:51:27.000+08:00"},{"id":563975,"title":"The Mental Benefits of Running You Didn\u2019t Expect | Sprint MY","handle":"the-mental-benefits-of-running-you-didn-t-expect-sprint-my","url":"\/blogs\/articles\/the-mental-benefits-of-running-you-didn-t-expect-sprint-my","author":"Sprint","description":"Running is frequently recognized for its physical benefits, yet a significant number of runners remain dedicated due to its impact on their mental well-being. From a casual jog through the local streets to rigorous training for marathons, running alt","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16259621.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16259621.jpeg"},"published_at":"2025-11-17T17:26:03.000+08:00","updated_at":"2025-11-20T10:31:00.000+08:00"},{"id":563918,"title":"Why Running Is Malaysia\u2019s New Favorite Social Fitness Habit | Sprint MY","handle":"why-running-is-malaysia-s-new-favorite-social-fitness-habit-sprint-my","url":"\/blogs\/articles\/why-running-is-malaysia-s-new-favorite-social-fitness-habit-sprint-my","author":"Sprint","description":" Running in Malaysia is no longer just a way to stay fit;
3825 it\u0027s becoming a way of life. More Malaysians are putting on their running shoes in Penang, KL, Johor, and other cities. They do it not just for fitness, but also to connect with others, reliev","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16245142.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16245142.jpeg"},"published_at":"2025-11-14T14:55:25.000+08:00","updated_at":"2025-11-20T10:29:18.000+08:00"},{"id":563847,"title":"How to Choose the Right Running Shoes for Your Foot Type | Sprint MY","handle":"how-to-choose-the-right-running-shoes-for-your-foot-type-sprint-my","url":"\/blogs\/articles\/how-to-choose-the-right-running-shoes-for-your-foot-type-sprint-my","author":"Sprint","description":"It\u0027s not just about style when it comes to finding the right running shoes Malaysia. You also need to think about how well they support, balance, and fit your feet. The right pair of shoes makes a big difference in how you move and feel, whether you\u0027","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16231698.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16231698.jpeg"},"published_at":"2025-11-12T16:14:45.000+08:00","updated_at":"2025-11-20T10:39:42.000+08:00"},{"id":563801,"title":"5 Small Wins Every Runner Should Celebrate More Often | Sprint MY","handle":"5-small-wins-every-runner-should-celebrate-more-often-sprint-my","url":"\/blogs\/articles\/5-small-wins-every-runner-should-celebrate-more-often-sprint-my","author":"Sprint","description":"People often think of running as a way to reach big goals, like finishing a marathon, beating their personal best, or getting over a tough trail. But the small wins\u2014the little steps forward that we don\u0027t always notice\u2014are what keep us going day after","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16218226.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16218226.jpeg"},"published_at":"2025-11-10T17:20:25.000+08:00","updated_at":"2025-11-20T10:43:43.000+08:00"},{"id":563722,"title":"5 Things Running Teaches You About Patience and Making Progress | Sprint MY","handle":"5-things-running-teaches-you-about-patience-and-making-progress-sprint-my","url":"\/blogs\/articles\/5-things-running-teaches-you-about-patience-and-making-progress-sprint-my","author":"Sprint","description":"Running is more than fitness \u2014 it\u2019s a lesson in patience, growth, and consistency. Discover five life lessons every runner learns with each stride.","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16203646.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16203646.jpeg"},"published_at":"2025-11-07T15:18:12.000+08:00","updated_at":"2025-11-20T10:46:58.000+08:00"},{"id":563619,"title":"5 Reasons to Join a Running Community in Malaysia | Sprint MY ","handle":"5-reasons-to-join-a-running-community-in-malaysia-sprint-my-","url":"\/blogs\/articles\/5-reasons-to-join-a-running-community-in-malaysia-sprint-my-","author":"Sprint","description":"Running often feels like a solo pursuit \u2014 just you, your shoes, and the open road. But the moment you start running with others, everything changes. It\u2019s no longer just about endurance or distance \u2014 it becomes about connection, shared goals, and the ","image_url":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16189442.jpeg","image":{"src":"https:\/\/cdn.store-assets.com\/s\/1368538\/f\/16189442.jpeg"},"published_at":"2025-11-05T16:56:36.000+08:00","updated_at":"2025-11-05T18:11:03.000+08:00"}]}
3826
3827      EasyStore.Event.dispatch('blogs/viewed', { blog })
3828
3829    }
3830
3831    function onArticleView() {
3832
3833      const article = ""
3834
3835      EasyStore.Event.dispatch('articles/viewed', { article })
3836
3837    }
3838
3839    function onProductSearch() {
3840
3841      const query = _selector('input[name=q]').value
3842
3843      if (!query) return
3844
3845      EasyStore.Event.dispatch('products/searched', { query })
3846
3847    }
3848
3849    function onCollectionView() {
3850
3851      const collection = ""
3852
3853      EasyStore.Event.dispatch('collections/viewed', { collection })
3854
3855    }
3856
3857    function onProductView() {
3858
3859      const product = ""
3860
3861      EasyStore.Event.dispatch("products/viewed", { product })
3862
3863    }
3864
3865    function onProductShare(el) {
3866
3867      const product = ""
3868
3869      const channel = el.getAttribute("class").split("-").last()
3870
3871      EasyStore.Event.dispatch('products/shared', { product, channel })
3872
3873    }
3874
3875    function onWishlistItemAdded() {
3876
3877      let product  = ""
3878      const quantity = _selector("#Quantity").value
3879
3880      EasyStore.Event.dispatch('wishlists/item_added', { product })
3881
3882    }
3883
3884    async function onCartItemsAdded() {
3885
3886      const cart = await getCart()
3887
3888      if(cart && cart.items != undefined && cart.items.length > 0) {
3889
3890        EasyStore.Event.dispatch('carts/item_added', { cart })
3891
3892      }
3893
3894    }
3895
3896    async function onCartView() {
3897
3898      const cart = await getCart()
3899
3900      EasyStore.Event.dispatch('carts/viewed', { cart })
3901
3902    }
3903
3904    async function onCartItemRemoved() {
3905
3906      const cart = await getCart()
3907
3908      cart.items = []
3909
3910      if(cart) {
3911
3912        EasyStore.Event.dispatch('carts/item_removed', { cart })
3913
3914      }
3915
3916    }
3917
3918    async function onCheckoutInitiate() {
3919
3920      const cart = await getCart()
3921
3922      EasyStore.Event.dispatch('checkouts/initiated', { cart })
3923
3924    }
3925
3926    async function onShippingInfoAdded(form) {
3927      let checkout = getCheckout()
3928
3929      let form_data = {}
3930      new FormData(form).forEach((value, key) => form_data[key] = value)
3931
3932      let shipping_tier = null
3933
3934      if (form_data.type && form_data.type.startsWith("r_pickup")) {
3935        shipping_tier = `Pickup - ${form_data.pick_location}`
3936      }
3937
3938      if (form_data.s_id) {
3939        shipping_tier = _selector(`input[id='`+form_data.s_id+`']`).getAttribute("data-shipping-name")
3940      }
3941
3942      if (!shipping_tier) return
3943
3944      EasyStore.Event.dispatch('checkouts/shipping_info_added', { checkout, shipping_tier })
3945
3946    }
3947
3948    async function onPaymentInfoAdded(form) {
3949
3950      let checkout = getCheckout()
3951
3952      let payment_type = new FormData(form).get('payment_method')
3953
3954      EasyStore.Event.dispatch("checkouts/payment_info_added", { checkout, payment_type })
3955
3956    }
3957
3958    async function onOrderPlace() {
3959
3960      let cart_token  = getCookie("cart_js")
3961      let previous_cart_token = getCookie("previous_cart_ga4_js")
3962
3963      if (previous_cart_token && previous_cart_token == cart_token) {
3964        // Prevent duplicate purchase tracking
3965        return
3966      }
3967
3968      let order = getOrder()
3969
3970      EasyStore.Event.dispatch('orders/placed', { order })
3971
3972      if(order.is_manual_payment) {
3973
3974        EasyStore.Event.dispatch('orders/purchased', { order })
3975
3976      }
3977
3978      const last_transaction = order.transactions.last()
3979
3980      if (last_transaction.status) {
3981
3982        EasyStore.Event.dispatch('orders/purchased', { order })
3983        EasyStore.Event.dispatch('payments/captured', { order })
3984
3985      }
3986
3987    }
3988
3989    async function onPaymentFail() {
3990
3991      const order = getOrder()
3992
3993      EasyStore.Event.dispatch('payments/failed', { order })
3994
3995    }
3996
3997    async function onCheckoutComplete(form) {
3998
3999      onPaymentInfoAdded(form)
4000
4001      const checkout = getCheckout()
4002
4003      EasyStore.Event.dispatch('checkouts/completed', { checkout })
4004
4005    }
4006
4007    async function onSinglePageCheckout() {
4008
4009      // let checkout = $("[data-app-checkout]").data("app-checkout")
4010
4011      let checkout = getCheckout()
4012
4013      // const payment_type = _selector("#app_spc_payment_method").find(`[class*="label-content"]`).first().find("b").first().text()
4014      const payment_type = _selector("#app_spc_payment_method").getElementsByClassName('label-content')[0].getElementsByTagName('b')[0].innerHTML
4015
4016      const shipping_method = _selector("#delivery_method").value
4017
4018      let shipping_tier = null
4019      let app_spc_customer_info_label = _selector("#app_spc_customer_info").getElementsByClassName('label-content')
4020      if (shipping_method == "shipping") {
4021        shipping_tier = app_spc_customer_info_label[app_spc_customer_info_label.length - 1].getElementsByTagName('b')[0].innerHTML
4022      }
4023
4024      if (shipping_method == "pickup") {
4025        shipping_tier = app_spc_customer_info_label[0].innerHTML
4026      }
4027
4028      if (shipping_tier) {
4029
4030        EasyStore.Event.dispatch('checkouts/shipping_info_added', {
4031          checkout,
4032          shipping_tier,
4033        })
4034
4035      }
4036
4037      if (payment_type) {
4038
4039        EasyStore.Event.dispatch('checkouts/payment_info_added', {
4040          checkout,
4041          payment_type,
4042        })
4043
4044      }
4045
4046      EasyStore.Event.dispatch('checkouts/completed', { checkout })
4047
4048    }
4049
4050  })
4051
4052
4053  //-----------------------//
4054  //       Functions       //
4055  //-----------------------//
4056
4057  function getCookie(name) {
4058
4059    name += "="
4060
4061    decodedCookie = decodeURIComponent(document.cookie)
4062
4063    ca = decodedCookie.split(";")
4064
4065    for(i = 0; i < ca.length; i++) {
4066      c = ca[i]
4067      while (c.charAt(0) == " ") {
4068        c = c.substring(1)
4069      }
4070      if (c.indexOf(name) == 0) {
4071        return c.substring(name.length, c.length)
4072      }
4073    }
4074
4075    return ""
4076
4077  }
4078
4079  const parsePrice = price => {
4080    if(typeof price === 'string') {
4081      return parseFloat(price.split(',').join(''))
4082    }
4083
4084    return price
4085  }
4086
4087  const requestCart = async (method, data) => {
4088
4089  let response = await fetch('/cart.json', {method: 'GET',headers: {'Content-Type': 'application/json'}})
4090    result = await response.json()
4091
4092    return result.cart
4093
4094  }
4095  const getCart = async (latest = false) => {
4096
4097    let cart = window.__latest_cart
4098
4099    const cart_invalid = !cart || !cart.items || (cart.total_price > 0 && !cart.items.length)
4100
4101    if(latest || cart_invalid) {
4102      cart = await requestCart()
4103    }
4104
4105    cart.items = cart.items || []
4106
4107    return mapCart(cart)
4108
4109  }
4110
4111  const getCheckout = async () => {
4112    mapCheckout(window.__latest_cart || await requestCart())
4113  }
4114
4115  const getOrder = async () => {
4116    mapOrder(window.__latest_cart || await requestCart())
4117  }
4118
4119  //-----------------------//
4120  //        Mappers        //
4121  //-----------------------//
4122
4123  const fallbackAttribute = (object, attribute) => {
4124
4125    if(!Array.isArray(attribute)) {
4126      attribute = [attribute]
4127    }
4128
4129    let final_value = null
4130
4131    do {
4132
4133      final_value = object[attribute.shift()]
4134
4135    } while(!final_value && attribute.length)
4136
4137    return final_value
4138
4139  }
4140
4141  const map = (object, mapper) => {
4142
4143    const newObject = {}
4144
4145    for(const key in mapper) {
4146
4147      // Handle different keys between new and old format
4148      newObject[key] = fallbackAttribute(object, mapper[key])
4149
4150      // Cast price to float
4151      if(newObject[key] && ['price', 'amount', 'discount', 'discounts'].some(x => key.endsWith(x))) {
4152        newObject[key] = parsePrice(newObject[key])
4153      }
4154
4155      if(newObject[key] === undefined) {
4156        delete newObject[key]
4157      }
4158
4159    }
4160
4161    return newObject
4162
4163  }
4164
4165  const mapCart = cart => {
4166
4167    const oldCart = cart
4168
4169    const mapper = {
4170      id: 'id',
4171      currency: 'currency',
4172      item_count: 'item_count',
4173      items: 'items',
4174      total_price: 'total_price',
4175      latest_items: 'latest_items'
4176    }
4177
4178    cart = map(cart, mapper)
4179
4180    const discounts = (oldCart.storewide_discounts || []).concat((oldCart.voucher_discounts || []))
4181
4182    cart.discount_applications = discounts.map(discount => ({
4183      title: discount.voucher_code || null,
4184      value: parsePrice(discount.amount),
4185    }))
4186
4187    cart.original_total_price = cart.items.length
4188    ? cart.items
4189      .map(item => item.original_price)
4190      .reduce((sum, price) => sum + price)
4191    : 0
4192
4193    cart.total_discount = cart.discount_applications.length
4194    ? cart.discount_applications
4195      .map(discount => parsePrice(discount.value))
4196      .reduce((sum, value) => sum + value)
4197    : 0
4198
4199    cart.items = cart.items.map(item => mapLineItem(item))
4200
4201    return cart
4202
4203  }
4204
4205  const mapCheckout = checkout => {
4206
4207    const mapper = {
4208      note: 'note',
4209      attributes: 'note_attributes',
4210      billing_address: 'billing_address',
4211      currency: 'currency',
4212      customer_id: 'customer_id',
4213      discounts_amount: 'total_discount',
4214      id: 'id',
4215      line_items: 'order_item',
4216      order_number: 'order_number',
4217      shipping_address: 'shipping_address',
4218      shipping_price: 'shipping_tax',
4219      shipping_method: 'shipping_method_name',
4220      tax_price: 'total_tax',
4221    }
4222
4223    checkout = map(checkout, mapper)
4224
4225    checkout.requires_shipping = checkout.line_items.some(item => item.shipping_required)
4226
4227    checkout.line_items = checkout.line_items.map(item => mapLineItem(item))
4228
4229    return checkout
4230
4231  }
4232
4233  const mapOrder = order => {
4234
4235    const mapper = {
4236      attributes: 'note_attributes',
4237      billing_address: 'billing_address',
4238      cancelled: 'is_cancelled',
4239      cancelled_at: 'cancelled_at',
4240      created_at: 'created_at',
4241      customer_id: 'customer_id',
4242      // discount_applications: 'discount_applications',
4243      email: 'email',
4244      financial_status: 'financial_status',
4245      fulfillment_status: 'fulfillment_status',
4246      line_items: 'order_item',
4247      note: 'note',
4248      order_number: 'order_number',
4249      phone: 'phone',
4250      shipping_address: 'shipping_address',
4251      shipping_methods: 'shipping_methods',
4252      shipping_price: 'total_shipping',
4253      subtotal_price: 'subtotal_price',
4254      // tax_lines: 'tax_lines',
4255      tax_price: 'total_tax',
4256      total_discounts: 'total_discount',
4257      total_net_amount: 'total_amount_include_transaction',
4258      total_price: 'total_price',
4259      transactions: 'transaction_records',
4260      is_manual_payment: 'is_manual_payment',
4261    }
4262
4263    order.email = order.billing_address.email
4264    order.phone = order.billing_address.phone
4265    order.shipping_method = order.shipping_method_name
4266
4267    order = map(order, mapper)
4268
4269    order.line_items = order.line_items.map(item => mapLineItem(item))
4270    order.transactions = order.transactions.map(transaction => mapTransaction(transaction))
4271
4272    return order
4273
4274  }
4275
4276  const mapLineItem = line_item => {
4277
4278    const old_line_item = line_item
4279
4280    const mapper = {
4281      final_price: 'price',
4282      image: 'img_url',
4283      message: 'message',
4284      original_line_price: 'original_line_price',
4285      original_price: 'original_price',
4286      properties: 'properties',
4287      quantity: 'quantity',
4288      requires_shipping: 'shipping_required',
4289      sku: 'sku',
4290      taxable: 'taxable',
4291      title: 'product_name',
4292      product_name: 'product_name',
4293      url: 'url',
4294      product_id: 'product_id',
4295      variant_id: 'variant_id',
4296      id: ['id', 'i_id'],
4297    }
4298
4299    line_item = map(line_item, mapper)
4300
4301    line_item.product_id = line_item.product_id || (old_line_item.product && old_line_item.product.id) || null
4302    line_item.variant_id = line_item.variant_id || (old_line_item.variant && old_line_item.variant.id) || null
4303    line_item.image      = line_item.image || (old_line_item.image && old_line_item.image.url) || null
4304
4305    return line_item
4306
4307  }
4308
4309  const mapTransaction = transaction => {
4310
4311    const mapper = {
4312      amount: 'amount',
4313      created_at: 'created_at',
4314      gateway: 'gateway_type',
4315      id: 'id',
4316      status: 'status',
4317    }
4318
4319    transaction = map(transaction, mapper)
4320
4321    return transaction
4322
4323  }
4324
4325
4326</script>
4326
4327
4328</body>
4329</html>

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.