1<!DOCTYPE html> 2<html class="no-js" lang="en"> 3 <head> 4 <meta name="facebook-domain-verification" content="syapx0h2gsnm4zrw5dm8i86962nwcr" /> 5 <link type="text/css" rel="stylesheet" href="https://store-djrcrpfcx0.mybigcommerce.com/product_images/BSC/sa_bc.css"> 6 <!-- Override external CSS body padding on mobile --> 7 <style> 8 /* Mobile body padding override - can be easily removed to revert */ 9 @media (max-width: 800px) { 10 html body { 11 padding-top: 55px !important; 12 } 13 } 14 15 #chat{ 16 position: relative; 17 z-index: 99999999999999999; 18 } 19 </style> 20 21 22
22<script> 23 (function() { 24 function removeMobileBodyPadding() { 25 if (window.innerWidth <= 800) { 26 document.body.style.setProperty('padding-top', '55px', 'important'); 27 } 28 } 29 30 // Apply immediately 31 if (document.readyState === 'loading') { 32 document.addEventListener('DOMContentLoaded', removeMobileBodyPadding); 33 } else { 34 removeMobileBodyPadding(); 35 } 36 37 // Apply on window resize 38 window.addEventListener('resize', removeMobileBodyPadding); 39 })(); 40 </script>
40 41 <title>Shock Absorber - Forgot Password</title> 42 <link rel="dns-prefetch preconnect" href="https://cdn11.bigcommerce.com/s-djrcrpfcx0" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.googleapis.com/" crossorigin><link rel="dns-prefetch preconnect" href="https://fonts.gstatic.com/" crossorigin> 43 <meta name="description" content="[email protected]"><meta name='platform' content='bigcommerce.stencil' /> 44 45 46 47 <link href="https://cdn11.bigcommerce.com/s-djrcrpfcx0/product_images/shock_absorber_favicon_1.png?t=1575277642" rel="shortcut icon"> 48 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 49
49<script> 50 // Change document class from no-js to js so we can detect this in css 51 document.documentElement.className = document.documentElement.className.replace('no-js', 'js'); 52 </script>
52 53 54
54<script>document.write('<link href="https://fonts.googleapis.com/css?family=Open+Sans:600,400,700,500,300&display=swap" rel="stylesheet">'.replace(/:[i,0-9]{3,}/g, '').replace('rel="stylesheet"', 'rel="preload" as="style" onload="this.onload=null;this.rel=\'stylesheet\'"'));</script>
54 55 <noscript><link href="https://fonts.googleapis.com/css?family=Open+Sans:600,400,700,500,300&display=swap" rel="stylesheet"></noscript> 56 57 58
58<script src="https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/vendor/loadcss/cssrelpreload.min.js" async></script>
58 59 60 <meta class="foundation-data-attribute-namespace"> 61 <style id="themeCSSPreload"> 62 meta.foundation-data-attribute-namespace { font-family: false } 63 body { visibility: hidden !important } 64 .emthemesModez-header-userSection > .container { transition: none !important } 65 </style> 66 <style>@media (max-width: 800px) { .pace, .nanobar { display: none } }</style> 67 <link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/css/theme-a8b88420-9974-013f-b7d5-0e5b93ef24ad.css" rel="preload" onload="this.onload=null;this.rel='stylesheet';var el=document.getElementById('themeCSSPreload');el.parentNode.removeChild(el);window.stencilStyleLoaded=true;window.stencilAutoload&&window.stencilAutoload()" as="style"> 68 <noscript><link data-stencil-stylesheet href="https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/css/theme-a8b88420-9974-013f-b7d5-0e5b93ef24ad.css" rel="stylesheet"></noscript> 69
69<script>window.lazySizesConfig = { loadHidden: false, expand: 0 };</script>
69 70 71 72 73 <!-- Start Tracking Code for analytics_facebook --> 74
75<script data-bc-cookie-consent="4" type="text/plain"> 76!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 77 78fbq('set', 'autoConfig', 'false', '2409802742532740'); 79fbq('dataProcessingOptions', []); 80fbq('init', '2409802742532740', {"external_id":"f85782eb-6ef0-44b8-a35d-c1f4acbfaf7b"}); 81fbq('set', 'agent', 'bigcommerce', '2409802742532740'); 82 83function trackEvents() { 84 var pathName = window.location.pathname; 85 86 87 88 // Search events start -- only fire if the shopper lands on the /search.php page 89 if (pathName.indexOf('/search.php') === 0 && getUrlParameter('search_query')) { 90 fbq('trackSingle', '2409802742532740', 'Search', { 91 content_type: 'product_group', 92 content_ids: [], 93 search_string: getUrlParameter('search_query') 94 }); 95 } 96 // Search events end 97 98 // Wishlist events start -- only fire if the shopper attempts to add an item to their wishlist 99 if (pathName.indexOf('/wishlist.php') === 0 && getUrlParameter('added_product_id')) { 100 fbq('trackSingle', '2409802742532740', 'AddToWishlist', { 101 content_type: 'product_group', 102 content_ids: [] 103 }); 104 } 105 // Wishlist events end 106 107 // Lead events start -- only fire if the shopper subscribes to newsletter 108 if (pathName.indexOf('/subscribe.php') === 0 && getUrlParameter('result') === 'success') { 109 fbq('trackSingle', '2409802742532740', 'Lead', {}); 110 } 111 // Lead events end 112 113 // Registration events start -- only fire if the shopper registers an account 114 if (pathName.indexOf('/login.php') === 0 && getUrlParameter('action') === 'account_created') { 115 fbq('trackSingle', '2409802742532740', 'CompleteRegistration', {}, ""); 116 } 117 // Registration events end 118 119 120 121 function getUrlParameter(name) { 122 var cleanName = name.replace(/[\[]/, '\[').replace(/[\]]/, '\]'); 123 var regex = new RegExp('[\?&]' + cleanName + '=([^&#]*)'); 124 var results = regex.exec(window.location.search); 125 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' ')); 126 } 127} 128 129if (window.addEventListener) { 130 window.addEventListener("load", trackEvents, false) 131} 132</script>
132 133<noscript><img height="1" width="1" style="display:none" alt="null" src="https://www.facebook.com/tr?id=2409802742532740&ev=PageView&noscript=1&a=plbigcommerce1.2&eid="/></noscript> 134 135<!-- End Tracking Code for analytics_facebook --> 136 137<!-- Start Tracking Code for analytics_googleanalytics4 --> 138
139<script data-cfasync="false" src="https://cdn11.bigcommerce.com/shared/js/google_analytics4_bodl_subscribers-358423becf5d870b8b603a81de597c10f6bc7699.js" integrity="sha256-gtOfJ3Avc1pEE/hx6SKj/96cca7JvfqllWA9FTQJyfI=" crossorigin="anonymous"></script>
vendor: 1 bytes, line 139
139
140<script data-cfasync="false"> 141 (function () { 142 window.dataLayer = window.dataLayer || []; 143 144 function gtag(){ 145 dataLayer.push(arguments); 146 } 147 148 function initGA4(event) { 149 function setupGtag() { 150 function configureGtag() { 151 gtag('js', new Date()); 152 gtag('set', 'developer_id.dMjk3Nj', true); 153 gtag('config', 'G-2D0BRTFL84'); 154 } 155 156 var script = document.createElement('script'); 157 158 script.src = 'https://www.googletagmanager.com/gtag/js?id=G-2D0BRTFL84'; 159 script.async = true; 160 script.onload = configureGtag; 161 162 document.head.appendChild(script); 163 } 164 165 setupGtag(); 166 167 if (typeof subscribeOnBodlEvents === 'function') { 168 subscribeOnBodlEvents('G-2D0BRTFL84', true); 169 } 170 171 window.removeEventListener(event.type, initGA4); 172 } 173 174 gtag('consent', 'default', {"ad_storage":"denied","ad_user_data":"denied","ad_personalization":"denied","analytics_storage":"denied","functionality_storage":"denied"}) 175 176 177 var eventName = document.readyState === 'complete' ? 'consentScriptsLoaded' : 'DOMContentLoaded'; 178 window.addEventListener(eventName, initGA4, false); 179 })() 180</script>
180 181 182<!-- End Tracking Code for analytics_googleanalytics4 --> 183 184<!-- Start Tracking Code for analytics_siteverification --> 185 186<meta name="facebook-domain-verification" content="l2rhzb81ervkko19zmv9v6c5z4brjg" /> 187 188<!-- End Tracking Code for analytics_siteverification --> 189 190
191<script type="text/javascript" src="https://checkout-sdk.bigcommerce.com/v1/loader.js" defer ></script>
vendor: 77 bytes, lines 191-192
191 192<script src="https://www.google.com/recaptcha/api.js" async defer></script>
193<script>window.consentManagerStoreConfig = function () { return {"storeName":"Shock Absorber","privacyPolicyUrl":"https:\/\/shockabsorber.co.uk\/privacy-policy\/","writeKey":null,"improvedConsentManagerEnabled":true,"AlwaysIncludeScriptsWithConsentTag":true}; };</script>
vendor: 1 bytes, line 193
193
194<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/bodl-consent-32a446f5a681a22e8af09a4ab8f4e4b6deda6487.js" integrity="sha256-uitfaufFdsW9ELiQEkeOgsYedtr3BuhVvA4WaPhIZZY=" crossorigin="anonymous" defer></script>
vendor: 1 bytes, line 194
194
195<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-config-d53a4773861141b0624d84967b4c0a379d13a5fe.js" defer></script>
vendor: 1 bytes, line 195
195
196<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/storefront/consent-manager-08633fe15aba542118c03f6d45457262fa9fac88.js" defer></script>
vendor: 1 bytes, line 196
196
197<script type="text/javascript"> 198var BCData = {}; 199</script>
vendor: 1 bytes, line 199
199
200<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js' defer></script>
200<script type="text/javascript"> 201 (function(i,n,t,e,r,a,c){i['InteractPromotionObject']=r;i[r]=i[r]||function(){ 202 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=n.createElement(t), 203 c=n.getElementsByTagName(t)[0];a.async=1;a.src=e;c.parentNode.insertBefore(a,c) 204 })(window,document,'script','https://i.tryinteract.com/promotions/init.js','i_promo'); 205 i_promo('init', 'KkgcSyna4'); 206</script>
206<script data-bc-cookie-consent="3" type="text/plain"> 207 (function(c,l,a,r,i,t,y){ 208 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 209 t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; 210 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 211 })(window, document, "clarity", "script", "ca4s5o9g66"); 212</script>
212<script src="https://www.dwin1.com/63950.js" type="text/javascript" defer="defer"></script>
212<script type="text/javascript"> 213 //<![CDATA[ 214 window.lipscoreInit = function() { 215 lipscore.init({ 216 apiKey: "374e926f268fbd581a3a13ad" 217 }); 218 }; 219 (function() { 220 var scr = document.createElement('script'); scr.async = 1; 221 scr.src = "//static.lipscore.com/assets/en/lipscore-v1.js"; 222 document.getElementsByTagName('head')[0].appendChild(scr); 223 })(); 224 //]]> 225</script>
225 226
226<script type=text/javascript> 227 /* >> TriplePixel :: start*/ 228 window.TriplePixelData={TripleName:"store-djrcrpfcx0.mybigcommerce.com",ver:"2.17",plat:"bigcommerce",isHeadless:false,product:{id:"",name:"",price:""},checkout:{id:"",ship_email:""},user:{em:""}},function(W,H,A,L,E,_,B,N){function O(U,T,P,H,R){void 0===R&&(R=!1),H=new XMLHttpRequest,P?(H.open("POST",U,!0),H.setRequestHeader("Content-Type","text/plain")):H.open("GET",U,!0),H.send(JSON.stringify(P||{})),H.onreadystatechange=function(){4===H.readyState&&200===H.status?(R=H.responseText,U.includes("/first")?eval(R):P||(N[B]=R)):(299<H.status||H.status<200)&&T&&!R&&(R=!0,O(U,T-1,P))}}if(N=window,!N[H+"sn"]){N[H+"sn"]=1,L=function(){return Date.now().toString(36)+"_"+Math.random().toString(36)};try{A.setItem(H,1+(0|A.getItem(H)||0)),(E=JSON.parse(A.getItem(H+"U")||"[]")).push({u:location.href,r:document.referrer,t:Date.now(),id:L()}),A.setItem(H+"U",JSON.stringify(E))}catch(e){}var i,m,p;A.getItem('"!nC`')||(_=A,A=N,A[H]||(E=A[H]=function(t,e,a){return void 0===a&&(a=[]),"State"==t?E.s:(W=L(),(E._q=E._q||[]).push([W,t,e].concat(a)),W)},E.s="Installed",E._q=[],E.ch=W,B="configSecurityConfModel",N[B]=1,O("https://conf.config-security.com/model",5),i=L(),m=A[atob("c2NyZWVu")],_.setItem("di_pmt_wt",i),p={id:i,action:"profile",avatar:_.getItem("auth-security_rand_salt_"),time:m[atob("d2lkdGg=")]+":"+m[atob("aGVpZ2h0")],host:A.TriplePixelData.TripleName,plat:A.TriplePixelData.plat,url:window.location.href.slice(0,500),ref:document.referrer,ver:A.TriplePixelData.ver},O("https://api.config-security.com/event",5,p),O("https://api.config-security.com/first?host=store-djrcrpfcx0.mybigcommerce.com&plat=bigcommerce",5)))}}("","TriplePixel",localStorage); 229 /* << TriplePixel :: end*/ 230 </script>
230<script> 231 (function() { 232 var el = document.createElement("script"); 233 el.setAttribute("src", "https://assets.gocertify.me/assets/gocertify.js"); 234 el.setAttribute("data-brand", "shock-absorber"); 235 el.setAttribute("defer", "true"); 236 document.head.appendChild(el); 237 })(); 238</script>
238 239
239<script data-cfasync="false" src="https://microapps.bigcommerce.com/bodl-events/1.9.4/index.js" integrity="sha256-Y0tDj1qsyiKBRibKllwV0ZJ1aFlGYaHHGl/oUFoXJ7Y=" nonce="" crossorigin="anonymous"></script>
239 240
240<script data-cfasync="false" nonce=""> 241 242 (function() { 243 function decodeBase64(base64) { 244 const text = atob(base64); 245 const length = text.length; 246 const bytes = new Uint8Array(length); 247 for (let i = 0; i < length; i++) { 248 bytes[i] = text.charCodeAt(i); 249 } 250 const decoder = new TextDecoder(); 251 return decoder.decode(bytes); 252 } 253 window.bodl = JSON.parse(decodeBase64("eyJzZXNzaW9uIjp7ImlkIjoiNjlhMmUyNzctYWFmNy00OTJkLTg2ZDEtNjU3MmNmMjg5Zjk5IiwiZmlyc3RfdG91Y2hfdGltZXN0YW1wIjoiMjAyNi0wOS0yNlQwNDozNjozMCIsImZpcnN0X3RvdWNoX3JlZmVycmFsX3VybCI6IiIsImZpcnN0X3RvdWNoX3JlcXVlc3RfdXJsIjoiaHR0cHM6Ly9zaG9ja2Fic29yYmVyLmNvLnVrL2xvZ2luLnBocCJ9LCJzaG9wcGVyIjp7InZpc2l0b3JfaWQiOiIiLCJjdXN0b21lcl9pZCI6bnVsbCwiZW1haWwiOm51bGwsImZpcnN0X25hbWUiOm51bGwsImxhc3RfbmFtZSI6bnVsbH0sImRhdGFfY29uc2VudCI6eyJmdW5jdGlvbmFsIjpmYWxzZSwiYW5hbHl0aWNzIjpmYWxzZSwiYWR2ZXJ0aXNpbmciOmZhbHNlfSwiZXZlbnRzIjpbeyJib2RsX3YxX2NvbnNlbnRfbG9hZGVkIjp7ImV2ZW50X2lkIjoiZTA3M2YxYTEtNzg1NS00YmQyLWIyMGEtZDZhZTFlMjIzM2VjIiwiYWR2ZXJ0aXNpbmciOmZhbHNlLCJhbmFseXRpY3MiOmZhbHNlLCJmdW5jdGlvbmFsIjpmYWxzZX19XX0=")); 254 })() 255 256 </script>
256 257
258<script nonce=""> 259(function () { 260 var xmlHttp = new XMLHttpRequest(); 261 262 xmlHttp.open('POST', 'https://bes.gcp.data.bigcommerce.com/nobot'); 263 xmlHttp.setRequestHeader('Content-Type', 'application/json'); 264 xmlHttp.send('{"store_id":"1000681805","timezone_offset":"0.0","timestamp":"2026-09-26T04:36:30.56669200Z","visit_id":"7f569cbd-e991-4dc5-bdf9-c697a99b6c78","channel_id":1}'); 265})(); 266</script>
266 267 268 269 270 271 272 273 274 275 276 277 278 <!-- snippet location htmlhead --> 279 280 281 </head> 282 <body class="navigation-hover page-type-forgotpassword 283 theme-show-outstock-badge 284 285 "> 286 287 <!-- snippet location header --> 288 <svg data-src="https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/img/icon-sprite.svg" class="icons-svg-sprite"></svg> 289 <!-- --> 290 291 292 <header class="header" role="banner"> 293 294 <a class="mobileMenu-toggle" data-mobile-menu-toggle="menu"> 295 <span class="mobileMenu-toggleIcon">Toggle menu</span> 296 </a> 297 298 299 300 <div class="header-main"> 301 <div class="header-main-container header-main-container--top"> 302 <div class="header-logo header-logo--top"> 303 <a href="https://shockabsorber.co.uk/"> 304 <div class="header-logo-image-container"> 305 <img class="header-logo-image" src="https://cdn11.bigcommerce.com/s-djrcrpfcx0/images/stencil/250x50/shock_absorber_logo-400-px_1574866991__61261.original.png" alt="Shock Absorber" title="Shock Absorber"> 306 </div> 307</a> 308 </div> 309 310 <div class="navPages-container" id="menu" data-menu> 311 <p class="navPages-container-heading"><span class="navPages-container-heading-ellipse">More</span></p> 312 <a class="mobile-panel-close" data-mobile-menu-toggle="menu" href="#"><svg><use xlink:href="#icon-close" aria-hidden="true" /></svg></a> 313 <nav class="navPages"> 314 <ul class="navPages-list navPages-list--main navPages-list-depth-max" id="navPages-main"> 315 <li class="navPages-item navPages-item--home"> 316 <a class="navPages-action" href="https://shockabsorber.co.uk/">Home</a> 317 </li> 318 <li class="navPages-item navPages-item--category"> 319 <a class="navPages-action" href="https://shockabsorber.co.uk/aw26-collection/">AW 26</a> 320 </li> 321 <li class="navPages-item navPages-item--category"> 322 <a class="navPages-action navPages-action-depth-max has-subMenu is-root" href="https://shockabsorber.co.uk/shop-by-impact/" data-collapsible="navPages-69" 323 data-collapsible-disabled-breakpoint="large" 324 data-collapsible-disabled-state="open" 325 data-collapsible-enabled-state="closed" 326 > 327 Shop by Impact <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 328 </a> 329 <div class="navPage-subMenu navPage-subMenu-horizontal" id="navPages-69" aria-hidden="true" tabindex="-1"> 330 <ul class="navPage-subMenu-list"> 331 <li class="navPage-subMenu-item-parent"> 332 <a class="navPage-subMenu-action navPages-action navPages-action-depth-max" href="https://shockabsorber.co.uk/shop-by-impact/"><span class='navPage--viewAll'>All </span>Shop by Impact</a> 333 </li> 334 <li class="navPage-subMenu-item-child"> 335 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/extreme-impact/">Extreme Impact</a> 336 </li> 337 <li class="navPage-subMenu-item-child"> 338 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/high-impact/">High Impact</a> 339 </li> 340 <li class="navPage-subMenu-item-child"> 341 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/activewear/">Activewear</a> 342 </li> 343 </ul> 344</div> 345 </li> 346 <li class="navPages-item navPages-item--category"> 347 <a class="navPages-action navPages-action-depth-max has-subMenu is-root" href="https://shockabsorber.co.uk/shop-by-activity/" data-collapsible="navPages-55" 348 data-collapsible-disabled-breakpoint="large" 349 data-collapsible-disabled-state="open" 350 data-collapsible-enabled-state="closed" 351 > 352 Shop by Activity <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 353 </a> 354 <div class="navPage-subMenu navPage-subMenu-horizontal" id="navPages-55" aria-hidden="true" tabindex="-1"> 355 <ul class="navPage-subMenu-list"> 356 <li class="navPage-subMenu-item-parent"> 357 <a class="navPage-subMenu-action navPages-action navPages-action-depth-max" href="https://shockabsorber.co.uk/shop-by-activity/"><span class='navPage--viewAll'>All </span>Shop by Activity</a> 358 </li> 359 <li class="navPage-subMenu-item-child"> 360 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/running/">Running</a> 361 </li> 362 <li class="navPage-subMenu-item-child"> 363 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/cycling/">Cycling</a> 364 </li> 365 <li class="navPage-subMenu-item-child"> 366 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/aerobics/">Aerobics</a> 367 </li> 368 <li class="navPage-subMenu-item-child"> 369 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/horse-riding/">Horse Riding</a> 370 </li> 371 <li class="navPage-subMenu-item-child"> 372 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/netball/">Netball</a> 373 </li> 374 <li class="navPage-subMenu-item-child"> 375 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/racket-sports/">Racket Sports</a> 376 </li> 377 <li class="navPage-subMenu-item-child"> 378 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-rugby/">Rugby</a> 379 </li> 380 <li class="navPage-subMenu-item-child"> 381 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/hockey/">Hockey</a> 382 </li> 383 <li class="navPage-subMenu-item-child"> 384 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-football/">Football</a> 385 </li> 386 <li class="navPage-subMenu-item-child"> 387 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/weight-training/">Weight Training</a> 388 </li> 389 <li class="navPage-subMenu-item-child"> 390 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-boxing/">Boxing</a> 391 </li> 392 <li class="navPage-subMenu-item-child"> 393 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/golf/">Golf</a> 394 </li> 395 <li class="navPage-subMenu-item-child"> 396 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/dance/">Dance</a> 397 </li> 398 <li class="navPage-subMenu-item-child"> 399 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/yoga/">Yoga</a> 400 </li> 401 <li class="navPage-subMenu-item-child"> 402 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/floorwork/">Floorwork</a> 403 </li> 404 <li class="navPage-subMenu-item-child"> 405 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/martial-arts/">Martial Arts</a> 406 </li> 407 </ul> 408</div> 409 </li> 410 <li class="navPages-item navPages-item--category"> 411 <a class="navPages-action" href="https://shockabsorber.co.uk/outlet/">Outlet</a> 412 </li> 413 <li class="navPages-item navPages-item-page"> 414 <a class="navPages-action is-root" href="https://shockabsorber.co.uk/book-a-fitting-with-us/">BOOK A FITTING</a> 415 </li> 416 <li class="navPages-item navPages-item-page"> 417 <a class="navPages-action is-root has-subMenu" href="https://www.shockabsorber.co.uk/fitting-guide/" data-collapsible="navPages-p
417age-find-your-fit" 418 data-collapsible-disabled-breakpoint="large" 419 data-collapsible-disabled-state="open" 420 data-collapsible-enabled-state="closed" 421 > 422 Find Your Fit <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 423 </a> 424 <div class="navPage-subMenu navPage-subMenu-horizontal" id="navPages-page-find-your-fit" aria-hidden="true" tabindex="-1"> 425 <ul class="navPage-subMenu-list"> 426 <li class="navPage-subMenu-item-parent"> 427 <a class="navPage-subMenu-action navPages-action" href="https://www.shockabsorber.co.uk/fitting-guide/">Find Your Fit</a> 428 </li> 429 <li class="navPage-subMenu-item-child"> 430 <a class="navPages-action navPage-subMenu-action" href="https://shockabsorber.co.uk/quiz-find-your-perfect-sports-bra/">Quiz: Find Your Perfect Sports Bra</a> 431 </li> 432 <li class="navPage-subMenu-item-child"> 433 <a class="navPages-action navPage-subMenu-action" href="https://shockabsorber.co.uk/fitting-guide/">Fitting Guide</a> 434 </li> 435 <li class="navPage-subMenu-item-child"> 436 <a class="navPages-action navPage-subMenu-action" href="https://shockabsorber.co.uk/why-wear-a-sports-bra/">Why Wear a Sports Bra?</a> 437 </li> 438 <li class="navPage-subMenu-item-child"> 439 <a class="navPages-action navPage-subMenu-action" href="https://shockabsorber.co.uk/sports-bra-faqs/">Sports Bra FAQs</a> 440 </li> 441 <li class="navPage-subMenu-item-child"> 442 <a class="navPages-action navPage-subMenu-action" href="https://shockabsorber.co.uk/international-size-conversion-chart/">International Size Conversion Chart</a> 443 </li> 444 </ul> 445 </div> 446 </li> 447 <li class="navPages-item navPages-item--dropdown-toggle u-hiddenVisually"> 448 <a class="navPages-action" data-dropdown="navPages-dropdown" href="#" title="Show All"><i class="icon" aria-hidden="true"><svg><use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-more"></use></svg></i></a> 449 </li> 450 </ul> 451 <ul class="navPages-list navPages-list--user"> 452 <li class="navPages-item"> 453 <ul class="socialLinks socialLinks--alt socialLinks--colors"> 454 <li class="socialLinks-item"> 455 <a class="icon icon--instagram" href="https://www.instagram.com/shockabsorberuk/" target="_blank"> 456 <svg><use xlink:href="#icon-instagram" /></svg> 457 </a> 458 </li> 459 <li class="socialLinks-item"> 460 <a class="icon icon--facebook" href="https://www.facebook.com/ShockAbsorberUK/" target="_blank"> 461 <svg><use xlink:href="#icon-facebook" /></svg> 462 </a> 463 </li> 464 <li class="socialLinks-item"> 465 <a class="icon icon--twitter" href="https://twitter.com/No1SportsBraUK" target="_blank"> 466 <svg><use xlink:href="#icon-twitter" /></svg> 467 </a> 468 </li> 469 </ul> 470 </li> 471 </ul> 472 473 <ul class="navPages-list navPages-list--dropdown" id="navPages-dropdown" data-dropdown-content></ul> 474</nav> 475 </div> 476 477 <nav class="navUser"> 478 <ul class="navUser-section"> 479 480 481 <li class="navUser-item navUser-item--search"> 482 <a class="navUser-action navUser-action--quickSearch" href="#" data-search="quickSearch" aria-controls="quickSearch" aria-expanded="false"> 483 <i class="navUser-item-icon"><svg><use xlink:href="#icon-search" /></svg></i> 484 <span class="navUser-item-searchLabel">Search</span> 485 </a> 486 </li> 487 488 <li class="navUser-item navUser-item--compare"> 489 <a class="navUser-action navUser-action--compare" href="https://shockabsorber.co.uk/compare" data-compare-nav> 490 <i class="navUser-item-icon"><svg><use xlink:href="#icon-compare" /></svg></i>
491 <span class="navUser-item-compareLabel">Compare</span> 492 <span class="countPill countPill--positive"></span></a> 493 </li> 494 495 <li class="navUser-item navUser-item--cart"> 496 <a 497 class="navUser-action" 498 data-cart-preview 499 data-dropdown="cart-preview-dropdown" 500 data-options="align:right" 501 href="https://shockabsorber.co.uk/cart.php"> 502 <i class="navUser-item-icon"><svg><use xlink:href="#icon-cart" /></svg></i> 503 <span class="navUser-item-cartLabel">Cart</span> 504 <span class="countPill cart-quantity"></span> 505 </a> 506 507 <div class="dropdown-menu" id="cart-preview-dropdown" data-dropdown-content aria-hidden="true"></div> 508 </li> 509 510 <li class="navUser-item navUser-item--more"> 511 <a class="navUser-action navUser-action--more" href="#" id="navUser-more-toggle" data-collapsible="navUser-more-panel" data-group-collapsible="main"> 512 <i class="navUser-item-icon"><svg><use xlink:href="#icon-account" /></svg></i> 513 <span class="navUser-item-moreLabel">More</span> 514 </a> 515 </li> 516 </ul> 517</nav> 518 </div> 519 </div> 520 521 <div data-content-region="header_bottom"></div> 522 523 524</header> 525 526<div class="dropdown dropdown--quickSearch" id="quickSearch" aria-hidden="true" tabindex="-1" data-prevent-quick-search-close> 527 <!-- snippet location forms_search --> 528<a class="modal-close mobileOnly" aria-label="Close" data-drop-down-close role="button"> 529 <span aria-hidden="true">×</span> 530</a> 531<form class="form" action="https://shockabsorber.co.uk/search.php"> 532 <fieldset class="form-fieldset"> 533 <div class="form-field"> 534 <label class="is-srOnly" for="search_query">Search</label> 535 <input class="form-input" data-search-quick name="search_query" id="search_query" data-error-message="Search field cannot be empty." placeholder="Search the store" autocomplete="off" 536 > 537 </div> 538 </fieldset> 539</form> 540<div class="container"> 541 <section class="quickSearchResults" data-bind="html: results"></section> 542</div> 543</div> 544 <div class="body" data-currency-code="GBP"> 545 546 547 <div class="container"> 548 <div class="account account--fixedSmall"> 549 <ul class="breadcrumbs" itemscope itemtype="http://schema.org/BreadcrumbList"> 550 <li class="breadcrumb " itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 551 <a data-instantload href="https://shockabsorber.co.uk/" class="breadcrumb-label" itemprop="item"> 552 <span itemprop="name">Home</span> 553 <meta itemprop="position" content="0" /> 554 </a> 555 </li> 556 <li class="breadcrumb is-active" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> 557 <a data-instantload href="/login.php" class="breadcrumb-label" itemprop="item"> 558 <span itemprop="name">Forgot Password</span> 559 <meta itemprop="position" content="1" /> 560 </a> 561 </li> 562</ul> 563 <h1 class="page-heading">Reset Password</h1> 564 <p>Fill in your email below to request a new password. An email will be sent to the address below containing a link to verify your email address.</p> 565 <form action="https://shockabsorber.co.uk/login.php?action=send_password_email" class="form forgot-password-form" method="post"> 566 567 <label class="form-label" for="email">Email Address</label> 568 <div class="form-prefixPostfix wrap"> 569 <input class="form-input" name="email" id="email" type="email" formnovalidate> 570 <input type="submit" class="button button--primary form-prefixPostfix-button--postfix" value="Reset Password"> 571 </div> 572 </form> 573 </div> 574 575 </div> 576 577 <div id="modal" class="modal" data-reveal data-prevent-quick-search-close> 578 <a href="#" class="modal-close" aria-label="Close" role="button">
579 <span aria-hidden="true">×</span> 580 </a> 581 <div class="modal-content"></div> 582 <div class="loadingOverlay"></div> 583</div> 584 585<div id="previewModal" class="modal modal--large" data-reveal> 586 <a href="#" class="modal-close" aria-label="Close" role="button"> 587 <span aria-hidden="true">×</span> 588 </a> 589 <div class="modal-content"></div> 590 <div class="loadingOverlay"></div> 591</div> 592 <div id="alert-modal" class="modal modal--alert modal--small" data-reveal data-prevent-quick-search-close> 593 <div class="swal2-icon swal2-error swal2-animate-error-icon"><span class="swal2-x-mark swal2-animate-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span></div> 594 595 <div class="modal-content"></div> 596 597 <div class="button-container"><button type="button" class="confirm button" data-reveal-close>OK</button></div> 598</div> 599</div> 600 601<footer class="footer" role="contentinfo"> 602 603 <div class="container"> 604 <section class="footer-info"> 605 <div class="footer-info-left"> 606 607 <article class="footer-info-col footer-info-col--categories" data-section-type="footer-categories"> 608 <h5 class="footer-info-heading" 609 data-collapsible="footer-info-list-categories" 610 data-collapsible-disabled-breakpoint="medium" 611 data-collapsible-disabled-state="open" 612 data-collapsible-enabled-state="closed">Our Categories</h5> 613 <ul class="footer-info-list" id="footer-info-list-categories"> 614 <li><a href="https://shockabsorber.co.uk/aw26-collection/">AW 26</a></li> 615 <li><a href="https://shockabsorber.co.uk/shop-by-impact/">Shop by Impact</a></li> 616 <li><a href="https://shockabsorber.co.uk/shop-by-activity/">Shop by Activity</a></li> 617 <li><a href="https://shockabsorber.co.uk/outlet/">Outlet</a></li> 618 </ul> 619 </article> 620 621 622 <article class="footer-info-col footer-info-col--custom1" data-section-type="footer-custom1"> 623 <h5 class="footer-info-heading" 624 data-collapsible="footer-info-list-custom1" 625 data-collapsible-disabled-breakpoint="medium" 626 data-collapsible-disabled-state="open" 627 data-collapsible-enabled-state="closed">Find Your Fit</h5> 628 <ul class="footer-info-list" id="footer-info-list-custom1"> 629 <li><a href="/fitting-guide/">Fitting Guide</a></li> 630 <li><a href="/sports-bra-faqs/">Sports Bra FAQs</a></li> 631 <li><a href="/why-wear-a-sports-bra/">Why Wear a Sports Bra</a></li> 632 <li><a href="https://shockabsorber.co.uk/quiz-find-your-perfect-sports-bra/">Take Our Sports Bra Finder Quiz</a></li> 633 </ul> 634 </article> 635 636 <article class="footer-info-col footer-info-col--custom2" data-section-type="footer-custom2"> 637 <h5 class="footer-info-heading" 638 data-collapsible="footer-info-list-custom2" 639 data-collapsible-disabled-breakpoint="medium" 640 data-collapsible-disabled-state="open" 641 data-collapsible-enabled-state="closed">Your Order</h5> 642 <ul class="footer-info-list" id="footer-info-list-custom2"> 643 <li><a href="/sports-bra-faqs/">FAQs</a></li> 644 <li><a href="/shipping-returns/">Delivery & Returns</a></li> 645 <li><a href="/contact-us/">Contact Us</a></li> 646 <li><a href="/privacy-policy">Privacy Policy</a></li> 647 <li><a href="/key-worker-discount/">Key Worker Discount</a></li> 648 <li><a href="/student-discount/">Student Discount</a></li> 649 </ul> 650 </article> 651 652 </div> 653 <div class="footer-info-right"> 654 <article class="footer-info-col footer-info-col--newsletter" data-section-type="newsletterSubscription"> 655 <div class="footer-newsletter-content"> 656 <h5 class="footer-info-heading">Subscribe to our newsletter</h5> 657 </div> 658 <form class="form footer-newsletter-form" action="https://shockabsorber.co.uk/subscribe.php" method="post"> 659 <fieldset class="form-fieldset"> 660 <input type="hidden" name="action" value="subscribe"> 661 <input type="hidden" name="nl_first_name" value="bc"> 662 <input type="hidden" name="check" value="1"> 663 <div class="form-field"> 664 <label class="form-label is-srOnly" for="nl_email">Email Address</label> 665 <div class="form-prefixPostfix wrap"> 666 <input class="form-input" id="nl_email" name="nl_email" type="email" value="" placeholder="Your email address"> 667 <input class="button button--primary form-prefixPostfix-button--postfix" type="submit" value="Subscribe"> 668 </div> 669 </div> 670 </fieldset> 671 </form> 672</article> 673 <article class="footer-info-col footer-info-col--socials" data-section-type="newsletterSubscription"> 674 <h5 class="footer-info-heading">Connect With Us</h5> 675 <ul class="socialLinks socialLinks--alt socialLinks--colors"> 676 <li class="socialLinks-item"> 677 <a class="icon icon--instagram" href="https://www.instagram.com/shockabsorberuk/" target="_blank"> 678 <svg><use xlink:href="#icon-instagram" /></svg> 679 </a> 680 </li> 681 <li class="socialLinks-item"> 682 <a class="icon icon--facebook" href="https://www.facebook.com/ShockAbsorberUK/" target="_blank"> 683 <svg><use xlink:href="#icon-facebook" /></svg> 684 </a> 685 </li> 686 <li class="socialLinks-item"> 687 <a class="icon icon--twitter" href="https://twitter.com/No1SportsBraUK" target="_blank"> 688 <svg><use xlink:href="#icon-twitter" /></svg> 689 </a> 690 </li> 691 </ul> 692 693 </article> 694 </div> 695 </section> 696 </div> 697 698 <div class="footer-copyright"> 699 <div class="container"> 700 <section class="footer-icons"> 701 702 703 704 </section> 705 706 </div> 707 </div> 708</footer> 709 710<div class="navCatalog-panel" id="navCatalog-panel"> 711 <p class="mobile-panel-heading"><span class="mobile-panel-heading-ellipse">Categories</span></p> 712 <a class="mobile-panel-close" data-collapsible="navCatalog-panel" data-group-collapsible="main"><svg><use xlink:href="#icon-close" aria-hidden="true"></use></svg></a> 713 <div class="navCatalog-panel-body" data-lock-body-scroll> 714 <nav class="navPages navPages--catalogPanel"> 715 <ul class="navPages-list"> 716 <li class="navPages-item"> 717 <a class="navPages-action" href="https://shockabsorber.co.uk/aw26-collection/">AW 26</a> 718 </li> 719 <li class="navPages-item"> 720 <a class="navPages-action has-subMenu is-root" href="https://shockabsorber.co.uk/shop-by-impact/" data-collapsible="navPages-69-catalogPanel" 721 data-collapsible-disabled-breakpoint="large" 722 data-collapsible-disabled-state="open" 723 data-collapsible-enabled-state="closed" 724 > 725 Shop by Impact <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 726 </a> 727 <div class="navPage-subMenu navPage-subMenu-horizontal" id="navPages-69-catalogPanel" aria-hidden="true" tabindex="-1"> 728 <ul class="navPage-subMenu-list"> 729 <li class="navPage-subMenu-item-parent"> 730 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/"><span class='navPage--viewAll'>All </span>Shop by Impact</a> 731 </li> 732 <li class="navPage-subMenu-item-child"> 733 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/extreme-impact/">Extreme Impact</a> 734 </li> 735 <li class="navPage-subMenu-item-child"> 736 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/high-impact/">High Impact</a> 737 </li> 738 <li class="navPage-subMenu-item-child"> 739 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-impact/activewear/">Activewear</a> 740 </li> 741 </ul> 742</div> 743 </li> 744 <li class="navPages-item"> 745 <a class="navPages-action has-subMenu is-root" href="https://shockabsorber.co.uk/shop-by-activity/" data-collapsible="navPages-55-catalogPanel" 746 data-collapsible-disabled-breakpoint="large" 747 data-collapsible-disabled-state="open" 748 data-collapsible-enabled-state="closed" 749 > 750 Shop by Activity <i class="icon navPages-action-moreIcon" aria-hidden="true"><svg><use xlink:href="#icon-chevron-down" /></svg></i> 751 </a> 752 <div class="navPage-subMenu navPage-subMenu-horizontal" id="navPages-55-catalogPanel" aria-hidden="true" tabindex="-1"> 753 <ul class="navPage-subMenu-list"> 754 <li class="navPage-subMenu-item-parent"> 755 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/"><span class='navPage--viewAll'>All </span>Shop by Activity</a> 756 </li> 757 <li class="navPage-subMenu-item-child"> 758 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/running/">Running</a> 759 </li> 760 <li class="navPage-subMenu-item-child"> 761 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/cycling/">Cycling</a> 762 </li> 763 <li class="navPage-subMenu-item-child"> 764 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/aerobics/">Aerobics</a> 765 </li> 766 <li class="navPage-subMenu-item-child"> 767 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/horse-riding/">Horse Riding</a> 768 </li> 769 <li class="navPage-subMenu-item-child"> 770 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/netball/">Netball</a> 771 </li> 772 <li class="navPage-subMenu-item-child"> 773 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/racket-sports/">Racket Sports</a> 774 </li> 775 <li class="navPage-subMenu-item-child"> 776 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-rugby/">Rugby</a> 777 </li> 778 <li class="navPage-subMenu-item-child"> 779 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/hockey/">Hockey</a> 780 </li> 781 <li class="navPage-subMenu-item-child"> 782 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-football/">Football</a> 783 </li> 784 <li class="navPage-subMenu-item-child"> 785 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/weight-training/">Weight Training</a> 786 </li> 787 <li class="navPage-subMenu-item-child"> 788 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/sports-bras-for-boxing/">Boxing</a> 789 </li> 790 <li class="navPage-subMenu-item-child"> 791 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/golf/">Golf</a> 792 </li> 793 <li class="navPage-subMenu-item-child"> 794 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/dance/">Dance</a> 795 </li> 796 <li class="navPage-subMenu-item-child"> 797 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/yoga/">Yoga</a> 798 </li> 799 <li class="navPage-subMenu-item-child"> 800 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/floorwork/">Floorwork</a> 801 </li> 802 <li class="navPage-subMenu-item-child"> 803 <a class="navPage-subMenu-action navPages-action" href="https://shockabsorber.co.uk/shop-by-activity/martial-arts/">Martial Arts</a> 804 </li> 805 </ul> 806</div> 807 </li> 808 <li class="navPages-item"> 809 <a class="navPages-action" href="https://shockabsorber.co.uk/outlet/">Outlet</a> 810 </li> 811 812 </ul> 813 </nav> 814 </div> 815</div> 816 817<div class="bottomBar"> 818 <ul class="bottomBar-list"> 819 <li class="bottomBar-item"> 820 <a class="bottomBar-action bottomBar-action--home" href="/"> 821 <i class="bottomBar-item-icon"><svg><use xlink:href="#icon-home" /></svg></i>
822 <span class="bottomBar-item-label">Home</span> 823 </a> 824 </li> 825 <li class="bottomBar-item"> 826 <a class="bottomBar-action bottomBar-action--store" 827 data-collapsible="navCatalog-panel" 828 data-collapsible-disabled-breakpoint="medium" 829 data-collapsible-disabled-state="closed" 830 data-group-collapsible="main"> 831 <i class="bottomBar-item-icon"><svg><use xlink:href="#icon-catalog" /></svg></i> 832 <span class="bottomBar-item-label">Categories</span> 833 </a> 834 </li> 835 <li class="bottomBar-item"> 836 <a class="bottomBar-action bottomBar-action--account" id="navUser-more-toggle2" data-collapsible="navUser-more-panel" data-group-collapsible="main"> 837 <i class="bottomBar-item-icon"><svg><use xlink:href="#icon-account" /></svg></i> 838 <span class="bottomBar-item-label">Account</span> 839 </a> 840 </li> 841 <li class="bottomBar-item"> 842 <a class="bottomBar-action bottomBar-action--contact" 843 data-collapsible="bottomBar-contactPanel" 844 data-collapsible-disabled-breakpoint="medium" 845 data-collapsible-disabled-state="closed" 846 data-group-collapsible="main"> 847 <i class="bottomBar-item-icon"><svg><use xlink:href="#icon-location" /></svg></i> 848 <span class="bottomBar-item-label">Contact</span> 849 </a> 850 <div class="bottomBar-contactPanel" id="bottomBar-contactPanel"> 851 <ul> 852 <li><a class="button button--primary button--small" href="mailto:[email protected]">[email protected]</a></li> 853 <li><a class="button button--primary button--small" href="tel:+44 (0) 1335 368152 ">Call us at </a></li> 854 <li><a href="/contact-us">Contact Us</a></li> 855 </ul> 856 </div> 857 </li> 858 <li class="bottomBar-item"> 859 <a class="bottomBar-action bottomBar-action--menu" data-mobile-menu-toggle="menu"> 860 <i class="bottomBar-item-icon"><svg><use xlink:href="#icon-more" /></svg></i> 861 <span class="bottomBar-item-label">More</span> 862 </a> 863 </li> 864 </ul> 865</div> 866 867<div class="navUser-panel" id="navUser-more-panel"> 868 <p class="navUser-panel-heading"><span class="navUser-panel-heading-ellipse">Account</span></p> 869 <a class="navUser-more-close" id="navUser-more-close" data-collapsible="navUser-more-panel" data-group-collapsible="main"><svg><use xlink:href="#icon-close" aria-hidden="true" /></svg></a> 870 <div class="navUser-panel-content" data-lock-body-scroll> 871 <ul class="navUser-section navUser-section--panel"> 872 873 <li class="navUser-item navUser-item--loginForm"> 874 <p class="navUser-item-heading">Sign In</p> 875 <form class="navUser-loginForm form" action="https://shockabsorber.co.uk/login.php?action=check_login" method="post" data-login-form> 876 877 878 <div class="form-field"> 879 <label class="form-label" for="login_email">Email Address:</label> 880 <input class="form-input" name="login_email" id="login_email" type="email"> 881 </div> 882 <div class="form-field"> 883 <label class="form-label" for="login_pass">Password:</label> 884 <input class="form-input" id="login_pass" type="password" name="login_pass"> 885 </div> 886 <div class="form-actions"> 887 <input type="submit" class="button button--primary" value="Sign in"> 888 <a class="forgot-password" href="https://shockabsorber.co.uk/login.php?action=reset_password">Forgot your password?</a> 889 <a class="create-account" href="https://shockabsorber.co.uk/login.php?action=create_account">Create Account</a> 890 </div> 891 </form> 892 </li> 893 894 895 896 897 <li class="navUser-item navUser-item--social"> 898 <ul class="socialLinks socialLinks--alt socialLinks--colors"> 899 <li class="socialLinks-item"> 900 <a class="icon icon--instagram" href="https://www.instagram.com/shockabsorberuk/" target="_blank"> 901 <svg><use xlink:href="#icon-instagram" /></svg> 902 </a> 903 </li> 904 <li class="socialLinks-item"> 905 <a class="icon icon--facebook" href="https://www.facebook.com/ShockAbsorberUK/" target="_blank"> 906 <svg><use xlink:href="#icon-facebook" /></svg> 907 </a> 908 </li> 909 <li class="socialLinks-item"> 910 <a class="icon icon--twitter" href="https://twitter.com/No1SportsBraUK" target="_blank"> 911 <svg><use xlink:href="#icon-twitter" /></svg> 912 </a> 913 </li> 914 </ul> 915 </li> 916 </ul> 917 </div> 918</div> 919 920 921
921<script>window.__webpack_public_path__ = "https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/dist/";</script>
921 922
922<script>window.stencilBootstrapArgs = { page_type: "forgotpassword", jsContext: "{\"themeSettings\":{\"optimizedCheckout-formChecklist-color\":\"#131313\",\"footer_custom3_link3\":\"#\",\"instagram-image-fit\":\"cover\",\"footer_custom3_title2\":\"Your Account\",\"color-secondaryDarker\":\"#cccccc\",\"card--alternate-color--hover\":\"#131313\",\"fontSize-root\":\"14\",\"show_accept_amex\":false,\"optimizedCheckout-buttonPrimary-borderColorDisabled\":\"transparent\",\"optimizedCheckout-buttonPrimary-backgroundColorActive\":\"#000000\",\"pbcst_bannerImagePath1\":\"/product_images/uploaded_images/banner03.jpg\",\"paymentbuttons-paypal-size\":\"small\",\"footer-backgroundColor-alt\":\"#ffffff\",\"optimizedCheckout-colorFocus\":\"#4496f6\",\"alsobought_product\":\"related\",\"navUser-color\":\"#FFFFFF\",\"color-textBase--active\":\"#757575\",\"social_icon_placement_bottom\":\"bottom_right\",\"home_cats_banner0\":\"/product_images/uploaded_images/home-activity-400x400.jpg\",\"productpage_bulk_price_table\":true,\"pbcst_position2\":\"right\",\"footer_custom2_title6\":\"Student Discount\",\"show_powered_by\":false,\"product_list_columns\":3,\"categorypage_show_sub\":10,\"button--default-backgroundColorActive\":\"#ffffff\",\"home_cats_sub_count\":\"20\",\"fontSize-h4\":\"20\",\"checkRadio-borderColor\":\"#cccccc\",\"product_custom_badges\":true,\"color-primaryDarker\":\"#333333\",\"show_sidebar_category_banner1\":true,\"pbcst_bannerImageDomain5\":\"\",\"optimizedCheckout-buttonPrimary-colorHover\":\"#ffffff\",\"brand_size\":\"350x175\",\"o
922ptimizedCheckout-logo-position\":\"left\",\"optimizedCheckout-discountBanner-backgroundColor\":\"#e5e5e5\",\"color-textLink--hover\":\"#333333\",\"pdp-sale-price-label\":\"\",\"optimizedCheckout-buttonSecondary-backgroundColorHover\":\"#f5f5f5\",\"products_top_bg\":\"\",\"optimizedCheckout-headingPrimary-font\":\"Google_Open+Sans_600\",\"logo_size\":\"250x50\",\"productpage_description_type\":\"full\",\"logo-fontSize\":\"28\",\"footer_custom2_link4\":\"/privacy-policy\",\"price-main-fontSize\":\"24\",\"pbcst_url3\":\"\",\"footer-backgroundColor\":\"#f0f0f0\",\"navPages-color\":\"#FFFFFF\",\"productpage_reviews_count\":10,\"optimizedCheckout-step-borderColor\":\"#dddddd\",\"productpage_properties_tab\":false,\"optimizedCheckout-formField-backgroundColor\":\"#ffffff\",\"products_featured_heading\":\"FEATURED\",\"products_featured_columns\":5,\"show_accept_paypal\":false,\"paymentbuttons-paypal-label\":\"checkout\",\"footer_webpages_heading\":\"\",\"color_badge_product_custom_badges\":\"#000000\",\"optimizedCheckout-discountBanner-textColor\":\"#131313\",\"optimizedCheckout-backgroundImage-size\":\"1000x400\",\"optimizedCheckout-buttonPrimary-font\":\"Google_Open+Sans_400\",\"paymentbuttons-paypal-shape\":\"pill\",\"footer_brands_limit\":\"\",\"pbcst_bannerImagePath4\":\"\",\"section4\":\"recent-blog\",\"carousel-description-color-alt\":\"#333333\",\"pdp-retail-price-label\":\"\",\"contact_phoneText\":\"\",\"footer_custom1_title3\":\"Why Wear a Sports Bra\",\"home_cats_banner7\":\"//placehold.it/400x600\",\"carousel-dot-color\":\"#888888\",\"button--disabled-backgroundColor\":\"#cccccc\",\"header_sticky\":false,\"topHeader_show_phone\":true,\"section10\":\"home-banner1\",\"blockquote-cite-font-color\":\"#999999\",\"pbcst_position6\":\"\",\"pbcst_bannerButton6\":\"\",\"recentBlog_subheading\":\"\",\"use_tweenmax\":true,\"optimizedCheckout-formField-shadowColor\":\"#e5e5e5\",\"brandspage_infiniteScroll\":true,\"topBanner-color\":\"#ffffff\",\"footer_custom3_link4\":\"#\",\"carousel-width\":\"auto\",\"container-fill-base\":\"#ffffff\",\"paymentbuttons-paypal-layout\":\"horizontal\",\"button--default-color\":\"#000000\",\"recentBlog_type\":\"columns\",\"pace-progress-backgroundColor\":\"#999999\",\"color-textLink--active\":\"#333333\",\"home_cats_banner8\":\"//placehold.it/400x600\",\"productpage_vertical_thumbnails\":false,\"section7\":\"home-banner1\",\"footer_show_custom2\":true,\"page-heading-font\":\"Google_Open+Sans_700\",\"carousel-bgOpacity\":\"0\",\"optimizedCheckout-loadingToaster-backgroundColor\":\"#131313\",\"color-textHeading\":\"#000000\",\"show_accept_discover\":false,\"footer_custom1_link6\":\"\",\"optimizedCheckout-formField-errorColor\":\"#d14343\",\"products_top_type\":\"carousel\",\"spinner-borderColor-dark\":\"#999999\",\"restrict_to_login\":false,\"input-font-color\":\"#666666\",\"carousel_mobile_height_fixed\":false,\"carousel-title-color\":\"#444444\",\"select-bg-color\":\"#ffffff\",\"show_accept_mastercard\":false,\"color_text_product_sale_badges\":\"#ffffff\",\"optimizedCheckout-link-font\":\"Google_Open+Sans_400\",\"homepage_show_carousel_arrows\":true,\"carousel-button-style-alt\":\"default\",\"carousel-arrow-bgColor\":\"#ffffff\",\"card--alternate-borderColor\":\"#ffffff\",\"products_new_count\":10,\"navUser-icon-fontSize\":\"22\",\"button--disabled-color\":\"#ffffff\",\"footer_custom1_link2\":\"/sports-bra-faqs/\",\"color-primaryDark\":\"#666666\",\"carousel-button-style\":\"default\",\"footer_custom2_title2\":\"Delivery & Returns\",\"pbcst_bannerHeading5\":\"\",\"optimizedCheckout-step-textColor\":\"#ffffff\",\"footer_custom1_title6\":\"\",\"color_hover_product_sale_badges\":\"#E0E61D\",\"color-price\":\"#000000\",\"home_cats_banner4\":\"//placehold.it/400x600\",\"pbcst_heading4\":\"\",\"optimizedCheckout-buttonPrimary-borderColorActive\":\"transparent\",\"pbcst_bannerImageDomain1\":\"//store-esi1aufjsk.mybigcommerce.com\",\"navPages-subMenu-backgroundColor\":\"#1D1646\",\"product_outstock_badge\":true,\"home_cats_subheading\":\"\",\"topHeader_show\":false,\"color-grey\":\"#999999\",\"instagram_subheading\":\"Follow us on instagram\",\"footer_custom3_title3\":\"View Orders\",\"body-font\":\"Google_Open+Sans_400,500,600,700,300\",\"optimizedCheckout-formField-borderColor\":\"#cccccc\",\"show_product_dimensions\":false,\"optimizedCheckout-link-color\":\"#476bef\",\"card-figcaption-button-background\":\"#000000\",\"button--default-borderColor\":\"#000000\",\"blog_post_size\":\"832x750\",\"headings-font\":\"Google_Open+Sans_600\",\"categorypage_show_sub_thumb\":false,\"footer_custom3_title1\":\"Sign up/Login\",\"button--primary-backgroundColorHover\":\"#1D1646\",\"add_to_cart_btn\":\"all\",\"button--primary-backgroundColor\":\"#000000\",\"products_featured_columns_sm\":2,\"checkRadio-color\":\"#333333\",\"icon-color-hover\":\"#999999\",\"navPages-subMenu-fontSize\":\"14\",\"optimizedCheckout-headingSecondary-font\":\"Google_Open+Sans_600\",\"footer_custom1_title4\":\"Take Our Sports Bra Finder Quiz\",\"label-backgroundColor\":\"#cccccc\",\"copyright-linkColor-hover\":\"#E0E61D\",\"pdp-non-sale-price-label\":\"\",\"button--disabled-borderColor\":\"#cccccc\",\"label-color\":\"#ffffff\",\"optimizedCheckout-headingSecondary-color\":\"#131313\",\"pbcst_bannerHeading6\":\"\",\"instagram_col\":4,\"alert-backgroundColor\":\"#FFFFFF\",\"o
922ptimizedCheckout-logo-size\":\"250x100\",\"default_image_brand\":\"img/BrandDefault.gif\",\"footer-borderColor\":\"#dddddd\",\"card-title-color\":\"#666666\",\"select-arrow-color\":\"#757575\",\"pbcst_bannerImagePath5\":\"\",\"footer_show_custom3\":false,\"payment_icons_style\":\"color\",\"footer-color\":\"#818181\",\"carousel-transition\":\"rotate\",\"payment_icons_position\":\"copyright_left\",\"section5\":\"home-banner1\",\"footer_custom3_title6\":\"\",\"pbcst_url6\":\"\",\"fontSize-h5\":\"16\",\"navPages-fontWeight\":\"700\",\"card_img_hover\":false,\"footer-link-color\":\"#323232\",\"product_list_display_mode\":\"grid\",\"products_new_columns\":5,\"optimizedCheckout-link-hoverColor\":\"#002fe1\",\"categorypage_infiniteScroll\":true,\"product_size\":\"728x728\",\"paymentbuttons-paypal-color\":\"gold\",\"homepage_show_carousel\":true,\"optimizedCheckout-body-backgroundColor\":\"#ffffff\",\"section1\":\"home-banner1\",\"show_sidebar_brand_banner2\":true,\"header-backgroundColor\":\"#1D1646\",\"paymentbuttons-paypal-tagline\":true,\"home_cats_count\":\"1\",\"color-greyDarkest\":\"#000000\",\"price_ranges\":true,\"products_featured_subheading\":\"Our best-selling styles for ultimate support\",\"productpage_videos_count\":8,\"ajax_add_to_cart\":true,\"carousel-arrow-borderColor\":\"#ffffff\",\"footer_custom2_title3\":\"Contact Us\",\"button--default-borderColorActive\":\"#000000\",\"productpage_reviews_tab\":false,\"footer_custom2_link3\":\"/contact-us/\",\"color_badge_product_sale_badges\":\"#1D1646\",\"use_wow\":false,\"color-greyDark\":\"#666666\",\"optimizedCheckout-buttonSecondary-borderColorHover\":\"#999999\",\"optimizedCheckout-discountBanner-iconColor\":\"#131313\",\"productpage_thumbnails_count\":\"6\",\"optimizedCheckout-buttonSecondary-borderColor\":\"#cccccc\",\"pbcst_bannerImagePath2\":\"/product_images/uploaded_images/banner04.jpg\",\"pbcst_heading6\":\"\",\"optimizedCheckout-buttonPrimary-colorDisabled\":\"#ffffff\",\"icon-ratingFull\":\"#418111\",\"default_image_gift_certificate\":\"img/GiftCertificate.png\",\"pbcst_bannerImageDomain4\":\"\",\"footer-heading-color\":\"#000000\",\"add_to_cart_popup\":\"mini\",\"topBanner-color-link\":\"#ffffff\",\"optimizedCheckout-loadingToaster-textColor\":\"#ffffff\",\"color-textBase--hover\":\"#757575\",\"color-errorLight\":\"#ffdddd\",\"navPages-childList-fontSize\":\"13\",\"optimizedCheckout-formField-placeholderColor\":\"#999999\",\"navUser-color-hover\":\"#E0E61D\",\"footer_custom2_title4\":\"Privacy Policy\",\"carousel-slide4-position\":\"center\",\"productpage_description_tab\":true,\"contact_linkText\":\"Contact Us\",\"carousel-slide2-style\":\"alt\",\"pbcst_position3\":\"\",\"products_new_columns_sm\":2,\"instagram_token\":\"\",\"social_icon_placement_top\":true,\"section6\":\"home-banner1\",\"blog_size\":\"400x360\",\"products_new_heading\":\"NEW ARRIVAL\",\"footer_custom1_heading\":\"Find Your Fit\",\"shop_by_price_visibility\":true,\"optimizedCheckout-buttonSecondary-colorActive\":\"#000000\",\"color-warningLight\":\"#fffdea\",\"show_product_weight\":false,\"home_cats_banner3\":\"//placehold.it/400x600\",\"optimizedCheckout-orderSummary-backgroundColor\":\"#ffffff\",\"pbcst_url1\":\"/shop-all/\",\"products_featured_type\":\"carousel\",\"button--default-colorActive\":\"#000000\",\"products_featured_bg\":\"\",\"color-info\":\"#111111\",\"copyright-backgroundColor\":\"#ffffff\",\"navPages-fontSize\":\"14\",\"optimizedCheckout-formChecklist-backgroundColorSelected\":\"#f5f5f5\",\"button--default-borderColorHover\":\"#000000\",\"card--alternate-backgroundColor\":\"#ffffff\",\"footer_custom1_link3\":\"/why-wear-a-sports-bra/\",\"hide_content_navigation\":false,\"footer_custom3_title5\":\"\",\"show_product_quick_view\":true,\"home_cats_banner9\":\"//placehold.it/400x600\",\"pdp-price-label\":\"\",\"show_copyright_footer\":false,\"swatch_option_size\":\"64x64\",\"carousel-slide5-style\":\"default\",\"optimizedCheckout-orderSummary-borderColor\":\"#dddddd\",\"pbcst_bannerButton2\":\"View More\",\"optimizedCheckout-show-logo\":\"none\",\"home_cats_style\":\"furniture\",\"carousel-description-color\":\"#333333\",\"recentBlog_heading\":\"#REALSHOCKSUPPORT\",\"navigation_hover\":true,\"optimizedCheckout-formChecklist-backgroundColor\":\"#ffffff\",\"fontSize-h2\":\"30\",\"optimizedCheckout-step-backgroundColor\":\"#757575\",\"carousel-slide1-style\":\"default\",\"pbcst_heading3\":\"\",\"optimizedCheckout-headingPrimary-color\":\"#131313\",\"carousel-heading-fontSize\":\"30\",\"color-textBase\":\"#131313\",\"color-warning\":\"#f1a500\",\"productgallery_size\":\"532x532\",\"show_accept_applepay\":false,\"footer_custom1_title5\":\"\",\"alert-color\":\"#333333\",\"topHeader_show_banner\":true,\"card-figcaption-button-color\":\"#ffffff\",\"color-textSecondary--active\":\"#333333\",\"footer_newsletter_position\":\"right\",\"optimizedCheckout-formField-inputControlColor\":\"#476bef\",\"optimizedCheckout-buttonSecondary-font\":\"Google_Open+Sans_400\",\"storeName-color\":\"#FFFFFF\",\"form-label-font-color\":\"#666666\",\"pbcst_bannerHeading2\":\"Real<br/>Men's<br/>
922Fashion\",\"color_badge_product_outstock_badges\":\"#eeeeee\",\"copyright-linkColor\":\"#323232\",\"optimizedCheckout-contentPrimary-color\":\"#131313\",\"optimizedCheckout-backgroundImage\":\"\",\"footer_webpages_limit\":\"\",\"color-greyLightest\":\"#e5e5e5\",\"carousel-bgColor-alt\":\"#ffffff\",\"pbcst_bannerImagePath6\":\"\",\"optimizedCheckout-header-backgroundColor\":\"#1D1646\",\"productpage_related_products_count\":5,\"optimizedCheckout-buttonSecondary-backgroundColorActive\":\"#e5e5e5\",\"color-textLink\":\"#1D1646\",\"pbcst_bannerHeading3\":\"\",\"products_new_subheading\":\"New in this week\",\"color-secondaryDark\":\"#e5e5e5\",\"fontSize-h6\":\"12\",\"home_cats_banner2\":\"/product_images/uploaded_images/products-home.jpg\",\"fb_page\":\"\",\"home_cats_heading\":\"\",\"paymentbuttons-paypal-fundingicons\":false,\"carousel-arrow-color\":\"#000000\",\"productpage_similar_by_views_count\":5,\"color-greyLighter\":\"#cccccc\",\"products_featured_count\":10,\"products_new_type\":\"grid\",\"contact_link\":\"/contact-us\",\"footer_custom2_heading\":\"Your Order\",\"show_accept_amazon\":false,\"footer_custom2_link2\":\"/shipping-returns/\",\"footer_brands_heading\":\"\",\"loadingOverlay-backgroundColor\":\"#ffffff\",\"bottomBar-fontSize\":\"11\",\"products_new_bg\":\"\",\"input-bg-color\":\"#ffffff\",\"footer_custom3_link1\":\"#\",\"pbcst_url5\":\"\",\"color_text_product_outstock_badges\":\"#282828\",\"optimizedCheckout-buttonPrimary-color\":\"#ffffff\",\"navPages-subMenu-separatorColor\":\"#e5e5e5\",\"navPages-color-hover\":\"#E0E61D\",\"color-infoLight\":\"#008a06\",\"footer_categories_heading\":\"Our Categories\",\"product_sale_badges\":\"topleft\",\"home_cats_banner6\":\"//placehold.it/400x600\",\"default_image_product\":\"img/ProductDefault.gif\",\"footer_categories_limit\":\"10\",\"navUser-dropdown-borderColor\":\"#cccccc\",\"footer_custom2_link5\":\"/key-worker-discount/\",\"carousel-slide5-position\":\"center\",\"pbcst_bannerButton1\":\"View More\",\"optimizedCheckout-formChecklist-borderColor\":\"#cccccc\",\"fontSize-h1\":\"36\",\"pbcst_bannerImageDomain3\":\"\",\"productpage_custom_fields_tab_heading\":\"Features\",\"footer_custom1_link4\":\"https://shockabsorber.co.uk/quiz-find-your-perfect-sports-bra/\",\"bottomBar-icon-size\":\"22\",\"optimizedCheckout-buttonPrimary-colorActive\":\"#ffffff\",\"contact_phone\":\"+44 (0) 1335 368152 \",\"color-greyMedium\":\"#757575\",\"pbcst_heading1\":\"For Ladies\",\"productpage_tabs_type\":\"right\",\"section9\":\"home-banner1\",\"color-greyLight\":\"#999999\",\"optimizedCheckout-logo\":\"\",\"icon-ratingEmpty\":\"#cccccc\",\"icon-color\":\"#757575\",\"button--default-backgroundColorHover\":\"#000000\",\"redirect_cart\":false,\"section2\":\"featured-products\",\"overlay-backgroundColor\":\"#FFFFFF\",\"input-border-color-active\":\"#999999\",\"container-fill-dark\":\"#f0f0f0\",\"pbcst_url2\":\"/utility/\",\"copyright-color\":\"#666666\",\"optimizedCheckout-buttonPrimary-backgroundColorDisabled\":\"#cccccc\",\"card_swatch_option_size\":\"18x18\",\"carousel-slide3-style\":\"default\",\"brandpage_infiniteScroll\":true,\"footer_custom3_heading\":\"Discounts\",\"pbcst_heading2\":\"For Men\",\"color-successLight\":\"#d5ffd8\",\"pbcst_position4\":\"\",\"productpage_addCart_mobile\":\"inline\",\"carousel-description-fontSize\":\"14\",\"button--default-backgroundColor\":\"#ffffff\",\"button--primary-color\":\"#ffffff\",\"pbcst_bannerHeading1\":\"Wo-<br/>men's<br/>Trends\",\"carousel-slide3-position\":\"center\",\"optimizedCheckout-buttonPrimary-borderColorHover\":\"transparent\",\"footer_custom2_title5\":\"Key Worker Discount\",\"color-greyDarker\":\"#333333\",\"show_product_quantity_box\":true,\"footer_custom1_title1\":\"Fitting Guide\",\"color-success\":\"#008a06\",\"optimizedCheckout-header-borderColor\":\"#dddddd\",\"zoom_size\":\"1280x1280\",\"pbcst_bannerButton4\":\"\",\"color-white\":\"#ffffff\",\"productview_thumb_size\":\"50x50\",\"fontSize-h3\":\"24\",\"color_text_product_custom_badges\":\"#ffffff\",\"products_top_columns_sm\":2,\"spinner-borderColor-light\":\"#ffffff\",\"geotrust_ssl_common_name\":\"\",\"optimizedCheckout-buttonSecondary-backgroundColor\":\"#ffffff\",\"footer_custom3_link6\":\"#\",\"carousel-dot-color-active\":\"#E0E61D\",\"input-border-color\":\"#cccccc\",\"optimizedCheckout-buttonPrimary-backgroundColor\":\"#131313\",\"carousel-button-fontSize\":\"14\",\"color-secondary\":\"#ffffff\",\"carousel-slide4-style\":\"alt\",\"products_per_page\":12,\"products_top_heading\":\"BESTSELLING\",\"show_sidebar_category_banner2\":true,\"bottomBar-color-active\":\"#E0E61D\",\"carousel-bgColor\":\"#ffffff\",\"button--primary-backgroundColorActive\":\"#E0E61D\",\"color-textSecondary--hover\":\"#333333\",\"recentBlog_count\":4,\"card_show_brand\":false,\"home_cats_id\":\"\",\"footer_custom3_title4\":\"\",\"productpage_custom_fields_tab\":true,\"body-bg\":\"#FFFFFF\",\"carousel-title-color-alt\":\"#444444\",\"dropdown--quickSearch-backgroundColor\":\"#e5e5e5\",\"optimizedCheckout-contentSecondary-font\":\"Google_Open+Sans_400\",\"footer_custom3_link2\":\"#\",\"color-primary\":\"#1D1646\",\"color-whitesBase\":\"#e5e5e5\",\"footer_custom1_title2\":\"Sports Bra FAQs\",\"bottomBar-color\":\"#000000\",\"navUser-dropdown-backgroundColor\":\"#FFFFFF\",\"o
922ptimizedCheckout-contentPrimary-font\":\"Google_Open+Sans_400\",\"csspreload\":\"speedtest\",\"card_show_swatches\":true,\"bottomBar\":\"bottom\",\"supported_card_type_icons\":[\"american_express\",\"diners\",\"discover\",\"mastercard\",\"visa\"],\"footer_custom2_link1\":\"/sports-bra-faqs/\",\"navigation_design\":\"alternate\",\"optimizedCheckout-formField-textColor\":\"#131313\",\"color-black\":\"#000000\",\"home_cats_banner1\":\"/product_images/uploaded_images/home-activity.jpg\",\"carousel-slide1-position\":\"center\",\"instagram_heading\":\"INSTAGRAM\",\"optimizedCheckout-buttonSecondary-colorHover\":\"#131313\",\"topBanner-bgColor\":\"#131313\",\"button--primary-colorActive\":\"#ffffff\",\"homepage_stretch_carousel_images\":false,\"pbcst_url4\":\"\",\"card-title-color-hover\":\"#E0E61D\",\"products_top_columns\":5,\"alsobought\":false,\"optimizedCheckout-contentSecondary-color\":\"#757575\",\"products_top_subheading\":\"Top selling in this week\",\"productpage_videos_type\":\"gallery\",\"applePay-button\":\"black\",\"carousel-height\":\"equal\",\"pbcst_position1\":\"left\",\"thumb_size\":\"100x100\",\"footer_custom1_link1\":\"/fitting-guide/\",\"optimizedCheckout-buttonPrimary-borderColor\":\"#cccccc\",\"footer_custom2_title1\":\"FAQs\",\"section3\":\"home-banner3\",\"optimizedCheckout-buttonSecondary-borderColorActive\":\"#757575\",\"footer-link-colorHover\":\"#E0E61D\",\"instagram_type\":\"boxed\",\"products_top_count\":10,\"page-heading-fontSize\":\"30\",\"optimizedCheckout-header-textColor\":\"#131313\",\"optimizedCheckout-show-backgroundImage\":false,\"home_cats_banner5\":\"//placehold.it/400x600\",\"color-primaryLight\":\"#999999\",\"navUser-indicator-backgroundColor\":\"#1D1646\",\"color-textHeading-alt\":\"#FFFFFF\",\"footer_custom2_link6\":\"/student-discount/\",\"topHeader_show_address\":true,\"footer_custom3_link5\":\"#\",\"show_accept_visa\":false,\"searchpage_infiniteScroll\":true,\"show_sidebar_brand_banner1\":true,\"carousel-dot-bgColor\":\"#ffffff\",\"optimizedCheckout-buttonSecondary-color\":\"#131313\",\"geotrust_ssl_seal_size\":\"M\",\"pbcst_bannerImagePath3\":\"\",\"logo-position\":\"top\",\"optimizedCheckout-form-textColor\":\"#666666\",\"card_show_img_slider\":true,\"footer_custom1_link5\":\"\",\"carousel-slide2-position\":\"center\",\"pbcst_bannerImageDomain2\":\"//store-esi1aufjsk.mybigcommerce.com\",\"bottomBar_show_brands\":false,\"pbcst_position5\":\"\",\"button--icon-svg-color\":\"#757575\",\"pbcst_bannerHeading4\":\"\",\"footer_show_custom1\":true,\"price-fontSize\":\"16\",\"button--default-colorHover\":\"#ffffff\",\"checkRadio-backgroundColor\":\"#ffffff\",\"instagram_count\":8,\"pbcst_heading5\":\"\",\"input-disabled-bg\":\"#FFFFFF\",\"pbcst_bannerButton5\":\"\",\"section8\":\"home-banner1\",\"alert-color-alt\":\"#ffffff\",\"productpage-title-fontSize\":\"28\",\"contact_email\":\"[email protected]\",\"carousel-bgOpacity-alt\":\"0\",\"optimizedCheckout-buttonPrimary-backgroundColorHover\":\"#666666\",\"container-border-global-color-base\":\"#e5e5e5\",\"pbcst_limit\":\"8\",\"productthumb_size\":\"100x100\",\"button--primary-colorHover\":\"#ffffff\",\"color-error\":\"#cc4749\",\"bottomBar-bgColor\":\"#ffffff\",\"checkout_theme\":false,\"productpage_custom_fields_hide_special\":true,\"home_cats_show_banner\":false,\"pbcst_bannerButton3\":\"\",\"pbcst_bannerImageDomain6\":\"\",\"color-textSecondary\":\"#999999\",\"sidebar_new_products_count\":0,\"gallery_size\":\"300x300\",\"carousel-mobile-height\":\"350\"},\"genericError\":\"Oops! Something went wrong.\",\"maintenanceMode\":[],\"urls\":{\"home\":\"https://shockabsorber.co.uk/\",\"brands\":\"https://shockabsorber.co.uk/brands/\",\"search\":\"https://shockabsorber.co.uk/search.php\",\"compare\":\"https://shockabsorber.co.uk/compare\",\"sitemap\":\"https://shockabsorber.co.uk/sitemap.php\",\"contact_us_submit\":\"https://shockabsorber.co.uk/pages.php?action=sendContactForm\",\"subscribe\":{\"action\":\"https://shockabsorber.co.uk/subscribe.php\"},\"checkout\":{\"single_address\":\"https://shockabsorber.co.uk/checkout\",\"multiple_address\":\"https://shockabsorber.co.uk/checkout.php?action=multiple\"},\"account\":{\"orders\":{\"all\":\"https://shockabsorber.co.uk/account.php?action=order_status\",\"completed\":\"https://shockabsorber.co.uk/account.php?action=view_orders\",\"save_new_return\":\"https://shockabsorber.co.uk/account.php?action=save_new_return\"},\"returns\":\"https://shockabsorber.co.uk/account.php?action=view_returns\",\"addresses\":\"https://shockabsorber.co.uk/account.php?action=address_book\",\"inbox\":\"https://shockabsorber.co.uk/account.php?action=inbox\",\"send_message\"
922:\"https://shockabsorber.co.uk/account.php?action=send_message\",\"add_address\":\"https://shockabsorber.co.uk/account.php?action=add_shipping_address\",\"update_action\":\"https://shockabsorber.co.uk/account.php?action=update_account\",\"details\":\"https://shockabsorber.co.uk/account.php?action=account_details\",\"recent_items\":\"https://shockabsorber.co.uk/account.php?action=recent_items\",\"index\":\"https://shockabsorber.co.uk/account.php\",\"wishlists\":{\"all\":\"https://shockabsorber.co.uk/wishlist.php\",\"add\":\"https://shockabsorber.co.uk/wishlist.php?action=addwishlist\",\"edit\":\"https://shockabsorber.co.uk/wishlist.php?action=editwishlist\",\"delete\":\"https://shockabsorber.co.uk/wishlist.php?action=deletewishlist\"},\"payment_methods\":{\"all\":\"https://shockabsorber.co.uk/account.php?action=payment_methods\"}},\"auth\":{\"login\":\"https://shockabsorber.co.uk/login.php\",\"check_login\":\"https://shockabsorber.co.uk/login.php?action=check_login\",\"create_account\":\"https://shockabsorber.co.uk/login.php?action=create_account\",\"save_new_account\":\"https://shockabsorber.co.uk/login.php?action=save_new_account\",\"forgot_password\":\"https://shockabsorber.co.uk/login.php?action=reset_password\",\"send_password_email\":\"https://shockabsorber.co.uk/login.php?action=send_password_email\",\"save_new_password\":\"https://shockabsorber.co.uk/login.php?action=save_new_password\",\"logout\":\"https://shockabsorber.co.uk/login.php?action=logout\"},\"cart\":\"https://shockabsorber.co.uk/cart.php\",\"product\":{\"post_review\":\"https://shockabsorber.co.uk/postreview.php\"},\"gift_certificate\":{\"purchase\":\"https://shockabsorber.co.uk/giftcertificates.php\",\"redeem\":\"https://shockabsorber.co.uk/giftcertificates.php?action=redeem\",\"balance\":\"https://shockabsorber.co.uk/giftcertificates.php?action=balance\"},\"rss\":{\"products\":[]}},\"secureBaseUrl\":\"https://shockabsorber.co.uk\",\"pageType\":\"forgotpassword\",\"cartId\":null,\"template\":\"pages/auth/forgot-password\",\"useValidEmail\":\"Please use a valid email address, such as [email protected].\",\"enterPass\":\"You must enter a password.\"}", autoload: true };</script>
922 923
923<script src="https://cdn11.bigcommerce.com/s-djrcrpfcx0/stencil/2d3f4560-5e75-013f-3550-1af6baef0f3a/e/a6c412c0-61ba-013f-35c9-4e44e444f17b/dist/theme-bundle.main.js" async></script>
923 924 925 926 <!-- Include Klevu JavaScript Library -->
927<script src="https://js.klevu.com/core/v2/klevu.js"></script>
927 928 <style> 929 body .kuSearchResultsPageContainer .kuResults ul li .kuName, 930body .klevuResultsBlock .klevuQuickSearchResults ul li .klevuQuickProductName{ 931 display: block !important; 932} 933 934[ku-container][data-container-role="content"] { 935 display: block; 936} 937 938.klevuQuickSearchingArea #klevuCategoryArea{display: none} 939 940@media screen and (max-width: 767px) { 941 body .kuSearchResultsPageContainer .kuResults ul li .kuProdWrap .kuProdTop .klevuImgWrap { 942 height: 300px!important; 943 } 944} 945 946@media screen and (min-width: 1025px) { 947 body .kuSearchResultsPageContainer .kuResults ul li .kuProdWrap .kuProdTop .klevuImgWrap { 948 height: 225px!important; 949 } 950} 951 952 953@media only screen and (max-width: 767px) { 954 .kuResultContent .kuFilters[data-position="top"] { 955 position: relative; 956 } 957 .kuResultContent .kuFilters[data-position="top"] .kuFilterBox { 958 position: initial !important; 959 } 960 .kuResultContent .kuFilters[data-position="top"] .kuFilterBox .kuFilterNames { 961 z-index: 1000; 962 top: initial; 963 max-height: initial; 964 height: auto; 965 padding: 12px 10px !important; 966 border: 1px solid #eee !important; 967 } 968 .kuResultContent 969 .kuFilters[data-position="top"] 970 .kuFilterBox:hover 971 .kuFilterNames { 972 display: block !important; 973 pointer-events: initial; 974 padding: 12px 10px !important; 975 border: 1px solid #eee !important; 976 } 977 .kuResultContent 978 .kuFilters[data-position="top"] 979 .kuFilterBox 980 .kuFilterNames:hover { 981 display: block !important; 982 pointer-events: initial; 983 padding: 12px 10px !important; 984 border: 1px solid #eee !important; 985 } 986 .kuResultContent 987 .kuFilters[data-position="top"] 988 .kuFilterHead:hover 989 + .kuFilterNames { 990 overflow: auto; 991 pointer-events: initial; 992 padding: 12px 10px !important; 993 border: 1px solid #eee !important; 994 padding: 12px 10px !important; 995 border: 1px solid #eee !important; 996 } 997 .kuResultContent .kuFilters[data-position="top"] .kuFilterNames:hover { 998 pointer-events: initial; 999 padding: 12px 10px !important; 1000 border: 1px solid #eee !important; 1001 } 1002 .kuResultContent .kuFilters[data-position="top"] .kuFilterBox .kuFilterHead.kuCollapse:hover + .kuFilterBox .kuFilterNames{ 1003 display: block !important; 1004 height: auto !important; 1005 padding: 12px 10px !important; 1006 border: 1px solid #eee !important; 1007 } 1008 .kuResultContent .kuFilters[data-position="top"] .kuFilterNames.kuFilterCollapse{ 1009 height: auto; 1010 padding: 12px 10px !important; 1011 border: 1px solid #eee !important; 1012 } 1013 .kuResultContent .kuFilters[data-position="top"] .kuFilterBox .kuFilterHead{ 1014 height: auto; 1015 } 1016 1017 } 1018 1019 1020#brarista-chat-iframe { 1021 position: fixed; 1022 bottom: 14px; 1023 right: 0px; 1024 width: 256px; 1025 height: 100px; 1026 border: none; 1027 z-index: 999; 1028 overflow: visible; 1029 pointer-events: auto; 1030 transition: all 0.3s ease; 1031 border-radius: 16px; 1032} 1033 1034#brarista-chat-iframe.chat-active { 1035 width: 460px; 1036 height: 80vh; 1037 box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 20px; 1038} 1039 1040/* Landscape orientation on tablets/small screens */ 1041 1042@media only screen and (max-width: 768px) and (orientation: landscape) { 1043 #brarista-chat-iframe { 1044 right: calc(2vw - 15px); 1045 bottom: 2vh; 1046 width: 100px; 1047 height: 100px; 1048 } 1049 1050 #brarista-chat-iframe.chat-active { 1051 width: 400px; 1052 height: 92vh; 1053 } 1054} 1055 1056/* Portrait mobile - full screen */ 1057 1058@media only screen and (max-width: 768px) and (orientation: portrait) { 1059 #brarista-chat-iframe { 1060 bottom: 30px; 1061 right: 15px; 1062 left: auto; 1063 top: auto; 1064 width: 100px; 1065 height: 100px; 1066 border-radius: 0; 1067 } 1068 1069 #brarista-chat-iframe.chat-active { 1070 left: 0; 1071 right: 0; 1072 bottom: 0; 1073 top: 0; 1074 width: 100%; 1075 height: 100%; 1076 } 1077} 1078 1079/* Very small mobile devices */ 1080 1081@media (max-width: 480px) { 1082 #brarista-chat-iframe { 1083 bottom: 20px; 1084 right: 5px; 1085 left: auto; 1086 top: auto; 1087 width: 260px; 1088 height: 100px; 1089 } 1090 1091 #brarista-chat-iframe.chat-active { 1092 left: 0; 1093 right: 0; 1094 bottom: 0; 1095 top: 0; 1096 width: 100%; 1097 height: 100%; 1098 } 1099} 1100 </style> 1101<!-- Include Quick Search Theme -->
1102<script src="https://js.klevu.com/theme/default/v2/quick-search.js"></script>
1102 1103 1104 1105 1106<!-- Initialise Klevu for your store -->
1107<script type="text/javascript"> 1108 klevu.interactive(function () { 1109 var options = { 1110 theme: { 1111 setTemplates: { 1112 paginationBottom: { 1113 scope: "landing", // impacted scope 1114 selector: "#klevuLandingTemplateResultsCustom", // new markup block ID 1115 name: "results" // template placement name 1116 } 1117 } 1118 }, 1119 url : { 1120 protocol: 'https:', 1121 queryParam: 'search_query', 1122 landing: '/search.php', // your BigCommerce Search Results Page 1123 search: klevu.settings.url.protocol 1124 + '//eucs31v2.ksearchnet.com/cs/v2/search' // your Klevu APIv2 Search URL 1125 }, 1126 search: { 1127 minChars: 0, 1128 searchBoxSelector: "#search_query", // your BigCommerce Search Input 1129 apiKey: "klevu-167344275157115945" // your Klevu JS API Key 1130 }, 1131 analytics: { 1132 apiKey: 'klevu-167344275157115945' // your Klevu JS API Key 1133 }, 1134 1135 1136 }; 1137 klevu(options); 1138 }); 1139</script>
1139 1140
1141<script src="https://js.klevu.com/klevu-js-v1/customizations/klevu-user-customization-167344275157115945-v2.js"></script>
1141 1142 1143<!-- pagination location --> 1144
1145<script type="klevu/template" id="klevuLandingTemplateResults"> 1146<div class="kuResultsListing"> 1147 <div class="productList klevuMeta" data-section="productList"> 1148 <div class="kuResultContent"> 1149 <div class="kuResultWrap <%=(data.query.productList.filters.length == 0 )?'kuBlockFullwidth':''%>"> 1150 1151 <div ku-container data-container-id="ku_landing_main_content_container" data-container-role="content"> 1152 <section ku-container data-container-id="ku_landing_main_content_left" data-container-position="left" data-container-role="left"> 1153 <div ku-block data-block-id="ku_landing_left_facets"> 1154 <%=helper.render('filters',scope,data,"productList") %> 1155 </div> 1156 <div ku-block data-block-id="ku_landing_left_call_outs"></div> 1157 <div ku-block data-block-id="ku_landing_left_banner"></div> 1158 </section> 1159 <section ku-container data-container-id="ku_landing_main_content_center" data-container-position="center" data-container-role="center"> 1160 1161 <header ku-block data-block-id="ku_landing_result_header"> 1162 <%=helper.render('klevuLandingTemplateResultsHeadingTitle',scope,data,"productList") %> 1163 <%=helper.render('filtersTop',scope,data,"productList") %> 1164 <%= helper.render('kuFilterTagsTemplate',scope,data,"productList") %> 1165 <% if(helper.hasResults(data,"productList")) { %> 1166 <%=helper.render('sortBy',scope,data,"productList") %> 1167 <%=helper.render('limit',scope,data,"productList") %> 1168 <%=helper.render('kuTemplateLandingResultsViewSwitch',scope,data,"productList") %> 1169 <% } %> 1170 <div class="kuClearBoth"></div> 1171 </header> 1172 1173 <div ku-block data-block-id="ku_landing_result_items"> 1174 <div class="kuResults"> 1175 <% if(helper.hasResults(data,"productList")) { %> 1176 <ul> 1177 <% helper.each(data.query.productList.result,function(key,item){ %> 1178 <% if(item.typeOfRecord == "KLEVU_PRODUCT") { %> 1179 <%=helper.render('productBlock',scope,data,item) %> 1180 <% } %> 1181 <% }); %> 1182 </ul> 1183 <% } else { %> 1184 <div class="kuNoRecordsFoundLabelTextContainer"> 1185 <span class="kuNoRecordsFoundLabelText"><%= helper.translate("No records found for your selection") %></span> 1186 </div> 1187 <% } %> 1188 <div class="kuClearBoth"></div> 1189 </div> 1190 <! -- pagination added to the bottom of the product block -- !> 1191 <%=helper.render('pagination',scope,data,"productList") %> 1192 </div> 1193 1194 <div ku-block data-block-id="ku_landing_other_items"> 1195 <%=helper.render('klevuLandingTemplateInfiniteScrollDown',scope,data) %> 1196 </div> 1197 <footer ku-block data-block-id="ku_landing_result_footer"></footer> 1198 </section> 1199 <section ku-container data-container-id="ku_landing_main_content_right" data-container-position="right" data-container-role="right"> 1200 <div ku-block data-block-id="ku_landing_right_facets"></div> 1201 <div ku-block data-block-id="ku_landing_right_call_outs"></div> 1202 <div ku-block data-block-id="ku_landing_right_banner"></div> 1203 </section> 1204 </div> 1205 1206 </div> 1207 </div> 1208 </div> 1209 1210 <% if(data.query.contentList) { %> 1211 <div class="contentList klevuMeta" data-section="contentList" data-result-view="list"> 1212 <div class="kuResultContent"> 1213 <div class="kuResultWrap <%=(data.query.contentList.filters.length == 0 )?'kuBlockFullwidth':''%>"> 1214 1215 <div ku-container data-container-id="ku_landing_main_content_container" data-container-role="content"> 1216 <section ku-container data-container-id="ku_landing_main_content_left" data-container-position="left" data-container-role="left"> 1217 <div ku-block data-block-id="ku_landing_left_facets"> 1218 1219 <%=helper.render('filters',scope,data,"contentList") %> 1220 1221 </div> 1222 <div ku-block data-block-id="ku_landing_left_call_outs"></div> 1223 <div ku-block data-block-id="ku_landing_left_banner"></div> 1224 </section> 1225 <section ku-container data-container-id="ku_landing_main_content_center" data-container-position="center" data-container-role="center"> 1226 1227 <header ku-block data-block-id="ku_landing_result_header"> 1228 <%=helper.render('filtersTop',scope,data,"contentList") %> 1229 <%= helper.render('kuFilterTagsTemplate',scope,data,"contentList") %> 1230 <% if(helper.hasResults(data,"contentList")) { %> 1231 <%=helper.render('limit',scope,data,"contentList") %> 1232 <% } %> 1233 <div class="kuClearBoth"></div> 1234 </header> 1235 1236 <div ku-block data-block-id="ku_landing_result_items"> 1237 <div class="kuClearBoth"></div> 1238 <div class="kuResults"> 1239 <% if(helper.hasResults(data,"contentList")) { %> 1240 <ul> 1241 <% helper.each(data.query.contentList.result,function(key,item){ %> 1242 <% if(item.typeOfRecord == "KLEVU_CMS") { %> 1243 <%=helper.render('contentBlock',scope,data,item) %> 1244 <% }%> 1245 <% }); %> 1246 </ul> 1247 <% } else { %> 1248 <div class="kuNoRecordsFoundLabelTextContainer">
1249 <span class="kuNoRecordsFoundLabelText"><%= helper.translate("No records found for your selection") %></span> 1250 </div> 1251 <% } %> 1252 <div class="kuClearBoth"></div> 1253 </div> 1254 <! -- pagination added to the bottom of the content block -- !> 1255 1256 <%=helper.render('pagination',scope,data,"contentList") %> 1257 </div> 1258 <div ku-block data-block-id="ku_landing_other_items"> 1259 <%=helper.render('klevuLandingTemplateInfiniteScrollDown',scope,data) %> 1260 </div> 1261 <footer ku-block data-block-id="ku_landing_result_footer"></footer> 1262 </section> 1263 <section ku-container data-container-id="ku_landing_main_content_right" data-container-position="right" data-container-role="right"> 1264 <div ku-block data-block-id="ku_landing_right_facets"></div> 1265 <div ku-block data-block-id="ku_landing_right_call_outs"></div> 1266 <div ku-block data-block-id="ku_landing_right_banner"></div> 1267 </section> 1268 </div> 1269 1270 </div> 1271 </div> 1272 </div> 1273 <% } %> 1274</div> 1275</script>
1275 1276 1277<!-- end pagination location --> 1278 1279<!-- add Pagination To URL --> 1280
1281<script type="text/javascript"> 1282 1283klevu.modifyRequest("landing,catnav", function(data, scope){ 1284 // Apply the selected page value from the current URL string 1285 klevu.search.modules.addPaginationToURL.base.getAndUpdatePagination(data, scope); 1286}); 1287 1288klevu.afterTemplateRender("landing,catnav", function(data, scope){ 1289 // Add selected page value to the URL string 1290 klevu.search.modules.addPaginationToURL.base.setPagination(data, scope); 1291 1292}); 1293 1294</script>
1294 1295 1296 1297
1298<script type="text/javascript"> 1299// addPaginationToURL module 1300(function(klevu) { 1301 klevu.extend(true, klevu.search.modules, { 1302 addPaginationToURL: { 1303 base: { 1304 setPagination: function(data, scope, queryId) { 1305 var hasPaginationEnabled = klevu.getSetting(klevu, "settings.theme.modules.pagination.searchResultsPage.enable"); 1306 if (hasPaginationEnabled === true) { 1307 var activeQueryId = klevu.getObjectPath(data, "context.activeQueryId"); 1308 if (queryId && queryId.length) { 1309 activeQueryId = queryId; 1310 } 1311 var paginationQueryParam = activeQueryId + "PgNo"; 1312 var activeQueryMeta = klevu.getObjectPath(data, "template.query." + activeQueryId + ".meta"); 1313 var paginationValuesQueryParam = 0; 1314 if (activeQueryMeta) { 1315 var productListLimit = activeQueryMeta.noOfResults;
1316 paginationValuesQueryParam = Math.ceil(activeQueryMeta.offset / productListLimit) + 1; 1317 } 1318 var searchPath = window.location.search; 1319 var updatedPath = klevu.dom.helpers.updateQueryStringParameter(searchPath, paginationQueryParam, paginationValuesQueryParam); 1320 if (paginationValuesQueryParam === 0) { 1321 updatedPath = updatedPath.replace("&" + paginationQueryParam + "=", ""); 1322 } 1323 if ('undefined' !== typeof window.history && 'undefined' !== typeof window.history.replaceState) { 1324 window.history.replaceState({}, "", updatedPath); 1325 } else { 1326 console.log("This browser does not have the support of window.history or window.history.replaceState"); 1327 } 1328 } 1329 }, 1330 getAndUpdatePagination: function(data, scope, queryId) { 1331 var hasAlreadyTriggered = klevu.getObjectPath(scope.kScope, "element.kScope.getAndUpdatePaginationTriggered"); 1332 if (hasAlreadyTriggered === true) { 1333 return; 1334 } 1335 var matchedQueryParamId = "" 1336 , matchedQueryParamValue = ""; 1337 var recordQueries = klevu.getObjectPath(data, "request.current.recordQueries"); 1338 if (recordQueries && recordQueries.length) { 1339 klevu.each(recordQueries, function(key, query) { 1340 if (query.id) { 1341 var paginationFromURL = klevu.dom.helpers.getQueryStringValue(query.id + "PgNo"); 1342 if (paginationFromURL && paginationFromURL.length) { 1343 matchedQueryParamId = query.id; 1344 matchedQueryParamValue = paginationFromURL; 1345 } 1346 } 1347 }) 1348 } 1349 klevu.setObjectPath(scope.kScope, "element.kScope.getAndUpdatePaginationTriggered", true); 1350 var activeQueryId = klevu.getObjectPath(data, "context.activeQueryId"); 1351 if (queryId && queryId.length) { 1352 activeQueryId = queryId; 1353 } else if (matchedQueryParamId.length && matchedQueryParamValue.length) { 1354 activeQueryId = matchedQueryParamId; 1355 var storage = klevu.getSetting(scope.kScope.settings, "settings.storage"); 1356 if (storage.tabs) { 1357 storage.tabs.setStorage("local"); 1358 storage.tabs.mergeFromGlobal(); 1359 storage.tabs.addElement("active", activeQueryId); 1360 storage.tabs.mergeToGlobal(); 1361 } 1362 } 1363 var paginationQueryParam = activeQueryId + "PgNo"; 1364 var paginationFromURL = klevu.dom.helpers.getQueryStringValue(paginationQueryParam); 1365 paginationFromURL = Number(paginationFromURL); 1366 if (paginationFromURL && paginationFromURL > 1) { 1367 var recordQueries = klevu.getObjectPath(data, "request.current.recordQueries"); 1368 if (recordQueries.length) { 1369 klevu.each(recordQueries, function(key, recordQuery) { 1370 if (recordQuery.id === activeQueryId) { 1371 var limit = klevu.getObjectPath(recordQuery, "settings.limit"); 1372 limit = Number(limit); 1373 if (limit > 0) { 1374 var expectedOffset = (paginationFromURL - 1) * limit; 1375 klevu.setObjectPath(data, "localOverrides.query." + activeQueryId + ".settings.offset", expectedOffset); 1376 } 1377 } 1378 }); 1379 } 1380 } 1381 } 1382 }, 1383 build: true 1384 } 1385 });
1386} 1387)(klevu); 1388 1389</script>
1389 1390 1391 1392<!-- end add Pagination To URL --> 1393 1394
1394<script type="text/javascript" src="https://cdn11.bigcommerce.com/shared/js/csrf-protection-header-5eeddd5de78d98d146ef4fd71b2aedce4161903e.js"></script>
vendor: 1 bytes, line 1394
1394
1395<script src='https://static.klaviyo.com/onsite/js/RpziTb/klaviyo.js?company_id=RpziTb' async ></script>
1395<script src='https://storage.googleapis.com/braristajs/shockabsorber/main-chatbot.js' async ></script>
1395<script> 1396(function() { 1397 document.querySelector('[data-search-quick]').removeAttribute('data-search-quick'); 1398})(); 1399</script>
1399<script> 1400 window.addEventListener('load', function(){ 1401 if (window.location.pathname === '/' && document.querySelector('.chiara-brandsCarousel')) { 1402 document.querySelector('.chiara-brandsCarousel').parentElement.insertAdjacentHTML('beforebegin', ` 1403 <div class="lipscore-service-review-testimonial" 1404 data-ls-widget-height="150px" 1405 data-ls-widget-width="100%"> 1406 </div> 1407 `); 1408 } 1409 1410 if (document.querySelector('.banners')) { 1411 document.querySelector('.banners').insertAdjacentHTML('afterbegin', `<div class="lipscore-service-review-badge-small-short lipscore-no-border lipscore-no-separator" 1412 data-ls-widget-height="45px" 1413 data-ls-widget-width="300px"> 1414 </div>`); 1415 } 1416 1417 lipscore.initWidgets() 1418 }); 1419</script>
1419<!-- 1420 BigCommerce Script Manager - Shock Absorber 1421 Name: Awin S2S v2 1422 Location: Footer Pages: Order confirmation Category: Essential Type: Script 1423 Replaces the old "Awin S2S Tracking" script. Keep the sitewide MasterTag + awc cookie scripts. 1424-->
1425<script> 1426(function () { 1427 var ENDPOINT = 'https://web-24.co.uk/AAG/awin-s2s.php?site=sa'; 1428 var ADVERTISER_ID = '63950'; 1429 1430 function getCookie(name) { 1431 var m = document.cookie.match(new RegExp('(^|;\\s*)' + name + '=([^;]*)')); 1432 return m ? decodeURIComponent(m[2]) : ''; 1433 } 1434 1435 function waitFor(selector, timeout) { 1436 return new Promise(function (resolve, reject) { 1437 var el = document.querySelector(selector); 1438 if (el) return resolve(el); 1439 var obs = new MutationObserver(function () { 1440 var found = document.querySelector(selector); 1441 if (found) { obs.disconnect(); clearTimeout(t); resolve(found); } 1442 }); 1443 obs.observe(document.body, { childList: true, subtree: true }); 1444 var t = setTimeout(function () { obs.disconnect(); reject(new Error('timeout')); }, timeout); 1445 }); 1446 } 1447 1448 waitFor('[data-test="order-confirmation-order-number-text"] strong', 20000) 1449 .then(function (el) { 1450 var orderId = el.textContent.trim(); 1451 if (sessionStorage.getItem('awin_sent_' + orderId)) return; 1452 1453 return fetch('/api/storefront/orders/' + orderId, { credentials: 'same-origin' }) 1454 .then(function (r) { return r.json(); }) 1455 .then(function (order) { 1456 var awc = getCookie('awc') || getCookie('_aw_m_' + ADVERTISER_ID); 1457 return fetch(ENDPOINT, { 1458 method: 'POST', 1459 keepalive: true, 1460 headers: { 'Content-Type': 'application/json' }, 1461 body: JSON.stringify({ orderId: orderId, cartId: order.cartId, awc: awc }) 1462 }); 1463 }) 1464 .then(function () { sessionStorage.setItem('awin_sent_' + orderId, '1'); }); 1465 }) 1466 .catch(function (e) { console.warn('[Awin S2S]', e); }); 1467})(); 1468</script>
1468<script> 1469(function () { 1470 const awc = new URLSearchParams(window.location.search).get('awc'); 1471 if (awc) { 1472 document.cookie = 1473 "awc=" + awc + ";path=/;SameSite=None;Secure"; 1474 } 1475})(); 1476</script>
1476<script> 1477 1478(function () { 1479 if (window.__baristaSlickArrowFix) return; 1480 window.__baristaSlickArrowFix = true; 1481 1482 function removeBadArrowRules(css) { 1483 if (!css) return css; 1484 1485 css = css.replace(/\.quickview-carousel\s+\.slick-prev\s*,\s*\.quickview-carousel\s+\.slick-next\s*\{[\s\S]*?\}/gi, ''); 1486 css = css.replace(/\.quickview-carousel\s+\.slick-prev:before\s*,\s*\.quickview-carousel\s+\.slick-next:before\s*\{[\s\S]*?\}/gi, ''); 1487 css = css.replace(/\.quickview-carousel\s+\.slick-prev::before\s*,\s*\.quickview-carousel\s+\.slick-next::before\s*\{[\s\S]*?\}/gi, ''); 1488 1489 css = css.replace(/\.slick-prev\s*,\s*\.slick-next\s*\{[\s\S]*?font-size\s*:\s*24px[\s\S]*?\}/gi, ''); 1490 css = css.replace(/\.slick-prev:before\s*,\s*\.slick-next:before\s*\{[\s\S]*?font-size\s*:\s*24px[\s\S]*?\}/gi, ''); 1491 css = css.replace(/\.slick-prev::before\s*,\s*\.slick-next::before\s*\{[\s\S]*?font-size\s*:\s*24px[\s\S]*?\}/gi, ''); 1492 1493 return css; 1494 } 1495 1496 function cleanStyleTag(styleEl) { 1497 if (!styleEl || styleEl.tagName !== 'STYLE') return false; 1498 1499 var original = styleEl.textContent || ''; 1500 if (!original) return false; 1501 if (!/slick-prev|slick-next|quickview-carousel/i.test(original)) return false; 1502 1503 var cleaned = removeBadArrowRules(original); 1504 if (cleaned !== original) { 1505 styleEl.textContent = cleaned; 1506 return true; 1507 } 1508 return false; 1509 } 1510 1511 function hideBaristaDots() { 1512 var cssId = 'barista-dot-kill'; 1513 if (document.getElementById(cssId)) return; 1514 1515 var style = document.createElement('style'); 1516 style.id = cssId; 1517 style.textContent = 1518 '.quickview-carousel .slick-dots{' + 1519 'display:none !important;' + 1520 'visibility:hidden !important;' + 1521 'opacity:0 !important;' + 1522 'pointer-events:none !important;' + 1523 '}' + 1524 '.quickview-carousel .slick-dots li,' + 1525 '.quickview-carousel .slick-dots li button,' + 1526 '.quickview-carousel .slick-dots li button:before,' + 1527 '.quickview-carousel .slick-dots li button::before{' + 1528 'display:none !important;' + 1529 'content:none !important;' + 1530 '}'; 1531 document.head.appendChild(style); 1532 } 1533 1534 function scan() { 1535 var styles = document.querySelectorAll('style'); 1536 for (var i = 0; i < styles.length; i++) { 1537 cleanStyleTag(styles[i]); 1538 } 1539 hideBaristaDots(); 1540 } 1541 1542 scan(); 1543 setTimeout(scan, 300); 1544 setTimeout(scan, 1200); 1545 setTimeout(scan, 3000); 1546 setTimeout(scan, 6000); 1547 1548 var mo = new MutationObserver(function () { 1549 scan(); 1550 }); 1551 1552 mo.observe(document.documentElement, { 1553 childList: true, 1554 subtree: true, 1555 characterData: true 1556 }); 1557 1558 window.__rerunBaristaSlickFix = scan; 1559})(); 1560</script>
1560<script> 1561(function () { 1562 1563 function fixLipscore() { 1564 1565 if (window.innerWidth > 768) return; 1566 1567 const banners = document.querySelector('.banners[data-banner-location="top"]'); 1568 if (!banners) return; 1569 1570 const lip = banners.querySelector('.lipscore-service-review-badge-small-short'); 1571 const promo = banners.querySelector('.banner'); 1572 1573 if (!lip || !promo) return; 1574 1575 // Overall layout 1576 Object.assign(banners.style, { 1577 display: 'flex', 1578 flexWrap: 'nowrap', 1579 alignItems: 'center', 1580 justifyContent: 'center' 1581 }); 1582 1583 // Both halves 50% 1584 [lip, promo].forEach(el => { 1585 Object.assign(el.style, { 1586 flex: '0 0 50%', 1587 maxWidth: '50%', 1588 minWidth: '0', 1589 display: 'flex', 1590 alignItems: 'center', 1591 justifyContent: 'center', 1592 boxSizing: 'border-box' 1593 }); 1594 }); 1595 1596 promo.style.textAlign = 'center'; 1597 1598 // Hide unwanted Lipscore elements 1599 lip.querySelectorAll( 1600 '.lipscore-service-review-badge-small-short-votes-text,' + 1601 '.lipscore-service-review-badge-separator,' + 1602 '.lipscore-service-review-logo' 1603 ).forEach(el => el.style.display = 'none'); 1604 1605 // Crop rather than scale 1606 lip.style.overflow = 'hidden'; 1607 1608 const svg = lip.querySelector('svg'); 1609 if (svg) { 1610 svg.style.width = '300px'; 1611 svg.style.height = 'auto'; 1612 svg.style.maxWidth = 'none'; 1613 svg.style.marginLeft = '-105px'; // adjust -90 to -120 if needed 1614 svg.style.display = 'block'; 1615 } 1616 1617 const p = promo.querySelector('p'); 1618 if (p) p.style.margin = '0'; 1619 1620 } 1621 1622 fixLipscore(); 1623 1624 setInterval(fixLipscore, 500); 1625 1626 new MutationObserver(fixLipscore).observe(document.body, { 1627 childList: true, 1628 subtree: true 1629 }); 1630 1631 window.addEventListener('resize', fixLipscore); 1632 1633})(); 1634</script>
1634<style> 1635@media (max-width: 800px) { 1636 .page-type-account_addressbook .page-heading-logo, .page-type-account_addressbook h1.page-heading, .page-type-account_inbox .page-heading-logo, .page-type-account_inbox h1.page-heading, .page-type-account_order .page-heading-logo, .page-type-account_order h1.page-heading, .page-type-account_orderstatus .page-heading-logo, .page-type-account_orderstatus h1.page-heading, .page-type-account_recentitems .page-heading-logo, .page-type-account_recentitems h1.page-heading, .page-type-account_returns .page-heading-logo, .page-type-account_returns h1.page-heading, .page-type-accountcreated .page-heading-logo, .page-type-accountcreated h1.page-heading, .page-type-blog .page-heading-logo, .page-type-blog h1.page-heading, .page-type-brand .page-heading-logo, .page-type-brand h1.page-heading, .page-type-brands .page-heading-logo, .page-type-brands h1.page-heading, .page-type-cart .page-heading-logo, .page-type-cart h1.page-heading, .page-type-category .page-heading-logo, .page-type-category h1.page-heading, .page-type-createaccount .page-heading-logo, .page-type-createaccount h1.page-heading, .page-type-editaccount .page-heading-logo, .page-type-editaccount h1.page-heading, .page-type-forgotpassword .page-heading-logo, .page-type-forgotpassword h1.page-heading, .page-type-giftcertificates .page-heading-logo, .page-type-giftcertificates h1.page-heading, .page-type-giftcertificates_balance .page-heading-logo, .page-type-giftcertificates_balance h1.page-heading, .page-type-giftcertificates_redeem .page-heading-logo, .page-type-giftcertificates_redeem h1.page-heading, .page-type-login .page-heading-logo, .page-type-login h1.page-heading, .page-type-newpassword .page-heading-logo, .page-type-newpassword h1.page-heading, .page-type-page_contact_form .page-heading-logo, .page-type-page_contact_form h1.page-heading, .page-type-wishlists .page-heading-logo, .page-type-wishlists h1.page-heading { display: none } 1637 .page-type-account_addressbook .header-logo, .page-type-account_inbox .header-logo, .page-type-account_order .header-logo, .page-type-account_orderstatus .header-logo, .page-type-account_recentitems .header-logo, .page-type-account_returns .header-logo, .page-type-accountcreated .header-logo, .page-type-blog .header-logo, .page-type-brand .header-logo, .page-type-brands .header-logo, .page-type-cart .header-logo, .page-type-category .header-logo, .page-type-createaccount .header-logo, .page-type-editaccount .header-logo, .page-type-forgotpassword .header-logo, .page-type-giftcertificates .header-logo, .page-type-giftcertificates_balance .header-logo, .page-type-giftcertificates_redeem .header-logo, .page-type-login .header-logo, .page-type-newpassword .header-logo, .page-type-page_contact_form .header-logo, .page-type-wishlists .header-logo { display: block } 1638} 1639</style> 1640 1641 1642 1643 1644 <div class="footer-payment-icons"> 1645 1646 1647 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-mastercard-color"></use></svg> 1648 1649 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-paypal-color"></use></svg> 1650 1651 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-visa-color"></use></svg> 1652 1653 <svg class="footer-payment-icon"><use xlink:href="#icon-logo-amazon-color"></use></svg> 1654 1655 1656 </div> 1657 1658 1659<p align="center">Part of the ACTIVE APPAREL GROUP LIMITED | Company No: 11173403 | VAT No: 927246610 | ©Shock Absorber </p> 1660<br> 1661 1662 1663<style> 1664#navPages-main > .navPages-item:first-child { display: none } 1665</style> 1666 1667<style> 1668.productView-details .productView-info, .productView-properties { display: none } 1669</style> 1670 1671 1672 1673 1674 1675<style> 1676.navUser-panel .navUser-action { color: #2D283F } 1677.navUser-panel .navUser-action:hover { color: #CED643 } 1678</style> 1679 1680<style> 1681.mobileMenu-toggle .mobileMenu-toggleIcon, .mobileMenu-toggle .mobileMenu-toggleIcon::before, .mobileMenu-toggle .mobileMenu-toggleIcon::after, 1682.mobileMenu-toggle.is-open .mobileMenu-toggleIcon::before, .mobileMenu-toggle.is-open .mobileMenu-toggleIcon::after { background-color: #fff } 1683.mobile-panel-close svg { fill: #fff } 1684</style> 1685 1686<style> 1687 /* Default state */ 1688 .button--buyNow, 1689 .card-figcaption-body .button--buyNow:not([disabled]) { 1690 background-color: #cfd744 ; 1691 border-color: #cfd744; 1692 color: #2d283f; 1693 } 1694 1695 /* Hover and click state */ 1696 .button--buyNow:not([disabled]):focus, 1697 .button--buyNow:not([disabled]):hover, 1698 .card-figcaption-body .button--buyNow:not([disabled]):focus, 1699 .card-figcaption-body .button--buyNow:not([disabled]):hover { 1700 background-color: white; 1701 border-color: #cfd744; 1702 color: #2d283f; 1703 } 1704</style> 1705 1706
1707<script type="module" src="https://cdn.jsdelivr.net/npm/@mobiloud/ml-smart-banner@latest/dist/ml-smart-banner.min.js"></script>
1707 1708
1708<script type="module" src="https://cdn.jsdelivr.net/npm/@mobiloud/ml-qr-widget@latest/dist/ml-qr-widget.min.js"></script>
vendor: 1 bytes, line 1708
1708
1709<script type="module" src="https://cdn.jsdelivr.net/npm/@mobiloud/ml-promotions-banner@latest/dist/ml-promotions-banner.min.js"></script>
1709 1710 1711 <style> 1712 1713h4.ml-smartBanner__title { 1714 color: #1d1646!important; 1715} 1716 1717h4.ml-qrWidget__title { 1718 color: #1d1646 !important; 1719} 1720 1721.ml-qrWidget__wrapper { 1722 padding: 1em !important; 1723} 1724 .ml-smartBanner { 1725 z-index: 999999999999 !important 1726 } 1727 </style> 1728
1728<script> 1729 const SBoptions = { 1730 fontFamily: `"Source Sans Pro", "Arial", sans-serif`, // (string) Font family for banner texts, defaults to system safe fonts 1731 fallbackFontFamily: 'sans-serif', // (string) Font family for fallback icon, safe options are serif and sans-serif 1732 appName: 'SA', // (string) Initials for fallback icon. Recommended 2 characters. Fallback Image uses button text and bg color 1733 textColor: '#222', // (string) Banner texts color (any color property value) 1734 buttonColor: '#1d1646', // (string) Button color (any background property value) 1735 buttonText: 'Download', // (string) Button text 1736 buttonTextColor: '#fff', // (string) Button Text Color (any color property value) 1737 iconUrl: 'https://play-lh.googleusercontent.com/bj3E-fdULqsWQhvpOf74LgnVlA_OeQgN_GBuxVHdW1vzmpxu-_2eh6pOVKpoGzE9N7G-KgnETEnrg2r0UOyQ=w240-h480-rw', // (string) Icon url, defaults to avatar with appName 1738 textHeading: 'Download our App!', // (string) Heading Text 1739 textDescription: 'Get it now, download today', // (string) Description text 1740 bannerColor: '#fff', // (string) Banner BG color 1741 linkIos: 'https://apps.apple.com/gb/app/shock-absorber/id6754186776', // (string) Link for iOS
1742 linkAndroid: 'https://play.google.com/store/apps/details?id=com.ShockAbsorber.android', // (string) Link for Android 1743 position: 'bottom', // (string) Position of the banner, default 'top'. 'top' | 'bottom' 1744 animation: 'fadeIn', // (string) Banner animation, default 'fadeIn'. 'fadeIn' | 'scaleUp' | 'slideBottom' | 'slideTop' | 'slideLeft' | 'slideRight' | null, 1745 display: 'onLoad', // (string) Display options, default 'onLoad'. 'onLoad' | 'onScrollDown' | 'onScrollUp' 1746 radius: '0', // (string) Banner radius with units 1747 delay: 0, // (number) defines how much time to wait until the element shows up 1748 shadow: true, // (boolean) If true applies soft shadow, true | false 1749 useSession: true, // (boolean) If true, after closed, Banner is not shown upon page reload. Default: true 1750 zindex: 999999 // (number) Sets the z-index of the element 1751} 1752/* 1753const QRoptions = { 1754 fontFamily: `"Source Sans Pro", "Arial", sans-serif`, // (string) Font family for widgets texts, defaults to system safe fonts 1755 textColor: '#222', // (string) Widget texts color (any color property value) 1756 textHeading: 'Download the app!', // (string) Heading Text 1757 textDescription: 'Get it now, download today', // (string) Description text 1758 widgetsColor: '#fff', // (string) Widget BG color 1759 backDrop: false,// (boolean) if true, adds a backdop in front of the page 1760 backDropZIndex: 888888, // (number) z-index of the backdrop, should be lower than widgets z-index 1761 qrOptions: { // Params for the QR Generation, uses params from this docs: https://quickchart.io/documentation/qr-codes/ 1762 text: "https://redirect.mobiloud.com/?ios=https://apps.apple.com/gb/app/shock-absorber/id6754186776&android=https://play.google.com/store/apps/details?id=com.ShockAbsorber.android", 1763 size: 150, 1764 margin: 0 1765 }, 1766 position: 'bottom-right', // (string) Position of the widgets, default 'center'. 'center' | 'top-right' | 'top-left' | 'bottom-left' | 'bottom-right' 1767 animation: 'fadeIn', // (string) Widget animation, default 'fadeIn'. 'fadeIn' | 'scaleUp' | 'slideBottom' | 'slideTop' | 'slideLeft' | 'slideRight' | null, 1768 display: 'onLoad', // (string) Display options, default 'onLoad'. 'onLoad' | 'onScrollDown' | 'onScrollUp' 1769 radius: '10px', // (string) Widget radius with CSS units 1770 delay: 0, // (number) defines how much time to wait until the element shows up 1771 shadow: true, // (boolean) If true applies soft shadow, true | false 1772 useSession: true, // (boolean) If true, after widgets is closed, it creates a session registry to hide widgets on page reloads until the end of user's session 1773 zindex: 99999999999, // (number) Widget z-index 1774 maxWidth: "400px" // (string) Max Width of the widgets with CSS units 1775 }; 1776 function addQRWidget() { 1777 1778 if(deviceData.isMobile || deviceData.isCanvas ){ 1779 return 1780 } 1781 new QrWidget(QRoptions).init(); 1782 } 1783 window.addEventListener('load', addQRWidget); 1784 */ 1785 function addSmartBanner() { 1786 if(!deviceData.isMobile || deviceData.isCanvas ){ 1787 return 1788 } 1789 new SmartBanner(SBoptions).init(); 1790 } 1791 1792 1793 1794 window.addEventListener('load', addSmartBanner); 1795 1796const PBoptions = { 1797 fontFamily: `"Source Sans Pro", "Arial", sans-serif`, // Font family for banner texts, defaults to system safe fonts 1798 textColor: '#1d1646', // Banner texts color (any color property value), 1799 textHeading: 'Free washbag for the first 100 APP orders!', // Heading Text 1800 textDescription: 'Use code <strong onclick=copyCode(this)>APPLAUNCH</strong>', // Description text 1801 bannerColor: '#e0e61d', // Banner BG color 1802 link: '#', // Link for button 1803 position: 'bottom', // Position of the banner, default 'top'. 'top' | 'bottom' 1804 animation: 'fadeIn', // Banner animation, default 'fadeIn'. 'fadeIn' | 'scaleUp' | 'slideBottom' | 'slideTop' | 'slideLeft' | 'slideRight' | null, 1805 display: 'onLoad', // Display options, default 'onLoad'. 'onLoad' | 'onScrollDown' | 'onScrollUp' 1806 radius: '0', // Banner radius with units 1807 delay: 0, // defines how much time to wait until the element shows up in ms 1808 shadow: true, // If true applies soft shadow, true | false 1809 useSession: false, 1810 zindex: 9999999 1811} 1812 1813// Create the copyBannerText function that is linked to the description text, it copies the text, displays a "Copied!" message in that place and then shows the passed text again 1814function copyCode(el) { 1815 navigator.clipboard.writeText(el.textContent).then(() => { 1816 const msg = document.createElement("span"); 1817 msg.textContent = " Copied!"; 1818 msg.style.marginLeft = "6px"; 1819 1820 el.insertAdjacentElement("afterend", msg); 1821 1822 // remove style attribute first, then remove element 1823 setTimeout(() => { 1824 msg.removeAttribute("style"); 1825 msg.remove(); 1826 }, 2000); 1827 }); 1828 } 1829 1830 1831 function addPromotionsBanner() { 1832 if(deviceData.isCanvas) { 1833 new PromotionsBanner(PBoptions).init(); 1834 } 1835// Here we can use the deviceData method to display the banner only on desired devices 1836 } 1837 1838 window.addEventListener('load', addPromotionsBanner); 1839 </script>
1839 1840<style> 1841 a.ml-promotionsBanner__content { 1842 text-decoration: none; 1843} 1844 1845h4.ml-promotionsBanner__title, a.ml-promotionsBanner__content { 1846 font-size: 16px; 1847 color: #1d1646 1848} 1849 1850.ml-promotionsBanner__wrapper { 1851 padding: 2em 1em; 1852} 1853 1854 1855.ml-promotionsBanner.ml-promotionsBanner-toggle--visible { 1856 bottom: 80px; 1857} 1858 </style> 1859 <!-- snippet location footer --> 1860 1861 1862 <style> 1863/* Remove max-width and padding for main containers on desktop */ 1864@media (min-width: 1261px) { 1865 .heroCarousel, 1866 .container, 1867 .header-main-container { 1868 max-width: 100% !important; 1869 padding: 0 !important; 1870 } 1871} 1872 1873@media (min-width: 801px) { 1874 .heroCarousel, 1875 .container, 1876 .header-main-container { 1877 padding: 0 !important; 1878 } 1879} 1880 1881@media (max-width: 800px) { 1882 .navPages-container .mobile-panel-close { 1883 display: none !important; 1884 } 1885} 1886 1887@media (max-width: 1215px) { 1888 .navPages-list > .navPages-item > .navPages-action { 1889 position: relative; 1890 padding-top: 0.5rem !important; 1891 padding-bottom: 0.5rem !important; 1892 font-size: 12px !important; 1893 padding: 0.78571rem 0.9rem 0.9rem !important; 1894 padding-top: 0.78571rem !important; 1895 padding-bottom: 0.78571rem !important; 1896 } 1897} 1898 1899</style>
1900<script> 1901// Hamburger auto-switch logic 1902(function() { 1903 function switchToHamburgerIfNeeded() { 1904 var nav = document.querySelector('.navPages'); 1905 var container = document.querySelector('.header-main-container'); 1906 var hamburger = document.querySelector('.navPages-toggle'); 1907 if (!nav || !container || !hamburger) return; 1908 1909 // Calculate total width of menu items 1910 var items = nav.querySelectorAll('.navPages-item'); 1911 var totalWidth = 0; 1912 items.forEach(function(item) { 1913 totalWidth += item.offsetWidth; 1914 }); 1915 1916 // If menu items exceed container width, show hamburger 1917 if (totalWidth > container.offsetWidth) { 1918 nav.style.display = 'none'; 1919 hamburger.style.display = 'block'; 1920 } else { 1921 nav.style.display = ''; 1922 hamburger.style.display = ''; 1923 } 1924 } 1925 1926 window.addEventListener('resize', switchToHamburgerIfNeeded); 1927 document.addEventListener('DOMContentLoaded', switchToHamburgerIfNeeded); 1928})(); 1929</script>
vendor: 2 bytes, line 1929
1929
1930<script type="text/javascript"> 1931 (function () { 1932 // Function to hide tags 1933 function hideTags() { 1934 document.querySelectorAll(".productView-info-dl").forEach(dl => { 1935 const label = dl.querySelector(".productView-info-name"); 1936 if (label) { 1937 const labelText = label.textContent.trim(); 1938 // Hide both "Tags:" and "Brarista Tags:" 1939 if (labelText === "Tags:" || labelText === "Brarista Tags:") { 1940 dl.style.display = "none"; 1941 // Or completely remove: dl.remove(); 1942 } 1943 } 1944 }); 1945 } 1946 1947 1948 1949 1950 // Hide tags immediately when DOM is ready 1951 if (document.readyState === 'loading') { 1952 document.addEventListener('DOMContentLoaded', hideTags); 1953 } else { 1954 hideTags(); 1955 } 1956 1957 // Also hide tags after a short delay (in case content loads dynamically) 1958 setTimeout(hideTags, 500); 1959 1960 1961 // Optional: Use MutationObserver to watch for dynamically added content 1962 if (window.MutationObserver) { 1963 const observer = new MutationObserver(function(mutations) { 1964 mutations.forEach(function(mutation) { 1965 if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 1966 hideTags(); 1967 1968 } 1969 }); 1970 }); 1971 1972 observer.observe(document.body, { 1973 childList: true, 1974 subtree: true 1975 }); 1976 } 1977 1978})(); 1979</script>
1979 1980 1981<!-- Inline iframe chatbox --> 1982<iframe 1983 style="background-color: transparent" 1984 id="brarista-chat-iframe" 1985 title="Brarista Chatbox" 1986 src="https://storage.googleapis.com/braristajs/shockabsorber/shockabsorber.html" 1987> 1988</iframe> 1989
1990<script> 1991 // Hide chatbox on checkout pages 1992 if (window.location.pathname.includes('/checkout')) { 1993 document.getElementById('brarista-chat-iframe').style.display = 'none'; 1994 } 1995 1996 // Send viewport size to chatbot iframe 1997 function sendViewportSize() { 1998 const chatbotIframe = document.getElementById('brarista-chat-iframe'); 1999 if (chatbotIframe && chatbotIframe.contentWindow) { 2000 chatbotIframe.contentWindow.postMessage( 2001 { 2002 type: 'VIEWPORT_SIZE', 2003 width: window.innerWidth, 2004 height: window.innerHeight, 2005 }, 2006 '*' 2007 ); 2008 } 2009 } 2010 2011 // Send initial size when iframe loads 2012 window.addEventListener('load', sendViewportSize); 2013 2014 // Send on resize with debounce 2015 let resizeTimeout; 2016 window.addEventListener('resize', function () { 2017 clearTimeout(resizeTimeout); 2018 resizeTimeout = setTimeout(sendViewportSize, 100); 2019 }); 2020 // Listen for messages from iframe to control z-index 2021 window.addEventListener('message', function (event) { 2022 const iframe = document.getElementById('brarista-chat-iframe'); 2023 2024 // Handle viewport size request from iframe 2025 if (event.data && event.data.type === 'REQUEST_VIEWPORT_SIZE') { 2026 sendViewportSize(); 2027 return; 2028 } 2029 2030 if (event.data.type === 'chatbox-opened') { 2031 iframe.classList.add('chat-active'); 2032 } else if (event.data.type === 'chatbox-closed') { 2033 iframe.classList.remove('chat-active'); 2034 } else if (event.data.type === 'redirect-to-product') { 2035 // Redirect parent page to product URL 2036 window.location.href = event.data.url; 2037 } else if (event.data.type === 'brarista-add-to-cart') { 2038 // Handle add-to-cart from iframe (cross-origin) 2039 if (event.data.platform === 'shopify') { 2040 // Shopify: call /cart/add.js on the parent domain 2041 fetch('/cart/add.js', { 2042 method: 'POST', 2043 headers: { 'Content-Type': 'application/json' }, 2044 body: JSON.stringify({ 2045 items: [ 2046 { 2047 id: event.data.variantId, 2048 quantity: event.data.quantity || 1, 2049 properties: event.data.properties || { 2050 _utm_source: 'brarista_add_to_cart', 2051 }, 2052 }, 2053 ], 2054 sections: 'cart-icon-bubble', 2055 }), 2056 }) 2057 .then(function (response) { 2058 if (!response.ok) throw new Error('Failed to add item to cart'); 2059 return response.json(); 2060 }) 2061 .then(function (cart) { 2062 // Try to update the cart icon bubble 2063 try { 2064 var newContent = cart?.sections?.['cart-icon-bubble']; 2065 if (newContent) { 2066 var parser = new DOMParser(); 2067 var doc = parser.parseFromString(newContent, 'text/html'); 2068 var divContent = doc.querySelector('#shopify-section-cart-icon-bubble'); 2069 var target = document.querySelector('#cart-icon-bubble'); 2070 if (target && divContent) { 2071 target.innerHTML = divContent.innerHTML; 2072 } 2073 } 2074 } catch (e) { 2075 console.error('Error updating cart UI:', e); 2076 } 2077 2078 // Add UTM and reload 2079 var currentUrl = new URL(window.location.href); 2080 currentUrl.searchParams.set('utm_source', 'brarista_add_to_cart'); 2081 window.location.href = currentUrl.toString(); 2082 }) 2083 .catch(function (error) { 2084 console.error('Add to cart failed:', error); 2085 }); 2086 } else if (event.data.platform === 'bigcommerce') { 2087 // BigCommerce: redirect parent to cart URL 2088 window.location.href = event.data.cartUrl; 2089 } 2090 } else if (event.data.type === 'add-to-cart-success') { 2091 // Add UTM parameter to current URL and reload 2092 const currentUrl = new URL(window.location.href); 2093 currentUrl.searchParams.set('utm_source', 'brarista_add_to_cart'); 2094 window.location.href = currentUrl.toString(); 2095 } else if (event.data.type === 'open-link-new-tab') { 2096 // Open URL in new tab 2097 window.open(event.data.url + '&utm_source=brarista', '_blank', 'noopener,noreferrer'); 2098 } else if (event.data && event.data.type === 'brarista-session') { 2099 localStorage.setItem('brarista_session_id', event.data.sessionId); 2100 sessionStorage.setItem('brarista_session_id', event.data.sessionId); 2101 } 2102 }); 2103 2104 // Report the full parent page URL to the widget iframe (path included). 2105 (function () { 2106 var iframe = document.getElementById('brarista-chat-iframe'); 2107 function sendPageUrl() { 2108 if (iframe && iframe.contentWindow) { 2109 iframe.contentWindow.postMessage({ type: 'PAGE_URL', url: location.href }, '*'); 2110 } 2111 } 2112 window.addEventListener('message', function (e) { 2113 if (e.data && e.data.type === 'REQUEST_PAGE_URL') sendPageUrl(); 2114 });
2115 var push = history.pushState; 2116 history.pushState = function () { 2117 push.apply(this, arguments); 2118 sendPageUrl(); 2119 }; 2120 window.addEventListener('popstate', sendPageUrl); 2121 })(); 2122</script>
2122 2123 2124
2124<script>window.__CF$cv$params={r:'a40f916aceb8a3e2',t:'MTc5MDM5NzM5MA==',u:'01a0dc001ff271af813cd95a6985e63b',ut:'D_pM6plg1a6aOJguWEytiqEQKGPZQGGLxrVEspVjFPc-1790397390-1.2.1.1-YiHdYZsXMOFQ0OSeB0m1IVgVHyBJyk97R7AdDYQSIYUE6eMQkaZVds_8gVhGnKkGcX0mG.aopgBk8tijVnn6mgj2zwKMTgy1l6vmPJhofbw',i:60};(function(){if(!document.body)return;var s=document.createElement('script');s.src='/cdn-cgi/challenge-platform/scripts/precursor/main.js';document.head.appendChild(s);})();</script>
2124</body> 2125</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.