{"product_id":"marmot-airexchange-upf-40-short-7","title":"Marmot AirExchange UPF 40 Short 7\"","description":"\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003cstyle\u003e\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@400;600;700;800\u0026family=Barlow:wght@300;400;500\u0026display=swap');\n:root {\n  --black: #0a0a0a; --white: #ffffff; --mid: #f5f5f5;\n  --border: #e0e0e0; --text-muted: #777; --text-body: #222;\n}\n* { box-sizing: border-box; margin: 0; padding: 0; }\n.spur-wrap { font-family: 'Barlow', sans-serif; background: var(--white); color: var(--black); max-width: 1100px; margin: 0 auto; padding: 48px 24px; }\n.spur-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; border-bottom: 1px solid var(--border); padding-bottom: 24px; flex-wrap: wrap; gap: 12px; }\n.spur-title { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(28px, 5vw, 48px); font-weight: 800; letter-spacing: -0.02em; line-height: 1; text-transform: uppercase; }\n.spur-meta { font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted); }\n.spur-tabs { display: flex; gap: 4px; margin-bottom: 32px; }\n.spur-tab { font-family: 'Barlow Condensed', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 10px 24px; background: var(--mid); color: var(--text-muted); border: 1px solid var(--border); cursor: pointer; transition: all 0.15s; border-radius: 2px; }\n.spur-tab:hover { color: var(--black); border-color: #aaa; }\n.spur-tab.active { background: var(--black); color: var(--white); border-color: var(--black); }\n.spur-panel { display: none; }\n.spur-panel.active { display: block; }\n.spec-category { font-family: 'Barlow Condensed', sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--black); padding: 20px 0 8px; border-bottom: 2px solid var(--black); margin-bottom: 0; }\n.spec-row { display: grid; grid-template-columns: 200px 1fr; border-bottom: 1px solid var(--border); }\n.spec-row:hover { background: var(--mid); }\n.spec-key { font-size: 12px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); padding: 12px 16px 12px 0; align-self: start; }\n.spec-val { font-size: 14px; font-weight: 300; color: var(--text-body); padding: 12px 0; line-height: 1.5; }\n@media (max-width: 600px) { .spec-row { grid-template-columns: 1fr; } .spec-key { padding-bottom: 2px; } .spec-val { padding-top: 0; padding-bottom: 12px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"spur-wrap\"\u003e\n\u003cdiv class=\"spur-header\"\u003e\n\u003cdiv class=\"spur-title\"\u003eAirExchange UPF 40 Short 7\"\u003c\/div\u003e\n\u003cdiv class=\"spur-meta\"\u003eGORE-TEX lightweight breathable shorts for climbing\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spur-tabs\"\u003e\n\u003cbutton class=\"spur-tab active\" onclick=\"showPanel('description', this)\"\u003eDescription\u003c\/button\u003e\n\u003cbutton class=\"spur-tab\" onclick=\"showPanel('features', this)\"\u003eFeatures\u003c\/button\u003e\n\u003cbutton class=\"spur-tab\" onclick=\"showPanel('specs', this)\"\u003eSpecs\u003c\/button\u003e\n\u003cbutton class=\"spur-tab\" onclick=\"showPanel('care', this)\"\u003eCare\u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"panel-description\" class=\"spur-panel active\"\u003e\n\u003cdiv style=\"padding:16px 0;\"\u003e\u003cp style=\"font-size:14px;font-weight:300;color:var(--text-body);line-height:1.6;\"\u003eTough yet lightweight, these shorts combine the breathable, quick-dry comfort of AirExchange with UPF 40 sun protection for coverage from blazing rays. A snap closure, internal drawcord, and elastic-back waistband let you dial in the right fit, whether you're tearing up trail or sending up routes.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"panel-features\" class=\"spur-panel\"\u003e\n\u003cdiv class=\"spec-category\"\u003eShell\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eShell\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eAirExchange fabric is lightweight, breathable, and quick-drying with UPF protection for long, hot days outside\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-category\"\u003ePockets\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003ePockets\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eAngled drop-in hand pockets are easy to access even when wearing a pack or harness\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003ePockets\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eZip-secure back pocket helps you safely stash your keys, wallet, or phone\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-category\"\u003eHem\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eHem\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eSnap closure with internal drawcord lets you adjust the fit depending on activity\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-category\"\u003eSun Protection\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eSun Protection\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eUPF 40 sun protection blocks blazing rays so you don't burn out\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-category\"\u003eOther\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eOther\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eHanger loop on back allows for easy air-drying\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eOther\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eLast Offered at Full Price: 8\/19\/25\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"panel-specs\" class=\"spur-panel\"\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eProduct Care:\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eMachine Wash Cold, Tumble Dry Low, Cool Iron If Needed, Do Not Bleach, Do Not Dry Clean\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eInseam:\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003e7in\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eMain Fabric:\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003e100% Recycled Polyester, Dobby, 95g\/sqm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eStyle Number:\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eM16052\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eProduct Weight:\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003e0 lbs 6 oz , 158.0 g\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"panel-care\" class=\"spur-panel\"\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-key\"\u003eProduct Care\u003c\/div\u003e\n\u003cdiv class=\"spec-val\"\u003eMachine Wash Cold, Tumble Dry Low, Cool Iron If Needed, Do Not Bleach, Do Not Dry Clean\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\nfunction showPanel(id, btn) {\n  document.querySelectorAll('.spur-panel').forEach(p =\u003e p.classList.remove('active'));\n  document.querySelectorAll('.spur-tab').forEach(t =\u003e t.classList.remove('active'));\n  document.getElementById('panel-' + id).classList.add('active');\n  btn.classList.add('active');\n}\n\u003c\/script\u003e","brand":"Marmot","offers":[{"title":"Thunderhead \/ S","offer_id":51673575522624,"sku":"M1605224369S","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Thunderhead \/ M","offer_id":51673575555392,"sku":"M1605224369M","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Thunderhead \/ L","offer_id":51673575588160,"sku":"M1605224369L","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Thunderhead \/ XL","offer_id":51673575620928,"sku":"M1605224369XL","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Thunderhead \/ XXL","offer_id":51673575653696,"sku":"M1605224369XXL","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Claystone \/ S","offer_id":51673575686464,"sku":"M1605224377S","price":58.46,"currency_code":"USD","in_stock":false},{"title":"Claystone \/ M","offer_id":51673575719232,"sku":"M1605224377M","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Claystone \/ L","offer_id":51673575752000,"sku":"M1605224377L","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Claystone \/ XL","offer_id":51673575784768,"sku":"M1605224377XL","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Claystone \/ XXL","offer_id":51673575817536,"sku":"M1605224377XXL","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Nori \/ S","offer_id":51673575850304,"sku":"M160524859S","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Nori \/ M","offer_id":51673575883072,"sku":"M160524859M","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Nori \/ L","offer_id":51673575915840,"sku":"M160524859L","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Nori \/ XL","offer_id":51673575948608,"sku":"M160524859XL","price":58.46,"currency_code":"USD","in_stock":true},{"title":"Nori \/ XXL","offer_id":51673575981376,"sku":"M160524859XXL","price":58.46,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0446\/7487\/5549\/files\/M1605224369_901338c0-b835-490a-b1e7-6dd34397a728.jpg?v=1776373436","url":"https:\/\/spokex.com\/products\/marmot-airexchange-upf-40-short-7","provider":"SX Collective","version":"1.0","type":"link"}