Genesis
img src="//projektride.co.uk/cdn/shop/files/DomaneSLR9-26-57942-A-Primary_small.avif?v=1764350329" alt="Trek - Domane SLR 9 Gen 4" class="mfp-zoom-in-cur" id="68886560899455"> { "@context": "http://schema.org", "@type": "Organization", "name": "ProjektRide","sameAs": [ null, null, null, null, null, null, null ], "url": "https:\/\/projektride.co.uk" }
Clothing and Protection
Early Rider See More
console.log("pr-product-page"); See More

Custom Builds Clothing See More
Socks
Header Image
<<
<<<
<<
Trek - Domane SLR 9 Gen 4Second-Hand Bikes
Custom Builds for sale
  

Brands
Submit Enve
Product Details Ortlieb Back
text-lighter-text\"\u003eDurable polyester fabric make this pannier a long lasting touring companion. The waterproof roll closure ensures safe and waterproof storage of food and equipment. With its QL2.1 fixing it is quickly mounted and taken off the bike rack. A shoulder strap provides carrying comfort when taken off the rack.\u003c\/div\u003e\n\u003cdiv class=\"text-lighter-text\"\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv class=\"text-lighter-text\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"heading-button flex min-h-[52px] w-full py-2.5 items-center\" type=\"button\"\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cbutton class=\"heading-button flex min-h-[52px] w-full py-2.5 items-center\" type=\"button\"\u003e\u003cspan class=\"ml-auto inline-block h-6 transition duration-300 rotate-180\"\u003e\u003csvg viewbox=\"0 0 32 32\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"h-full w-4 rotate-90 text-[#D31716]\"\u003e\u003cp
nt are both protected and easily accessible.\n\nDurable polyester fabric make this pannier a long lasting touring companion. The waterproof roll closure ensures safe and waterproof storage of food and equipment. With its QL2.1 fixing it is quickly mounted and taken off the bike rack. A shoulder strap provides carrying comfort when taken off the rack.\n\n\n\n\n\n","brand": { "@type": "Thing", "name": "ortlieb" },"offers": [{ "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 0.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/hire-ortlieb-40l-pannier-bags?variant=55162210320767" } ] } R9200, 11-34, 12-speed\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eChain\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eShimano Dura-Ace\/XTR M9100, 12-speed\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eMax. chainring size\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 p-2 font-normal border-b-2 border-gray-10\"\u003e1x: 48T, 2x: 52\/36\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-v-631a2fc2=\"\" id=\"pdl-collapse-item-qgw8ji\" class=\"pdl-collapse-item is-active\" data-name=\"bff5c89d-dfe8-4ef8-9ee1-e4b3e401e808\"\u003e\n\u003ch2 class=\"\"\u003e\u003cbutton id=\"pdl-collapse- nt are both protected and easily accessible.\n\nDurable polyester fabric make this pannier a long lasting touring companion. The waterproof roll closure ensures safe and waterproof storage of food and equipment. With its QL2.1 fixing it is quickly mounted and taken off the bike rack. A shoulder strap provides carrying comfort when taken off the rack.\n\n\n\n\n\n","brand": { "@type": "Thing", "name": "ortlieb" },"offers": [{ "@type" : "Offer","availability" : "http://schema.org/InStock", "price" : 0.0, "priceCurrency" : "GBP", "url" : "https:\/\/projektride.co.uk\/products\/hire-ortlieb-40l-pannier-bags?variant=55162210320767" } ] }
Open cart -padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\"\u003e\n\u003cdl class=\"font-body flex flex-row flex-wrap text-gray-80 text-lg\" aria-label=\"Specifications\"\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eWheel front\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eBontrager Aeolus RSL 51, OCLV Carbon, Tubeless Ready, 51 mm rim depth, 100x12 mm thru axle\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eWheel rear\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cdiv\u003eBo
See Morell-current pdl-collapse-item__icon is-active\"\u003e\u003cpath d=\"M0 0h24v24H0z\" fill=\"none\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/h2\u003e\n\u003cdiv data-v-0b4f5d85=\"\" id=\"pdl-collapse-content-hkkse6\" class=\"pdl-collapse-item__wrap\" role=\"region\" aria-hidden=\"false\" aria-labelledby=\"pdl-collapse-head-hkkse6\" data-old-padding-top=\"\" data-old-padding-bottom=\"\" data-old-overflow=\"\"\u003e\n\u003cdiv class=\"pdl-collapse-item__content is-active flex-row-reverse items-center font-heading font-bold text-lg border-b-2 focusing\"\u003e\n\u003cdl class=\"font-body flex flex-row flex-wrap text-gray-80 text-lg\" aria-label=\"Specifications\"\u003e\n\u003cdt class=\"flex-none w-full md:w-1\/5 mb-0 py-2 pr-1 font-medium border-b-2 md:border-r-2 border-gray-10\"\u003eSaddle\u003c\/dt\u003e\n\u003cdd class=\"flex-none w-full md:w-4\/5 font-normal\"\u003e\n\u003cdiv class=\"p-2 border-b- Hire this equipment along with any bike hire!

Checkout the hire items in your basket and pay with all major credit cards, PayPal or Klarna. Payments can be made in store without going through the online shop. Please call the shop to book out in-person.
3. Pay Online or In-Store
Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable Checkout the hire items in your basket and pay with all major credit cards, PayPal or Klarna. Payments can be made in store without going through the online shop. Please call the shop to book out in-person.
£0.00img src="//projektride.co.uk/cdn/shop/files/confirmation_512x512.png?v=1690612532" alt="" class="icons-row__image">
4. Wait For Confirmationimg src="//projektride.co.uk/cdn/shop/files/confirmation_512x512.png?v=1690612532" alt="" class="icons-row__image">
Wait for one of the team to confirm your booking. This is separate from the payment confirmation. A confirmation email will be sent within 24 hours, during shop opening times.
4. Wait For Confirmation
Wait for one of the team to confirm your booking. This is separate from the payment confirmation. A confirmation email will be sent within 24 hours, during shop opening times.
#FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }img src="//projektride.co.uk/cdn/shop/files/collection_512x512.png?v=1690612759" alt="" class="icons-row__image">
5. Collect In Storeimg src="//projektride.co.uk/cdn/shop/files/collection_512x512.png?v=1690612759" alt="" class="icons-row__image">
Collect your bike in store alongside all optional equipment. Please bring a form of identification (Driver's licence or Passport) to complete the booking.
5. Collect In Store
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');"> Collect your bike in store alongside all optional equipment. Please bring a form of identification (Driver's licence or Passport) to complete the booking.
>
img src="//projektride.co.uk/cdn/shop/files/ride_confident_512x512.png?v=1690612532" alt="" class="icons-row__image">
6. Ride Confident!
ProjektRideEnjoy your bike for the hire period! The bike must be returned to the store during opening hours of the return date.

#FeaturedImage--template--16831240536290__1d6422c8-bf97-41bc-a8a2-12b01ca58992 { --overlay-opacity: 0.2; }
FAQ
Questions and answers
div class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/




t":"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},"stor
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,"push_enabled":false,"push_allowed":false,"storefront_fo
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
lse,"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,43936008044770,43936022757602,43936022790370,43936022823138,4
322677986,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,43981989085410,43981989118178,43981989150946,43981990887650,43981990920418,43981990953186,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,450687539

Carbon, 31.8 mm, Di2 routing, 80 mm reach, 124 mm drop, 37 cm control width, 40 cm width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003e54, 56, 58\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5319884\" class=\"block underline\"\u003eBontrager Aero Pro, OCLV Carbon, 31.8 mm, Di2 routing, 80 mm reach, 124 mm drop, 39 cm control width, 42 cm width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-2 border-b-2 border-gray-10\"\u003e\n\u003cspan\u003eSize:\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003e60, 62\u003cbr\u003e\u003c\/span\u003e\u003ca href=\"https:\/\/www.trekbikes.com\/b2b\/gb\/en_GB\/p\/5319885\" class=\"block underline\"\u003eBontrager Aero Pro, OCLV Carbon, 31.8 mm, Di2 routing, 80 mm reach, 124 mm drop, 41 cm control width, 44 cm width\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/dd\u003e\y-10\"\u003eMax brake rotor sizes: 160 mm front and rear\u003c\/dd\u003e\n\u003c\/dl\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp data-v-631a2fc2=\"\" class=\"mt-2 mb-1\"\u003eWe 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.\u003c\/p\u003e\n\u003cp data-v-631a2fc2=\"\" class=\"mb-1\"\u003eBike and frame weights are based on pre-production painted frames at time of publication. Weights may vary in final production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {56490004742527 : "deny",56490004775295 : "deny",56490004808063 : "deny",56490004840831 : "deny",56490004873599 : "deny",56490004906367 : "deny",56490004939135 : "deny",56490004971903 : "deny",56
: parseInt("0"),56490005168511 : parseInt("0"),56490005201279 : parseInt("0"),56490005234047 : parseInt("0"),56490005266815 : parseInt("0"),56490005299583 : parseInt("0"),56490005332351 : parseInt("0"),56490005365119 : parseInt("0"),56490005397887 : parseInt("0"),56490005430655 : parseInt("0"),56490005463423 : parseInt("0"),56490005496191 : parseInt("0"),56490005528959 : parseInt("0"),56490005561727 : parseInt("0"),56490005594495 : parseInt("0"),56490005627263 : parseInt("0"),56490005660031 : parseInt("0"),56490005692799 : parseInt("0"),56490005725567 : parseInt("0"),56490005758335 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {56490004742527 : parseInt(""),56490004775295 : parseInt(""),56490004808063 : parseInt(""),56490004840831 : parseInt(""),56490004873599 : parseInt(""),56490004906367 : parseInt(""),56490004939135 : parseInt(""),56490004971903 : parseInt(""),56490005004671 : parseInt(""),56490005037439 : parseInt(""),56490005070207 : parseInt(""),56490005102975 : parseInt(""
6490005266815 : null,56490005299583 : null,56490005332351 : null,56490005365119 : null,56490005397887 : null,56490005430655 : null,56490005463423 : null,56490005496191 : null,56490005528959 : null,56490005561727 : null,56490005594495 : null,56490005627263 : null,56490005660031 : null,56490005692799 : null,56490005725567 : null,56490005758335 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {56490004742527 : parseInt(""),56490004775295 : parseInt(""),56490004808063 : parseInt(""),56490004840831 : parseInt(""),56490004873599 : parseInt(""),56490004906367 : parseInt(""),56490004939135 : parseInt(""),56490004971903 : parseInt(""),56490005004671 : parseInt(""),56490005037439 : parseInt(""),56490005070207 : parseInt(""),56490005102975 : parseInt(""),56490005135743 : parseInt(""),56490005168511 : parseInt(""),56490005201279 : parseInt(""),56490005234047 : parseInt(""),56490005266815 : parseInt(""),56490005299583 : parseInt(""),56490005332351 : parseInt(""),56490005365119 : parseInt(""),5649000539
627263 : null,56490005660031 : null,56490005692799 : null,56490005725567 : null,56490005758335 : null,}; window._RestockRocketConfig.variantsShippingText = {56490004742527 : "",56490004775295 : "",56490004808063 : "",56490004840831 : "",56490004873599 : "",56490004906367 : "",56490004939135 : "",56490004971903 : "",56490005004671 : "",56490005037439 : "",56490005070207 : "",56490005102975 : "",56490005135743 : "",56490005168511 : "",56490005201279 : "",56490005234047 : "",56490005266815 : "",56490005299583 : "",56490005332351 : "",56490005365119 : "",56490005397887 : "",56490005430655 : "",56490005463423 : "",56490005496191 : "",56490005528959 : "",56490005561727 : "",56490005594495 : "",56490005627263 : "",56490005660031 : "",56490005692799 : "",56490005725567 : "",56490005758335 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {56490004742527 : null,56490004775295 : null,56490004808063 : null,56490004840831 : null,56490004873599 : null,56490004906367 : null,56490004939135 : null,5
_RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019c4de0-280f-760f-b566-2e2f8e837eb8/restock-rocket-shopify-454/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 const LIQUID_CACHE_MAX_AGE = 2 * 60 * 60; // 2 hours in seconds // Calculate Liquid cache freshness once at initialization const liquidRenderedAt = window._RestockRocketConfig.liquidRenderedAt; // Validate timestamp and calculate cache age if (!liquidRenderedAt || typeof liquidRenderedAt !== 'number' || isNaN(liquidRenderedAt)) { console.debug('STOQ - Invalid or missing liquidRenderedAt timestamp, assuming fresh'); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { const now = Math.fl
<
<
'); 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.normalize
<
!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
oid 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._RestockRocket
rk 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._RestockRocketConfi
stockRocketScript(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); } }
.restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:lin
ine-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-content:c
(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;}


KVF aero carbon seat post, 20 mm offset, 280 mm length label for="quantity--template--24610452406655__main">Quantity< >
Select variant dropdown Large / Blue - Sold Out
Large / Grey - £2,025.00 GBPExtra Large / Blue - £2,025.00 GBP
Extra Large / Grey - Sold Out
Quantity:
1
1


<<

ge","Blue"],"price":202500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":46044465692898,"title":"Extra Large \/ Grey","option1":"Extra Large","option2":"Grey","option3":null,"sku":"5268407","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Trek Dual Sport+ 2 - Extra Large \/ Grey","public_title":"Extra Large \/ Grey","options":["Extra Large","Grey"],"price":202500,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}], templateName: 'product', shopLocale: 'en', dataKey: 'top-strip-promotion-badge', storefrontCurrency: 'GBP', storefrontCountry: 'GB', storefrontLanguage: 'en', shopDomain: 'projektride.co.uk', variantPrice: '202500', cartPrice: '0', selector: 'shopify-osm-Ac2tTRTlRaTI0R3BZb__klarna_on_site_mes




console.log("pr-product-page");<

// Create "window.Shoppad.apps.infiniteoptions" object if it doesn't already exist 'Shoppad.apps.infiniteoptions'.split('.').reduce(function (o, x) { if (!o[x]) { o[x] = {}; } return o[x]; }, window); // Note we are using the theme app extension window.Shoppad.apps.infiniteoptions.themeAppExtensionActive = true; Small