{"product_id":"zzz-flexi-30-rebuild-test","title":"ZZZ TEST - Flexi 30 Rebuild (DELETE ME)","description":"\u003cstyle\u003e\n.kuvr-f30-ph{width:100%;height:auto;display:block;border-radius:12px}\n.pfs__content{display:flex;flex-direction:column;gap:32px}\n.kuvr-pd-row:has(.pfs__content){align-items:center}\n.feat{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}\n.feat__item{display:flex;align-items:center;gap:12px;padding:15px 0}\n.feat__item--rule{border-bottom:1px solid rgba(0,0,0,.08)}\n.feat__tick{flex:none;width:20px;height:20px;color:#16a094}\n.feat__tick svg{width:100% !important;height:100% !important;display:block}\n.feat__tick svg path{fill:none !important;stroke:currentColor !important}\n.feat__label{font:400 17px\/1.35 Lato,sans-serif;color:#1a1a1a}\n.kuvr-clear-video{position:relative;width:100%;aspect-ratio:16\/9;border-radius:12px;overflow:hidden}\n.kuvr-clear-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}\n\/* uses band — copied like-for-like from the Clear Kuvr Custom rebuild (Duncan: \"you literally just need to copy it\") *\/\n.uses__card){align-items:center}\n.uses__card{background:#fafaf7;border-radius:20px;box-shadow:0 6px 24px rgba(0,0,0,.05);padding:40px 44px;width:100%}\n.uses__inner{max-width:none;margin:0;display:grid;grid-template-columns:minmax(280px,1fr) 1.4fr;gap:64px;align-items:start}\n.uses__intro{display:flex;flex-direction:column;gap:12px}\n.uses__eyebrow{font:700 12px\/1 Lato,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#006f6c}\n.uses__title{margin:0;color:#1a1a1a}\n.uses__title em{font-style:italic}\n.uses__lede{margin:8px 0 0;font:400 17px\/1.55 Lato,sans-serif;color:#4a4a4a}\n.uses__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:48px}\n.uses__item{display:flex;align-items:center;gap:16px;padding:20px 0}\n.uses__item--rule{border-bottom:1px solid rgba(0,0,0,.08)}\n.uses__icon{flex:none;width:28px;height:28px;color:#006f6c}\n.uses__icon svg{width:100%;height:100%;display:block}\n.uses__glyph{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}\n.uses__glyph path,.uses__glyph circle,.uses__glyph line{fill:none !important;stroke:currentColor !important}\n.uses__label{font:700 17px\/1.3 Lato,sans-serif;color:#1a1a1a}\n.kuvr-pd-row:has(.uses__card){align-items:center}\n\/* spec comparison (was a JS tab widget) *\/\n.kspec{width:100%;border-collapse:collapse;margin-top:8px;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04)}\n.kspec th,.kspec td{padding:12px 14px;text-align:left;border-bottom:1px solid #efece2;font:400 15px\/1.4 Lato,sans-serif;color:#3c3c3c}\n.kspec th{font:400 18px\/1.2 'Playfair Display',serif;color:#111;border-bottom:2px solid #12664f}\n.kspec th em{font-style:italic}\n.kspec td:first-child{color:#6b6b6b;width:38%}\n.kspec tr:last-child td{border-bottom:0}\n.kspec__intro{font:italic 14px\/1.4 Lato,sans-serif;color:#6b6b6b}\n\/* header cards — same treatment as the Screen \u0026 Tarpaulin Fabrics page (kuvr-modal fabrics table) *\/\n.kspec th.kspec__blank,.kspec th.kspec__card{background:transparent;padding:16px 8px 14px;border-bottom:0;vertical-align:top}\n.kspec th.kspec__card:last-child{padding-right:16px}\n.kspec th.kspec__blank{padding-left:16px}\n.kspec__cardin{height:190px;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:0 22px 22px;background-size:cover;background-position:right center;text-align:left}\n.kspec__card--flexi .kspec__cardin{background-position:right bottom;background-image:linear-gradient(rgba(0,0,0,0) 22%,rgba(0,0,0,.72)),url('https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/files\/fabric-guide-clear-flexi-30.png?v=1785262350')}\n.kspec__card--ultra .kspec__cardin{background-image:linear-gradient(rgba(0,0,0,0) 22%,rgba(0,0,0,.72)),url('https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/files\/fabric-guide-clear-ultra-50.png?v=1785262016')}\n.kspec__brand{font:400 26px\/1.1 'Playfair Display',serif;color:#fff;display:block}\n.kspec__brand em{font-style:italic}\n.kspec__card .kspec__intro{display:block;margin-top:8px;font:500 15px\/1.35 Lato,sans-serif;font-style:normal;color:#fff}\n@media(max-width:600px){.kspec th.kspec__blank,.kspec th.kspec__card{padding:10px 4px 10px}.kspec th.kspec__card:last-child{padding-right:10px}.kspec th.kspec__blank{padding-left:10px}.kspec__cardin{height:120px;padding:0 12px 12px;background-position:center}.kspec__brand{font-size:22px}.kspec__card .kspec__intro{display:none}}\n.kspec__stars .ks{width:16px;height:16px;vertical-align:-3px;margin-right:1px}\n.kfc{--kuvr-teal:#006f6c;--kuvr-teal-900:#00312f;--kuvr-muted:#878787;--r-card:10px;--shadow-card:0 1px 2px rgba(0,0,0,.04);--shadow-raise:0 10px 28px rgba(0,0,0,.10);display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;margin:0}\n.kfc__handle svg{width:15px !important;height:15px !important}\n.kfc__stage{position:relative;width:100%;aspect-ratio:4\/3;border-radius:var(--r-card);overflow:hidden;background:var(--kuvr-teal-900);cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:var(--shadow-card),var(--shadow-raise)}\n.kfc__img{position:absolute;left:0;bottom:0;width:100%;height:auto;pointer-events:none}\n.kfc__top{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos,50%))}\n.kfc__divider{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;left:var(--pos,50%);background:rgba(255,255,255,.92);pointer-events:none;box-shadow:0 0 12px rgba(0,0,0,.3)}\n.kfc__handle{position:absolute;top:50%;left:var(--pos,50%);transform:translate(-50%,-50%);width:62px;height:62px;border-radius:999px;background:var(--kuvr-teal);border:2px solid rgba(255,255,255,.9);color:#fff;display:flex;align-items:center;justify-content:center;gap:1px;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.3)}\n.kfc__handle svg{fill:none}\n.kfc__scrim{position:absolute;left:0;right:0;bottom:0;height:38%;pointer-events:none;background:linear-gradient(to top,rgba(0,49,47,.72),rgba(0,49,47,0))}\n.kfc__label{position:absolute;bottom:22px;display:flex;flex-direction:column;gap:2px;pointer-events:none}\n.kfc__label--left{left:24px}\n.kfc__label--right{right:24px;align-items:flex-end}\n.kfc__eyebrow{font:700 10px\/1 Lato,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}\n.kfc__name{font:400 21px\/1.1 'Playfair Display',serif;letter-spacing:-.01em;color:#fff}\n.kfc__name em{font-style:italic}\n.kfc__hint{margin:0;font:400 14px\/1.4 Lato,sans-serif;color:var(--kuvr-muted)}\n.kfc__handle{width:54px;height:54px}\n.kfc__name{font-size:19px}\n.kfc__label--left{left:18px}\n.kfc__label--right{right:18px}\n.kfc__label{bottom:18px}\n.kfc__stage');\n  var start = Math.min(100, Math.max(0, parseFloat(root.dataset.start || '50')));\n  var pos = start, dragging = false, raf = null, timers = [], io = null;\n  function paint(p) { pos = p; stage.style.setProperty('--pos', p + '%'); }\n@media(max-width:991px){.kuvr-pd-row{align-items:stretch!important}.kuvr-pd-col{width:100%!important}.uses__intro{text-align:center;align-items:center}.uses__lede{text-align:center}}\n@media (max-width:900px){.uses__card{padding:40px 28px;border-radius:16px}.uses__inner{grid-template-columns:1fr;gap:40px}}\n@media (max-width:560px){.uses__list{grid-template-columns:1fr;column-gap:0}.uses__item{padding:16px 0;border-bottom:1px solid rgba(0,0,0,.08)}.uses__item:last-child{border-bottom:0}}\n@media(max-width:600px){.feat{grid-template-columns:1fr;column-gap:0}.feat__item{border-bottom:1px solid rgba(0,0,0,.08)}.feat__item:last-child{border-bottom:0}.kspec th,.kspec td{padding:10px 8px;font-size:14px}}\n\u003c\/style\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--grey\" data-section=\"description\"\u003e\u003cdiv class=\"kuvr-pd-inner\"\u003e\u003cdiv class=\"kuvr-pd-row\"\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\u003cimg class=\"kuvr-f30-ph\" alt=\"Flexi 30 clear tarpaulin\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/products\/flexi30-logo.jpg?v=1627749998\" width=\"1000\" height=\"1000\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\n\u003ch3 class=\"kuvr-pd-heading\"\u003eLow cost clear tarpaulins\u003c\/h3\u003e\n\u003cp class=\"kuvr-pd-text\"\u003eOur Flexi 30 Clear Tarpaulins are ideal for temporary coverage of all kinds and are supplied in a range of standard sizes.\u003c\/p\u003e\n\u003cp class=\"kuvr-pd-text\"\u003eFlexi 30 refers to the clear fabric we use to manufacture these tarpaulins. It's a supple and flexible 320gsm PVC supplied with a white re-enforced edge and rust resistant brass plated eyelets spaced at approximately 4ft (120cm) intervals.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--white\"\u003e\u003cdiv class=\"kuvr-pd-inner\"\u003e\u003cdiv class=\"kuvr-pd-row kuvr-pd-row--reverse\"\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\u003cimg class=\"kuvr-f30-ph\" alt=\"Flexi 30 clear tarpaulin\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/products\/kuvr-test.jpg?v=1628956292\" width=\"1000\" height=\"1000\" loading=\"lazy\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\n\u003ch3 class=\"kuvr-pd-heading\"\u003eWhy choose Flexi 30?\u003c\/h3\u003e\n\u003cdiv class=\"pfs__content\"\u003e\u003cul class=\"feat\"\u003e\n\u003cli class=\"feat__item feat__item--rule\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003eTransform outdoor spaces\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"feat__item feat__item--rule\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003eProtect from wind and rain\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"feat__item feat__item--rule\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003eThermally insulating\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"feat__item feat__item--rule\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003eFast \u0026amp; free delivery\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"feat__item\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003e6 month warranty\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"feat__item\"\u003e\n\u003cspan class=\"feat__tick\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M20 6 9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"feat__label\"\u003eWaterproof and UV protected\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--grey\"\u003e\u003cdiv class=\"kuvr-pd-inner\"\u003e\n\u003ch3 class=\"kuvr-pd-heading\" style=\"text-align:center\"\u003eFlexi 30 vs Ultra 50 at a glance\u003c\/h3\u003e\n\u003cp class=\"kuvr-pd-text\" style=\"text-align:center;max-width:820px;margin:0 auto 24px\"\u003eFlexi 30 is the fabric these standard-size tarpaulins are made from. Ultra 50 is our thicker, clearer fabric — available through \u003ca href=\"https:\/\/kuvr.co\/products\/clear\"\u003eClear Kuvr Custom\u003c\/a\u003e.\u003c\/p\u003e\n\u003ctable class=\"kspec\"\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\" class=\"kspec__blank\"\u003e\u003c\/th\u003e\n\u003cth scope=\"col\" class=\"kspec__card kspec__card--flexi\"\u003e\u003cdiv class=\"kspec__cardin\"\u003e\n\u003cstrong class=\"kspec__brand\"\u003eFlexi \u003cem\u003e30\u003c\/em\u003e\u003c\/strong\u003e\u003cspan class=\"kspec__intro\"\u003eSupple and flexible as the name suggests! Flexi 30 is ideal for temporary coverage of all kinds.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/th\u003e\n\u003cth scope=\"col\" class=\"kspec__card kspec__card--ultra\"\u003e\u003cdiv class=\"kspec__cardin\"\u003e\n\u003cstrong class=\"kspec__brand\"\u003eUltra \u003cem\u003e50\u003c\/em\u003e\u003c\/strong\u003e\u003cspan class=\"kspec__intro\"\u003eUltra 50 is as clear as it comes! A thick and durable material, ideal for pergola and veranda covers.\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eThickness\u003c\/td\u003e\n\u003ctd\u003e~0.3mm\u003c\/td\u003e\n\u003ctd\u003e~0.5mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e~320gsm\u003c\/td\u003e\n\u003ctd\u003e~550gsm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRe-enforced hems\u003c\/td\u003e\n\u003ctd\u003e40mm white hem\u003c\/td\u003e\n\u003ctd\u003e40mm clear hem\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEyelets\u003c\/td\u003e\n\u003ctd\u003eBrass, 12mm internal dia.\u003c\/td\u003e\n\u003ctd\u003eBrass, 12mm internal dia.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTransparency rating\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"4 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#d9d9d9;stroke:#d9d9d9\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"5 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDurability rating\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"4 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#d9d9d9;stroke:#d9d9d9\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"5 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLow temp performance\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"5 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"kspec__stars\" aria-label=\"4 out of 5\"\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#12664f;stroke:#12664f\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003csvg class=\"ks\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath style=\"fill:#d9d9d9;stroke:#d9d9d9\" d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eUV Inhibitor\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWaterproof\u003c\/td\u003e\n\u003ctd\u003e100%\u003c\/td\u003e\n\u003ctd\u003e100%\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWarranty\u003c\/td\u003e\n\u003ctd\u003e6 months\u003c\/td\u003e\n\u003ctd\u003e1 year\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--white\"\u003e\n\u003cdiv class=\"kuvr-pd-inner\"\u003e\n\u003cdiv class=\"kuvr-pd-row kuvr-pd-row--reverse\"\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\n\u003cdiv class=\"uses__intro\"\u003e\n\u003cspan class=\"uses__eyebrow\"\u003eWhat people cover\u003c\/span\u003e\n\u003ch3 class=\"uses__title kuvr-pd-heading\"\u003eOne cover, one heck of a lot of \u003cem\u003euses\u003c\/em\u003e!\u003c\/h3\u003e\n\u003cp class=\"uses__lede\"\u003eA clear tarpaulin does more jobs than most people expect. Ours are used as gazebo side walls, chicken-run and kennel covers, market-stall screens, caravan awnings and quick temporary shelter for camping, log stores and building work. All sizes are in stock and ready to go.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-col kuvr-media-col\"\u003e\n\u003cdiv class=\"uses__card\"\u003e\n\u003cul class=\"uses__list\"\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 4.5V2.5\"\u003e\u003c\/path\u003e\u003cpath d=\"M1.5 11 12 4.5 22.5 11\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 11h18\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 11v9\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 11v9\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 15.5h14\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 20h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eGazebo walls\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M3.5 21 14 3\"\u003e\u003c\/path\u003e \u003cpath d=\"M20.5 21 10 3\"\u003e\u003c\/path\u003e \u003cpath d=\"M15.5 21 12 15l-3.5 6\"\u003e\u003c\/path\u003e \u003cpath d=\"M2 21h20\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eCamp \u0026amp; outdoors\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M12 13v7a2 2 0 0 0 4 0\"\u003e\u003c\/path\u003e \u003cpath d=\"M12 2v2\"\u003e\u003c\/path\u003e \u003cpath d=\"M20.992 13a1 1 0 0 0 .97-1.274 10.284 10.284 0 0 0-19.923 0A1 1 0 0 0 3 13z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eTemporary shelter\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M18 19V9a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v8a2 2 0 0 0 2 2h2\"\u003e\u003c\/path\u003e \u003cpath d=\"M2 9h3a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H2\"\u003e\u003c\/path\u003e \u003cpath d=\"M22 17v1a1 1 0 0 1-1 1H10v-9a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v9\"\u003e\u003c\/path\u003e \u003ccircle cx=\"8\" cy=\"19\" r=\"2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eCaravan \u0026amp; Leisure\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 3 2 5v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z\"\u003e\u003c\/path\u003e \u003cpath d=\"M6 8h4\"\u003e\u003c\/path\u003e \u003cpath d=\"M6 18h4\"\u003e\u003c\/path\u003e \u003cpath d=\"m12 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z\"\u003e\u003c\/path\u003e \u003cpath d=\"M14 8h4\"\u003e\u003c\/path\u003e \u003cpath d=\"M14 18h4\"\u003e\u003c\/path\u003e \u003cpath d=\"m20 3-2 2v15c0 .6.4 1 1 1h2c.6 0 1-.4 1-1V5Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eChicken runs\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item uses__item--rule\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M14 9.536V7a4 4 0 0 1 4-4h1.5a.5.5 0 0 1 .5.5V5a4 4 0 0 1-4 4 4 4 0 0 0-4 4c0 2 1 3 1 5a5 5 0 0 1-1 3\"\u003e\u003c\/path\u003e \u003cpath d=\"M4 9a5 5 0 0 1 8 4 5 5 0 0 1-8-4\"\u003e\u003c\/path\u003e \u003cpath d=\"M5 21h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eHome \u0026amp; Garden\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M2 11.5 12 3l10 8.5\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 11.5V20\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 11.5V20\"\u003e\u003c\/path\u003e\u003cpath d=\"M3.5 20h17\"\u003e\u003c\/path\u003e\u003cpath d=\"M8.5 20v-5a3.5 3.5 0 0 1 7 0v5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eKennel covers\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli class=\"uses__item\"\u003e\n\u003cspan class=\"uses__icon\"\u003e\u003csvg class=\"uses__glyph\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M15 21v-5a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v5\"\u003e\u003c\/path\u003e \u003cpath d=\"M17.774 10.31a1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.451 0 1.12 1.12 0 0 0-1.548 0 2.5 2.5 0 0 1-3.452 0 1.12 1.12 0 0 0-1.549 0 2.5 2.5 0 0 1-3.77-3.248l2.889-4.184A2 2 0 0 1 7 2h10a2 2 0 0 1 1.653.873l2.895 4.192a2.5 2.5 0 0 1-3.774 3.244\"\u003e\u003c\/path\u003e \u003cpath d=\"M4 10.95V19a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8.05\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003cspan class=\"uses__label\"\u003eMarket stalls\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--grey\"\u003e\u003cdiv class=\"kuvr-pd-inner\"\u003e\u003cdiv class=\"kuvr-pd-row\"\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\u003cdiv class=\"kfc\" data-fabric-compare data-start=\"50\"\u003e\n\u003cdiv class=\"kfc__stage\" style=\"--pos:50%\"\u003e\n\u003cimg class=\"kfc__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/files\/ultra50-drag-new.jpg?v=1786046328\" alt=\"Ultra 50 PVC — a log store seen through the fabric\" draggable=\"false\"\u003e\n\u003cdiv class=\"kfc__top\"\u003e\u003cimg class=\"kfc__img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/files\/flexi30-drag-new.jpg?v=1786046327\" alt=\"Flexi 30 PVC — the same log store, softer and hazier\" draggable=\"false\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"kfc__divider\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"kfc__handle\" aria-hidden=\"true\"\u003e\n\u003csvg width=\"15\" height=\"15\" viewbox=\"0 0 24 24\" style=\"fill:none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath style=\"fill:none !important;stroke:#ffffff !important\" d=\"M11 6l-6 6 6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003csvg width=\"15\" height=\"15\" viewbox=\"0 0 24 24\" style=\"fill:none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath style=\"fill:none !important;stroke:#ffffff !important\" d=\"M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kfc__scrim\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv class=\"kfc__label kfc__label--left\"\u003e\n\u003cspan class=\"kfc__eyebrow\"\u003eClearest\u003c\/span\u003e\u003cspan class=\"kfc__name\"\u003eUltra \u003cem\u003e50\u003c\/em\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kfc__label kfc__label--right\"\u003e\n\u003cspan class=\"kfc__eyebrow\"\u003eMost flexible\u003c\/span\u003e\u003cspan class=\"kfc__name\"\u003eFlexi \u003cem\u003e30\u003c\/em\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp class=\"kfc__hint\"\u003eDrag to compare\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\n\u003ch3 class=\"kuvr-pd-heading\"\u003eFlexi 30 or Ultra 50? See the difference\u003c\/h3\u003e\n\u003cp class=\"kuvr-pd-text\"\u003eDrag the slider below to see a side by side comparison of our two clear materials. The Ultra 50 is as close to being crystal clear as you can reasonably expect from a flexible fabric. The Flexi 30 is a little more hazy by comparison.\u003c\/p\u003e\n\u003cp class=\"kuvr-pd-text\"\u003eWant the Ultra 50 fabric, or a size we don’t stock? Both are available through \u003ca href=\"https:\/\/kuvr.co\/products\/clear\"\u003eClear Kuvr Custom\u003c\/a\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-section kuvr-pd-section--white\"\u003e\u003cdiv class=\"kuvr-pd-inner\"\u003e\u003cdiv class=\"kuvr-pd-row kuvr-pd-row--reverse\"\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\u003cdiv class=\"kuvr-clear-video\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/c_aIFOk8Uew\" allowfullscreen=\"\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kuvr-pd-col\"\u003e\n\u003ch3 class=\"kuvr-pd-heading\"\u003eWatch: Flexi 30 vs Ultra 50\u003c\/h3\u003e\n\u003cp class=\"kuvr-pd-text\"\u003eAlso check out the short video below which explains the differences between our Flexi 30 and Ultra 50 in more detail...\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cscript\u003e\ndocument.querySelectorAll('[data-fabric-compare]').forEach(function (root) {\n  var stage = root.querySelector('.kfc__stage');\n  var start = Math.min(100, Math.max(0, parseFloat(root.dataset.start || '50')));\n  var pos = start, dragging = false, raf = null, timers = [], io = null;\n  function paint(p) { pos = p; stage.style.setProperty('--pos', p + '%'); }\n  paint(start);\n  function pct(clientX) { var r = stage.getBoundingClientRect(); return Math.min(100, Math.max(0, ((clientX - r.left) \/ r.width) * 100)); }\n  function glide(target) { var from = pos, t0 = performance.now(); cancelAnimationFrame(raf); (function step(now){ var t = Math.min(1,(now-t0)\/480); paint(from+(target-from)*(1-Math.pow(1-t,3))); if(t\u003c1) raf=requestAnimationFrame(step); })(performance.now()); }\n  function runNudge(){ [[420, start + 9], [900, start - 9], [1400, start]].forEach(function (s){ timers.push(setTimeout(function(){ glide(s[1]); }, s[0])); }); }\n  function stopNudge() { if (io) { io.disconnect(); io = null; } timers.forEach(clearTimeout); cancelAnimationFrame(raf); }\n  var reduce = window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  if (!reduce) {\n    if ('IntersectionObserver' in window) {\n      io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { io.disconnect(); io = null; runNudge(); } }); }, { threshold: 0.4 });\n      io.observe(stage);\n    } else { runNudge(); }\n  }\n  stage.addEventListener('pointerdown', function (e){ stopNudge(); dragging = true; paint(pct(e.clientX)); });\n  window.addEventListener('pointermove', function (e){ if(!dragging) return; e.preventDefault(); paint(pct(e.clientX)); }, { passive: false });\n  ['pointerup','pointercancel'].forEach(function (evt){ window.addEventListener(evt, function(){ dragging = false; }); });\n});\n\u003c\/script\u003e","brand":"Kuvr.co","offers":[{"title":"1.2m x 0.9m (4ft x 3ft)","offer_id":56115480560001,"sku":null,"price":10.9,"currency_code":"EUR","in_stock":true},{"title":"1.2m x 1.2m (4ft x 4ft)","offer_id":56115480592769,"sku":null,"price":12.89,"currency_code":"EUR","in_stock":true},{"title":"1.8m x 1.2m (6ft x 4ft)","offer_id":56115480625537,"sku":null,"price":16.85,"currency_code":"EUR","in_stock":true},{"title":"1.8m x 1.8m (6ft x 6ft)","offer_id":56115480658305,"sku":null,"price":21.42,"currency_code":"EUR","in_stock":true},{"title":"2.4m x 1.8m (8ft x 6ft)","offer_id":56115480691073,"sku":null,"price":28.56,"currency_code":"EUR","in_stock":true},{"title":"3.0m x 1.8m (10ft x 6ft)","offer_id":56115480723841,"sku":null,"price":35.7,"currency_code":"EUR","in_stock":true},{"title":"3.6m x 1.8m (12ft x 6ft)","offer_id":56115480756609,"sku":null,"price":42.84,"currency_code":"EUR","in_stock":true},{"title":"4.2m x 1.8m (14ft x 6ft)","offer_id":56115480789377,"sku":null,"price":49.98,"currency_code":"EUR","in_stock":true},{"title":"6.1m x 2.2m (20ft x 7ft)","offer_id":56115480822145,"sku":null,"price":83.3,"currency_code":"EUR","in_stock":true},{"title":"7.3m x 1.8m (24ft x 6ft)","offer_id":56115480854913,"sku":null,"price":85.68,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0380\/4171\/4827\/files\/flexi30-logo_3bc5e317-daa1-46ae-9cd5-041e6693e5e8.jpg?v=1786957455","url":"https:\/\/kuvr.co\/en-eu\/products\/zzz-flexi-30-rebuild-test","provider":"Kuvr.co","version":"1.0","type":"link"}