Congratulations! Your order qualifies for free shipping

div class="result__image-img product__media lazyload fade-in" data-bgset="{{ it.product.image.thumb }}" data-aspectratio="{{ it.product.image.aspectRatio }}" data-sizes="auto"> {{@if(it.product.badgeText)}} > p class="result__title"> Edinburgh
a href="{{ it.product.url }}">{{ it.product.title }}EH9 1QN
>
>
Email
li class="result result--full"> [email protected]Header Image p class="result__title">{{ it.item.text }}
> >
{ "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" } console.log("pr-product-page");
© 2026, ProjektRide
.
window._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.normali
zedLocale = 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-12-28T14:44:23.508Z","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":{"disableDebugLoggingForNonPreorderItem":false},"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,"c
ert_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_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[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":

Trek Verve+ 2 Lowstep Gen 3 window.appBlockPlacements ||= []; if (window.klarnaAppBlocksManager) { window.klarnaAppBlocksManager.push({ productVariants: [{"id":45694290821346,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hydrapak Flux 1.5L 2023","public_title":null,"options":["Default Title"],"price":3000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopLocale: 'en', shopDomain: 'projektride.co.uk', variantPrice: '3000', cartPrice: '0', selector: 'shopify-osm-ASUorQUNvQS9uckFQO__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); } else { window.appBlockPlacements.push({ productVariants: [{"id":45694290821346,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hydrapak Flux 1.5L 2023","public_title":null,"options":["Default Title"],"price":3000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '3000', cartPrice: '0', selector: 'shopify-osm-ASUorQUNvQS9uckFQO__klarna_on_site_messaging_app_block_8gNReH', topPadding: '0', bottomPadding: '0', }); }

£2,950.00

   

Product Details
SKU: 5291634  
Flexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by 50%. Topped with a dust cover and twist-drink nozzle for grab-and-go hydration, plus a bail handle to keep hydration secure in your hand or on your pack. The Flux stands upright like a hard bottle but when you finish your drink, this bottle packs down to pocket size.
HIGH FLOW NOZZLE: Twist to Drink Nozzle drinks like that of a traditional wide mouth bottle but with more flow and less splash.
DUST COVER: Keeps dust off your drink nozzle. Quickly opens and closes the drink nozzle with one hand without any direct contact with dirty hands.
LIGHTWEIGHT & COMPACT: 50% lighter than a hard bottle and compresses down to pocket size when empty.
{"id":8640115376354,"title":"Hydrapak Flux 1.5L 2023","handle":"hydrapak-flux-1-5l-2023","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eFlexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by 50%. Topped with a dust cover and twist-drink nozzle for grab-and-go hydration, plus a bail handle to keep hydration secure in your hand or on your pack. The Flux stands upright like a hard bottle but when you finish your drink, this bottle packs down to pocket size.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHIGH FLOW NOZZLE: Twist to Drink Nozzle drinks like that of a traditional wide mouth bottle but with more flow and less splash.\u003c\/li\u003e\n\u003cli\u003eDUST COVER: Keeps dust off your drink nozzle. Quickly opens and closes the drink nozzle with one hand without any direct contact with dirty hands.\u003c\/li\u003e\n\u003cli\u003eFLEXIBLE BAIL HANDLE: For comfortable carrying, quick attachment and securing the rolled up bottle when empty.\u003c\/li\u003e\n\u003cli\u003eFITS IN PACK POCKETS: Designed to fit in pack pockets when full and to roll up when empty for space saving storage.\u003c\/li\u003e\n\u003cli\u003eLIGHTWEIGHT \u0026amp; COMPACT: 50% lighter than a hard bottle and compresses down to pocket size when empty.\u003c\/li\u003e\n\u003cli\u003eFlexible handle for comfortable carrying, quick attachment and securing the rolled up bottle when empty\u003c\/li\u003e\n\u003cli\u003eDual-layer film laminate construction adds structure\u003c\/li\u003e\n\u003cli\u003eMade of ultra-durable, abrasion resistant TPU \u0026amp; RF welded seams for superior durability and elasticity\u003c\/li\u003e\n\u003cli\u003e100% BPA \u0026amp; PVC free, wide working temperature range (can be frozen - max temp 60° C \/ 140° F)\u003c\/li\u003e\n\u003cli\u003eCAPACITY: 1.5 L \/ 50 fl oz\u003c\/li\u003e\n\u003cli\u003eWEIGHT: 122 g \/ 4.3 oz\u003c\/li\u003e\n\u003cli\u003eDIMENSIONS: 250 mm x 115 mm \/ 9.8 in x 4.5 in\u003c\/li\u003e\n\u003cli\u003eMATERIALS: TPU, POM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!----\u003e","published_at":"2024-12-08T20:03:20+00:00","created_at":"2024-07-13T15:20:24+01:00","vendor":"Hydrapack","type":"","tags":["bottles and cages","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":3000,"price_min":3000,"price_max":3000,"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":45694290821346,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hydrapak Flux 1.5L 2023","public_title":null,"options":["Default Title"],"price":3000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","\/\/projektride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465","\/\/projektride.co.uk\/cdn\/shop\/files\/15477.png?v=1720880465"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","options":["Title"],"media":[{"alt":null,"id":34242081259746,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=17 20880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","width":1080},{"alt":null,"id":34242081292514,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465","width":1080},{"alt":null,"id":34242081325282,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15477.png?v=1720880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15477.png?v=1720880465","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eFlexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by
[] { "@context": "http://schema.org/", "@type": "Product", "name": "Hydrapak Flux 1.5L 2023", "url": "https:\/\/projektride.co.uk\/products\/hydrapak-flux-1-5l-2023","image": [ "https:\/\/projektride.co.uk\/cdn\/shop\/files\/15475_1080x.png?v=1720880465" ],"description": " \nFlexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by 50%. Topped with a dust cover and twist-drink nozzle for grab-and-go hydration, plus a bail handle to keep hydration secure in your hand or on your pack. The Flux stands upright like a hard bottle but when you finish your drink, this bottle packs down to pocket size.\n\nHIGH FLOW NOZZLE: Twist to Drink Nozzle drinks like that of a traditional wide mouth bottle but with more flow and less splash.\nDUST COVER: Keeps dust off your drink nozzle. Quickly opens and closes the drink nozzle with one hand without any direct contact with dirty hands.\nFLEXIBLE BAIL HANDLE: For comfortable carrying, quick attachment and securing the rolled up bottle when empty.\
nFITS IN PACK POCKETS: Designed to fit in pack pockets when full and to roll up when empty for space saving storage.\nLIGHTWEIGHT \u0026amp; COMPACT: 50% lighter than a hard bottle and compresses down to pocket size when empty.\nFlexible handle for comfortable carrying, quick attachment and securing the rolled up bottle when empty\nDual-layer film laminate construction adds structure\nMade of ultra-durable, abrasion resistant TPU \u0026amp; RF welded seams for superior durability and elasticity\n100% BPA \u0026amp; PVC free, wide working temperature range (can be frozen - max temp 60° C \/ 140° F)\nCAPACITY: 1.5 L \/ 50 fl oz\nWEIGHT: 122 g \/ 4.3 oz\nDIMENSIONS: 250 mm x 115 mm \/ 9.8 in x 4.5 in\nMATERIALS: TPU, POM\n\n","brand": { "@type": "Thing", "name": "Hydrapack" },"offers": [{ "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 30.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/hydrapak-flux-1-5l-2023?varia nt=45694290821346" } ] }
< a class="product__media product__media--featured" href="/collections/accessories/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)"> <>
£0.00 Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable < a class="product__media product__media--featured" href="/collections/accessories/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire" title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)">
< span class="visually-hidden">Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable
£0.00

Product Details

The Verve+ 2 Lowstep is a powerful electric hybrid bike that will help you get out and ride more. Your daily cruises, commutes and workouts will all get a boost from the Bosch Performance Line motor with smart system technology that lets you map rides, track activity and more. Plus, this e-bike is equipped with parts that put your comfort and safety first, like a road-smoothing suspension fork and seat post, an easy-to-mount lowstep frame, wide and stable tyres, and front and rear lights

#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');">

FAQ
Questions and answers
We als o have a physical store, if you are local please pop in -
WheelsProjektRide Bike Shop Edinburgh
82 Newington Road, EH91QN, Edinburgh.
.site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; }< img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> Contact Us Blog Track Service Progress Insure Your Bike Cookie Policy Terms of Service Refund policy Servicing Workshop Prices Delivery & Returns
Hub front Shimano Tourney HB-QC300, centerlock
Hub rearQUICK LINKS Shimano FH-QC300-HM, 32-hole, CentreLock, 8-/9-/10-/11-speed, 135x5 mm QRAbout Us
RimBuilding Your Bike From the BoxBontrager Connection, double-wall, 32-hole, 20 mm width, Presta valvePrivacy Policy
Tyre Bontrager H2 Comp, wire bead, 30 tpi, 27.5x2.00"SERVICES
Max tyre sizeCycle to Work27.5x2.00" with or without mudguards
INFORMATION
E-systemWorking Hours
window._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-12-28T14:44:23.508Z","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": {"disableDebugLoggingForNonPreorderItem":false},"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,"storefront_form_promotion_consent_label":"Notify me about other news, sales, discounts & offers too","show_button_on_collection":false,"sms_default_country":"us","sms_allowed_countries":[],"sms_restrict_country":false,"sms_default_channel":true,"optin_required":false,"optin_success_text":"Registration confirmed! You'll receive an alert when the product is restocked.","storefront_bu_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_page_form_selector":"form[action*=\"/cart/add\"]","preorder_page_add_to_cart_button_sel ector":"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,54,43938308817122,43938322612450,43938322645218,43938322677986,43981336051938,43981336084706,43981336117474,43981336150242,43981345587426,43981345620194,43981345652962,43981345685730,43981357580514,43981357613282,43981362462946,43981362495714,43981362528482,43981369016546,43981369049314,43981374914786,43981374947554,43981374980322,43981392773346,43981392838882,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,4 5069622903010,45069622968546,45069750730978,45069750763746,45353010921698,45353010954466,45353010987234,45353018261730,45353018294498,45353018327266,55569712382335,55569712447871,55569712480639,55570550194559,55570550227327,55604008976767,55638316908927,55638316941695,55638316974463,56220814999935,56220815032703,56270279606655,56270279639423,56270279672191,56314171064703,56314171097471,56398983725439,56398983758207,56398983790975,56399322251647,56565020721535,56565020754303,56565020787071],"updated_at":"2026-01-27T18:42:17Z","market_locations_enabled":false,"market_id":382140642,"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":"2026-01-27T18:18:28Z","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":"2026-01-27T18:18:28Z","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":[55569712382335,55569712415103,55569712480639,55570017616255,55570017550719,55569712447871,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_b utton_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 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","billi ng_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.","disable_button_until_acknowledged":false,"preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"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,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regulaled up bottle when empty.\u003c\/li\u003e\n\u003cli\u003eFITS IN PACK POCKETS: Designed to fit in pack pockets when full and to roll up when empty for space saving storage.\u003c\/li\u003e\n\u003cli\u003eLIGHTWEIGHT \u0026amp; COMPACT: 50% lighter than a hard bottle and compresses down to pocket size when empty.\u003c\/li\u003e\n\u003cli\u003eFlexible handle for comfortable carrying, quick attachment and securing the rolled up bottle when empty\u003c\/li\u003e\n\u003cli\u003eDual-layer film laminate construction adds structure\u003c\/li\u003e\n\u003cli\u003eMade of ultra-durable, abrasion resistant TPU \u0026amp; RF welded seams for superior durability and elasticity\u003c\/li\u003e\n\u003cli\u003e100% BPA \u0026amp; PVC free, wide working temperature range (can be frozen - max temp 60° C \/ 140° F)\u003c\/li\u003e\n\u003cli\u003eCAPACITY: 1.5 L \/ 50 fl oz\u003c\/li\u003e\n\u003cli\u003eWEIGHT: 122 g \/ 4.3 oz\u003c\/li\u003e\n\u003cli\u003eDIMENSIONS: 250 mm x 115 mm \/ 9.8 in x 4.5 in\u003c\/li\u003e\n\ u003cli\u003eMATERIALS: TPU, POM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!----\u003e","published_at":"2024-12-08T20:03:20+00:00","created_at":"2024-07-13T15:20:24+01:00","vendor":"Hydrapack","type":"","tags":["bottles and cages","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":3000,"price_min":3000,"price_max":3000,"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":45694290821346,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":true,"taxable":true,"featured_image":null,"available":true,"name":"Hydrapak Flux 1.5L 2023","public_title":null,"options":["Default Title"],"price":3000,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","\/\/projektu003c\/li\u003e\n\u003cli\u003eFLEXIBLE BAIL HANDLE: For comfortable carrying, quick attachment and securing the rolled up bottle when empty.\u003c\/li\u003e\n\u003cli\u003eFITS IN PACK POCKETS: Designed to fit in pack pockets when full and to roll up when empty for space saving storage.\u003c\/li\u003e\n\u003cli\u003eLIGHTWEIGHT \u0026amp; COMPACT: 50% lighter than a hard bottle and compresses down to pocket size when empty.\u003c\/li\u003e\n\u003cli\u003eFlexible handle for comfortable carrying, quick attachment and securing the rolled up bottle when empty\u003c\/li\u003e\n\u003cli\u003eDual-layer film laminate construction adds structure\u003c\/li\u003e\n\u003cli\u003eMade of ultra-durable, abrasion resistant TPU \u0026amp; RF welded seams for superior durability and elasticity\u003c\/li\u003e\n\u003cli\u003e100% BPA \u0026amp; PVC free, wide working temperature range (can be frozen - max temp 60° C \/ 140° F)\u003c\/li\u003e\n\u003cli\u003eCAPACITY: 1.5 L \/ 50 fl oz\u003c\/li\u003e\n\u003cli\u003eWEIG HT: 122 g \/ 4.3 oz\u003c\/li\u003e\n\u003cli\u003eDIMENSIONS: 250 mm x 115 mm \/ 9.8 in x 4.5 in\u003c\/li\u003e\n\u003cli\u003eMATERIALS: TPU, POM\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c!----\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {45694290821346 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {45694290821346 : parseInt("1"),}; window._RestockRocketConfig.variantsPreorderCount = {45694290821346 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {45694290821346 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {45694290821346 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {45694290821346 : null,}; window._RestockRocketConfig.variantsShippingText = {45694290821346 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {45694290821346 : null,}; window._RestockRocketConfig.selected_variant_id = 45694290821346; 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/019bf9e0-3016-7510-aaea-4318e35b6645/restock-rocket-shopify-436/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019bf9e0-3016-7510-aaea-4318e35b6645/restock-rocket-shopify-436/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 stru cture'); 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.translations) { // Translations enabled but no translation data in metafield // 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() - updatedAt.getTime(); if (age <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 && 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; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { if (!settings || !settings.preorder_enabled) { return; } // Listen for stoq:preorder-api-ready event dispatched by preorder.js window.addEventListener('stoq:preorder-api-ready', function(event) { console.debug('STOQ - Preorder API ready, updating cart selling plans'); 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); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { cre ateRestockRocketScript(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}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:preorder-api-ready event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } deg);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-con tent:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoratioent: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%);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:trans lateX(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%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;}
tton_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_button_after_selector_collection":null,"insert_button_after_selector_index":null,"puShiftersh_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"enable_console_debug":false,"inline_form_enabled":false,"inline_form_selector":null,"inline_form_selector_type":"afterend","storefront_form_prefill_customer":true,"storefront_form_show_image":false,"storefront_form_text_color":"#202223","storefront_form_background_color":"#FFFFFF","storefront_form_border_radius":0,"market_setup_type":"single_market","shopify_app_id":5940125,"preorder_progress_bar_insert_selector":null,"preorder_progress_bar_insert_selector_type":"beforebegin","countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","cache":true,"cached_at":"2026-01-08T16:12:13.364Z","multi_language_enabled":false,"translation_locale":"en"};window._RestockRocketConfig.cachedPreorderVariantIds = {"preorder_variant_ids":[42167799447778,43916521013474,43934694998242,43934695031010,43934695620834,43935975440610,43935975473378,43935989399778,43935989432546,43935990284514,43935994118370,43935995625698,43935995855074,43936000835810,43936003195106,43936003227874,43936008012002,43936008Shimano U4000, 9-speed044770,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,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,439383087843
r items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_bar_border_radius":4,"preorder_progress_bar_show_percentage":false}];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._RestockRockRear derailleuretConfig.product = {"id":8640115376354,"title":"Hydrapak Flux 1.5L 2023","handle":"hydrapak-flux-1-5l-2023","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eFlexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by 50%. Topped with a dust cover and twist-drink nozzle for grab-and-go hydration, plus a bail handle to keep hydration secure in your hand or on your pack. The Flux stands upright like a hard bottle but when you finish your drink, this bottle packs down to pocket size.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHIGH FLOW NOZZLE: Twist to Drink Nozzle drinks like that of a traditional wide mouth bottle but with more flow and less splash.\u003c\/li\u003e\n\u003cli\u003eDUST COVER: Keeps dust off your drink nozzle. Quickly opens and closes the drink nozzle with one hand without any direct contact with dirty hands.\u003c\/li\u003e\n\u003cli\u003eFLEXIBLE BAIL HANDLE: For comfortable carrying, quick attachment and securing the rolride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465","\/\/projektride.co.uk\/cdn\/shop\/files\/15477.png?v=1720880465"],"featured_image":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","options":["Title"],"media":[{"alt":null,"id":34242081259746,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15475.png?v=1720880465","width":1080},{"alt":null,"id":34242081292514,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15476.png?v=1720880465","width":1080},{"alt":null,"id":34242081325282,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1080,"width":1080,"src":"\/\/projektride.co.uk\/cdn\/shop\/Shimano CUES U4000files\/15477.png?v=1720880465"},"aspect_ratio":1.0,"height":1080,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/15477.png?v=1720880465","width":1080}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eFlexible bottles get an upgrade. The Flux is shaped like a hard bottle, compresses like a softflask, and cuts weight by 50%. Topped with a dust cover and twist-drink nozzle for grab-and-go hydration, plus a bail handle to keep hydration secure in your hand or on your pack. The Flux stands upright like a hard bottle but when you finish your drink, this bottle packs down to pocket size.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eHIGH FLOW NOZZLE: Twist to Drink Nozzle drinks like that of a traditional wide mouth bottle but with more flow and less splash.\u003c\/li\u003e\n\u003cli\u003eDUST COVER: Keeps dust off your drink nozzle. Quickly opens and closes the drink nozzle with one hand without any direct contact with dirty hands.\
SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings 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 createRestockRocketScripCrankt(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:', ocketConfig.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('ProWheel alloy, 170 mm lengthNetwork 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.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocket
Chainring .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(90n:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:2ProWheel 38T narrow/wide steel, w/alloy guard0px;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:inherit;color:#000;display:flex;justify-cont
Cassette Shimano CUES LG300, LINKGLIDE, 11-36, 9-speed
Chain Shimano LG500, 9/10/11-speed
Pedal slip-proof pedals with reflectors
Max. chainring size 1x: 40T
Components
Saddle Bontrager Boulevard
Seatpost Alloy, suspension, 31.6 mm, 300 mm length
Handlebar Bar/stem w/ light mount
Grips Herrmans Clik, ergonomic, lock-on
Stem Integrated stem, 35 mm clamp
Brake Shimano MT200 hydraulic disc
*Brake rotor Size: S, M, L
Shimano RT70, CentreLock, 160 mm
Size: S, M, L
Shimano RT10, CenterLock, 160 mm
Rotor size Max brake rotor sizes: 160 mm front and rear
Accessories
*Light Size: S, M, L
Spanninga SOLO for e-bike
Size: S, M, L
Herrmans H-Black MR5-E, 140 Lumen, 40 Lux, LED, headlight
Kickstand Pletscher Comp Flex 18
Cargo rack MIK-compatible alloy rear rack
Mudguard SKS wide, plastic
Weight
Weight M - 25.40 kg / 56 lbs
Weight limit This bike has a maximum total weight limit (combined weight of bicycle, rider and cargo) of 136 kg (300 lb).

We reserve the right to make changes to the product information contained on this site at any time without notice, including with respect to equipment, specifications, models, colours, materials and pricing. Due to supply chain issues, compatible parts may be substituted at any time without notice. The prices shown are the manufacturer's suggested retail prices.

Bike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.

FAQ

Questions and answers