Cassette Hire Ortlieb 40L Pannier Bags
Shimano FH-TC500MSB, 148x12mm, Disc, MicroSpline Freehub Body
Cassette <
a class="product__media product__media--featured" href="/collections/new-collection/products/hire-smith-convoy-helmet" title="Hire Lazer Compact Helmet" aria-label="Hire Lazer Compact Helmet" style="background-image: url(//projektride.co.uk/cdn/shop/files/my2023_tempo-kineticore-black_right_1400x1011800x600-removebg-preview_1_600x.png?v=1747484784)"> Shimano, Deore M6100 12-Speed, 10-51THUB FRONTspan class="visually-hidden">Hire Lazer Compact Helmet



14g Black Stainless Steel
Hire Ortlieb 40L Pannier BagsFront: Maxxis Assegai 29x2.5”, MaxxTerra, EXO+, Tubeless Compatible; Rear: Maxxis Assegai 29x2.5”, MAXX GRIP, span class="visually-hidden">Hire Ortlieb 40L Pannier Bags>
><<
in Speed Concept\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDisplay\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3100 Systems Controller\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSwitch\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3300 Bluetooth Remote 22.2mm Clamp\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*Spec Chainguide\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003eCush Core Pro Tire Inserts, Marin Tire Sealant 300ml
price":529900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672554879,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"737517002","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail E2 Bosch - Large","public_title":"Large","options":["Large"],"price":529900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672587647,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"737517003","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Marin Alpine Trail E2 Bosch - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":529900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_ MultiTrac 2 LT frames that feature significant upgrades for riders who challenge themselves with the steepest, most technical terrain, as well as those who require the maximum in range.\u003c\/p\u003e\n\u003cp\u003eWe've increased the travel by 10mm at both ends, now standing at 170mm (f) and 160mm (r), and relocated the pivots to the chainstays to deliver the suspension performance and tunability demanded by the longer travel. Riders have the ability to alter the head tube angle by +\/- .75° by repositioning the lower headset cup while the bottom bracket height\/chainstay length can be changed by the means of seatstay flip chips.\u003c\/p\u003e\n\u003cp\u003eBosch's Performance Line CX drive units twist out 85Nm of torque and are backed by large capacity 750Wh PowerTube batteries, nestled safely in the frame's downtube, giving you the largest battery in the Marin range for the biggest adventures.\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail E2 (Bosch) lights the wick with a premium Fox suspension pairing 03c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRim\u003c\/h4\u003e\n\u003cp\u003eFront: Marin Aluminum Double Wall, 29\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible; Rear: Marin Aluminum Double Wall, 27.5\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Rear\u003c\/h4\u003e\n\u003cp\u003eShimano HB-TC500, 148x12mm, Centerlock, Standard Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Front\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm, Centerlock, 32H\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSpokes\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003e\n\u003cdiv\u003e\n\u003ch4\u003eChain\u003c\/h4\u003e\n\u003cp\u003eKMC E12S, E-Bike Specific Chain\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCassette\u003c\/h4\u003e\n\u003cp\u003eShimano SLX M7100 Cassette, 12-Speed, 10-51T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Front\u003c\/h4\u003e\n\u003cp\u003eTRP DH-R EVO 4-Piston Hydraulic Disc, 203mm, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Rear\u003c\/h4\u003e\n\u003cp\u003eTRP DH-R EVO 4-Piston Hydraulic Disc, 203mm, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrake Levers\u003c\/h4\u003e\n\u003cp\u003eTRP DH-R EVO Hydraulic\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHandlebar\u003c\/h4\u003e\n\u003cp\u003eMarin Trail, 35mm Clamp, 7000 Allo
e\n\u003cdiv\u003e\n\u003ch4\u003ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDisplay\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3100 Systems Controller\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSwitch\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3300 Bluetooth Remote 22.2mm Clamp\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*Spec Chainguide\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003eCush Core Pro Tire Inserts, Marin Tire Sealant 300ml Bottle, Bosch EB12.110.016; 2A Charger\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/
| Hire Ortlieb 40L Pannier Bags | a class="product__media product__media--featured" href="/collections/new-collection/products/hire-ortlieb-40l-pannier-bags" title="Hire Ortlieb 40L Pannier Bags" aria-label="Hire Ortlieb 40L Pannier Bags" style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_600x.jpg?v=1741085512)"> | ||||
| > | Hire Ortlieb 40L Pannier Bags | £0.00 | |||
| ame": "Marin" },"gtin8": "","offers": [{ "@type" : "Offer","availability" : "http://schema.org/OutOfStock", "price" : 3995.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/marin-alpine-trail-carbon-2?variant=56189672948095" }, { "@type" : "Offer","availability" : "http://schema.org/OutOfStock", "price" : 3995.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/marin-alpine-trail-carbon-2?variant=56189672980863" }, { "@type" : "Offer","availability" : "http://schema.org/OutOfStock", "price" : 3995.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/marin-alpine-trail-carbon-2?variant=56189673013631" }, { "@type" : "Offer","sku": "732402004","availability" : "http://schema.org/OutOfStock", "price" : 3995.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/marin-alpine-a class="product__media product__media--featured" href="/collections/new-collection/products/life-systems-pocket-first-aid-kit-hire" title="Life Systems Pocket First Aid Kit - HIRE" aria-label="Life Systems Pocket First Aid Kit - HIRE" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)"> t_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_bu | span class="v","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_b | 032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T12:16:34Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locativery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_ena |
| FOX FACTORY FLOAT X2 | a class="product__media product__media--featured" href="/collections/new-collection/products/hire-smith-convoy-helmet" title="Hire Lazer Compact Helmet" aria-label="Hire Lazer Compact Helmet" style="background-image: url(//projektride.co.uk/cdn/shop/files/my2023_tempo-kineticore-black_right_1400x1011800x600-removebg-preview_1_600x.png?v=1747484784)"> | span class="visually-hidden">Hire Lazer Compact Helmet
| MAXXIS ASSEGAI 2.5 EXO+ | Hire Lazer Compact Helmet | I'm looking to buy this product, when will it arrive and how much does postage cost?<£0.00TYRE (R)
| SRAM CENTERLINE 200 | a class="product__media product__media--featured" href="/collections/new-collection/products/hire-ortlieb-40l-pannier-bags" title="Hire Ortlieb 40L Pannier Bags" aria-label="Hire Ortlieb 40L Pannier Bags" style="background-image: url(//projektride.co.uk/cdn/shop/files/resize_width_1000_600x.jpg?v=1741085512)"> | span class="visually-hidden">Hire Ortlieb 40L Pannier Bags
| SRAM CENTERLINE 200 | Hire Ortlieb 40L Pannier Bags |
| Life Systems Pocket First Aid Kit - HIRE | |
| a class="product__media product__media--featured" href="/collections/new-collection/products/life-systems-pocket-first-aid-kit-hire" title="Life Systems Pocket First Aid Kit - HIRE" aria-label="Life Systems Pocket First Aid Kit - HIRE" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)"> | span class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE> | >
| div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)"> | >|
| Life Systems Pocket First Aid Kit - HIRE | £0.00 |
| Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable | |
| span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable | >. Orders under £50, our postage charge is £3.99.> | We also have a physical store, if you are local please pop in -
| £0.00 | |
| .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; } | #FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; } |
div class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');">
QUICK LINKS>
About Us
Contact Us
BlogProjektRideTrack Service ProgressBuy Sell Ride Confident
Building Your Bike From the Box
Privacy Policy
| SERVICES | I'm looking to find out more information about a product, where can I find this?Servicing | Workshop PricesCycle to WorkPlease get in touch with a member of the team either by phone ( | Delivery & Returns01313745324) or email ( | [email protected]) where on of the team will be more than happy to help. | INFORMATIONProjektRide Bike Shop Edinburgh||
| !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const trans© 2025, Privacy PolicyWorking Hours_visibility":true,"collection_buttons_container":null,"index_buttons_container":null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector": | TOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { 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 ProjektRideCookie Policy ert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"market_setup_type":"single_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,4393608819criptUrlCollection); } 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 f.Terms of Service Mon - Fri: 09:00 - 18:30,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,555If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. | - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } else if (attempt Sat: 9:00 - 16:00Refund policyShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_descriptionPostage is free on orders over £50. Orders under £50, our postage charge is £3.99.maxRetries) { console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`); setTimeout(() => attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); } Website by Sun: Closed #FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"typWe also have a physical store, if you are local please pop in - | Juan Borges Designs ,"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":15327697731967,"title":"Marin Alpine Trail E2 Bosch","handle":"marin-alpine-trail-e2-bosch","description":"\u003cp\u003eThe Alpine Trail E Bosch is our biggest, baddest beast of a bike family. Moving one step beyond in capability from the Alpine Trail E models, the new Alpine Trial E Bosch eMTBs are constructed with all-new Series 4 aluminum MultiTrac 2 LT frames that feature significant upgrades for riders who challenge themselves with the steepest, most technical terrain, as well as those who require the maximum in range.\u003c\/p\u003e\n\u003cp\u003eWe've increased the travel by 10mm at both ends, now standing at 170mm (f) ProjektRide Bike Shop Edinburgh. SERVICESSuspension LT, Adjustable Headset \u0026amp; CS Length\/Height, Integrated Battery\/Charging Port, 148mm Rear Thru-Axle\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFront Suspension\u003c\/h4\u003e\n\u003cp\u003eFox 38 Performance Elite, 170mm Travel, 29\" , 110x15mm Boost Kabolt Thru-Axle, 44mm Offset, Integrated Fox Fender\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRear Suspension\u003c\/h4\u003e\n\u003cp\u003eFox Float DHX2, Performance Elite, Low Speed Compression and Rebound Adjustment, 205x65mm, Trunnion Upper Mount, 30mmxM8 Lower Mount, M Spring Rate = 450lb, L Spring Rate = 500lb, XL Spring Rate = 550lb\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRim\u003c\/h4\u003e\n\u003cp\u003eFront: Marin Aluminum Double Wall, 29\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible; Rear: Marin Aluminum Double Wall, 27. 82 Newington Road, EH91QN, Edinburgh. | .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- \u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDerailleur Front\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eShift Lever\u003c\/h4\u003e\n\u003cp\u003eShimano SLX 12-Speed, I-Spec EV\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCrankset\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*spec Plus Cranks, 160mm Length\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eMotor\u003c\/h4\u003e\n\u003cp\u003eBosch Performance Line CX, 85Nm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eChain\u003c\/h4\u003e\n\u003cp\u003eKMC E12S, E-Bike Specific Chain\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCassette\u003c\/h4\u003e\n\u003cp\u003eShimano SLX M7100 Cassette, 12-Speed, 10-51T\u003c\k-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;padding:14px 10px;font-size:26px}.restock-rocke TelServicingli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eGrips\u003c\/h4\u003e\n\u003cp\u003eMarin Grizzly Lock On\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHeadset\u003c\/h4\u003e\n\u003cp\u003eFSA Custom Headset, Adjustable HTA Design\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSeatpost\u003c\/h4\u003e\n\u003cp\u003eTranzX, YSP39 1x Remote, 34.9 Seatpost Diameter, Travel S = 150mm, M\/L = 170mm, XL = 200mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSaddle\u003c\/h4\u003e\n\u003cp\u003eMarin Speed Concept\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u00 | orwards 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:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}} Workshop Pricesc\/ul\u003e","published_at":"2025-10-09T11:11:11+01:00","created_at":"2025-10-09T11:11:11+01:00","vendor":"Marin","type":"Bicycles","tags":["Alpine Trail E2 Bosch"],"price":529900,"price_min":529900,"price_max":529900,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":56189672522111,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"737517001","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail E2 Bosch - Medium","public_title":"Medium","options":["Medium"],"price":529900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672554879,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"737517002","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail E2 Bosch0131 374 5324Cycle to Worktio":1.46,"height":1815,"width":2649,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/AT-E2-Bosch-2920_b8e57e9e-8fd6-45a2-8596-ae2d032d3b70.jpg?v=1760008436"},"aspect_ratio":1.46,"height":1815,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/AT-E2-Bosch-2920_b8e57e9e-8fd6-45a2-8596-ae2d032d3b70.jpg?v=1760008436","width":2649}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003eThe Alpine Trail E Bosch is our biggest, baddest beast of a bike family. Moving one step beyond in capability from the Alpine Trail E models, the new Alpine Trial E Bosch eMTBs are constructed with all-new Series 4 aluminum MultiTrac 2 LT frames that feature significant upgrades for riders who challenge themselves with the steepest, most technical terrain, as well as those who require the maximum in range.\u003c\/p\u003e\n\u003cp\u003eWe've increased the travel by 10mm at both ends, now standing at 170mm (f) and 160mm (r), and relocated the pivots to the chainstays to deliver the suspension | Delivery & Returns/Charging Port, 148mm Rear Thru-Axle\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFront Suspension\u003c\/h4\u003e\n\u003cp\u003eFox 38 Performance Elite, 170mm Travel, 29\" , 110x15mm Boost Kabolt Thru-Axle, 44mm Offset, Integrated Fox Fender\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRear Suspension\u003c\/h4\u003e\n\u003cp\u003eFox Float DHX2, Performance Elite, Low Speed Compression and Rebound Adjustment, 205x65mm, Trunnion Upper Mount, 30mmxM8 Lower Mount, M Spring Rate = 450lb, L Spring Rate = 500lb, XL Spring Rate = 550lb\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRim\u003c\/h4\u003e\n\u003cp\u003eFront: Marin Aluminum Double Wall, 29\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible; Rear: Marin Aluminum Double Wall, 27.5\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatiblwindow._RestockRocketConfig = window._RestockRocketConfig || {} // Helper function to normalize locale format from hyphen to underscore (e.g., 'en-US' -> 'en_us') // This matches the backend's Mobility.normalize_locale behavior // Returns empty string if locale is empty or invalid (matches original behavior) function normalizeLocale(locale) { if (!locale || locale.trim() === '') { return ''; } return locale.toString().toLowerCase().replace(/-/g, '_'); } window._RestockRocketConfig.locale = 'en'; window._RestockRocketConfig.normalizedLocale = normalizeLocale('en'); window._RestockRocketConfig.shop = 'projektride.myshopify.com'; window._RestockRocketConfig.pageType = 'product';window._RestockRocketConfig.marketId = 382140642;window._RestockRocketConfig.countryName = 'United Kingdom'; window._RestockRocketConfig.countryIsoCode = 'GB';window._RestockRocketConfig.cartInventoryQuantity = {};window._RestockRocketConfig.cachedSettings = {"id":38500,"shop_id":38436,"currency":"GBP","created_at":"2025-07-26T09:13:57.337Z","updated_at":"2025-11-11T14:27:02.312Z","enable_app":true,"enable_signup_widget":false,"storefront_button_text":"Notify me when available","storefront_button_text_color":"#FFFFFF","storefront_button_background_color":"#202223","storefront_form_header":"Notify me","storefront_form_description":"Get a notification as soon as this product is back in stock by signing up below!","storefront_form_button_text":"Notify me when available","storefront_form_button_text_color":"#FFFFFF","storefront_form_button_background_color":"#202223","storefront_form_terms":"Promise we won't spam. You'll only receive notifications for this product.","storefront_form_error":"Please enter a valid email address","storefront_form_success":"Thank you! We will notify you when the product is available.","enable_powered_by":true,"show_button_on_preorder":true,"sms_enabled":false,"email_enabled":true,"storefront_button_disable_tag":"rocket-hide","theme_config":{},"storefront_form_email_placeholder":"Email address","storefront_form_phone_placeholder":"SMS","storefront_form_phone_label":"Phone number","storefront_form_email_label":"Email","storefront_form_phone_error":"Please enter a valid phone number","storefront_form_customer_name_placeholder":"Name","storefront_form_customer_name_error":"Please enter your name","storefront_form_did_you_mean_error":"Did you mean %{suggested_email}? Or use %{current_email}","form_customer_name_enabled":false,"form_customer_name_required":false,"css_config":"","js_config":null,"collect_promotion_consent":false,"storefr ch4\u003eDerailleur Front\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eShift Lever\u003c\/h4\u003e\n\u003cp\u003eShimano SLX 12-Speed, I-Spec EV\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCrankset\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*spec Plus Cranks, 160mm Length\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eMotor\u003c\/h4\u003e\n\u003cp\u003eBosch Performance Line CX, 85Nm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eChain\u003c\/h4\u003e\n\u003cp\u003eKMC E12S, E-Bike Specific Chain\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCassette\u003c\/h4\u003e\n\u003cp\u003eShimano SLX M7100 Cassette, 12-Speed, 10-51T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u0 | ":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":fals Grizzly Lock On\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHeadset\u003c\/h4\u003e\n\u003cp\u003eFSA Custom Headset, Adjustable HTA Design\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSeatpost\u003c\/h4\u003e\n\u003cp\u003eTranzX, YSP39 1x Remote, 34.9 Seatpost Diameter, Travel S = 150mm, M\/L = 170mm, XL = 200mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSaddle\u003c\/h4\u003e\n\u003cp\u003eMarin Speed Concept\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDisplay\u003c\/h4\u003e\n\u003cp\u003eBo.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; }
| 10,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T12:16:34Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_82 Newington Road < | eb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full pEdinburgh !settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[keyll,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integratioEH9 1QN tings; } } // 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(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { 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.noimg src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> | th the steepest, most technical terrain, as well as those who require the maximum in range.\u003c\/p\u003e\n\u003cp\u003eWe've increased the travel by 10mm at both ends, now standing at 170mm (f) and 160mm (r), and relocated the pivots to the chainstays to deliver the suspension performance and tunability demanded by the longer travel. Riders have the ability to alter the head tube angle by +\/- .75° by repositioning the lower headset cup while the bottom bracket height\/chainstay length can be changed by the means of seatstay flip chips.\u003c\/p\u003e\n\u003cp\u003eBosch's Performance Line CX drive units twist out 85Nm of torque and are backed by large capacity 750Wh PowerTube batteries, nestled safely in the frame's downtube, giving you the largest battery in the Marin range for the biggest adventures.\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail E1 (Bosch) is smartly spec'd with choice Marzocchi suspension with a coil shock out back, Shimano's innovative CUES 10-speed drivetrain and Tektro's Slate EVO 4 grations.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)) { createRestockRu003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRim\u003c\/h4\u003e\n\u003cp\u003eFront: Marin Aluminum Double Wall, 29\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible; Rear: Marin Aluminum Double Wall, 27.5\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Rear\u003c\/h4\u003e\n\u003cp\u003eShimano HB-TC500, 148x12mm, Centerlock, Standard Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Front\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm, Centerlock, 32H\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSpokes\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eTires\u003c\/h4\u003e\n\u003cp\u003eVee Tire Working HoursngPlans() { // 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 cart selling plans:', error); }); } else if (attempt | li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eChain\u003c\/h4\u003e\n\u003cp\u003eShimano LG500\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCassette\u003c\/h4\u003e\n\u003cp\u003eShimano CS-LG300-10, 11-48T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Front\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO 4-Piston Hydraulic, 203mm Rotor, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Rear\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO 4-Piston Hydraulic, 203mm Rotor, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrake Levers\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHandlebar\u003c\/h4\u003e\n\u003cp\u003eMarin Mini Riser, 6061 Double Butted Aluminum, 780 maxRetries) { console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`); setTimeout(() => attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); } QUICK LINKS03ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDisplay\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3100 Systems Controller\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSwitch\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3300 Bluetooth Remote 22.2mm Clamp\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*Spec Chainguide\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003eCush Core Pro Tire Inserts, Marin Tire Sealant 300ml Bottle, Bosch EB12.110.016; 2A Charger\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003Email Mon - Fri: 09:00 - 18:30 | "shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672653183,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"737515003","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail E1 Bosch - Large","public_title":"Large","options":["Large"],"price":449900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672685951,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"737515004","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail E1 Bosch - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":449900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/AT- Sat: 9:00 - 16:00 About Uscant upgrades for riders who challenge themselves with the steepest, most technical terrain, as well as those who require the maximum in range.\u003c\/p\u003e\n\u003cp\u003eWe've increased the travel by 10mm at both ends, now standing at 170mm (f) and 160mm (r), and relocated the pivots to the chainstays to deliver the suspension performance and tunability demanded by the longer travel. Riders have the ability to alter the head tube angle by +\/- .75° by repositioning the lower headset cup while the bottom bracket height\/chainstay length can be changed by the means of seatstay flip chips.\u003c\/p\u003e\n\u003cp\u003eBosch's Performance Line CX drive units twist out 85Nm of torque and are backed by large capacity 750Wh PowerTube batteries, nestled safely in the frame's downtube, giving you the largest battery in the Marin range for the biggest adventures.\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail E1 (Bosch) is smartly spec'd with choice Marzocchi suspension with a coil shock out back, Shimano's innovati[email protected] Sun: Closed .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}.reContact Us | 550lb\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRim\u003c\/h4\u003e\n\u003cp\u003eFront: Marin Aluminum Double Wall, 29\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible; Rear: Marin Aluminum Double Wall, 27.5\" Diameter, 32mm Inner Rim Width, Pinned Joint, Disc Specific, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Rear\u003c\/h4\u003e\n\u003cp\u003eShimano HB-TC500, 148x12mm, Centerlock, Standard Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHub Front\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm, Centerlock, 32H\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSpokes\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003c g: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;padding: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:inheBloged Speed\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eChain\u003c\/h4\u003e\n\u003cp\u003eShimano LG500\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCassette\u003c\/h4\u003e\n\u003cp\u003eShimano CS-LG300-10, 11-48T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Front\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO 4-Piston Hydraulic, 203mm Rotor, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrakes Rear\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO 4-Piston Hydraulic, 203mm Rotor, 2.3mm Thick\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBrake Levers\u003c\/h4\u003e\n\u003cp\u003eTRP Slate EVO\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHandlebar\u003c\/h4\u003e\n\u003cp\u00 frames slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}} Track Service Progress | \u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePedals\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBattery\u003c\/h4\u003e\n\u003cp\u003eBosch PowerTube 750 Wh\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDisplay\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3100 Systems Controller\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSwitch\u003c\/h4\u003e\n\u003cp\u003eBosch BRC3300 Bluetooth Remote 22.2mm Clamp\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003ee*thirteen e*Spec Chainguide\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eExtras\u003c\/h4\u003e\n\u003cp\u003eCush Core Pro Tire Inserts, Marin Tire Sealant 300ml Bottle, Bosch EB12.110.016; 2A Charger\u003c\/p\u003e\n\u003c Building Your Bike From the BoxrseInt(""),56189672653183 : parseInt(""),56189672685951 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56189672620415 : null,56189672653183 : null,56189672685951 : null,}; window._RestockRocketConfig.variantsShippingText = {56189672620415 : "",56189672653183 : "",56189672685951 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56189672620415 : null,56189672653183 : null,56189672685951 : null,}; window._RestockRocketConfig.selected_variant_id = 56189672620415; window._RestockRocketConfig.selected_variant_available = window._RestockRocketConfig.product.variants.find(function(variant) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405 Tel Insure Your Bike | etafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const age = Date.now() - up Privacy Policy
| }; if (window.Shopify?.theme?.role === 'main') { 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 - Refund policy | ript(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) { updateCartSellinror => { console.error('STOQ - error updating cart selling plans:', error); }); } else if (attempt © 2025, Location | maxRetries) { console.debug(`STOQ - API not ready, retry ${attempt}/${maxRetries}`); setTimeout(() => attemptCartCheck(attempt + 1), retryDelay); } else { console.debug('STOQ - API not loaded after max retries, skipping cart selling plan check'); } } attemptCartCheck(); } ProjektRide SERVICES.82 Newington Road | EdinburghServicing65.0 .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-inp Website by EH9 1QNWorkshop Prices | ily: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;padding: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 .countdoJuan Borges Designs Cycle to WorkA65.0mation:.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:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}} .Delivery & Returns | SEAT TUBE LENGTH65.0 Email | 36565.0INFORMATION [email protected] | 400
| D hen it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[ | Working Hourse_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,4393 470EFF. SEATTUBE ANGLE 426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T12:16:34Z","mark | Mon - Fri: 09:00 - 18:30opify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shippin 48577.0 Sat: 9:00 - 16:00ed":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"a | Sun: Closed RestockRocketConfig.product = {"id":15327697961343,"title":"Marin Alpine Trail Carbon 2","handle":"marin-alpine-trail-carbon-2","description":"\u003cp\u003e\u003cstrong\u003eBIG ALL-MOUNTAIN DAYS WHERE TRAVEL AND GEOMETRY MATTER MOST\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBUILT FOR ABUSE AND ROWDY RIDING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eENDURO-STYLE RIDING AND RACING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBIG BIKE, BIG WHEELS, BIG FUN\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail is a 29” wheeled full suspension bike built for the all day enduro rider that earns their downhill fun.\u003c\/p\u003e\n\u003ch3 class=\"specifications__title\"\u003eSpecifications\u003c\/h3\u003e\n\u003cul class=\"specifications__list\"\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFRAME\u003c\/h4\u003e\n\u003cp\u003eUnidirectional Carbon Fiber Front Triangle, Series 4 Alloy Rear End, 29” Wheels, 150mm Travel Mul77.0 \u003eHUB REAR\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500MSB, 148x12mm, Disc, MicroSpline Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHUB FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSPOKE\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eTIRES\u003c\/h4\u003e\n\u003cp\u003eFront: Maxxis Assegai 29x2.5”, MaxxTerra, EXO+, Tubeless Compatible; Rear: Maxxis Assegai 29x2.5”, MAXX GRIP, DoubleDown, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR REAR\u003c\/h4\u003e\n\u003cp\u003eShimano XT 12-Speed, SGS\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR FRONT\u003c\/h4\u003e\n\© 2025, | 003cdiv\u003e\n\u003ch4\u003eBRAKE FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano SLX, 4-Piston Hydraulic Disc, 203mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE REAR\u003c\/h4\u003e\n\u003cp\u003eShimano SLX, 4-Piston Hydraulic Disc, 180mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE LEVERS\u003c\/h4\u003e\n\u003cp\u003eShimano SLX Hydraulic, I-Spec EV\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHANDLEBAR\u003c\/h4\u003e\n\u003cp\u003eMarin Trail, 35mm Clamp, 7000 Alloy Bar, 800mm Length, 20mm Rise, 5 Degree Up, 8 Degree Back\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSTEM\u003c\/h4\u003e\n\u003cp\u003eMarin CNC, 35mm Length, 35mm Bar Bore\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eGRIPS\u003c\/h4\u003e\n\u003cpProjektRideB77.0 published_at":"2025-10-09T11:11:17+01:00","created_at":"2025-10-09T11:11:17+01:00","vendor":"Marin","type":"Bicycles","tags":["Alpine Trail Carbon 2"],"price":399500,"price_min":399500,"price_max":399500,"available":false,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":56189672948095,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Marin Alpine Trail Carbon 2 - Small","public_title":"Small","options":["Small"],"price":399500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189672980863,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Marin Alpine Trail Carbon 2 - Medium","public_title":"Me. | 003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCASSETTE\u003c\/h4\u003e\n\u003cp\u003eSunRace, 12-Speed, Microspline, 10-51T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano SLX, 4-Piston Hydraulic Disc, 203mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE REAR\u003c\/h4\u003e\n\u003cp\u003eShimano SLX, 4-Piston Hydraulic Disc, 180mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE LEVERS\u003c\/h4\u003e\n\u003cp\u003eShimano SLX Hydraulic, I-Spec EV\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHANDLEBAR\u003c\/h4\u003e\n\u003cp\u003eMarin Trail, 35mm Clamp, 7000 Alloy Bar, 800mm Length, 20mm Rise, 5 Degree Up, 8 Degree Back\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u0 | 03cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eEXTRAS\u003c\/h4\u003e\n\u003cp\u003eBolt-On Thru-Axle\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56189672948095 : "deny",56189672980863 : "deny",56189673013631 : "deny",56189673046399 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56189672948095 : parseInt("0"),56189672980863 : parseInt("0"),56189673013631 : parseInt("0"),56189673046399 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {56189672948095 : parseInt(""),56189672980863 : parseInt(""),56189673013631 : parseInt(""),56189673046399 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56189672948095 : null,56189672980863 : null,56189673013631 : null,56189673046399 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56189672948095 : parseInt(""),56189672980 | onfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // Check if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.transl
| ]; 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(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.them | izeScripts(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)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_ine 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 (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selli | <ttps://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 | r-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;fle | own-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-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);bord|||
| 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;padding: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-c | ds 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:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}||||||
| on confirmed! You'll receive an alert when the product is restocked.","storefront_button_border_radius":0,"storefront_button_disable_tag_hides_button":true,"storefront_button_disable_tag_enabled":false,"quantity_required":false,"storefront_form_quantity_label":"Quantity","enable_alerts":true,"sms_allowed":false,"email_allowed":true,"collect_promotion_consent_default":true,"insert_button_after_selector":null,"insert_button_after_selector_type":"afterend","storefront_button_position_type":"float-right","storefront_form_duplicate_error":"You've already subscribed for alerts to this product.","storefront_mixed_cart_error":"This item needs to be purchased separately. Please check out or clear your cart before adding this item.","storefront_error_heading":"Error","default_locale":"en","collection_page_button_text_color":"#FFFFFF","collection_page_button_background_color":"#202223","show_button_if_any_out_of_stock":false,"show_button_if_any_variant_out_of_stock_collection":false,"show_button_on_index":false,"insert_G button_after_selector_collection":null,"insert_button_after_selector_index":null,"push_enabled":false,"push_allowed":false,"storefront_form_push_label":"Push","storefront_form_push_description":"Click 'Allow' to be notified via push notification","storefront_form_push_error":"Permission rejected! Please review notification settings and try again","storefront_font_family":"OpenSans","insert_button_after_selector_collection_type":"afterend","show_channel_selector":false,"storefront_form_empty_error":"Please fill in one or more of the options above","storefront_form_push_input":"Send notification to your browser","insert_button_after_selector_page":null,"show_button_on_page":false,"insert_button_after_selector_search":null,"show_button_on_search":false,"app_proxy_path_prefix":"/apps/restockrocket-production","collection_link_selector":"","index_link_selector":"","page_link_selector":"","search_link_selector":"","collection_check_link_visibility":true,"collection_buttons_container":null,"index_buttons_container": | null,"page_buttons_container":null,"search_buttons_container":null,"extension_enable_url_variant_detection":true,"extension_enable_value_variant_detection":true,"extension_value_variant_selector":"[name='id']","resubscribe_text":"This product is out of stock. Get notified when it's restocked again by entering your details below!","preorder_enabled":true,"preorder_buy_button_selector":null,"preorder_add_to_cart_button_selector":"","preorder_badge_selector":"","preorder_button_out_of_stock_text":"Out of stock","preorder_button_add_to_cart_text":"Add to cart","preorder_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_enabled":false,"preorder_collection_form_selector":"form[action*=\"/cart/add\"]","preorder_collection_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_index_enabled":false,"preorder_index_form_selector":"form[action*=\"/cart/add\"]","preorder_index_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_page_enabled":false,"preorder_pag 77.5e_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_search_enabled":false,"preorder_search_form_selector":"form[action*=\"/cart/add\"]","preorder_search_add_to_cart_button_selector":"form[action*=\"/cart/add\"] button","preorder_collection_badge_selector":null,"preorder_index_badge_selector":null,"preorder_page_badge_selector":null,"preorder_search_badge_selector":null,"preorder_badge_selector_type":"afterend","preorder_collection_badge_selector_type":"afterend","preorder_button_child_selector":"span","preorder_button_disclaimer_insert_selector":"","preorder_button_disclaimer_insert_selector_type":"afterend","preorder_payment_insert_selector":"","preorder_payment_insert_selector_type":"afterend","preorder_price_container_selector":"","preorder_price_container_selector_insert_type":"afterend","preorder_terms_insert_selector":"","preorder_terms_insert_selector_type":"afterend","preorder_original_price_selector":"","preorder_price_format":"{{amount}} {{currency}}","show_badge_if_any_variant_is_preorder":false,"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"market_setup_type":"single_market","shopify_app_id":5940125,"cache":true,"cached_at":"2025-11-11T14:27:02.333Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43590980075746,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008044770,43936022757602,43936022790370,43936022823138,43936022855906,43936056115426,43936061030626,43936064930018,43936070631650,43936078037218,43936078069986,43936088195298,43936093470946,43936101138658,43936107266274,43936124076258,43936124109026,WHEELBASE 43936124141794,43936124174562,43936129941730,43936129974498,43936130007266,43936142393570,43936142426338,43936142459106,43936152060130,43936152092898,43936152125666,43936193118434,43936250429666,43936255803618,43936266682594,43936266715362,43936293978338,43936294011106,43936316424418,43936316457186,43936320880866,43936320913634,43936320946402,43936327041250,43936327074018,43936327106786,43936331661538,43936332349666,43936333103330,43936351224034,43936353714402,43936362889442,43936362922210,43936388153570,43936389333218,43936395526370,43936398508258,43936401522914,43936408568034,43936414400738,43936700727522,43936706101474,43936706134242,43936706167010,43936706199778,43936706232546,43936706265314,43938308587746,43938308653282,43938308718818,43938308751586,43938308784354,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,4398 | 1362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392904418,43981695844578,43981695877346,43981695910114,43981695942882,43981986070754,43981987905762,43981987938530,44052906967266,44052907327714,44052907360482,44052907393250,44052907426018,44052907458786,44052907491554,44052909097186,44052909129954,44140302827746,44140302893282,44140317016290,44155590508770,44155590541538,44155594211554,44155594244322,44155594277090,44155594309858,44155594342626,44155594375394,44155594440930,44155594473698,44155594506466,44195991847138,44195991945442,44329993437410,44329993470178,44329993502946,44329993535714,44329993568482,44957136584930,44957136781538,44957136945378,45068753961186,45068753993954,45069622640866,45069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55569933074815,55570550194559,55570550227327,55604008976767,55638316908927,55638316 77.5941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2025-12-14T12:16:34Z","market_locations_enabled":false,"market_id":13777305826,"preorder_location_filter_enabled":false,"preorder_location_filter_ids":[],"collection_id":null};window._RestockRocketConfig.cachedInStockVariantIds = { in_stock_variant_ids: [] };window._RestockRocketConfig.cachedOutOfStockVariantIds = { out_of_stock_variant_ids: [] };window._RestockRocketConfig.cachedVariantPreorderLimits = {"variant_preorder_limits":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantPreorderLimitsMarketKey = "variant_preorder_limits_for_market_382140642";window._RestockRocketConfig.cachedVariantShippingTexts = {"variant_shipping_texts":{},"updated_at":"2025-12-14T12:19:01Z","shopify_market_id":382140642,"market_locations_enabled":false}; window._RestockRocketConfig.cachedVariantShippingTextsMarketKey = "variant_shipping_texts_for_market_382140642";window._RestockRocketConfig.sellingPlans = [{"shopify_selling_plan_group_id":98590196095,"shopify_selling_plan_id":713071886719,"enabled":true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_descrip1188 tion_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_ | enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"#ffffff","preorder_button_background_color":"#565557","preorder_button_colors_enabled":true,"markets_enabled":false,"market_id":13779632354,"shopify_market_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder _acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true}];window._RestockRocketConfig.integrations = [{"id":"15c94526-b6b8-4de1-9bc1-23b1ca52ddb0","shop_id":38436,"enabled":true,"page_types":["product","collection","index","search","page","cart","list-collections","article","blog"],"configuration":{"toastDuration":10000,"toastPosition":"bottom-right","enableXHRHijack":true,"enableFetchHijack":true,"quantityLimitDisabled":false},"type":"hijack","css_config":null,"js_config":null,"created_at":"2025-07-26T09:16:04.076Z","updated_at":"2025-07-26T09:16:04.076Z"}];window._RestockRocketConfig.obfuscateInventoryQuantity = false;window._RestockRocketConfig.product = {"id":15327698157951,"title":"Marin Alpine Trail Carbon 1","handle":"marin-alpine-trail-carbon-1","description":"\u003cp\u003e\u003cstrong\u003eBIG ALL-MOUNTAIN DAYS WHERE TRAVEL AND GEOMETRY MATTER MOST\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBUILT FOR ABUSE AND ROWDY RIDING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eENDURO-STYLE RIDING AND RACING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBIG BIKE, BIG WHEELS, BIG FUN\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail is a 29” wheeled full suspension bike built for the all day enduro rider that earns their downhill fun.\u003c\/p\u003e\n\u003ch3 class=\"specifications__1221 title\"\u003eSpecifications\u003c\/h3\u003e\n\u003cul class=\"specifications__list\"\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFRAME\u003c\/h4\u003e\n\u003cp\u003eUnidirectional Carbon Fiber Front Triangle, Series 4 Alloy Rear End, 29” Wheels, 150mm Travel MultiTrac Suspension Platform, Internal Dropper Post and Rear Derailleur Housing, Chainstay Mounted Post Mount Disc Brake, 148x12mm Boost Thru- Axle, 73mm Threaded BB w\/ ISCG05 Tabs\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFORK\u003c\/h4\u003e\n\u003cp\u003eRockShox Yari RC, 29”, 160mm of Travel, Air Sprung, Debonair, Rebound and Compression Adjust, Fast Black Stanchions, 110x15mm Maxle Stealth, 42mm Offset\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eREAR SHOCK\u003c\/h4\u003e\n\u003cp\u003eRockShox Deluxe Select+ RT, Debonair Air Spring, 2 Position Compression Adjustment, Rebound Adjustment, 205x65mm, Trunnion Upper Mount, M8x | 25mm Lower Mount\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRIMS\u003c\/h4\u003e\n\u003cp\u003eMarin, Double Wall Alloy, 29mm Inner, Pinned Joint, Disc Specific, 32H, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHUB REAR\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500MSB, 148x12mm, Disc, MicroSpline Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHUB FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSPOKE\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eTIRES\u003c\/h4\u003e\n\u003cp\u003eMaxxis Assegai 29x2.5”, MaxxTerra, EXO+, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e E\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR REAR\u003c\/h4\u003e\n\u003cp\u003eShimano Deore, 12-Speed, SGS\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR FRONT\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSHIFT LEVER\u003c\/h4\u003e\n\u003cp\u003eShimano Deore, 12-Speed, SL-6100-IR\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCRANKSET\u003c\/h4\u003e\n\u003cp\u003eFSA Comet Heavy Duty, Modular 1x, 32T Direct Mount Chainring, MegaTooth Technology, Boost Spacing\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBOTTOM BRACKET\u003c\/h4\u003e\n\u003cp\u003eFSA MegaExo 73mm BSA\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCHAIN\u003c\/h4\u003e\n\u003cp\u003eKMC X-12 Silver and Black\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCASSETTE\u003c\/h4\u003e\n\u003cp\u003eSunRace, 12-Speed, Microspline, 10-51T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano BR-MT420, 4-Piston Hydraulic Disc, 203mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE REAR\u003c\/h4\u003e\n\u003cp\u003eShimano BR-MT420, 4-Piston Hydraulic Disc, 180mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE LEVERS\u003c\/h4\u003e\n\u003cp\u003eShimano BL-M4100, I-Spec EV Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHANDLEBAR\u003c\/h4\u003e\n\u003cp\u003eMarin Mini-Riser, 6061 Double Butted Aluminum, 780mm Width, 28mm Rise, 5º Up, 9º Back\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e1246 \n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSTEM\u003c\/h4\u003e\n\u003cp\u003eMarin 3D Forged Alloy, 35mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eGRIPS\u003c\/h4\u003e\n\u003cp\u003eMarin Single Clamp Locking\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHEADSET\u003c\/h4\u003e\n\u003cp\u003eFSA No 57, Sealed Cartridge Bearings, 1 1\/8\" x 1 1\/2”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSEATPOST\u003c\/h4\u003e\n\u003cp\u003eTranzX, YSP23JL, 1x Remote, Size S 125mm Travel, Size M and L 150mm Travel, Size XL 175mm Travel, 30.9mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSADDLE\u003c\/h4\u003e\n\u003cp\u003eMarin Speed Concept\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePEDALS\u003c\/h4\u003e\n\u003cp\u003e \u003c\/p\u0 | 03e\n\u003cp\u003eNot Included\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eEXTRAS\u003c\/h4\u003e\n\u003cp\u003eBolt-On Thru-Axle, Downtube Protector\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","published_at":"2025-10-09T11:11:19+01:00","created_at":"2025-10-09T11:11:19+01:00","vendor":"Marin","type":"Bicycles","tags":["Alpine Trail Carbon 1"],"price":227700,"price_min":227700,"price_max":227700,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":56189673177471,"title":"Small","option1":"Small","option2":null,"option3":null,"sku":"737513001","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail Carbon 1 - Small","public_title":"Small","options":["Small"],"price":227700,"weight":0,"compare_at_price":null,"inventory_management":"shopify"," ACTUAL SEATTUBE ANGLEbarcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189673210239,"title":"Medium","option1":"Medium","option2":null,"option3":null,"sku":"737513002","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Marin Alpine Trail Carbon 1 - Medium","public_title":"Medium","options":["Medium"],"price":227700,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189673243007,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"737513003","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail Carbon 1 - Large","public_title":"Large","options":["Large"],"price":227700,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":56189673275775,"title":"Extra Large","option1":"Extra Large","option2":null,"option3":null,"sku":"737513004","requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Marin Alpine Trail Carbon 1 - Extra Large","public_title":"Extra Large","options":["Extra Large"],"price":227700,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/2021_Alpine_Trail_Carbon_1_Color_24414263-12c6-4c78-8cf5-b4e4a9b91d91.jpg?v=1760008440"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/2021_Alpine_Trail_Carbon_1_Color_24414263-12c6-4c78-8cf5-b4e4a9b91d91.jpg?v=1760008440","options":["Size"],"media":[{"alt":null,"id":68074177233279,"position":1,"preview_image":{"aspect_ratio":1.622,"height":1633,"width":2649,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/2021_Alpine_Trail_Carbon_1_Color_24414263-12c6-4c78-8cf5-b4e4a9b91d91.jpg?v=1760008440"},"aspect_ratio":1.622,"height":1633,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/sho1277 p\/files\/2021_Alpine_Trail_Carbon_1_Color_24414263-12c6-4c78-8cf5-b4e4a9b91d91.jpg?v=1760008440","width":2649}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e\u003cstrong\u003eBIG ALL-MOUNTAIN DAYS WHERE TRAVEL AND GEOMETRY MATTER MOST\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBUILT FOR ABUSE AND ROWDY RIDING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eENDURO-STYLE RIDING AND RACING\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBIG BIKE, BIG WHEELS, BIG FUN\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe Alpine Trail is a 29” wheeled full suspension bike built for the all day enduro rider that earns their downhill fun.\u003c\/p\u003e\n\u003ch3 class=\"specifications__title\"\u003eSpecifications\u003c\/h3\u003e\n\u003cul class=\"specifications__list\"\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFRAME\u003c\/h4\u003e\n\u003cp\u003eUnidirectional Carbon Fiber Front Triangle, Series 4 Alloy Rear | End, 29” Wheels, 150mm Travel MultiTrac Suspension Platform, Internal Dropper Post and Rear Derailleur Housing, Chainstay Mounted Post Mount Disc Brake, 148x12mm Boost Thru- Axle, 73mm Threaded BB w\/ ISCG05 Tabs\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eFORK\u003c\/h4\u003e\n\u003cp\u003eRockShox Yari RC, 29”, 160mm of Travel, Air Sprung, Debonair, Rebound and Compression Adjust, Fast Black Stanchions, 110x15mm Maxle Stealth, 42mm Offset\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eREAR SHOCK\u003c\/h4\u003e\n\u003cp\u003eRockShox Deluxe Select+ RT, Debonair Air Spring, 2 Position Compression Adjustment, Rebound Adjustment, 205x65mm, Trunnion Upper Mount, M8x25mm Lower Mount\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eRIMS\u003c\/h4\u003e\n\u003cp\u003eMarin, Double Wall Alloy, 29mm Inner, Pinned Joint, Disc Specific, 32H, Tubeless Compa 72.1tible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHUB REAR\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500MSB, 148x12mm, Disc, MicroSpline Freehub Body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHUB FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano FH-TC500, 110x15mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSPOKE\u003c\/h4\u003e\n\u003cp\u003e14g Black Stainless Steel\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eTIRES\u003c\/h4\u003e\n\u003cp\u003eMaxxis Assegai 29x2.5”, MaxxTerra, EXO+, Tubeless Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR REAR\u003c\/h4\u003e\n\u003cp\u003eShimano Deore, 12-Speed, SGS\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eDERAILLEUR FRONT\u003c\/h4\u003e\n\u003cp\u003e-\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSHIFT LEVER\u003c\/h4\u003e\n\u003cp\u003eShimano Deore, 12-Speed, SL-6100-IR\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCRANKSET\u003c\/h4\u003e\n\u003cp\u003eFSA Comet Heavy Duty, Modular 1x, 32T Direct Mount Chainring, MegaTooth Technology, Boost Spacing\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBOTTOM BRACKET\u003c\/h4\u003e\n\u003cp\u003eFSA MegaExo 73mm BSA\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCHAIN\u003c\/h4\u003e\n\u003cp\u003eKMC X-12 Silver and Black\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eCASSETTE\u003c\/h4\u003e\n\u003cp\u003eSunRace, 12-Speed, Microspline, 10-51T\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\1304 n\u003cdiv\u003e\n\u003ch4\u003eBRAKE FRONT\u003c\/h4\u003e\n\u003cp\u003eShimano BR-MT420, 4-Piston Hydraulic Disc, 203mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE REAR\u003c\/h4\u003e\n\u003cp\u003eShimano BR-MT420, 4-Piston Hydraulic Disc, 180mm Rotor\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eBRAKE LEVERS\u003c\/h4\u003e\n\u003cp\u003eShimano BL-M4100, I-Spec EV Compatible\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHANDLEBAR\u003c\/h4\u003e\n\u003cp\u003eMarin Mini-Riser, 6061 Double Butted Aluminum, 780mm Width, 28mm Rise, 5º Up, 9º Back\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSTEM\u003c\/h4\u003e\n\u003cp\u003eMarin 3D Forged Alloy, 35mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eGRIPS\u003c\/h4\u003e\n\u0 | 03cp\u003eMarin Single Clamp Locking\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eHEADSET\u003c\/h4\u003e\n\u003cp\u003eFSA No 57, Sealed Cartridge Bearings, 1 1\/8\" x 1 1\/2”\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSEATPOST\u003c\/h4\u003e\n\u003cp\u003eTranzX, YSP23JL, 1x Remote, Size S 125mm Travel, Size M and L 150mm Travel, Size XL 175mm Travel, 30.9mm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eSADDLE\u003c\/h4\u003e\n\u003cp\u003eMarin Speed Concept\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003ePEDALS\u003c\/h4\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eNot Included\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003e\n\u003ch4\u003eEXTRAS\u003c\/h4\u003e\n\u003cp\u003eBolt-On Thru-Axle, Downtube Protector\ 72.6u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56189673177471 : "deny",56189673210239 : "deny",56189673243007 : "deny",56189673275775 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {56189673177471 : parseInt("1"),56189673210239 : parseInt("0"),56189673243007 : parseInt("4"),56189673275775 : parseInt("4"),}; window._RestockRocketConfig.variantsPreorderCount = {56189673177471 : parseInt(""),56189673210239 : parseInt(""),56189673243007 : parseInt(""),56189673275775 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {56189673177471 : null,56189673210239 : null,56189673243007 : null,56189673275775 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56189673177471 : parseInt(""),56189673210239 : parseInt(""),56189673243007 : parseInt(""),56189673275775 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {56189673177471 :
| SETTINGS_CACHE_DURATION) { console.debug('STOQ - setH tings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings || !settings.multi_language_enabled) { return settings; | } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key]; if (value !== null && value !== undefined && val 73.1ue !== '') { 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(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { 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); } }) .catch(function(e) { console.errorESTIMATED BB HEIGHT (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._RestockRocketCon | fig.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 app is loaded const appLoadedEvent 73.6 = 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 cart selling plans:', error);}); } else if (attempt 342 < | ||||
| STACK140 | 617 | 620K | 625FORK (AXLE TO CROWN) | 635588 | 655588 | |



