Genesis
Yeti

Singular
Ridgeback Workshop
  • Complete Brakes <
  • Brake Pads
    Front Suspension
  • Rear Suspension
    Enigma
  • Frog
    <
  • iles\/Screenshot2024-08-03at10.10.31_6f191b27-42b4-4528-b6c7-f9c38da1945c.png?v=1722684112"},"aspect_ratio":1.002,"height":1198,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/Screenshot2024-08-03at10.10.31_6f191b27-42b4-4528-b6c7-f9c38da1945c.png?v=1722684112","width":1200}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e \u003c\/p\u003e\n\u003cul class=\"description-overview\"\u003e\n\u003cli\u003eHigh quality, long lasting down tube mounting lithium-ion battery pack for Shimano STEPS systems\u003c\/li\u003e\n\u003cli\u003eBattery shape to allow for rear shocks and plenty of top tube clearance\u003c\/li\u003e\n\u003cli\u003eWaterproof design as well as impact and vibration resistant\u003c\/li\u003e\n\u003cli\u003e1000 charge cycles without significant power loss\u003c\/li\u003e\n\u003cli\u003eApproximately five hours charge time\u003c\/li\u003e\n\u003cli\u003eCharge level display with error signal info and on\/off switch\u003c\/li\u003e\n\u003cli\u003eCh Parts & Componentsimg src="//projektride.co.uk/cdn/shop/files/EmondaALR5-24-41426-A-Alt2_2048x2048.webp?v=1728746211" alt="Trek Émonda ALR 5" class="mfp-zoom-in-cur" id="34803277955298">
  • See More
  • Hope
    img src="//projektride.co.uk/cdn/shop/files/EmondaALR5-24-41426-A-Alt7_2048x2048.webp?v=1728746225" alt="Trek Émonda ALR 5" class="mfp-zoom-in-cur" id="34803278315746">

    Handlebarsimg src="//projektride.co.uk/cdn/shop/files/EmondaALR5-24-41426-A-Primary_98x.webp?v=1728746204" alt="" class="product-single__thumbnail-img">
    Stems
    Socks
    Header Image
    Sell Your Bike
    Contact Us

    ProjektRide Bike Shop Edinburgh
    u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"geo_diagram\" data-mce-fragment=\"1\"\u003e\u003cimg src=\"https:\/\/images.konaworld.com\/2022\/geo_diagram.png\" alt=\"KONA Geometry\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/images.konaworld.com\/2022\/geo_diagram.png\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sectionwrapper bike_sizing\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"sectiontarget\" data-scroll-index=\"2\" data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"section\" data-mce-fragment=\"1\"\u003e\n\u003ch2 data-mce-fragment=\"1\"\u003eSIZING + FIT\u003c\/h2\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eGRAVEL \/ DROP BAR \/ URBAN\u003c\/h4\u003e\n\u003cdiv class=\"table_wrapper\" data-mce-fragment=\"1\"\u003e\n\u003ctable class=\"sizing_chart\" data-mce-fragment=\"1\"\u003e\n\u003cthead data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"
    Locationcm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e50cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e48cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eN\/A\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eXS\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e5'0\"-5'3\"\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e152-160cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e26\"-29\"\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e66-74cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e48-50cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e50cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e48-50cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eSmall\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eSmall\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e5'2\"-5'7\"\u003c\/td\u003e\n\u003ctd data-m
    / <
  • Decrease quantity
  • Increase quantity
  • FAQ Questions and answers<
  • We also have a physical store, if you are local please pop in - 000,"compare_at_price":79900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '59900', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":43916695011554,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"KN23B-SPLI-SM-BL","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Splice Hybrid Bike - Small","public_title":"Small","options":["Small"],"price":59900,"weight":20000,"compare_at_price":79900,"inventory_manageme
    ProjektRide Bike Shop Edinburgh arge","option2":null,"option3":null,"sku":"KN23B-SPLI-XL-BL","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Splice Hybrid Bike - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":59900,"weight":20000,"compare_at_price":79900,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '59900', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); }
    QUICK LINKS lass=\"data\" data-mce-fragment=\"1\"\u003eWTB Horizon Comp 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003ePAINT COLOR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eSatin Crème de Menthe or Satin Asphalt w\/ Charcoal \u0026amp; Bone Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eEXTRAS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"specs_disclaimer\" data-mce-fragment=\"1\"\u003eAll specifications are subject to change without notice\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"bike_geometry\" data-mce-fragment=\"1\"\u003e\n\u003ch2 data-mce-fragment=\"1\"\u003eGEOMETRY\u003cspan class=\"s-geo\" data-mce-fragment=\"1\"\u003e\u003cspan id=\"s-g>
    03e1\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eST LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e420\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e470\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e520\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e580\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e2\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eTT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e550\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e597\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e636\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e686\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" dLogo image attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); } mce-fragment=\"1\"\u003e74-79cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e5'9\"-6'0\"\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e175-183cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e30\"-33\"\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e76-84cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium, Large\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium, Large\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eMedium, Large\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e5'11\"-6'2\"\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e180-188cm\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e32\"-35\"\u003c\/td\u003e\n\u003ctd>
  • Clarks M2 Hydraulic 03c\/span\u003e\u003ca href=\"https:\/\/konaworld.com\/dealers.cfm\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/konaworld.com\/dealers.cfm\"\u003eKona dealer\u003c\/a\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003ein person or use our\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/konaworld.com\/sizing.cfm\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/konaworld.com\/sizing.cfm\"\u003esizing form\u003c\/a\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"sectionwrapper bike_tech\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"sectiontarget\" data-scroll-index=\"3\" data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003ch2 data-mce-fragment=\"1\"\u003eFEATURES\u003c\/h2\u003e\n\u003cdiv class=\"section col3\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"section_col techpoint\" data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragmLogo image tipstered\" data-mce-fragment=\"1\"\u003e\u003c\/i\u003e\u003cspan data-mce-fragment=\"1\"\u003eINTERNAL HEADSET\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBearing cups are actually pressed into the frame and are easily removable. An internal headset also reduces stack height, so the height of the stem and bars are more adjustable, giving the rider the best fit possible.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"section_col techpoint\" data-mce-fragment=\"1\"\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\n\u003ci class=\"featureicon feature_650bWheels tooltipstered\" data-mce-fragment=\"1\"\u003e\u003c\/i\u003e\u003cspan data-mce-fragment=\"1\"\u003e650b WHEELS\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003e650b wheels and tires have a similar overall diameter to a traditional 700c gravel or commuting tire, but with a smaller diameter rim and a wider, taller tire. The extra air volu ]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSe
  • Website by ven if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRo cketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { co< Juan Borges Designsnsole.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update cart selling plans after scripts are loaded if (settings.preorder_enabled) { updateCartSellingPlans(); } // Dispatch custom event when app is loaded const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } function updateCartSellingPlans() { // Wait for the API to be available with retries const maxRetries = 10; const retryDelay = 500; function attemptCartCheck(attempt = 1) { if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdaa href="https://shopify.projektride.co.uk/collections/bikes?filter.p.vendor=Surly,surly,Surly+Bikes,surly+bikes" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-02-06_at_16.13.48_360x.png?v=1644164045); width: 160px; padding-top: 55.8%;"> .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex< -shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;paddinga href="https://www.cytech.training/" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-02-06_at_16.18.00_360x.png?v=1644164294); width: 120px; padding-top: 50.2%;">
  • :14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-anim
    Logo image
    headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cachedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .c atch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection);
    < } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update cart selling plans after scripts are loaded if (settings.preorder_enabled) { updateCartSellingPlans(); } // Dispatch custom event when ap SEAT CLAMPa href="https://www.straightcutdesign.com/" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot_2022-03-16_at_14.44.40_360x.png?v=1647443209); width: 170px; padding-top: 26.3%;">p is loaded const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } function updateCartSellingPlans() { // Wait for the API to be available with retries const maxRetries = 10; const retryDelay = 500; function attemptCartCheck(attempt = 1) { if (window._RestockRocket && window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating
    Kona Crosstrail
    a href="https://projektride.co.uk/products/vecnum-freequence-suspension-stem-1?_pos=1&_sid=18e478687&_ss=r" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_0247_360x.png?v=1693300758); width: 120px; padding-top: 100.0%;">
    a href="https://projektride.co.uk/search?type=product&q=apidura" class="logo-list__slide-image" style="background-image: url(//projektride.co.uk/cdn/shop/files/IMG_0249_360x.png?v=1693301190); width: 120px; padding-top: 57.4%;">Formula 135x10mm
    .site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; } img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> REAR TIRE
    GEOMETRY 82 Newington Road
    ACK
    590Kinesis R2utton-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;mar acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-we603 000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:
    5
    734
    70.0