• .

    {"id":14882914664831,"title":"Kona Lana'l - MTB Hardtail - Grey","handle":"kona-lanal-mtb-hardtail-grey","description":"\u003csection id=\"shopify-section-template--15618865397804__562a6646-41fc-4d3b-9fe0-4c3d22334652\" class=\"shopify-section shopify-section--custom-liquid\"\u003e\n\u003cdiv class=\"section section-full bg-custom text-custom\"\u003e\n\u003cdiv class=\"custom-product-description\"\u003eWe all remember our first mountain bike. For many of us it was a bike like the Lana’i. Affordable enough not to feel too risky but stocked with components that give you the freedom to explore off-road. The Lana’i feat
    u003ctd class=\"data\"\u003eKona 6061 Aluminum Butted\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eSIZES\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eXS (26\"), S (27.5\"), M (27.5\"), L (29\"), XL (29\")\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eREAR SHOCK\u003c\/td\u003e\n\u003ctd class=\"data\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eFORK\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eSuntour XCT30 or XCM DS Coil Spring 100mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eCRANKARMS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eShimano Altus or Prowheel CW TM-CY10\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eCHAINRINGS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003e22\/36t\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eB
    "\u003eFRONT HUB\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eJoytech or Solon 100x9mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eREAR HUB\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eJoytech or Solon 135x10mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eSPOKES\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eStainless Black 14g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eRIMS\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eAlex DP27K or Jalco DD32\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\"\u003e\n\u003ctd class=\"label\"\u003eFRONT TIRE\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eWTB Trail Boss or Maxxis Rekon 29\/27.5\/26x2.25\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"label\"\u003eREAR TIRE\u003c\/td\u003e\n\u003ctd class=\"data\"\u003eWTB Trail Boss or Maxxis Rekon 29\/27.5\/26x2.25\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr
    xable":true,"featured_image":null,"available":false,"name":"Kona Lana'l - MTB Hardtail - Grey - XS","public_title":"XS","options":["XS"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54900700774783,"title":"S","option1":"S","option2":null,"option3":null,"sku":"KN23B-LANA-SM-GR","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lana'l - MTB Hardtail - Grey - S","public_title":"S","options":["S"],"price":49900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":54900700807551,"title":"M","option1":"M","option2":null,"option3":null,"sku":"KN23B-LANA-MD-GR","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Lana'l - MTB Hardtail - Grey - M","public_title":"M","options":["M"],"price":49900,"weight":0,"compare_at_price":nul
    Header Image

    ta-mce-fragment=\"1\"\u003eAvailable colours*\u003c\/strong\u003e: Metallic grey \u0026amp; neon blue and Metallic grey \u0026amp; neon red\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003csmall data-mce-fragment=\"1\"\u003e*Actual colours may vary. This is due to the fact that every computer monitor has a different capability to display colours and that everyone sees these colours differently. Our photos show the samples as life-like as possible, but please understand the actual colour may vary slightly as paint bat\u003c\/small\u003e\u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {54939171160447 : "deny",54939171193215 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {54939171160447 : parseInt("0"),54939171193215 : parseInt("0"),}; window._RestockRocketConfig.variantsPreorderCount = {54939171160447 : parseInt(""),54939171193215 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {54939171160447 : null,5493917119

    a22-bdbf-9ceff49063ad/restockrocket-1-402/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.translations) { // Translations enabled but no translation data in metafield

    e(); if (age

    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 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 ||
    ]; 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

    d 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_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._R
    } // 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 selling plan updates needed'); } }) .catch(error => {
    <
    t:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.:"","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_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_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 clea ing_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","
    tConfig.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":14904948490623,"title":"Frog Road 67","handle":"frog-road-67","description":"\u003cp\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eWhy buy a Frog Road 67?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eLightweight 24-inch road bike for road racing, cyclocross \u0026amp; triathlons\u003c\/li\u003e\n\u003cl 003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe 24-inch Frog Road 67 kids’ bike is ideal for 8 to 12-year-olds who participate in road racing, cyclocross and triathlons, or who just simply love road riding. \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThis premium children’s road bike is the bike of choice for young, mult-discipline racers. It has a super-lightweight frame, weighing just 8.8kg helping children increase their distance, speed, efficiency and confidence for a high-performance ride. \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThis kids’ road bike comes with two sets of tyres, slick Kenda road tyres and Kenda cyclocross tyres with more grip, child-specific short drop handlebars for ease of handling and dual braking control, broadening the bikes capabilities for when in the road-riding position. \u003c\/p\u
    Frog
    • img src="//projektride.co.uk/cdn/shop/files/L-FC53_media-TEAL-0.default_98x.jpg?v=1736263116" alt="" class="product-single__thumbnail-img"> Kona Home /
    SurlyAll ProductsFrog City 53

    Other

    See MoreInsure Your Bike< <

    Custom Builds

    Parts & ComponentsC

    See More

    Brands

    See More

    Hope

    Enve CockpitSee More

    Handlebars

    Stems

    Grips & Bar-Tape

    Headsets
    Complete Brakes
    Brake Rotors
    Brake Pads
    that provide more range for moderate speeds, & a floating chain glider to prevent clothing from getting stuck & chain from getting soiled.
    > Gloves
    >

    Socks
     
    Get sized for cycling success