1<!doctype html> 2 3<!-- 4 ___ ___ ___ ___ 5 / /\ /__/\ / /\ / /\ 6 / /:/_ \ \:\ / /:/ / /::\ 7 / /:/ /\ ___ ___ \ \:\ / /:/ / /:/\:\ 8 / /:/ /:/ /__/\ / /\ ___ \ \:\ / /:/ ___ / /:/ \:\ 9 /__/:/ /:/ \ \:\ / /:/ /__/\ \__\:\ /__/:/ / /\ /__/:/ \__\:\ 10 \ \:\/:/ \ \:\ /:/ \ \:\ / /:/ \ \:\ / /:/ \ \:\ / /:/ 11 \ \::/ \ \:\/:/ \ \:\ /:/ \ \:\ /:/ \ \:\ /:/ 12 \ \:\ \ \::/ \ \:\/:/ \ \:\/:/ \ \:\/:/ 13 \ \:\ \__\/ \ \::/ \ \::/ \ \::/ 14 \__\/ \__\/ \__\/ \__\/ 15 16 -------------------------------------------------------------------- 17 # Spark v2.7.0 18 # Documentation: https://fluorescent.co/help/spark/ 19 # Purchase: https://themes.shopify.com/themes/spark/ 20 # A product by Fluorescent: https://fluorescent.co/ 21 -------------------------------------------------------------------- 22--> 23 24<html class="no-js" lang="en" style="--announcement-height: 1px;"> 25 <head> 26 27 28<meta charset="UTF-8"> 29 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 30 <meta name="viewport" content="width=device-width,initial-scale=1"><link rel="preconnect" href="https://cdn.shopify.com" crossorigin><link rel="shortcut icon" href="//www.roadvista.com/cdn/shop/files/13923790_1160419724028769_8872407385337986013_o_32x32.png?v=1654033248" type="image/png"> 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46<meta name="twitter:image:width" content="480"> 47<meta name="twitter:image:height" content="480"> 48 49 50
50<script> 51 console.log('Spark v2.7.0 by Fluorescent'); 52 53 document.documentElement.className = document.documentElement.className.replace('no-js', ''); 54 55 window.theme = { 56 version: 'v2.7.0', 57 moneyFormat: "${{amount}}", 58 strings: { 59 name: "Gamma Scientific \/ RoadVista", 60 accessibility: { 61 play_video: "Play", 62 pause_video: "Pause" 63 }, 64 product: { 65 no_shipping_rates: "Shipping rate unavailable", 66 country_placeholder: "Country\/Region", 67 review: "Write a review" 68 }, 69 products: { 70 product: { 71 unavailable: "Unavailable", 72 unitPrice: "Unit price", 73 unitPriceSeparator: "per", 74 sku: "SKU" 75 } 76 }, 77 quickCart: { 78 addProductQuantity: "Subtract product quantity", 79 removeProductQuantity: "Add product quantity", 80 removeProduct: "Remove", 81 quantity: "Quantity" 82 } 83 }, 84 routes: { 85 root: "/", 86 cart: { 87 base: "/cart", 88 add: "/cart/add", 89 change: "/cart/change", 90 clear: "/cart/clear", 91 // Manual routes until Shopify adds support 92 shipping: "/cart/shipping_rates", 93 }, 94 // Manual routes until Shopify adds support 95 products: "/products", 96 productRecommendations: "/recommendations/products", 97 predictive_search_url: '/search/suggest' 98 }, 99 } 100 101 102</script>
102 103 104 <style> 105 @font-face { 106 font-family: Halant; 107 font-weight: 600; 108 font-style: normal; 109 font-display: swap; 110 src: url("//www.roadvista.com/cdn/fonts/halant/halant_n6.ebdefaba0504a1f859ddaae985582901c790e659.woff2") format("woff2"), 111 url("//www.roadvista.com/cdn/fonts/halant/halant_n6.aef6c70c0aa1ea1f20fa9f16587acd424b822af4.woff") format("woff"); 112} 113 114 @font-face { 115 font-family: Poppins; 116 font-weight: 700; 117 font-style: italic; 118 font-display: swap; 119 src: url("//www.roadvista.com/cdn/fonts/poppins/poppins_i7.42fd71da11e9d101e1e6c7932199f925f9eea42d.woff2") format("woff2"), 120 url("//www.roadvista.com/cdn/fonts/poppins/poppins_i7.ec8499dbd7616004e21155106d13837fff4cf556.woff") format("woff"); 121} 122 123 @font-face { 124 font-family: Poppins; 125 font-weight: 400; 126 font-style: italic; 127 font-display: swap; 128 src: url("//www.roadvista.com/cdn/fonts/poppins/poppins_i4.846ad1e22474f856bd6b81ba4585a60799a9f5d2.woff2") format("woff2"), 129 url("//www.roadvista.com/cdn/fonts/poppins/poppins_i4.56b43284e8b52fc64c1fd271f289a39e8477e9ec.woff") format("woff"); 130} 131 132 @font-face { 133 font-family: "Source Sans Pro"; 134 font-weight: 400; 135 font-style: normal; 136 font-display: swap; 137 src: url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.50ae3e156aed9a794db7e94c4d00984c7b66616c.woff2") format("woff2"), 138 url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_n4.d1662e048bd96ae7123e46600ff9744c0d84502d.woff") format("woff"); 139} 140 141 @font-face { 142 font-family: "Source Sans Pro"; 143 font-weight: 700; 144 font-style: normal; 145 font-display: swap; 146 src: url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_n7.41cbad1715ffa6489ec3aab1c16fda6d5bdf2235.woff2") format("woff2"), 147 url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_n7.01173495588557d2be0eb2bb2ecdf8e4f01cf917.woff") format("woff"); 148} 149 150 @font-face { 151 font-family: "Source Sans Pro"; 152 font-weight: 400; 153 font-style: italic; 154 font-display: swap; 155 src: url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_i4.130f29b9baa0095b80aea9236ca9ef6ab0069c67.woff2") format("woff2"), 156 url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_i4.6146c8c8ae7b8853ccbbc8b859fcf805016ee743.woff") format("woff"); 157} 158 159 @font-face { 160 font-family: "Source Sans Pro"; 161 font-weight: 700; 162 font-style: italic; 163 font-display: swap; 164 src: url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_i7.98bb15b3a23880a6e1d86ade6dbb197526ff768d.woff2") format("woff2"), 165 url("//www.roadvista.com/cdn/fonts/source_sans_pro/sourcesanspro_i7.6274cea5e22a575d33653322a4399caadffb1338.woff") format("woff"); 166} 167 168 169 :root { 170 --color-text: #1d1d1d; 171 --color-text-meta: rgba(29, 29, 29, 0.6); 172 --color-text-link: #000000; 173 --color-text-error: #C71B1B; 174 --color-text-success: #21b646; 175 176 --color-background: #ffffff; 177 --color-background-transparent: rgba(255, 255, 255, 0.8); 178 --color-border: #d4d4d4; 179 --color-overlay: #181818; 180 --color-overlay-transparent: rgba(24, 24, 24, 0.6); 181 182 --color-background-meta: #f5f5f5; 183 --color-background-darker-meta: #e8e8e8; 184 --color-foreground-meta: rgba(29, 29, 29, 0.6); 185 186 --color-border-input: #d4d4d4; 187 --color-text-input: #1d1d1d; 188 189 --color-background-button: #191919; 190 --color-background-button-hover: #4c4c4c; 191 --color-text-button: #ffffff; 192 --color-icon: rgba(29, 29, 29, 0.4); 193 --color-icon-darker: rgba(29, 29, 29, 0.6); 194 195 --color-background-sale-badge: #aa1c1c; 196 --color-text-sale-badge: #ffffff; 197 --color-background-sold-badge: #000000; 198 --color-text-sold-badge: #ffffff; 199 200 --color-background-contrast: #f4f4f4; 201 --color-background-meta-contrast: #eaeaea; 202 --color-background-darker-meta-contrast: #dddddd; 203 --color-foreground-meta-contrast: rgba(0, 0, 0, 0.6); 204 --color-text-contrast: #000000; 205 --color-text-meta-contrast: rgba(0, 0, 0, 0.6); 206 --color-border-contrast: #d4d4d4; 207 --color-background-button-contrast: #000000; 208 --color-background-button-hover-contrast: #333333; 209 --color-text-button-contrast: #ffffff; 210 --color-text-link-contrast: #d9a216; 211 212 --color-text-header: #ffffff; 213 --color-background-header: #000000; 214 --color-background-header-transparent: rgba(0, 0, 0, 0); 215 --color-icon-header: #ffffff; 216 --color-shadow-header: rgba(0, 0, 0, 0.15); 217 218 --color-background-footer: #000000; 219 --color-text-footer: #d4d4d4; 220 221 --color-text-popover: #000000; 222 --color-text-meta-popover: rgba(0, 0, 0, 0.6); 223 --color-background-popover: #ffffff; 224 --color-background-meta-popover: #f5f5f5; 225 --color-background-darker-meta-popover: #e8e8e8; 226 --color-background-button-popover: #d9a216; 227 --color-background-button-hover-popover: #7c5d0d; 228 --color-text-button-popover: #000000; 229 --color-border-popover: #3D3D3D; 230 --color-border-meta-popover: #0a0a0a; 231 232 --button-style: uppercase; 233 --button-shape: 5px; 234 235 --font-logo: Halant, serif; 236 --font-logo-weight: 600; 237 --font-logo-style: normal; 238 --logo-font-size: 35px; 239 --logo-text-transform: none; 240 --logo-letter-spacing: 0.0em; 241 242 --font-heading: Poppins, sans-serif; 243 --font-heading-weight: 700; 244 --font-heading-style: italic;
245 --font-heading-light-weight: 400; 246 --font-heading-text-transform: uppercase; 247 --font-heading-base-letter-spacing: 0.0em; 248 --font-heading-base-size: 40px; 249 250 --font-body: "Source Sans Pro", sans-serif; 251 --font-body-weight: 400; 252 --font-body-style: normal; 253 --font-body-italic: italic; 254 --font-body-bold-weight: 700; 255 --font-body-base-letter-spacing: 0.0em; 256 --font-body-base-size: 16px; 257 --font-body-base-line-height: 1.56; 258 259 --font-product-title-text-transform: uppercase; 260 --font-product-title-base-letter-spacing: 0.0em; 261 262 /* Typography */ 263 --font-size-heading-1-large: 53px; 264 --line-height-heading-1-large: 44; 265 266 --font-size-heading-1-base: 40px; 267 --line-height-heading-1-base: 1.08; 268 269 --font-size-heading-2-large: 30px; 270 --line-height-heading-2-large: 1.22; 271 272 --font-size-heading-2-base: 23px; 273 --line-height-heading-2-base: 1.29; 274 275 --font-size-heading-3-base: 20px; 276 --line-height-heading-3-base: 1.33; 277 278 --font-size-heading-4-base: 17px; 279 --line-height-heading-4-base: 1.4; 280 281 --font-size-body-large: 21px; 282 --line-height-body-large: 1.5; 283 284 --font-size-body-base: 16px; 285 --line-height-body-base: 1.56; 286 287 --font-size-body-small: 14px; 288 --line-height-body-small: 1.75; 289 290 --font-size-body-x-small: 12px; 291 --line-height-body-x-small: 1.85; 292 293 /* Shopify pay specific */ 294 --payment-terms-background-color: #f5f5f5; 295 } 296</style> 297 <link href="//www.roadvista.com/cdn/shop/t/14/assets/theme.css?v=57835877866618190241691531791" rel="stylesheet" type="text/css" media="all" /> 298 <link href="//www.roadvista.com/cdn/shop/t/14/assets/custom.css?v=116360173443897991491692223104" rel="stylesheet" type="text/css" media="all" /> 299 300
300<script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script>
300<meta name="google-site-verification" content="xl2EpakFscOle660vs3_g04zWDTmr6SHIGDFKFb3H0A"> 301<meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/64627245292/digital_wallets/dialog"> 302<link rel="ucp" href="/.well-known/ucp" version="2026-08-25"><link rel="buy" href="/cart/47323949367532:1?ucp/version=2026-08-25" payment="com.google.pay dev.shopify.card dev.shopify.shop_pay"><link rel="alternate" type="application/json+oembed" href="https://www.roadvista.com/products/laserlux-fm-llfm.oembed">
303<script async="async" src="/checkouts/internal/preloads.js?locale=en-US"></script>
vendor: 1 bytes, line 303
303
304<script id="shopify-features" type="application/json">{"accessToken":"b784e439fcd60d0918fdf29797dab74c","betas":["rich-media-storefront-analytics"],"domain":"www.roadvista.com","predictiveSearch":true,"shopId":64627245292,"locale":"en"}</script>
vendor: 1 bytes, line 304
304
305<script>var Shopify = Shopify || {}; 306Shopify.shop = "roadvista.myshopify.com"; 307Shopify.locale = "en"; 308Shopify.currency = {"active":"USD","rate":"1.0"}; 309Shopify.country = "US"; 310Shopify.theme = {"name":"[PROD: 8\/08\/23] Road Vista (spark modif...","id":136785297644,"schema_name":"Spark","schema_version":"2.7.0","theme_store_id":911,"role":"main"}; 311Shopify.theme.handle = "null"; 312Shopify.theme.style = {"id":null,"handle":null}; 313Shopify.cdnHost = "www.roadvista.com/cdn"; 314Shopify.routes = Shopify.routes || {}; 315Shopify.routes.root = "/"; 316Shopify.shopJsCdnBaseUrl = "https://cdn.shopify.com/shopifycloud/shop-js"; 317Shopify.SignInWithShop = Shopify.SignInWithShop || {}; 318Shopify.SignInWithShop.User = Shopify.SignInWithShop.User || {}; 319Shopify.SignInWithShop.User.recognized = false;</script>
vendor: 1 bytes, line 319
319
320<script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script>
vendor: 1 bytes, line 320
320
321<script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script>
vendor: 1 bytes, line 321
321
322<script> 323 window.Shopify = window.Shopify || {}; 324 window.Shopify.SignInWithShop = window.Shopify.SignInWithShop || {}; 325 window.Shopify.SignInWithShop.assetMetrics = { sampleRate: 0.25 }; 326 window.Shopify.SignInWithShop.eligible = true; 327</script>
vendor: 1 bytes, line 327
327
328<script id="shop-js-analytics" type="application/json">{"pageType":"product"}</script>
vendor: 1 bytes, line 328
328
329<script defer="defer" async type="module" src="https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"></script>
vendor: 1 bytes, line 329
329
330<script type="module"> 331 await import("https://cdn.shopify.com/shopifycloud/shop-js/modules/v2/loader.init-shop-cart-sync.en.esm.js"); 332 333 window.Shopify.SignInWithShop?.initShopCartSync?.({"fedCMEnabled":true,"windoidEnabled":true}); 334 335</script>
vendor: 1 bytes, line 335
335
336<script> 337 window.Shopify = window.Shopify || {}; 338 if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; 339 window.Shopify.featureAssets['shop-js'] = {"avatar":["modules/v2/loader.avatar.en.esm.js"],"checkout-modal":["modules/v2/loader.checkout-modal.en.esm.js"],"init-customer-accounts-sign-up":["modules/v2/loader.init-customer-accounts-sign-up.en.esm.js"],"init-customer-accounts":["modules/v2/loader.init-customer-accounts.en.esm.js"],"init-fed-cm":["modules/v2/loader.init-fed-cm.en.esm.js"],"init-shop-cart-sync":["modules/v2/loader.init-shop-cart-sync.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/loader.init-shop-email-lookup-coordinator.en.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/loader.init-shop-for-new-customer-accounts.en.esm.js"],"init-shop-user-recognition":["modules/v2/loader.init-shop-user-recognition.en.esm.js"],"init-windoid":["modules/v2/loader.init-windoid.en.esm.js"],"lead-capture":["modules/v2/loader.lead-capture.en.esm.js"],"listener":["modules/v2/loader.listener.en.esm.js"],"pay-button":["modules/v2/loader.pay-button.en.esm.js"],"payment-terms":["modules/v2/loader.payment-terms.en.esm.js"],"shop-button":["modules/v2/loader.shop-button.en.esm.js"],"shop-cart-sync":["modules/v2/loader.shop-cart-sync.en.esm.js"],"shop-cash-offers":["modules/v2/loader.shop-cash-offers.en.esm.js"],"shop-follow-button":["modules/v2/loader.shop-follow-button.en.esm.js"],"shop-login-button":["modules/v2/loader.shop-login-button.en.esm.js"],"shop-login":["modules/v2/loader.shop-login.en.esm.js"],"shop-toast-manager":["modules/v2/loader.shop-toast-manager.en.esm.js"],"shop-user-recognition":["modules/v2/loader.shop-user-recognition.en.esm.js"]}; 340</script>
vendor: 1 bytes, line 340
340
341<script>(function() { 342 var isLoaded = false; 343 function asyncLoad() { 344 if (isLoaded) return; 345 isLoaded = true; 346 var urls = ["https:\/\/roadvista.myshopify.com\/cdn\/shop\/t\/14\/assets\/yoast-active-script.js?shop=roadvista.myshopify.com"]; 347 for (var i = 0; i < urls.length; i++) { 348 var s = document.createElement('script'); 349 s.type = 'text/javascript'; 350 s.async = true; 351 s.src = urls[i]; 352 var x = document.getElementsByTagName('script')[0]; 353 x.parentNode.insertBefore(s, x); 354 } 355 }; 356 if(window.attachEvent) { 357 window.attachEvent('onload', asyncLoad); 358 } else { 359 window.addEventListener('load', asyncLoad, false); 360 } 361})();</script>
vendor: 1 bytes, line 361
361
362<script id="__st">var __st={"a":64627245292,"offset":-25200,"reqid":"bba53e23-d42b-4cf3-9871-3cf68224c4ba-1791251612","pageurl":"www.roadvista.com\/products\/laserlux-fm-llfm","u":"d9ec8129d76e","p":"product","rtyp":"product","rid":9164290752748};</script>
vendor: 1 bytes, line 362
362
363<script>window.ShopifyPaypalV4VisibilityTracking = true;</script>
vendor: 1 bytes, line 363
363
364<script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.3.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script>
vendor: 1 bytes, line 364
364
365<script integrity="sha256-JjoPp5ZfB1sSAs5SQaol1x1GgvveM+BgmRzyDexInEQ=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//www.roadvista.com/cdn/shopifycloud/storefront/assets/storefront/load_feature-1bd60354.js" crossorigin="anonymous"></script>
vendor: 1 bytes, line 365
365
366<script>(function () {var userAgent = navigator.userAgent;var platform = navigator.platform;var maxTouchPoints = navigator.maxTouchPoints || 0;var isIOS = /iPad|iPhone|iPod/.test(platform) || (platform === 'MacIntel' && maxTouchPoints > 1);var isMacSafari = platform.indexOf('Mac') === 0 && /Safari/.test(userAgent) && !/Chrome|Chromium|CriOS|FxiOS|Edg|OPR|Android/.test(userAgent);var isAppleSafari = isIOS || isMacSafari;if (isAppleSafari) {fetch('/sf_private_access_tokens' + location.search).catch(function () {});}function browserMajorVersion(pattern) {var match = userAgent.match(pattern);return match ? parseInt(match[1], 10) : null;}function shouldLoadAutosizesPolyfill() {if (!window.PerformanceObserver?.supportedEntryTypes?.includes('paint')) {return false;}var chromeVersion = browserMajorVersion(/Chrome\/(\d+)/);if (chromeVersion !== null) {return chromeVersion < 126;}var firefoxVersion = browserMajorVersion(/Firefox\/(\d+)/);if (firefoxVersion !== null) {return firefoxVersion < 150;}var safariVersion = isAppleSafari ? browserMajorVersion(/Version\/(\d+).*Safari\//) : null;if (safariVersion !== null) {return safariVersion < 27;}return true;}if (shouldLoadAutosizesPolyfill()) {var autosizesScript = document.createElement('script');autosizesScript.async = true;autosizesScript.crossOrigin = 'anonymous';autosizesScript.src = "//www.roadvista.com/cdn/shopifycloud/storefront/assets/storefront/autosizes-84416378.js";(document.head || document.documentElement).appendChild(autosizesScript);}window.ShopifyAnalytics = window.ShopifyAnalytics || {};window.ShopifyAnalytics.performance = window.ShopifyAnalytics.performance || {};(function () {var LONG_FRAME_THRESHOLD = 50;var longAnimationFrames = [];var activeRafId = null;function collectLongFrames() {var previousTime = null;function rafMonitor(now) {if (activeRafId === null) {return;}var delta = now - previousTime;if (delta > LONG_FRAME_THRESHOLD) {longAnimationFrames.push({startTime: previousTime,endTime: now,});}previousTime = now;activeRafId = requestAnimationFrame(rafMonitor);}previousTime = performance.now();activeRafId = requestAnimationFrame(rafMonitor);}if (!window.PerformanceObserver?.supportedEntryTypes?.includes('long-animation-frame')) {collectLongFrames();var timeoutId = setTimeout(function () {cancelAnimationFrame(activeRafId);}, 10000);window.ShopifyAnalytics.performance.getLongAnimationFrames = function (stopCollection) {if (stopCollection === undefined) {stopCollection = false;}if (stopCollection) {clearTimeout(timeoutId);cancelAnimationFrame(activeRafId);}return longAnimationFrames;};}})();})();</script>
366<script id="shopify-origin-trials" async="async" integrity="sha256-qJbe/jEZBHtr5W/BlA2cKAz3vkXu6vJQyLjgvgCC86g=" src="//cdn.shopify.com/shopifycloud/storefront/assets/storefront/origin_trials-318ab40a.js" crossorigin="anonymous" onload="window.__shopifyOriginTrialsDone = true" onerror="window.__shopifyOriginTrialsDone = true"></script>
vendor: 1 bytes, line 366
366
367<script> 368 window.Shopify = window.Shopify || {}; 369 window.Shopify.MCP = window.Shopify.MCP || {}; 370 window.Shopify.MCP.enabled = true; 371 window.Shopify.MCP.shop = "roadvista.myshopify.com"; 372 window.Shopify.MCP.mcpEndpoint = "https:\/\/www.roadvista.com\/api\/mcp"; 373 window.Shopify.MCP.tools = [{"name":"search_shop_policies_and_faqs","description":"Used to get facts about the stores policies, products, or services.\nSome examples of questions you can ask are:\n - What is your return policy?\n - What is your shipping policy?\n - What is your phone number?\n - What are your hours of operation?\"\nSet policy_types to also get the store's written policies (full text and URL).\n","inputSchema":{"$schema":"https:\/\/json-schema.org\/draft\/2020-12\/schema","type":"object","properties":{"query":{"type":"string","description":"A natural language query."},"context":{"type":"string","description":"Additional information about the request such as user demographics, mood, location, or other relevant details that could help in tailoring the response appropriately."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","subscription","legal_notice","contact"]},"description":"Policy kinds to fetch, chosen from the user's question â e.g. [\"refund\"] for returns\/exchanges\/damaged items, [\"contact\"] for phone\/hours\/address. Include every kind the question touches. Omit it to get only FAQ answers."}},"required":["query"]}}]; 374</script>
vendor: 1 bytes, line 374
374
375<script>(()=>{var d="shopify:webmcp_adapter_loaded",n=Symbol.for("shopify.webmcp_adapter_loading");function s(c,a,{win:r=window,doc:o=document}={}){function p(){try{return r.localStorage.getItem(d)==="true"}catch{return!1}}function l(){try{r.localStorage.setItem(d,"true")}catch{}}function u(){return typeof(o.modelContext||r.navigator?.modelContext)?.registerTool=="function"}function f(){if(r[n]||!u())return;let t=o.head||o.getElementsByTagName("head")[0];if(!t)return;let e=o.createElement("script");e.type="module",e.crossOrigin="anonymous",a&&(e.integrity=a),e.src=c,e.addEventListener("load",l,{once:!0}),e.addEventListener("error",()=>{r[n]=!1},{once:!0}),t.appendChild(e),r[n]=!0}function _(t){let e=o.getElementById("shopify-origin-trials");if(!e||r.__shopifyOriginTrialsDone){t();return}e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})}function i(){_(()=>r.setTimeout(f,0))}function m(){o.addEventListener("DOMContentLoaded",i,{once:!0})}p()?i():m()}s("\/\/www.roadvista.com\/cdn\/shopifycloud\/storefront\/assets\/storefront\/webmcp-c6b62ece.js","sha256-ke4DDuBjdvea3vxLWxHc9E9nq8zihuG4IfYEGbb77ys=");})(); 376</script>
vendor: 1 bytes, line 376
376
377<script data-source-attribution="shopify.dynamic_checkout.dynamic.init">var Shopify=Shopify||{};Shopify.PaymentButton=Shopify.PaymentButton||{isStorefrontPortableWallets:!0,init:function(){window.Shopify.PaymentButton.init=function(){};var t=document.createElement("script");t.src="https://www.roadvista.com/cdn/shopifycloud/portable-wallets/latest/portable-wallets.en.js",t.type="module",document.head.appendChild(t)}}; 378</script>
vendor: 1 bytes, line 378
378
379<script data-source-attribution="shopify.dynamic_checkout.buyer_consent"> 380 function portableWalletsHideBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.add("hidden"),t.setAttribute("aria-hidden","true"),n.removeEventListener("click",e))}function portableWalletsShowBuyerConsent(e){var t=document.getElementById("shopify-buyer-consent"),n=document.getElementById("shopify-subscription-policy-button");t&&n&&(t.classList.remove("hidden"),t.removeAttribute("aria-hidden"),n.addEventListener("click",e))}window.Shopify?.PaymentButton&&(window.Shopify.PaymentButton.hideBuyerConsent=portableWalletsHideBuyerConsent,window.Shopify.PaymentButton.showBuyerConsent=portableWalletsShowBuyerConsent); 381</script>
vendor: 1 bytes, line 381
381
382<script data-source-attribution="shopify.dynamic_checkout.cart.bootstrap">document.addEventListener("DOMContentLoaded",(function(){function t(){return document.querySelector("shopify-accelerated-checkout-cart, shopify-accelerated-checkout")}if(t())Shopify.PaymentButton.init();else{new MutationObserver((function(e,n){t()&&(Shopify.PaymentButton.init(),n.disconnect())})).observe(document.body,{childList:!0,subtree:!0})}})); 383</script>
383 384
385<script id="shopify-cfh-end">window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script>
385 386
386<script id="tg-gtm-integration">
vendor: 330 bytes, lines 386-387
386 387 (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','
387GTM-PFFDQMS
vendor: 8 bytes, lines 387-388
387'); 388
388</script>
388 389 <!-- BEGIN app block: shopify://apps/yoast-seo/blocks/metatags/7c777011-bc88-4743-a24e-64336e1e5b46 --> 390<!-- This site is optimized with Yoast SEO for Shopify --> 391<title>Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer - Gamma Scientific / RoadVista</title> 392<meta name="description" content="Adding to RoadVistaâs® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and oth" /> 393<link rel="canonical" href="https://www.roadvista.com/products/laserlux-fm-llfm" /> 394<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" /> 395<meta property="og:site_name" content="Gamma Scientific / RoadVista" /> 396<meta property="og:url" content="https://www.roadvista.com/products/laserlux-fm-llfm" /> 397<meta property="og:locale" content="en_US" /> 398<meta property="og:type" content="product" /> 399<meta property="og:title" content="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer - Gamma Scientific / RoadVista" /> 400<meta property="og:description" content="Adding to RoadVistaâs® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and oth" /> 401<meta property="og:image" content="https://www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar.jpg?v=1771610939" /> 402<meta property="og:image:height" content="3437" /> 403<meta property="og:image:width" content="4583" /> 404<meta property="og:availability" content="instock" /> 405<meta property="product:availability" content="instock" /> 406<meta property="product:condition" content="new" /> 407<meta property="product:price:amount" content="0.0" /> 408<meta property="product:price:currency" content="USD" /> 409<meta name="twitter:card" content="summary_large_image" />
410<script type="application/ld+json" id="yoast-schema-graph"> 411{ 412 "@context": "https://schema.org", 413 "@graph": [ 414 { 415 "@type": ["Organization","Brand"], 416 "@id": "https://www.roadvista.com/#/schema/organization/1", 417 "url": "https://www.roadvista.com", 418 "name": "RoadVista, A Gamma Scientific Company", 419 "alternateName": "RoadVista", 420 "logo": { 421 "@id": "https://www.roadvista.com/#/schema/ImageObject/31413698494700" 422 }, 423 "image": [ 424 { 425 "@id": "https://www.roadvista.com/#/schema/ImageObject/31413698494700" 426 } 427 ], 428 "hasMerchantReturnPolicy": { 429 "@type": "MerchantReturnPolicy", 430 "merchantReturnLink": "https://www.roadvista.com/policies/refund-policy" 431 }, 432 "sameAs": ["https:\/\/www.linkedin.com\/company\/roadvista\/","https:\/\/www.facebook.com\/RoadVista"] 433 }, 434 { 435 "@type": "ImageObject", 436 "@id": "https://www.roadvista.com/#/schema/ImageObject/31413698494700", 437 "width": 941, 438 "height": 278, 439 "url": "https:\/\/www.roadvista.com\/cdn\/shop\/files\/RoadVistaLogoThumb_a6c79b5c-597c-479d-9221-e2ec9cf28567.png?v=1678235498", 440 "contentUrl": "https:\/\/www.roadvista.com\/cdn\/shop\/files\/RoadVistaLogoThumb_a6c79b5c-597c-479d-9221-e2ec9cf28567.png?v=1678235498" 441 }, 442 { 443 "@type": "WebSite", 444 "@id": "https://www.roadvista.com/#/schema/website/1", 445 "url": "https://www.roadvista.com", 446 "name": "RoadVista.com", 447 "potentialAction": { 448 "@type": "SearchAction", 449 "target": "https://www.roadvista.com/search?q={search_term_string}", 450 "query-input": "required name=search_term_string" 451 }, 452 "publisher": { 453 "@id": "https://www.roadvista.com/#/schema/organization/1" 454 }, 455 "inLanguage": "en" 456 }, 457 { 458 "@type": "ItemPage", 459 "@id": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm", 460 "name": "Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer - Gamma Scientific \/ RoadVista", 461 "description": "Adding to RoadVistaâs® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and oth", 462 "datePublished": "2026-02-20T10:29:23-08:00", 463 "breadcrumb": { 464 "@id": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm\/#\/schema\/breadcrumb" 465 }, 466 "primaryImageOfPage": { 467 "@id": "https://www.roadvista.com/#/schema/ImageObject/36728214225132" 468 }, 469 "image": [{ 470 "@id": "https://www.roadvista.com/#/schema/ImageObject/36728214225132" 471 }], 472 "isPartOf": { 473 "@id": "https://www.roadvista.com/#/schema/website/1" 474 }, 475 "url": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm" 476 }, 477 { 478 "@type": "ImageObject", 479 "@id": "https://www.roadvista.com/#/schema/ImageObject/36728214225132", 480 "width": 4583, 481 "height": 3437, 482 "url": "https:\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939", 483 "contentUrl": "https:\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939" 484 }, 485 { 486 "@type": "ProductGroup", 487 "@id": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm\/#\/schema\/Product", 488 "brand": [{ 489 "@id": "https://www.roadvista.com/#/schema/organization/1" 490 }], 491 "mainEntityOfPage": { 492 "@id": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm" 493 }, 494 "name": "Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer", 495 "description": "Adding to RoadVistaâs® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and oth", 496 "image": [{ 497 "@id": "https://www.roadvista.com/#/schema/ImageObject/36728214225132" 498 }], 499 "pattern": "Solid", 500 "productGroupID": "9164290752748", 501 "hasVariant": [ 502 { 503 "@type": "Product", 504 "@id": "https://www.roadvista.com/#/schema/Product/47323949367532", 505 "name": "Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer", 506 "image": [{ 507 "@id": "https://www.roadvista.com/#/schema/ImageObject/36728214225132" 508 }], 509 "offers": { 510 "@type": "Offer", 511 "@id": "https://www.roadvista.com/#/schema/Offer/47323949367532", 512 "availability": "https://schema.org/InStock", 513 "category": "Hardware > Tools > Measuring Tools & Sensors > Transducers", 514 "priceSpecification": [ 515 { 516 "@type": "UnitPriceSpecification", 517 "valueAddedTaxIncluded": true, 518 "price": 0.0, 519 "priceCurrency": "USD" 520 } 521 ], 522 "seller": { 523 "@id": "https://www.roadvista.com/#/schema/organization/1" 524 }, 525 "url": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm", 526 "checkoutPageURLTemplate": "https:\/\/www.roadvista.com\/cart\/add?id=47323949367532\u0026quantity=1" 527 } 528 } 529 ], 530 "url": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm" 531 }, 532 { 533 "@type": "BreadcrumbList", 534 "@id": "https:\/\/www.roadvista.com\/products\/laserlux-fm-llfm\/#\/schema\/breadcrumb", 535 "itemListElement": [ 536 { 537 "@type": "ListItem", 538 "name": "Gamma Scientific \/ RoadVista", 539 "item": "https:\/\/www.roadvista.com", 540 "position": 1 541 }, 542 { 543 "@type": "ListItem", 544 "name": "Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer", 545 "position": 2 546 } 547 ] 548 } 549 550 ]} 551</script>
551 552<!--/ Yoast SEO --> 553<!-- END app block --><link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch">
554<script>(function(){if ("sendBeacon" in navigator && "performance" in window) {try {var session_token_from_headers = performance.getEntriesByType('navigation')[0].serverTiming.find(x => x.name == '_s').description;} catch {var session_token_from_headers = undefined;}var session_cookie_matches = document.cookie.match(/_shopify_s=([^;]*)/);var session_token_from_cookie = session_cookie_matches && session_cookie_matches.length === 2 ? session_cookie_matches[1] : "";var session_token = session_token_from_headers || session_token_from_cookie || "";function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 64627245292,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token,page_type: "product"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script>
vendor: 1 bytes, line 554
554
555<script> 556 window.__TREKKIE_SHIM_QUEUE = window.__TREKKIE_SHIM_QUEUE || []; 557</script>
vendor: 1 bytes, line 557
557
558<script>(function(){var wpmLoader=function(){"use strict";var e=/Googlebot|Storebot-Google|bingbot|Baiduspider|YandexBot|DuckDuckBot|Slurp|facebookexternalhit|Twitterbot|LinkedInBot|Applebot|AdsBot-Google|Mediapartners-Google|APIs-Google|PetalBot|SemrushBot|AhrefsBot|MJ12bot|DotBot|Acunetix|PerplexityBot|Perplexity-User/i,t=/bytedance/i;function i(){try{var e=document.cookie;if(!e||"string"!=typeof e)return;for(var t=0,i=e.split(";");t<i.length;t++){var n=i[t],r=n.indexOf("=");if(-1!==r){var o=n.slice(0,r).trim();if(o){var a=void 0;try{a=decodeURIComponent(o)}catch(e){a=o}if("_shopify_s"===a){var d=n.slice(r+1).trim();try{return decodeURIComponent(d)}catch(e){return d}}}}}return}catch(e){return}}function n(e){try{"undefined"!=typeof console&&"function"==typeof console.warn&&console.warn(e)}catch(e){}}function r(e,t){return"string"==typeof e&&e.length>0&&e.length<=t?e:void 0}function o(e){var t;switch(null==(t=null==e?void 0:e.navigation)?void 0:t.type){case 0:return"navigate";case 1:return"reload";case 2:return"back_forward";default:return}}function a(){var e,t,i;try{var n=null==(i=null==(t=null==(e=self.ShopifyAnalytics)?void 0:e.lib)?void 0:t.trekkie)?void 0:i.state;return"awaiting-consent"===n||"initialized"===n?n:void 0}catch(e){return}}return function(d,s,u,l){var c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};try{var p=c.trekkieShim;!0!==p&&"true"!==p||null!=window.__TREKKIE_SHIM_QUEUE||(window.__TREKKIE_SHIM_QUEUE=[])}catch(e){}var f,v,h,y,g=(v=(f={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(15\d|1[6-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(14[89]|1[5-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/}).modern,h=f.legacy,(y=navigator.userAgent).match(e)?"bot":y.match(v)?"modern":y.match(h)?"legacy":y.match(t)?"bot":"unknown"),m=function(e){var t,i,n=r(e,128);try{var a=window.performance,d=null==(t=null==a?void 0:a.getEntriesByType)?void 0:t.call(a,"navigation")[0];if(!d)return{requestId:n,navigationType:o(a)};var s="type"in d?r(d.type,64):void 0,u="serverTiming"in d&&Array.isArray(d.serverTiming)?d.serverTiming:[];return{requestId:null!=n?n:r(null==(i=u.find(function(e){return"requestID"===e.name}))?void 0:i.description,128),navigationType:s}}catch(e){return{requestId:n}}}(c.requestId),w=function(e){var t=e.version,r=e.browserTarget,o=e.surface,a=e.shopId,d=e.monorailEndpoint,s=window.location.href;return{emit:function(e){var u=e.status,l=e.errorMsg,c=e.failureReason,p=e.useKeepaliveFallback,f=void 0!==p&&p,v=e.navigationType,h=e.pagehidePersisted,y=e.requestId,g=e.trekkieState;if(d){var m,w;try{var b=(new Date).getTime();m=JSON.stringify({metadata:{event_sent_at_ms:b},events:[{schema_id:"web_pixels_manager_load/3.3",payload:{version:t,bundle_target:r,page_url:s,status:u,surface:o,error_msg:l,failure_reason:c,navigation_type:v,pagehide_persisted:h,request_id:y,trekkie_state:g,shop_id:a,visit_token:i()},metadata:{event_created_at_ms:b}}]})}catch(e){return}try{if("function"==typeof window.navigator.sendBeacon&&-1===(w=window.navigator.userAgent).indexOf("iPhone; CPU iPhone OS 12_")&&-1===w.indexOf("iPad; CPU OS 12_")&&-1===w.indexOf("iPod touch; CPU iPhone OS 12_")&&window.navigator.sendBeacon.bind(window.navigator)(d,m))return}catch(e){}if(f)try{"function"==typeof window.fetch&&window.fetch(d,{method:"POST",headers:{"Content-Type":"text/plain"},body:m,keepalive:!0}
558).catch(function(){})}catch(e){}else try{var _=new XMLHttpRequest;_.open("POST",d,!0),_.setRequestHeader("Content-Type","text/plain"),_.send(m)}catch(e){n("[Web Pixels Manager] Got an unhandled error while logging to Monorail.")}}else n("[Web Pixels Manager] No Monorail endpoint provided, skipping logging.")}}}({version:u,browserTarget:g,surface:d.surface,shopId:d.shopId,monorailEndpoint:d.monorailEndpoint});if(Boolean(null==(_=null==(b=window.Shopify)?void 0:b.analytics)?void 0:_.replayQueue))w.emit({status:"setup-skipped",errorMsg:"replay queue already initialized."});else{var b,_;w.emit({status:"setup-started"}),window.Shopify=window.Shopify||{};var S=window.Shopify;S.analytics=S.analytics||{};var P=S.analytics;P.replayQueue=[],P.publish=function(e,t,i){return P.replayQueue.push([e,t,i]),!0};try{self.performance.mark("wpm:start")}catch(e){}var k,C="modern"===g?"modern":"legacy",E=(null!=l?l:{modern:"",legacy:""})[C],I=[(k={baseUrl:s,hashVersion:u,buildTarget:C}).baseUrl,"/wpm","/b",k.hashVersion,"modern"===k.buildTarget?"m":"l",".js"].join(""),O=!1,T=!1;try{c.browserTarget=g,function(){O=!0;try{window.addEventListener("pagehide",M)}catch(e){O=!1}}(),R(function(){try{R(x)}catch(e){D(e)}}),w.emit({status:"loading",requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()})}catch(e){D(e)}}function U(){var e;if(q(),!function(){var e,t;return Boolean(null==(t=null==(e=window.Shopify)?void 0:e.analytics)?void 0:t.initialized)}()){var t,i,n;try{if("function"!=typeof(null==(e=window.webPixelsManager)?void 0:e.init))return void A();if(!(null!==(n=i=t=window.webPixelsManager.init(d))&&"function"!=typeof n&&Object(n)===n&&"publish"in i&&"function"==typeof i.publish&&"publishCustomEvent"in i&&"function"==typeof i.publishCustomEvent&&"visitor"in i&&"function"==typeof i.visitor))return void A()}catch(e){return void A(e)}var r=window.Shopify.analytics;r.replayQueue.forEach(function(e){var i=e[0],n=e[1],r=e[2];t.publishCustomEvent(i,n,r)}),r.replayQueue=[],r.publish=t.publishCustomEvent,r.visitor=t.visitor,r.initialized=!0}}function A(e){B("manager_api_unavailable",void 0===e?void 0:Q(e))}function x(){B("script_load_failed","".concat(I," has failed to load"))}function B(e,t){T||(T=!0,q(),w.emit({status:"failed",errorMsg:t,failureReason:e,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function M(e){O&&(q(),w.emit({status:"pagehide-while-loading",useKeepaliveFallback:!0,pagehidePersisted:e.persisted,requestId:m.requestId,navigationType:m.navigationType,trekkieState:a()}))}function q(){O=!1;try{window.removeEventListener("pagehide",M)}catch(e){}}function R(e){var t;!function(e){var t=e.src,i=e.async,n=void 0===i||i,r=e.onload,o=e.onerror,a=e.sri,d=e.scriptDataAttributes,s=void 0===d?{}:d,u=document.createElement("script"),l=document.querySelector("head"),c=document.querySelector("body");if(u.async=n,u.src=t,a&&(u.integrity=a,u.crossOrigin="anonymous"),s)for(var p in s)if(Object.prototype.hasOwnProperty.call(s,p))try{u.dataset[p]=String(s[p])}catch(e){}if(r&&u.addEventListener("load",r),o&&u.addEventListener("error",o),l)l.appendChild(u);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(u)}}({src:I,async:!0,onload:U,onerror:e,sri:(t=E,"string"==typeof t&&/^sha384-[A-Za-z0-9+/=]+$/.test(t)?E:""),scriptDataAttributes:c})}function D(e){B("script_append_failed",Q(e))}function Q(e){return e instanceof Error?e.message:"Unknown error"}}}();wpmLoader({shopId: 64627245292,storefrontBaseUrl: "https://www.roadvista.com",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://www.roadvista.com/.well-known/shopify/monorail/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: ["4c64608a","16072cab","8450a54b","7ee89bf1"],webPixelsConfigList: [{"id":"1225851116","configuration":"{\"config\":\"{\\\"google_tag_ids\\\":[\\\"G-9CS9PWYZ4W\\\",\\\"GT-P8RTHF7P\\\"],\\\"target_country\\\":\\\"US\\\",\\\"gtag_events\\\":[{\\\"type\\\":\\\"search\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"begin_checkout\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"remove_from_cart\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"view_item\\\",\\\"action_label\\\":[\\\"G-9CS9PWYZ4W\\\",\\\"MC-YE1Q8S1WWR\\\"]},{\\\"type\\\":\\\"purchase\\\",\\\"action_label\\\":[\\\"G-9CS9PWYZ4W\\\",\\\"MC-YE1Q8S1WWR\\\"]},{\\\"type\\\":\\\"add_shipping_info\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"page_view\\\",\\\"action_label\\\":[\\\"G-9CS9PWYZ4W\\\",\\\"MC-YE1Q8S1WWR\\\"]},{\\\"type\\\":\\\"view_item_list\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"add_payment_info\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"add_to_cart\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"},{\\\"type\\\":\\\"view_cart\\\",\\\"action_label\\\":\\\"G-9CS9PWYZ4W\\\"}],\\\"enable_monitoring_mode\\\":false}\"}","eventPayloadVersion":"v1","runtimeContext":"OPEN","scriptVersion":"a3321ca85cf5aaf6b57585fcd8d67b3a","type":"APP","apiClientId":1780363,"privacyPurposes":[],"dataSharingAdjustments":{"protectedCustomerApprovalScopes":["read_customer_address","read_customer_email","read_customer_name","read_customer_personal_data","read_customer_phone"],"dataSharingControls":["share_all_events"]},"dataSharingState":"optimized","enabledFlags":["9a3ed68a"]},{"id":"77463788","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS"],"name":"Google Analytics tag (migrated)"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0530","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,initData: {"shop":{"name":"Gamma Scientific \/ RoadVista","paymentSettings":{"currencyCode":"USD"},"myshopifyDomain":"roadvista.myshopify.com","countryCode":"US","storefrontUrl":"https:\/\/www.roadvista.com"},"customer":null,"cart":null,"checkout":null,"productVariants":[{"price":{"amount":0.0,"currencyCode":"USD"},"product":{"title":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","vendor":"Gamma Scientific \/ RoadVista","id":"9164290752748","untranslatedTitle":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","url":"\/products\/laserlux-fm-llfm","type":""},"id":"47323949367532","image":{"src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}],"products":[{"id":"9164290752748","handle":"laserlux-fm-llfm","isCollective":null,"title":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","type":null,"untranslatedTitle":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","url":"\/products\/laserlux-fm-llfm","vendor":"Gamma Scientific \/ RoadVista","remoteShopId":null,"variants":[{"id":"47323949367532","image":{"src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939"},"price":{"amount":0.0,"currencyCode":"USD"},"sku":null,"title":"Default Title","untranslatedTitle":"Default Title"}]}],"purchasingCompany":null},},"https://www.roadvista.com/cdn","5982071ew7ea472e3p69b68784m2150dfea",{"modern":"","legacy":""},{"trekkieShim":true,"agentContext":true,"apiClientId":"580111","facebookCapiEnabled":"false","themeId":"136785297644","themeStoreId":"911","themePublished":"true","eventMetadataId":"4f23d3ea-cd90-4d3e-8689-862aa476f11c","pageType":"product","resourceId":"9164290752748","shopId":"64627245292","storefrontBaseUrl":"https:\/\/www.roadvista.com","extensionBaseUrl":"https:\/\/extensions.shopifycdn.com\/cdn\/shopifycloud\/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[\"4c64608a\", \"16072cab\", \"8450a54b\", \"7ee89bf1\"]","isMerchantRequest":"false","hashVersion":"5982071ew7ea472e3p69b68784m2150dfea","publish":"custom","events":"[[\"page_viewed\",{}],[\"product_viewed\",{\"productVariant\":{\"price\":{\"amount\":0.0,\"currencyCode\":\"USD\"},\"product\":{\"title\":\"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer\",\"vendor\":\"Gamma Scientific \/ RoadVista\",\"id\":\"9164290752748\",\"untranslatedTitle\":\"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer\",\"url\":\"\/products\/laserlux-fm-llfm\",\"type\":\"\"},\"id\":\"47323949367532\",\"image\":{\"src\":\"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939\"},\"sku\":null,\"title\":\"Default Title\",\"untranslatedTitle\":\"Default Title\"}}]]"});})();</script>
558<script> 559 window.ShopifyAnalytics = window.ShopifyAnalytics || {}; 560 window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; 561 window.ShopifyAnalytics.meta.currency = 'USD'; 562 var meta = {"product":{"id":9164290752748,"gid":"gid:\/\/shopify\/Product\/9164290752748","vendor":"Gamma Scientific \/ RoadVista","type":"","handle":"laserlux-fm-llfm","variants":[{"id":47323949367532,"price":0,"name":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","public_title":null,"sku":null}],"remote":false},"page":{"pageType":"product","resourceType":"product","resourceId":9164290752748,"requestId":"bba53e23-d42b-4cf3-9871-3cf68224c4ba-1791251612"}}; 563 for (var attr in meta) { 564 window.ShopifyAnalytics.meta[attr] = meta[attr]; 565 } 566</script>
vendor: 1 bytes, line 566
566
567<script class="analytics"> 568 (function () { 569 var customDocumentWrite = function(content) { 570 var jquery = null; 571 572 if (window.jQuery) { 573 jquery = window.jQuery; 574 } else if (window.Checkout && window.Checkout.$) { 575 jquery = window.Checkout.$; 576 } 577 578 if (jquery) { 579 jquery('body').append(content); 580 } 581 }; 582 583 var hasLoggedConversion = function(token) { 584 if (token) { 585 return document.cookie.indexOf('loggedConversion=' + token) !== -1; 586 } 587 return false; 588 } 589 590 var setCookieIfConversion = function(token) { 591 if (token) { 592 var twoMonthsFromNow = new Date(Date.now()); 593 twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); 594 595 document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; 596 } 597 } 598 599 var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; 600 window.ShopifyAnalytics.lib.trekkie = window.trekkie; 601 if (trekkie.integrations) { 602 return; 603 } 604 trekkie.methods = [ 605 'identify', 606 'page', 607 'ready', 608 'track', 609 'trackForm', 610 'trackLink' 611 ]; 612 trekkie.factory = function(method) { 613 return function() { 614 var args = Array.prototype.slice.call(arguments); 615 args.unshift(method); 616 trekkie.push(args); 617 if (method == 'track' || method == 'page') { 618 var pageUrl; 619 try { 620 pageUrl = window.location.href; 621 } catch (e) {} 622 var pageReferrer; 623 try { 624 pageReferrer = document.referrer; 625 } catch (e) {} 626 try { 627 if (window.__TREKKIE_SHIM_QUEUE == null) { 628 window.__TREKKIE_SHIM_QUEUE = []; 629 } 630 window.__TREKKIE_SHIM_QUEUE.push({ 631 from: 'trekkie-stub', 632 method: method, 633 args: args.slice(1), 634 pageContext: { 635 url: pageUrl, 636 referrer: pageReferrer 637 } 638 }); 639 } catch (e) { 640 // no-op 641 } 642 } 643 return trekkie; 644 }; 645 }; 646 for (var i = 0; i < trekkie.methods.length; i++) { 647 var key = trekkie.methods[i]; 648 trekkie[key] = trekkie.factory(key); 649 } 650 trekkie.load = function(config) { 651 trekkie.config = config || {}; 652 trekkie.config.initialDocumentCookie = document.cookie; 653 var first = document.getElementsByTagName('script')[0]; 654var script = document.createElement('script'); 655script.type = 'text/javascript'; 656script.onerror = function(e) { 657 var scriptFallback = document.createElement('script'); 658 scriptFallback.type = 'text/javascript'; 659 scriptFallback.onerror = function(error) { 660 var Monorail = { 661 produce: function produce(monorailDomain, schemaId, payload) { 662 var currentMs = new Date().getTime(); 663 var event = { 664 schema_id: schemaId, 665 payload: payload, 666 metadata: { 667 event_created_at_ms: currentMs, 668 event_sent_at_ms: currentMs 669 } 670 }; 671 return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); 672 }, 673 sendRequest: function sendRequest(endpointUrl, payload) { 674 // Try the sendBeacon API 675 if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { 676 var blobData = new window.Blob([payload], { 677 type: 'text/plain' 678 }); 679 680 if (window.navigator.sendBeacon(endpointUrl, blobData)) { 681 return true; 682 } // sendBeacon was not successful 683 684 } // XHR beacon 685 686 var xhr = new XMLHttpRequest(); 687 688 try { 689 xhr.open('POST', endpointUrl); 690 xhr.setRequestHeader('Content-Type', 'text/plain'); 691 xhr.send(payload); 692 } catch (e) { 693 console.log(e); 694 } 695 696 return false; 697 }, 698 isIos12: function isIos12() { 699 return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; 700 } 701 }; 702 Monorail.produce('monorail-edge.shopifysvc.com', 703 'trekkie_storefront_load_errors/1.1', 704 {shop_id: 64627245292, 705 theme_id: 136785297644, 706 app_name: "storefront", 707 context_url: window.location.href, 708 source_url: "//www.roadvista.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js"}); 709 710 }; 711 scriptFallback.async = true; 712 scriptFallback.src = '//www.roadvista.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 713 first.parentNode.insertBefore(scriptFallback, first); 714}; 715script.async = true; 716script.src = '//www.roadvista.com/cdn/s/trekkie.storefront.2f6d7d7ede7d24234881a9cd5f47e679642fa1f6.min.js'; 717first.parentNode.insertBefore(script, first); 718 719 }; 720 trekkie.load( 721 {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":64627245292,"isMerchantRequest":null,"themeId":136785297644,"themeCityHash":"12417038308367789425","contentLanguage":"en","currency":"USD","eventMetadataId":"4f23d3ea-cd90-4d3e-8689-862aa476f11c"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain","enabledBetaFlags":["764d78cb","8450a54b","7ee89bf1","4c64608a"]},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} 722 ); 723 724 var loaded = false;
725 trekkie.ready(function() { 726 if (loaded) return; 727 loaded = true; 728 729 window.ShopifyAnalytics.lib = window.trekkie; 730 731 var originalDocumentWrite = document.write; 732 document.write = customDocumentWrite; 733 try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; 734 document.write = originalDocumentWrite; 735 736 var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) 737 var token = match? match[1]: undefined; 738 if (!hasLoggedConversion(token)) { 739 setCookieIfConversion(token); 740 window.ShopifyAnalytics.lib.track("Viewed Product",{"currency":"USD","variantId":47323949367532,"productId":9164290752748,"productGid":"gid:\/\/shopify\/Product\/9164290752748","name":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","price":"0.00","sku":null,"brand":"Gamma Scientific \/ RoadVista","variant":null,"category":"","nonInteraction":true,"remote":false,"available":true},undefined,undefined,{"shopifyEmitted":true}); 741 } 742 }); 743 744 window.ShopifyAnalytics.lib.page(null,{"pageType":"product","resourceType":"product","resourceId":9164290752748,"requestId":"bba53e23-d42b-4cf3-9871-3cf68224c4ba-1791251612","shopifyEmitted":true}); 745 746 var eventsListenerScript = document.createElement('script'); 747 eventsListenerScript.async = true; 748 eventsListenerScript.src = "//www.roadvista.com/cdn/shopifycloud/storefront/assets/shop_events_listener-4e26a9ce.js"; 749 document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); 750})();</script>
750 751
751<script> 752 if (!window.ga || (window.ga && typeof window.ga !== 'function')) { 753 window.ga = function ga() { 754 (window.ga.q = window.ga.q || []).push(arguments); 755 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 756 window.Shopify.analytics.publish("ga_stub_called", {}, {sendTo: "google_osp_migration"}); 757 } 758 console.error("Shopify's Google Analytics stub called with:", Array.from(arguments), "\nSee https://help.shopify.com/manual/promoting-marketing/pixels/pixel-migration#google for more information."); 759 }; 760 if (window.Shopify && window.Shopify.analytics && typeof window.Shopify.analytics.publish === 'function') { 761 window.Shopify.analytics.publish("ga_stub_initialized", {}, {sendTo: "google_osp_migration"}); 762 } 763 } 764</script>
vendor: 1 bytes, line 764
764
765<script 766 defer 767 src="https://www.roadvista.com/cdn/shopifycloud/perf-kit/shopify-perf-kit-3.9.4.min.js" 768 data-application="storefront-renderer" 769 data-shop-id="64627245292" 770 data-render-region="gcp-us-central1" 771 data-page-type="product" 772 data-theme-instance-id="136785297644" 773 data-theme-name="Spark" 774 data-theme-version="2.7.0" 775 data-monorail-region="shop_domain" 776 data-resource-timing-sampling-rate="10" 777 data-shs="true" 778 data-shs-beacon="true" 779 data-shs-export-with-fetch="true" 780 data-shs-logs-sample-rate="1" 781 data-shs-beacon-endpoint="https://www.roadvista.com/api/collect" 782></script>
782 783<meta name="shopify-y" content="e54c53c5-9461-4618-b860-f3a419d64bc8" data-expiration="1822809212000"><meta name="shopify-s" content="bb9d08c6-11c0-450f-a90d-b7fbb248eeb7" data-expiration="1791253412000"><meta name="new-cookie-storage-activated" content="t"> 784</head> 785 786 <body 787 class="template-product header-sticky" 788 789 data-enable-cart-ajax="true" 790 791 > 792 <div class="page"> 793 794 <div class="page-transition" data-page-transition></div> 795 796 797 <div class="theme-editor-scroll-offset"></div> 798 799 <div class="header__space" data-header-space></div> 800 <div id="shopify-section-announcement-bar" class="shopify-section"><div 801 class="announcement-bar hidden" 802 data-section-id="announcement-bar" 803 data-section-type="announcement-bar" 804 data-timing="4000" 805 ></div> 806</div> 807 <div id="shopify-section-header" class="shopify-section header__outer-wrapper"> 808 809 810<header 811 data-section-id="header" 812 data-section-type="header" 813 814 data-enable-sticky-header="true" 815 816 817 818 class=" 819 header 820 header--inline 821 header--left 822 header--navigation-inline 823 header--has-logo 824 825 826 header--has-accounts 827 828 829 " 830 style=" 831 --width-max-logo: 180px; 832 --color-cart-count-transparent: #000000; 833 --color-text-transparent: #ffffff; 834 --color-icon-transparent: #ffffff; 835 --color-border-transparent: rgba(0, 0, 0, 0.0); 836 " 837> 838
838<script type="application/json" data-search-settings> 839 { 840 "limit": 4, 841 "show_articles": true, 842 "show_pages": true 843 } 844</script>
844 845 846 <a href="#main" class="header__skip-top-content btn btn--primary btn--small"> 847 Skip to content 848 </a> 849 850 <div class="header__inner"> 851 852 <div class="header__left"><h1 class="header__logo"> 853 <a 854 class="header__logo-link" href="/" 855 856 aria-label="Gamma Scientific / RoadVista" 857 858 ><div class="image js-enabled image--29702995214572 regular-logo"> 859 <img 860 class="image__img lazyload lazypreload " 861 src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_300x300.png?v=1654033983" 862 data-src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_{width}x.png?v=1654033983" 863 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 864 data-aspectratio="3.384892086330935" 865 data-sizes="auto" 866 alt="" 867 > 868</div><style> 869 .image--29702995214572 { 870 padding-top: 29.543039319872477%; 871 } 872 </style><noscript> 873 <div class="image image--29702995214572 regular-logo"> 874 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_2048x2048.png?v=1654033983" alt=""> 875 </div> 876</noscript><span class="header__logo-text">Gamma Scientific / RoadVista</span></a> 877 </h1> 878 <button class="header__menu-icon header__icon-touch header__icon-menu" aria-label="Open menu modal" data-js-menu-button> 879 <span class="icon-button "> 880 <span class="icon-button__icon"> 881 882<span class="icon "> 883 <svg width="100%" viewBox="0 0 24 24"> 884 885 <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.1" d="M3.43 12h17.14M3.43 6.29h17.14M3.43 17.71h17.14"/> 886 887 888 </svg> 889</span> 890 </span> 891</span> 892 893 </button> 894</div> 895 <div class="header__center"> 896 <h1 class="header__logo"> 897 <a 898 class="header__logo-link" href="/" 899 900 aria-label="Gamma Scientific / RoadVista" 901 902 ><div class="image js-enabled image--29702995214572 regular-logo"> 903 <img 904 class="image__img lazyload lazypreload " 905 src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_300x300.png?v=1654033983" 906 data-src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_{width}x.png?v=1654033983" 907 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 908 data-aspectratio="3.384892086330935" 909 data-sizes="auto" 910 alt="" 911 > 912</div><style> 913 .image--29702995214572 { 914 padding-top: 29.543039319872477%; 915 } 916 </style><noscript> 917 <div class="image image--29702995214572 regular-logo"> 918 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/RoadVistaLogoThumb_2048x2048.png?v=1654033983" alt=""> 919 </div> 920</noscript><span class="header__logo-text">Gamma Scientific / RoadVista</span></a> 921 </h1> 922 <nav class="header__links" data-navigation><ul class="header__links-list fs-body-base"> 923 924<li data-submenu-parent><button 925 type="button" 926 class="navigation__submenu-trigger no-transition active" 927 data-link 928 data-parent 929 aria-haspopup="true" 930 aria-expanded="false" 931 > 932 Products 933 <span class="header__links-icon"> 934 935<span class="icon "> 936 <svg width="100%" viewBox="0 0 24 24"> 937 938 <path stroke-width="1.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 9 6 6 6-6"/> 939 940 941 </svg> 942</span> 943 </span> 944 </button><ul class="navigation__submenu fs-body-base" data-submenu data-depth="1" aria-hidden="true"><li class="navigation__submenu-item"><a 945 href="/products/laserlux-fm-llfm" 946 class="active" 947 aria-current="page" 948 data-link 949 > 950 Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer 951 </a></li><li class="navigation__submenu-item"><a 952 href="/products/laserlux-g7-mobile-retroreflectometer" 953 class="" 954 955 data-link 956 > 957 Laserlux® G7 Mobile Retroreflectometer 958 </a></li><li class="navigation__submenu-item"><a 959 href="/products/stripemaster-3-pavement-marketing-retroreflectometer" 960 class="" 961 962 data-link 963 > 964 Stripemaster® 3 Pavement Marking Retroreflectometer 965 </a></li><li class="navigation__submenu-item"><a 966 href="/products/1022handheld-retroreflectometer" 967 class="" 968 969 data-link 970 > 971 1022 Handheld Retroreflectometer 972 </a></li><li class="navigation__submenu-item"><a 973 href="/products/933-retroreflectivity-goniometer-system" 974 class="" 975 976 data-link 977 > 978 933 Retroreflectivity Goniometer System 979 </a></li><li class="navigation__submenu-item"><a 980 href="/pages/legacy-products" 981 class="" 982 983 data-link 984 > 985 View Legacy Products 986 </a></li></ul> 987</li> 988 989<li data-submenu-parent><button 990 type="button" 991 class="navigation__submenu-trigger no-transition" 992 data-link 993 data-parent 994 aria-haspopup="true" 995 aria-expanded="false" 996 > 997 Solutions
998 <span class="header__links-icon"> 999 1000<span class="icon "> 1001 <svg width="100%" viewBox="0 0 24 24"> 1002 1003 <path stroke-width="1.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 9 6 6 6-6"/> 1004 1005 1006 </svg> 1007</span> 1008 </span> 1009 </button><ul class="navigation__submenu fs-body-base" data-submenu data-depth="1" aria-hidden="true"><li class="navigation__submenu-item"><a 1010 href="/pages/sign-sheeting" 1011 class="" 1012 1013 data-link 1014 > 1015 Sign Sheeting 1016 </a></li><li class="navigation__submenu-item"><a 1017 href="/pages/pavement-markings" 1018 class="" 1019 1020 data-link 1021 > 1022 Pavement Markings 1023 </a></li><li class="navigation__submenu-item"><a 1024 href="/pages/automotive-lighting" 1025 class="" 1026 1027 data-link 1028 > 1029 Automotive Lighting 1030 </a></li><li class="navigation__submenu-item"><a 1031 href="/pages/retroreflectivity" 1032 class="" 1033 1034 data-link 1035 > 1036 Retroreflectivity 1037 </a></li><li class="navigation__submenu-item"><a 1038 href="/pages/retroreflectometer-rental-program" 1039 class="" 1040 1041 data-link 1042 > 1043 Retroreflectometer Rentals 1044 </a></li><li class="navigation__submenu-item"><a 1045 href="/pages/services" 1046 class="" 1047 1048 data-link 1049 > 1050 Testing Services 1051 </a></li></ul> 1052</li> 1053 1054<li data-submenu-parent><button 1055 type="button" 1056 class="navigation__submenu-trigger no-transition" 1057 data-link 1058 data-parent 1059 aria-haspopup="true" 1060 aria-expanded="false" 1061 > 1062 Resources 1063 <span class="header__links-icon"> 1064 1065<span class="icon "> 1066 <svg width="100%" viewBox="0 0 24 24"> 1067 1068 <path stroke-width="1.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 9 6 6 6-6"/> 1069 1070 1071 </svg> 1072</span> 1073 </span> 1074 </button><ul class="navigation__submenu fs-body-base" data-submenu data-depth="1" aria-hidden="true"><li class="navigation__submenu-item"><a 1075 href="/pages/laserlux-g7-kml-creator" 1076 class="" 1077 1078 data-link 1079 > 1080 Laserlux® G7 KML Creator 1081 </a></li><li class="navigation__submenu-item"><a 1082 href="/pages/software-downloads" 1083 class="" 1084 1085 data-link 1086 > 1087 Software Downloads 1088 </a></li><li class="navigation__submenu-item"><a 1089 href="/pages/guide-to-retroreflection-download" 1090 class="" 1091 1092 data-link 1093 > 1094 Guide to Retroreflection Download 1095 </a></li><li class="navigation__submenu-item"><a 1096 href="/pages/the-mutcd-minimum-pavement-marking-retroreflectivity-requirement" 1097 class="" 1098 1099 data-link 1100 > 1101 MUTCD Pavement Retroreflectivity Requirements 1102 </a></li><li class="navigation__submenu-item"><a 1103 href="/pages/mutcd-sign-retroreflectivity-requirements" 1104 class="" 1105 1106 data-link 1107 > 1108 MUTCD Sign Retroreflectivity Requirements 1109 </a></li><li class="navigation__submenu-item"><a 1110 href="/pages/rma-request" 1111 class="" 1112 1113 data-link 1114 > 1115 RMA Request 1116 </a></li><li class="navigation__submenu-item"><a 1117 href="/pages/videos" 1118 class="" 1119 1120 data-link 1121 > 1122 Videos 1123 </a></li></ul> 1124</li> 1125 1126<li data-submenu-parent><button 1127 type="button" 1128 class="navigation__submenu-trigger no-transition" 1129 data-link 1130 data-parent 1131 aria-haspopup="true" 1132 aria-expanded="false" 1133 > 1134 About Us 1135 <span class="header__links-icon"> 1136 1137<span class="icon "> 1138 <svg width="100%" viewBox="0 0 24 24"> 1139 1140 <path stroke-width="1.5" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 9 6 6 6-6"/> 1141 1142 1143 </svg> 1144</span> 1145 </span> 1146 </button><ul class="navigation__submenu fs-body-base" data-submenu data-depth="1" aria-hidden="true"><li class="navigation__submenu-item"><a 1147 href="/pages/company" 1148 class="" 1149 1150 data-link 1151 > 1152 Company 1153 </a></li><li class="navigation__submenu-item"><a 1154 href="/pages/international-distributors" 1155 class="" 1156 1157 data-link 1158 > 1159 International 1160 </a></li><li class="navigation__submenu-item"><a 1161 href="/pages/careers" 1162 class="" 1163 1164 data-link 1165 > 1166 Careers 1167 </a></li><li class="navigation__submenu-item"><a 1168 href="/blogs/blog" 1169 class="" 1170 1171 data-link 1172 > 1173 News 1174 </a></li></ul> 1175</li> 1176 1177<li ><a 1178 href="/pages/contact" 1179 class=" btn btn--primary" 1180 data-link 1181 1182 > 1183 Contact 1184 </a></li> 1185 1186</ul> 1187 1188 1189</nav> 1190 </div> 1191 <div class="header__right"><a 1192 class="header__icon-touch header__icon-touch--search no-transition" 1193 href="/search" 1194 data-search 1195 aria-label="Open search modal" 1196 > 1197 <span class="icon-button "> 1198 <span class="icon-button__icon"> 1199 1200<span class="icon ">
1201 <svg width="100%" viewBox="0 0 24 24"> 1202 1203 <circle fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.25" class="cls-1" cx="10" cy="9.93" r="8.41"/> 1204 <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.25" class="cls-1" d="M16.29,16.22l6.12,6.11"/> 1205 1206 1207 </svg> 1208</span> 1209 </span> 1210</span> 1211 1212 </a> 1213<a 1214 class="header__icon-touch header__icon-touch--account" 1215 href="/account" 1216 aria-label="Go to the account page" 1217 > 1218 <span class="icon-button "> 1219 <span class="icon-button__icon"> 1220 1221<span class="icon "> 1222 <svg width="100%" viewBox="0 0 24 24"> 1223 1224 <circle fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.25" cx="12" cy="6.47" r="4.8"/> 1225 <path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.25" d="M21 22.33a.33.33 0 0 0 .32-.36c-.08-.76-.27-2.57-.37-3.28a4.54 4.54 0 0 0-4.51-3.92h-9A4.54 4.54 0 0 0 3 18.69c-.1.71-.29 2.52-.37 3.28a.33.33 0 0 0 .32.36z"/> 1226 1227 1228 </svg> 1229</span> 1230 </span> 1231</span> 1232 1233 </a> 1234<div data-js-cart-icon></div></div><div class="quick-search" data-quick-search> 1235 <div class="quick-search__overlay" data-overlay></div> 1236 1237 <div class="quick-search__container popover"> 1238 <button type="button" class="quick-search__close" aria-label="Close" data-close-icon> 1239 <span class="icon-button "> 1240 <span class="icon-button__icon"> 1241 1242<span class="icon "> 1243 <svg width="100%" viewBox="0 0 24 24"> 1244 1245 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 1246 1247 1248 </svg> 1249</span> 1250 </span> 1251</span> 1252 1253 </button> 1254 1255 <div class="quick-search__heading ff-heading fs-heading-2-base fs-heading-2-large-ns">Search</div> 1256 1257 <form action="/search" class="quick-search__form" autocomplete="off"> 1258 <div class="quick-search__bar"> 1259 <label for="search" class="visually-hidden" aria-label="What are you looking for?"></label> 1260 <input 1261 class="quick-search__input" 1262 id="search" 1263 type="text" 1264 name="q" 1265 placeholder="What are you looking for?" 1266 data-input 1267 > 1268 <input type="hidden" name="options[prefix]" value="last"> 1269 <div class="quick-search__actions"> 1270 <button class="quick-search__clear" type="button" data-clear aria-label="Clear search"> 1271 1272<span class="icon "> 1273 <svg width="100%" viewBox="0 0 24 24"> 1274 1275 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 1276 1277 1278 </svg> 1279</span> 1280 </button> 1281 <button class="quick-search__submit" type="submit" aria-label="Search"> 1282 1283<span class="icon "> 1284 <svg width="100%" viewBox="0 0 24 24"> 1285 1286 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1287 1288 1289 </svg> 1290</span> 1291 </button> 1292 </div> 1293 </div> 1294 1295 <div class="quick-search__results-wrapper"> 1296 <div class="quick-search__results" data-results></div> 1297 </div> 1298 </form> 1299 1300 <div class="quick-search__blur"></div> 1301 </div> 1302</div> 1303 1304 1305 <div class="quick-cart" data-quick-cart> 1306 <div class="quick-cart__overlay" data-overlay></div> 1307 1308 <div class="quick-cart__container popover"> 1309 <button type="button" class="quick-cart__close" aria-label="Close" data-close-icon> 1310 <span class="icon-button "> 1311 <span class="icon-button__icon"> 1312 1313<span class="icon "> 1314 <svg width="100%" viewBox="0 0 24 24"> 1315 1316 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 1317 1318 1319 </svg> 1320</span> 1321 </span> 1322</span> 1323 1324 </button> 1325 <div class="quick-cart__cart visible" data-cart data-scroll-lock-ignore> 1326 <div class="quick-cart__header ff-heading fs-heading-2-base fs-heading-2-large-ns">Cart</div> 1327 <div class="quick-cart__items" data-items></div> 1328 <div class="quick_cart__empty ff-body fs-body-base" data-empty>Your cart is currently empty.</div> 1329 <div class="quick-cart__footer ff-body fs-body-base ta-c" data-footer> 1330 <div class="quick-cart__discounts c-subdued" data-discounts></div> 1331 <div class="quick-cart__total">
1332 <span>Subtotal</span> 1333 <span class="fs-body-bold" data-subtotal></span> 1334 </div> 1335 <a href="/cart" class="btn btn--secondary btn--medium btn--full visible">Go to cart</a> 1336 <a href="/checkout/" class="quick-cart__buy-now btn btn--primary btn--medium btn--full visible" data-buy-now-button>Checkout</a> 1337 </div> 1338 </div> 1339 </div> 1340</div> 1341 1342 </div> 1343 1344 <div class="no-js-menu no-js-menu--desktop"> 1345 <nav> 1346 <ul> 1347 1348 <li><a href="#">Products</a></li> 1349 1350 <li><a href="/products/laserlux-fm-llfm">Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer</a></li> 1351 1352 1353 <li><a href="/products/laserlux-g7-mobile-retroreflectometer">Laserlux® G7 Mobile Retroreflectometer</a></li> 1354 1355 1356 <li><a href="/products/stripemaster-3-pavement-marketing-retroreflectometer">Stripemaster® 3 Pavement Marking Retroreflectometer</a></li> 1357 1358 1359 <li><a href="/products/1022handheld-retroreflectometer">1022 Handheld Retroreflectometer</a></li> 1360 1361 1362 <li><a href="/products/933-retroreflectivity-goniometer-system">933 Retroreflectivity Goniometer System</a></li> 1363 1364 1365 <li><a href="/pages/legacy-products">View Legacy Products</a></li> 1366 1367 1368 1369 <li><a href="#">Solutions</a></li> 1370 1371 <li><a href="/pages/sign-sheeting">Sign Sheeting</a></li> 1372 1373 1374 <li><a href="/pages/pavement-markings">Pavement Markings</a></li> 1375 1376 1377 <li><a href="/pages/automotive-lighting">Automotive Lighting</a></li> 1378 1379 1380 <li><a href="/pages/retroreflectivity">Retroreflectivity</a></li> 1381 1382 1383 <li><a href="/pages/retroreflectometer-rental-program">Retroreflectometer Rentals</a></li> 1384 1385 1386 <li><a href="/pages/services">Testing Services</a></li> 1387 1388 1389 1390 <li><a href="#">Resources</a></li> 1391 1392 <li><a href="/pages/laserlux-g7-kml-creator">Laserlux® G7 KML Creator</a></li> 1393 1394 1395 <li><a href="/pages/software-downloads">Software Downloads</a></li> 1396 1397 1398 <li><a href="/pages/guide-to-retroreflection-download">Guide to Retroreflection Download</a></li> 1399 1400 1401 <li><a href="/pages/the-mutcd-minimum-pavement-marking-retroreflectivity-requirement">MUTCD Pavement Retroreflectivity Requirements</a></li> 1402 1403 1404 <li><a href="/pages/mutcd-sign-retroreflectivity-requirements">MUTCD Sign Retroreflectivity Requirements</a></li> 1405 1406 1407 <li><a href="/pages/rma-request">RMA Request</a></li> 1408 1409 1410 <li><a href="/pages/videos">Videos</a></li> 1411 1412 1413 1414 <li><a href="#">About Us</a></li> 1415 1416 <li><a href="/pages/company">Company</a></li> 1417 1418 1419 <li><a href="/pages/international-distributors">International</a></li> 1420 1421 1422 <li><a href="/pages/careers">Careers</a></li> 1423 1424 1425 <li><a href="/blogs/blog">News</a></li> 1426 1427 1428 1429 <li><a href="/pages/contact">Contact</a></li> 1430 1431 1432</ul> 1433</nav> 1434 </div> 1435 1436 1437 1438 1439<div 1440 class="drawer-menu popover" 1441 data-drawer-menu 1442> 1443
1443<script type="application/json" data-search-settings> 1444 { 1445 "limit": 4, 1446 "show_articles": true, 1447 "show_pages": true 1448 } 1449</script>
1449 1450 1451 <div class="drawer-menu__overlay" data-overlay></div> 1452 1453 <div class="drawer-menu__panel" data-scroll-lock-ignore> 1454 1455 <div class="drawer-menu__close-wrapper"> 1456 <button 1457 type="button" 1458 data-drawer-close 1459 class="drawer-menu__close-icon" 1460 aria-label="Close" 1461 > 1462 <span class="icon-button "> 1463 <span class="icon-button__icon"> 1464 1465<span class="icon "> 1466 <svg width="100%" viewBox="0 0 24 24"> 1467 1468 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 1469 1470 1471 </svg> 1472</span> 1473 </span> 1474</span> 1475 1476 </button> 1477 </div> 1478 1479 <div class="drawer-menu__bottom"> 1480 <div class="drawer-menu__all-links" data-depth="0" data-all-links> 1481 <div class="drawer-menu__contents"> 1482 <div class="drawer-menu__main" data-main> 1483 <ul class="drawer-menu__primary-links drawer-menu-list--0" data-primary-container="true" data-depth="0"> 1484 <!-- if primary doesn't exist but secondary does --><li 1485 class=" 1486 drawer-menu__item 1487 drawer-menu__item--emphasized 1488 " 1489 data-list-item 1490 > 1491 <a 1492 data-item="parent" 1493 class="drawer-menu__link no-transition active" 1494 href="#" 1495 1496 data-link="primary" 1497 aria-haspopup="true" 1498 aria-expanded="false" 1499 1500 > 1501 <span 1502 class=" 1503 ff-heading 1504 fs-heading-2-base 1505 fs-heading-2-large-ns 1506 1507 " 1508 > 1509 Products 1510 </span> 1511<span class="icon menu-icon"> 1512 <svg width="100%" viewBox="0 0 24 24"> 1513 1514 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1515 1516 1517 </svg> 1518</span> 1519</a> 1520 1521 1522<ul class="drawer-menu__list drawer-menu__list--sub drawer-menu-list--1" aria-hidden="true"> 1523 <li class="drawer-menu__item drawer-menu__item--heading"> 1524 <button class="drawer-menu__link" data-heading="true" data-item="back"> 1525 <span class="ff-heading fs-heading-2-base fs-heading-2-large-ns">Products</span> 1526 1527<span class="icon menu-icon"> 1528 <svg width="100%" viewBox="0 0 24 24"> 1529 1530 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1531 1532 1533 </svg> 1534</span> 1535 </button> 1536 </li> 1537 <li 1538 class=" 1539 drawer-menu__item 1540 1541 " 1542 data-list-item 1543 > 1544 <a 1545 data-item="link" 1546 class="drawer-menu__link active" 1547 href="/products/laserlux-fm-llfm" 1548 1549 > 1550 <span 1551 class=" 1552 1553 fs-body-base 1554 fs-body-large-ns 1555 " 1556 > 1557 Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer 1558 </span></a> 1559 1560 1561</li><li 1562 class=" 1563 drawer-menu__item 1564 1565 " 1566 data-list-item 1567 > 1568 <a 1569 data-item="link" 1570 class="drawer-menu__link " 1571 href="/products/laserlux-g7-mobile-retroreflectometer" 1572 1573 > 1574 <span 1575 class=" 1576 1577 fs-body-base 1578 fs-body-large-ns 1579 " 1580 > 1581 Laserlux® G7 Mobile Retroreflectometer 1582 </span></a> 1583 1584 1585</li><li 1586 class=" 1587 drawer-menu__item 1588 1589 " 1590 data-list-item 1591 > 1592 <a 1593 data-item="link" 1594 class="drawer-menu__link " 1595 href="/products/stripemaster-3-pavement-marketing-retroreflectometer" 1596 1597 > 1598 <span 1599 class=" 1600 1601 fs-body-base 1602 fs-body-large-ns 1603 " 1604 > 1605 Stripemaster® 3 Pavement Marking Retroreflectometer 1606 </span></a> 1607 1608 1609</li><li 1610 class=" 1611 drawer-menu__item 1612 1613 " 1614 data-list-item 1615 > 1616 <a 1617 data-item="link" 1618 class="drawer-menu__link " 1619 href="/products/1022handheld-retroreflectometer" 1620 1621 > 1622 <span 1623 class=" 1624 1625 fs-body-base 1626 fs-body-large-ns 1627 " 1628 > 1629 1022 Handheld Retroreflectometer 1630 </span></a> 1631 1632 1633</li><li 1634 class="
1635 drawer-menu__item 1636 1637 " 1638 data-list-item 1639 > 1640 <a 1641 data-item="link" 1642 class="drawer-menu__link " 1643 href="/products/933-retroreflectivity-goniometer-system" 1644 1645 > 1646 <span 1647 class=" 1648 1649 fs-body-base 1650 fs-body-large-ns 1651 " 1652 > 1653 933 Retroreflectivity Goniometer System 1654 </span></a> 1655 1656 1657</li><li 1658 class=" 1659 drawer-menu__item 1660 1661 " 1662 data-list-item 1663 > 1664 <a 1665 data-item="link" 1666 class="drawer-menu__link " 1667 href="/pages/legacy-products" 1668 1669 > 1670 <span 1671 class=" 1672 1673 fs-body-base 1674 fs-body-large-ns 1675 " 1676 > 1677 View Legacy Products 1678 </span></a> 1679 1680 1681</li> 1682 </ul></li><li 1683 class=" 1684 drawer-menu__item 1685 drawer-menu__item--emphasized 1686 " 1687 data-list-item 1688 > 1689 <a 1690 data-item="parent" 1691 class="drawer-menu__link no-transition " 1692 href="#" 1693 1694 data-link="primary" 1695 aria-haspopup="true" 1696 aria-expanded="false" 1697 1698 > 1699 <span 1700 class=" 1701 ff-heading 1702 fs-heading-2-base 1703 fs-heading-2-large-ns 1704 1705 " 1706 > 1707 Solutions 1708 </span> 1709<span class="icon menu-icon"> 1710 <svg width="100%" viewBox="0 0 24 24"> 1711 1712 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1713 1714 1715 </svg> 1716</span> 1717</a> 1718 1719 1720<ul class="drawer-menu__list drawer-menu__list--sub drawer-menu-list--1" aria-hidden="true"> 1721 <li class="drawer-menu__item drawer-menu__item--heading"> 1722 <button class="drawer-menu__link" data-heading="true" data-item="back"> 1723 <span class="ff-heading fs-heading-2-base fs-heading-2-large-ns">Solutions</span> 1724 1725<span class="icon menu-icon"> 1726 <svg width="100%" viewBox="0 0 24 24"> 1727 1728 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1729 1730 1731 </svg> 1732</span> 1733 </button> 1734 </li> 1735 <li 1736 class=" 1737 drawer-menu__item 1738 1739 " 1740 data-list-item 1741 > 1742 <a 1743 data-item="link" 1744 class="drawer-menu__link " 1745 href="/pages/sign-sheeting" 1746 1747 > 1748 <span 1749 class=" 1750 1751 fs-body-base 1752 fs-body-large-ns 1753 " 1754 > 1755 Sign Sheeting 1756 </span></a> 1757 1758 1759</li><li 1760 class=" 1761 drawer-menu__item 1762 1763 " 1764 data-list-item 1765 > 1766 <a 1767 data-item="link" 1768 class="drawer-menu__link " 1769 href="/pages/pavement-markings" 1770 1771 > 1772 <span 1773 class=" 1774 1775 fs-body-base 1776 fs-body-large-ns 1777 " 1778 > 1779 Pavement Markings 1780 </span></a> 1781 1782 1783</li><li 1784 class=" 1785 drawer-menu__item 1786 1787 " 1788 data-list-item 1789 > 1790 <a 1791 data-item="link" 1792 class="drawer-menu__link " 1793 href="/pages/automotive-lighting" 1794 1795 > 1796 <span 1797 class=" 1798 1799 fs-body-base 1800 fs-body-large-ns 1801 " 1802 > 1803 Automotive Lighting 1804 </span></a> 1805 1806 1807</li><li 1808 class=" 1809 drawer-menu__item 1810 1811 " 1812 data-list-item 1813 > 1814 <a 1815 data-item="link" 1816 class="drawer-menu__link " 1817 href="/pages/retroreflectivity" 1818 1819 > 1820 <span 1821 class=" 1822 1823 fs-body-base 1824 fs-body-large-ns 1825 " 1826 > 1827 Retroreflectivity 1828 </span></a> 1829 1830 1831</li><li 1832 class=" 1833 drawer-menu__item 1834 1835 " 1836 data-list-item 1837 > 1838 <a 1839 data-item="link" 1840 class="drawer-menu__link " 1841 href="/pages/retroreflectometer-rental-program" 1842 1843 > 1844 <span 1845 class=" 1846 1847 fs-body-base 1848 fs-body-large-ns 1849 " 1850 > 1851 Retroreflectometer Rentals 1852 </span></a> 1853 1854 1855</li><li 1856 class=" 1857 drawer-menu__item 1858 1859 " 1860 data-list-item 1861 > 1862 <a 1863 data-item="link"
1864 class="drawer-menu__link " 1865 href="/pages/services" 1866 1867 > 1868 <span 1869 class=" 1870 1871 fs-body-base 1872 fs-body-large-ns 1873 " 1874 > 1875 Testing Services 1876 </span></a> 1877 1878 1879</li> 1880 </ul></li><li 1881 class=" 1882 drawer-menu__item 1883 drawer-menu__item--emphasized 1884 " 1885 data-list-item 1886 > 1887 <a 1888 data-item="parent" 1889 class="drawer-menu__link no-transition " 1890 href="#" 1891 1892 data-link="primary" 1893 aria-haspopup="true" 1894 aria-expanded="false" 1895 1896 > 1897 <span 1898 class=" 1899 ff-heading 1900 fs-heading-2-base 1901 fs-heading-2-large-ns 1902 1903 " 1904 > 1905 Resources 1906 </span> 1907<span class="icon menu-icon"> 1908 <svg width="100%" viewBox="0 0 24 24"> 1909 1910 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1911 1912 1913 </svg> 1914</span> 1915</a> 1916 1917 1918<ul class="drawer-menu__list drawer-menu__list--sub drawer-menu-list--1" aria-hidden="true"> 1919 <li class="drawer-menu__item drawer-menu__item--heading"> 1920 <button class="drawer-menu__link" data-heading="true" data-item="back"> 1921 <span class="ff-heading fs-heading-2-base fs-heading-2-large-ns">Resources</span> 1922 1923<span class="icon menu-icon"> 1924 <svg width="100%" viewBox="0 0 24 24"> 1925 1926 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 1927 1928 1929 </svg> 1930</span> 1931 </button> 1932 </li> 1933 <li 1934 class=" 1935 drawer-menu__item 1936 1937 " 1938 data-list-item 1939 > 1940 <a 1941 data-item="link" 1942 class="drawer-menu__link " 1943 href="/pages/laserlux-g7-kml-creator" 1944 1945 > 1946 <span 1947 class=" 1948 1949 fs-body-base 1950 fs-body-large-ns 1951 " 1952 > 1953 Laserlux® G7 KML Creator 1954 </span></a> 1955 1956 1957</li><li 1958 class=" 1959 drawer-menu__item 1960 1961 " 1962 data-list-item 1963 > 1964 <a 1965 data-item="link" 1966 class="drawer-menu__link " 1967 href="/pages/software-downloads" 1968 1969 > 1970 <span 1971 class=" 1972 1973 fs-body-base 1974 fs-body-large-ns 1975 " 1976 > 1977 Software Downloads 1978 </span></a> 1979 1980 1981</li><li 1982 class=" 1983 drawer-menu__item 1984 1985 " 1986 data-list-item 1987 > 1988 <a 1989 data-item="link" 1990 class="drawer-menu__link " 1991 href="/pages/guide-to-retroreflection-download" 1992 1993 > 1994 <span 1995 class=" 1996 1997 fs-body-base 1998 fs-body-large-ns 1999 " 2000 > 2001 Guide to Retroreflection Download 2002 </span></a> 2003 2004 2005</li><li 2006 class=" 2007 drawer-menu__item 2008 2009 " 2010 data-list-item 2011 > 2012 <a 2013 data-item="link" 2014 class="drawer-menu__link " 2015 href="/pages/the-mutcd-minimum-pavement-marking-retroreflectivity-requirement" 2016 2017 > 2018 <span 2019 class=" 2020 2021 fs-body-base 2022 fs-body-large-ns 2023 " 2024 > 2025 MUTCD Pavement Retroreflectivity Requirements 2026 </span></a> 2027 2028 2029</li><li 2030 class=" 2031 drawer-menu__item 2032 2033 " 2034 data-list-item 2035 > 2036 <a 2037 data-item="link" 2038 class="drawer-menu__link " 2039 href="/pages/mutcd-sign-retroreflectivity-requirements" 2040 2041 > 2042 <span 2043 class=" 2044 2045 fs-body-base 2046 fs-body-large-ns 2047 " 2048 > 2049 MUTCD Sign Retroreflectivity Requirements 2050 </span></a> 2051 2052 2053</li><li 2054 class=" 2055 drawer-menu__item 2056 2057 " 2058 data-list-item 2059 > 2060 <a 2061 data-item="link" 2062 class="drawer-menu__link " 2063 href="/pages/rma-request" 2064 2065 > 2066 <span 2067 class=" 2068 2069 fs-body-base 2070 fs-body-large-ns 2071 " 2072 > 2073 RMA Request 2074 </span></a> 2075 2076 2077</li><li 2078 class=" 2079 drawer-menu__item 2080 2081 " 2082 data-list-item 2083 > 2084 <a 2085 data-item="link" 2086 class="drawer-menu__link " 2087 href="/pages/videos" 2088 2089 >
2090 <span 2091 class=" 2092 2093 fs-body-base 2094 fs-body-large-ns 2095 " 2096 > 2097 Videos 2098 </span></a> 2099 2100 2101</li> 2102 </ul></li><li 2103 class=" 2104 drawer-menu__item 2105 drawer-menu__item--emphasized 2106 " 2107 data-list-item 2108 > 2109 <a 2110 data-item="parent" 2111 class="drawer-menu__link no-transition " 2112 href="#" 2113 2114 data-link="primary" 2115 aria-haspopup="true" 2116 aria-expanded="false" 2117 2118 > 2119 <span 2120 class=" 2121 ff-heading 2122 fs-heading-2-base 2123 fs-heading-2-large-ns 2124 2125 " 2126 > 2127 About Us 2128 </span> 2129<span class="icon menu-icon"> 2130 <svg width="100%" viewBox="0 0 24 24"> 2131 2132 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 2133 2134 2135 </svg> 2136</span> 2137</a> 2138 2139 2140<ul class="drawer-menu__list drawer-menu__list--sub drawer-menu-list--1" aria-hidden="true"> 2141 <li class="drawer-menu__item drawer-menu__item--heading"> 2142 <button class="drawer-menu__link" data-heading="true" data-item="back"> 2143 <span class="ff-heading fs-heading-2-base fs-heading-2-large-ns">About Us</span> 2144 2145<span class="icon menu-icon"> 2146 <svg width="100%" viewBox="0 0 24 24"> 2147 2148 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 2149 2150 2151 </svg> 2152</span> 2153 </button> 2154 </li> 2155 <li 2156 class=" 2157 drawer-menu__item 2158 2159 " 2160 data-list-item 2161 > 2162 <a 2163 data-item="link" 2164 class="drawer-menu__link " 2165 href="/pages/company" 2166 2167 > 2168 <span 2169 class=" 2170 2171 fs-body-base 2172 fs-body-large-ns 2173 " 2174 > 2175 Company 2176 </span></a> 2177 2178 2179</li><li 2180 class=" 2181 drawer-menu__item 2182 2183 " 2184 data-list-item 2185 > 2186 <a 2187 data-item="link" 2188 class="drawer-menu__link " 2189 href="/pages/international-distributors" 2190 2191 > 2192 <span 2193 class=" 2194 2195 fs-body-base 2196 fs-body-large-ns 2197 " 2198 > 2199 International 2200 </span></a> 2201 2202 2203</li><li 2204 class=" 2205 drawer-menu__item 2206 2207 " 2208 data-list-item 2209 > 2210 <a 2211 data-item="link" 2212 class="drawer-menu__link " 2213 href="/pages/careers" 2214 2215 > 2216 <span 2217 class=" 2218 2219 fs-body-base 2220 fs-body-large-ns 2221 " 2222 > 2223 Careers 2224 </span></a> 2225 2226 2227</li><li 2228 class=" 2229 drawer-menu__item 2230 2231 " 2232 data-list-item 2233 > 2234 <a 2235 data-item="link" 2236 class="drawer-menu__link " 2237 href="/blogs/blog" 2238 2239 > 2240 <span 2241 class=" 2242 2243 fs-body-base 2244 fs-body-large-ns 2245 " 2246 > 2247 News 2248 </span></a> 2249 2250 2251</li> 2252 </ul></li><li 2253 class=" 2254 drawer-menu__item 2255 drawer-menu__item--emphasized 2256 drawer-menu__item--emphasized-last" 2257 data-list-item 2258 > 2259 <a 2260 data-item="link" 2261 class="drawer-menu__link " 2262 href="/pages/contact" 2263 2264 > 2265 <span 2266 class=" 2267 ff-heading 2268 fs-heading-2-base 2269 fs-heading-2-large-ns 2270 2271 " 2272 > 2273 Contact 2274 </span></a> 2275 2276 2277</li> 2278<li class="drawer-menu__item drawer-menu__search-parent" data-list-item> 2279 <a 2280 class="drawer-menu__link fs-body-base fs-body-large-ns" 2281 href="#" 2282 data-item="parent" 2283 aria-haspopup="true" 2284 aria-expanded="false" 2285 > 2286 Search 2287 2288<span class="icon menu-icon"> 2289 <svg width="100%" viewBox="0 0 24 24"> 2290 2291 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 2292 2293 2294 </svg> 2295</span> 2296 </a> 2297 <ul class="drawer-menu__list drawer-menu__list--sub" data-search-menu aria-hidden="true">
2298 <li class="drawer-menu__item drawer-menu__item--heading"> 2299 <button class="drawer-menu__link" data-item="back"> 2300 <span class="ff-heading fs-heading-2-base fs-heading-2-large-ns"> 2301 Search 2302 </span> 2303 2304<span class="icon menu-icon"> 2305 <svg width="100%" viewBox="0 0 24 24"> 2306 2307 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 2308 2309 2310 </svg> 2311</span> 2312 </button> 2313 </li> 2314 <li class="drawer-menu__search"> 2315 <form action="/search" autocomplete="off"> 2316 <div class="drawer-menu__header"> 2317 <div class="drawer-menu__search-input-wrapper"> 2318 <label for="drawer-search" class="visually-hidden">Search</label> 2319 <input 2320 name="q" 2321 id="drawer-search" 2322 class="drawer-menu__search-input" 2323 placeholder="Search" 2324 data-input 2325 /> 2326 <div class="drawer-menu__actions"> 2327 <button 2328 class="drawer-menu__clear" 2329 type="button" 2330 data-search-clear 2331 aria-label="Clear search" 2332 > 2333 2334<span class="icon "> 2335 <svg width="100%" viewBox="0 0 24 24"> 2336 2337 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 2338 2339 2340 </svg> 2341</span> 2342 </button> 2343 <button 2344 class="drawer-menu__submit" 2345 type="submit" 2346 data-search-submit 2347 aria-label="Search" 2348 > 2349 2350<span class="icon "> 2351 <svg width="100%" viewBox="0 0 24 24"> 2352 2353 <path fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" d="M5 12h14M12 5l7 7-7 7"/> 2354 2355 2356 </svg> 2357</span> 2358 </button> 2359 </div> 2360 </div> 2361 </div> 2362 <div class="drawer-menu__search-results" data-scroll-lock-ignore data-search-results></div> 2363 </form> 2364 </li> 2365 </ul> 2366 </li><li class="drawer-menu__item" data-list-item> 2367 <a class="drawer-menu__link fs-body-base fs-body-large-ns" href="/account"> 2368 Register / Login 2369</a> 2370 </li></ul> 2371 </div> 2372 </div> 2373 </div> 2374 </div> 2375 </div> 2376</div> 2377 2378</header> 2379
2380<script> 2381 // Set heading height at component level 2382 const header = document.querySelector('#shopify-section-header'); 2383 document.documentElement.style.setProperty('--height-header', header.offsetHeight + 'px'); 2384</script>
2384 2385 2386<style> 2387 2388 .template-index #main { 2389 margin-top: calc(var(--height-header) * -1); 2390 } 2391 2392 .template-index #main .offset-section:first-child .slideshow__content-inner, 2393 .template-index #main .offset-section:first-child .video-hero__content-inner { 2394 padding-top: calc(var(--height-header) - var(--space-outer)); 2395 } 2396 2397</style> 2398 2399 2400</div> 2401 2402 <main id="main" class="main"> 2403 <section id="shopify-section-template--21710174290156__main" class="shopify-section"> 2404 2405 2406<div 2407 class="product" 2408 data-section-id="template--21710174290156__main" 2409 data-section-type="product" 2410 data-current-product-id="ProductVariantDrop" 2411 data-product-has-only-default-variant="true" 2412 data-quick-purchase-bar-enabled="false" 2413> 2414 <div class="product__top"> 2415 <div class="product__media-container"> 2416 <div class="product__media"><div 2417 class="product__media-item " 2418 data-media-item-id="36728214225132" 2419 data-product-media-wrapper 2420 > 2421 <div 2422 class="media media--has-lightbox" 2423 data-media-id="36728214225132" 2424 data-media-type="image" 2425 2426 2427><a 2428 href="#" 2429 data-open="36728214225132" 2430> 2431 <div class="image js-enabled image--36728214225132 "> 2432 <img 2433 class="image__img lazyload " 2434 src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_300x300.jpg?v=1771610939" 2435 data-src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_{width}x.jpg?v=1771610939" 2436 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2437 data-aspectratio="1.333430317137038" 2438 data-sizes="auto" 2439 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2440 > 2441</div><style> 2442 .image--36728214225132 { 2443 padding-top: 74.99454505782238%; 2444 } 2445 </style><noscript> 2446 <div class="image image--36728214225132 "> 2447 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_2048x2048.jpg?v=1771610939" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2448 </div> 2449</noscript> 2450 </a></div> 2451 </div><div 2452 class="product__media-item hidden" 2453 data-media-item-id="36728207376620" 2454 data-product-media-wrapper 2455 > 2456 <div 2457 class="media media--has-lightbox" 2458 data-media-id="36728207376620" 2459 data-media-type="image" 2460 2461 2462><a 2463 href="#" 2464 data-open="36728207376620" 2465> 2466 <div class="image js-enabled image--36728207376620 "> 2467 <img 2468 class="image__img lazyload " 2469 src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_300x300.png?v=1771610822" 2470 data-src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_{width}x.png?v=1771610822" 2471 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2472 data-aspectratio="1.9245939675174013" 2473 data-sizes="auto" 2474 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2475 > 2476</div><style> 2477 .image--36728207376620 { 2478 padding-top: 51.95901145268234%; 2479 } 2480 </style><noscript> 2481 <div class="image image--36728207376620 "> 2482 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_2048x2048.png?v=1771610822" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2483 </div> 2484</noscript> 2485 </a></div> 2486 </div></div> 2487 <ul class="product-thumbnails" data-product-thumbnails> 2488 2489 <li class="product-thumbnails__item"> 2490 <button 2491 type="button" 2492 class="product-thumbnails__item-link active" 2493 data-thumbnail-id="36728214225132" 2494 data-product-thumbnail 2495 aria-label="Change image to image 1" 2496 > 2497 <div class="image js-enabled product-thumbnails__item-image"> 2498 <img 2499 class="image__img lazyload " 2500 src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_300x300.jpg?v=1771610939" 2501 data-src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_{width}x.jpg?v=1771610939" 2502 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2503 data-aspectratio="1.333430317137038" 2504 data-sizes="auto" 2505 alt="" 2506 > 2507</div><noscript> 2508 <div class="image image--36728214225132 product-thumbnails__item-image"> 2509 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_2048x2048.jpg?v=1771610939" alt=""> 2510 </div> 2511</noscript> 2512 2513 2514 </button> 2515 </li> 2516 2517 <li class="product-thumbnails__item"> 2518 <button 2519 type="button" 2520 class="product-thumbnails__item-link" 2521 data-thumbnail-id="36728207376620" 2522 data-product-thumbnail 2523 aria-label="Change image to image 2" 2524 > 2525 <div class="image js-enabled product-thumbnails__item-image"> 2526 <img 2527 class="image__img lazyload " 2528 src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_300x300.png?v=1771610822" 2529 data-src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_{width}x.png?v=1771610822"
2530 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2531 data-aspectratio="1.9245939675174013" 2532 data-sizes="auto" 2533 alt="" 2534 > 2535</div><noscript> 2536 <div class="image image--36728207376620 product-thumbnails__item-image"> 2537 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_2048x2048.png?v=1771610822" alt=""> 2538 </div> 2539</noscript> 2540 2541 2542 </button> 2543 </li> 2544 2545 </ul> 2546 2547 2548</div> 2549 2550 <div class="product__details"> 2551 <div class="product__meta"><div class="product__description product__block product__block--medium"> 2552 <div class="product__description-content rte rte--product ff-body fs-body-small" data-description><p style="language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;"><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;">Adding to </span><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;">RoadVistaâs</span><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;">® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and other contractual requirements. It allows operators to quickly identify problem areas, saving time and money by showing them where to focus their re-striping requirements</span></p> 2553<p style="language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;"><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;">The Laserlux</span><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: super; mso-text-raise: 30%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;">®</span><span style="font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;"> FM is the safe, smart and simple solution to meet this challenge. It provides continuous pavement marking assessment and evaluation within the flow of traffic with a front mounted design that allows for full-lane measurement of left line, right line, and any center-lane markings on a single pass.</span></p></div> 2554 </div><p class="visually-hidden" data-product-status
2555 aria-live="polite" 2556 role="status" 2557 ></p><p class="visually-hidden" data-loader-status 2558 aria-live="assertive" 2559 role="alert" 2560 aria-hidden="true" 2561 >Adding product to your cart</p> 2562 2563 </div> 2564 </div> 2565 </div><div class="lightbox" data-lightbox> 2566 2567 <div class="lightbox__image-nav"> 2568 <div class="lightbox__image-nav-inner"><button type="button" class="lightbox__image-nav-image" data-nav-item data-index="0"> 2569 <div class="image js-enabled "> 2570 <img 2571 class="image__img lazyload " 2572 src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_300x300.jpg?v=1771610939" 2573 data-src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_{width}x.jpg?v=1771610939" 2574 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2575 data-aspectratio="1.333430317137038" 2576 data-sizes="auto" 2577 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2578 > 2579</div><noscript> 2580 <div class="image image--36728214225132 "> 2581 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_2048x2048.jpg?v=1771610939" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2582 </div> 2583</noscript> 2584 </button><button type="button" class="lightbox__image-nav-image" data-nav-item data-index="1"> 2585 <div class="image js-enabled "> 2586 <img 2587 class="image__img lazyload " 2588 src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_300x300.png?v=1771610822" 2589 data-src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_{width}x.png?v=1771610822" 2590 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2591 data-aspectratio="1.9245939675174013" 2592 data-sizes="auto" 2593 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2594 > 2595</div><noscript> 2596 <div class="image image--36728207376620 "> 2597 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_2048x2048.png?v=1771610822" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2598 </div> 2599</noscript> 2600 </button></div> 2601 </div> 2602 2603 2604 <div class="lightbox__nav"> 2605 <button 2606 type="button" 2607 class="lightbox__button lightbox__button-previous" 2608 aria-label="Move to previous carousel slide" 2609 data-prev 2610 > 2611 2612<span class="icon "> 2613 <svg width="100%" viewBox="0 0 24 24"> 2614 2615 <path d="M12 0 9.87 2.11l8.35 8.36H0v3h18.22l-8.35 8.36L12 23.94 24 12z" fill="currentColor" focusable="false"/> 2616 2617 2618 </svg> 2619</span> 2620 </button> 2621 <button 2622 class="lightbox__button lightbox__button-close" 2623 data-close 2624 aria-label="Close" 2625 > 2626 2627<span class="icon "> 2628 <svg width="100%" viewBox="0 0 24 24"> 2629 2630 <path fill="currentColor" d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" /> 2631 2632 2633 </svg> 2634</span> 2635 </button> 2636 <button 2637 type="button" 2638 class="lightbox__button lightbox__button-next" 2639 aria-label="Move to next carousel slide" 2640 data-next 2641 > 2642 2643<span class="icon "> 2644 <svg width="100%" viewBox="0 0 24 24"> 2645 2646 <path d="M12 0 9.87 2.11l8.35 8.36H0v3h18.22l-8.35 8.36L12 23.94 24 12z" fill="currentColor" focusable="false"/> 2647 2648 2649 </svg> 2650</span> 2651 </button> 2652 </div> 2653 <div class="lightbox__images-wrapper">
2654 <div class="lightbox__images" data-slider data-scroll-lock-ignore><div 2655 class="lightbox__image" 2656 data-id="36728214225132" 2657 data-slide 2658 data-slide-index="0" 2659 > 2660 <div class="image js-enabled "> 2661 <img 2662 class="image__img lazyload " 2663 src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_300x300.jpg?v=1771610939" 2664 data-src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_{width}x.jpg?v=1771610939" 2665 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2666 data-aspectratio="1.333430317137038" 2667 data-sizes="auto" 2668 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2669 > 2670</div><noscript> 2671 <div class="image image--36728214225132 "> 2672 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-renderingOnCar_2048x2048.jpg?v=1771610939" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2673 </div> 2674</noscript> 2675 </div><div 2676 class="lightbox__image" 2677 data-id="36728207376620" 2678 data-slide 2679 data-slide-index="1" 2680 > 2681 <div class="image js-enabled "> 2682 <img 2683 class="image__img lazyload " 2684 src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_300x300.png?v=1771610822" 2685 data-src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_{width}x.png?v=1771610822" 2686 data-widths="[180, 360, 540, 720, 900, 1080, 1296, 1512, 1728, 2048]" 2687 data-aspectratio="1.9245939675174013" 2688 data-sizes="auto" 2689 alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer" 2690 > 2691</div><noscript> 2692 <div class="image image--36728207376620 "> 2693 <img class="image__img" src="//www.roadvista.com/cdn/shop/files/LLFM-GUI_2048x2048.png?v=1771610822" alt="Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer"> 2694 </div> 2695</noscript> 2696 </div></div> 2697 </div> 2698</div> 2699 2700</div>
2700<script> 2701 window.ShopifyXR=window.ShopifyXR||function(){(ShopifyXR.q=ShopifyXR.q||[]).push(arguments)} 2702 ShopifyXR('addModels', []); 2703</script>
vendor: 1 bytes, line 2703
2703
2704<script src='//cdn.shopify.com/shopifycloud/shopify-xr-js/assets/v1.0/shopify-xr.en.js' defer='defer'></script>
2704<script type="application/json" id="ProductJson-template--21710174290156__main"> 2705 {"id":9164290752748,"title":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","handle":"laserlux-fm-llfm","description":"\u003cp style=\"language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;\"\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eAdding to \u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eRoadVistaâs\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and other contractual requirements. It allows operators to quickly identify problem areas, saving time and money by showing them where to focus their re-striping requirements\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;\"\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eThe Laserlux\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: super; mso-text-raise: 30%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e®\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e FM is the safe, smart and simple solution to meet this challenge. It provides continuous pavement marking assessment and evaluation within the flow of traffic with a front mounted design that allows for full-lane measurement of left line, right line, and any center-lane markings on a single pass.\u003c\/span\u003e\u003c\/p\u003e","published_at":"2026-02-20T10:29:23-08:00","created_at":"2026-02-20T10:09:27-08:00","vendor":"Gamma Scientific \/ RoadVista","type":"","tags":[],"price":0,"price_min":0,"price_max":0,"available":true,"price_varies":false,"compare_at_price":null,"compare_at_price_min":0,"compare_at_price_max":0,"compare_at_price_varies":false,"variants":[{"id":47323949367532,"title":"Default Title","option1":"Default Title","option2":null,"option3":null,"sku":null,"requires_shipping":false,"taxable":true,"featured_image":null,"available":true,"name":"Laserlux® FM Vehicle Front Mounted Pavement Retroreflectometer","public_title":null,"options":["Default Title"],"price":0,"weight":0,"compare_at_price":null,"inventory_management":null,"barcode":null,"requires_selling_plan":false,"selling_plan_allocations":[],"quantity_rule":{"min":1,"max":null,"increment":1}}],"images":["\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939","\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-GUI.png?v=1771610822"],"featured_image":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939","options":["Title"],"media":[{"alt":null,"id":36728214225132,"position":1,"preview_image":{"aspect_ratio":1.333,"height":3437,"width":4583,"src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939"},"aspect_ratio":1.333,"height":3437,"media_type":"image","src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-renderingOnCar.jpg?v=1771610939","width":4583},{"alt":null,"id":36728207376620,"position":2,"preview_image":{"aspect_ratio":1.925,"height":862,"width":1659,"src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-GUI.png?v=1771610822"},"aspect_ratio":1.925,"height":862,"media_type":"image","src":"\/\/www.roadvista.com\/cdn\/shop\/files\/LLFM-GUI.png?v=1771610822","width":1659}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cp style=\"language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;\"\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eAdding to \u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eRoadVistaâs\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e® long history of vehicle mounted mobile retroreflectometers (MRUâs), the Laserlux® FM (LLFM), front mounted retroreflectometer is ideal for agencies tasked with assessing the retroreflectivity of their pavement markings to comply with the FHWAâs MUTCD minimum retroreflectivity requirements and other contractual requirements. It allows operators to quickly identify problem areas, saving time and money by showing them where to focus their re-striping requirements\u003c\/span\u003e\u003c\/p\u003e\n\u003cp style=\"language: en-US; line-height: 15.0pt; mso-line-height-rule: exactly; margin-top: 10.0pt; margin-bottom: 0pt; margin-left: 0in; text-indent: 0in; text-align: left; direction: ltr; unicode-bidi: embed; mso-line-break-override: none; word-break: normal; punctuation-wrap: hanging;\"\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003eThe Laserlux\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: super; mso-text-raise: 30%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e®\u003c\/span\u003e\u003cspan style=\"font-size: 11.0pt; font-family: Calibri; mso-ascii-font-family: Calibri; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: Arial; mso-ascii-theme-font: minor-latin; mso-fareast-theme-font: minor-fareast; color: black; mso-color-index: 1; mso-font-kerning: 12.0pt; language: en-US; vertical-align: baseline; mso-text-raise: 0%; mso-style-textfill-type: solid; mso-style-textfill-fill-themecolor: text1; mso-style-textfill-fill-color: black; mso-style-textfill-fill-alpha: 100.0%;\"\u003e FM is the safe, smart and simple solution to meet this challenge. It provides continuous pavement marking assessment and evaluation within the flow of traffic with a front mounted design that allows for full-lane measurement of left line, right line, and any center-lane markings on a single pass.\u003c\/span\u003e\u003c\/p\u003e"} 2706 </script>
2706 2707
2707<script type="application/json" id="ModelJson-template--21710174290156__main"> 2708 [] 2709 </script>
2709</section><section id="shopify-section-template--21710174290156__1661961844a158c02f" class="shopify-section"><div><div id="shopify-block-AK3JIY0JSSDIyWDRyR__c6758034-c91d-471f-bc5a-951738ef05f7" class="shopify-block shopify-app-block"> 2710 <!-- BEGIN app snippet: apd --> 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743<style> 2744 #apd-root, 2745 #apd-root * { 2746 animation : none; 2747 animation-delay : 0; 2748 animation-direction : normal; 2749 animation-duration : 0; 2750 animation-fill-mode : none; 2751 animation-iteration-count : 1; 2752 animation-name : none; 2753 animation-play-state : running; 2754 animation-timing-function : ease; 2755 backface-visibility : visible; 2756 background : 0; 2757 background-attachment : scroll; 2758 background-clip : border-box; 2759 background-color : transparent; 2760 background-image : none; 2761 background-origin : padding-box; 2762 background-position : 0 0; 2763 background-position-x : 0; 2764 background-position-y : 0; 2765 background-repeat : repeat; 2766 background-size : auto auto; 2767 border : 0; 2768 border-style : none; 2769 border-width : medium; 2770 border-color : inherit; 2771 border-bottom : 0; 2772 border-bottom-color : inherit; 2773 border-bottom-left-radius : 0; 2774 border-bottom-right-radius : 0; 2775 border-bottom-style : none; 2776 border-bottom-width : medium; 2777 border-collapse : separate; 2778 border-image : none; 2779 border-left : 0; 2780 border-left-color : inherit; 2781 border-left-style : none; 2782 border-left-width : medium; 2783 border-radius : 0; 2784 border-right : 0; 2785 border-right-color : inherit; 2786 border-right-style : none; 2787 border-right-width : medium; 2788 border-spacing : 0; 2789 border-top : 0; 2790 border-top-color : inherit; 2791 border-top-left-radius : 0; 2792 border-top-right-radius : 0; 2793 border-top-style : none; 2794 border-top-width : medium; 2795 bottom : auto; 2796 box-shadow : none; 2797 box-sizing : border-box; 2798 caption-side : top; 2799 clear : none; 2800 clip : auto; 2801 color : inherit; 2802 columns : auto; 2803 column-count : auto; 2804 column-fill : balance; 2805 column-gap : normal; 2806 column-rule : medium none currentColor; 2807 column-rule-color : currentColor; 2808 column-rule-style : none; 2809 column-rule-width : none; 2810 column-span : 1; 2811 column-width : auto; 2812 content : normal; 2813 counter-increment : none; 2814 counter-reset : none; 2815 cursor : auto; 2816 direction : ltr; 2817 display : inline; 2818 empty-cells : show; 2819 float : none; 2820 font : normal; 2821 font-family : inherit; 2822 font-size: 16px; 2823 font-style : normal; 2824 font-variant : normal; 2825 font-weight : normal; 2826 height : auto; 2827 hyphens : none; 2828 left : auto; 2829 letter-spacing : normal; 2830 line-height : normal; 2831 list-style : none; 2832 list-style-image : none; 2833 list-style-position : outside; 2834 list-style-type : disc; 2835 margin : 0; 2836 margin-bottom : 0; 2837 margin-left : 0; 2838 margin-right : 0; 2839 margin-top : 0; 2840 max-height : none; 2841 max-width : none; 2842 min-height : 0; 2843 min-width : 0; 2844 opacity : 1; 2845 orphans : 0; 2846 outline : 0; 2847 outline-color : invert; 2848 outline-style : none; 2849 outline-width : medium; 2850 overflow : visible; 2851 overflow-x : visible; 2852 overflow-y : visible; 2853 padding : 0; 2854 padding-bottom : 0; 2855 padding-left : 0; 2856 padding-right : 0; 2857 padding-top : 0; 2858 page-break-after : auto; 2859 page-break-before : auto; 2860 page-break-inside : auto; 2861 perspective : none; 2862 perspective-origin : 50% 50%; 2863 position : static; 2864 quotes : '\201C' '\201D' '\2018' '\2019'; 2865 right : auto; 2866 tab-size : 8; 2867 table-layout : auto; 2868 text-align : inherit; 2869 text-align-last : auto; 2870 text-decoration : none; 2871 text-decoration-color : inherit; 2872 text-decoration-line : none; 2873 text-decoration-style : solid; 2874 text-indent : 0; 2875 text-shadow : none; 2876 text-transform : none; 2877 top : auto; 2878 transform : none; 2879 transform-style : flat; 2880 transition : none; 2881 transition-delay : 0s; 2882 transition-duration : 0s; 2883 transition-property : none; 2884 transition-timing-function : ease; 2885 unicode-bidi : normal; 2886 vertical-align : baseline; 2887 visibility : visible; 2888 white-space : normal; 2889 widows : 0; 2890 width : auto; 2891 word-spacing : normal; 2892 z-index : auto; 2893 } 2894 2895 #apd-root img,
2896 #apd-root svg, 2897 #apd-root h1, 2898 #apd-root h2, 2899 #apd-root h3, 2900 #apd-root h4, 2901 #apd-root h5, 2902 #apd-root h6, 2903 #apd-root p, 2904 #apd-root blockquote, 2905 #apd-root ul, 2906 #apd-root ol, 2907 #apd-root header, 2908 #apd-root footer, 2909 #apd-root div, 2910 #apd-root section, 2911 #apd-root blockquote, 2912 #apd-root figure { 2913 display: block; 2914 } 2915 2916 #apd-root img, 2917 #apd-root svg { 2918 max-width: 100%; 2919 } 2920 2921 #apd-root i, 2922 #apd-root strong i, 2923 #apd-root i strong, 2924 #apd-root blockquote i, 2925 #apd-root blockquote strong i, 2926 #apd-root blockquote a i, 2927 #apd-root blockquote strong i { 2928 font-style: italic; 2929 } 2930</style> 2931 2932 2933<style> 2934 #apd-root, #apd-root * { 2935 2936 } 2937 2938 #apd-root .apd-content { 2939 color: #5e5e5e; 2940 } 2941 2942 #apd-root .apd-content > *:first-child { 2943 2944 padding-top: 20px; 2945 2946 } 2947 2948 #apd-root .apd-content > *:last-child { 2949 margin-bottom: 20px; 2950 } 2951 2952 #apd-root .apd-content h2, 2953 #apd-root .apd-content h2 i, 2954 #apd-root .apd-content h3, 2955 #apd-root .apd-content h3 i, 2956 #apd-root .apd-content h4, 2957 #apd-root .apd-content h4 i, 2958 #apd-root .apd-content strong, 2959 #apd-root .apd-content a, 2960 #apd-root .apd-content a i { 2961 font-weight: 600; 2962 } 2963 2964 #apd-root .apd-content h2, 2965 #apd-root .apd-content h2 i, 2966 #apd-root .apd-content h2 strong, 2967 #apd-root .apd-content h2 i strong, 2968 #apd-root .apd-content h3, 2969 #apd-root .apd-content h3 i, 2970 #apd-root .apd-content h3 strong, 2971 #apd-root .apd-content h3 i strong, 2972 #apd-root .apd-content h4, 2973 #apd-root .apd-content h4 i, 2974 #apd-root .apd-content h4 strong, 2975 #apd-root .apd-content h4 i strong { 2976 line-height: 1.2; 2977 color: #121212; 2978 } 2979 2980 #apd-root .apd-content p, 2981 #apd-root .apd-content blockquote, 2982 #apd-root .apd-content li, 2983 #apd-root .apd-content strong, 2984 #apd-root .apd-content i strong { 2985 color: #5e5e5e; 2986 } 2987 2988 #apd-root .apd-content p, 2989 #apd-root .apd-content blockquote, 2990 #apd-root .apd-content li, 2991 #apd-root .apd-content td, 2992 #apd-root .apd-content th { 2993 line-height: 1.65; 2994 } 2995 2996 #apd-root .apd-content h2, 2997 #apd-root .apd-content h2 i, 2998 #apd-root .apd-content h2 strong, 2999 #apd-root .apd-content h2 i strong { 3000 font-size: 28px; 3001 } 3002 3003 #apd-root .apd-content h3, 3004 #apd-root .apd-content h3 i, 3005 #apd-root .apd-content h3 strong, 3006 #apd-root .apd-content h3 i strong { 3007 font-size: 22px; 3008 } 3009 3010 #apd-root .apd-content h4, 3011 #apd-root .apd-content h4 i, 3012 #apd-root .apd-content h4 strong, 3013 #apd-root .apd-content h4 i strong { 3014 font-size: 19px; 3015 } 3016 3017 #apd-root .apd-content blockquote { 3018 font-size: 16px; 3019 padding-left: 24px; 3020 border-left: 4px solid rgba(217,162,22,1); 3021 } 3022 3023 #apd-root .apd-content blockquote p { 3024 font-size: 16px; 3025 } 3026 3027 #apd-root .apd-content a, 3028 #apd-root .apd-content a i, 3029 #apd-root .apd-content a i strong, 3030 #apd-root .apd-content a strong { 3031 color: rgba(217,162,22,1); 3032 text-decoration: underline; 3033 cursor: pointer; 3034 transition: 0.2s color; 3035 } 3036 3037 #apd-root .apd-content li { 3038 display: list-item; 3039 padding-left: 20px; 3040 } 3041 3042 #apd-root .apd-content li + li { 3043 margin-top: 10px; 3044 } 3045 3046 #apd-root .apd-content ol li { 3047 list-style-type: decimal; 3048 padding: 0; 3049 margin-left: 20px; 3050 } 3051 3052 #apd-root .apd-content ol ol, 3053 #apd-root .apd-content ul ol { 3054 list-style-type: lower-latin; 3055 list-style-position: inside; 3056 } 3057 3058 #apd-root .apd-content ul ul, 3059 #apd-root .apd-content ol ol, 3060 #apd-root .apd-content ul ol, 3061 #apd-root .apd-content ol ul { 3062 margin-top: 10px; 3063 } 3064 3065 #apd-root .apd-content ul li { 3066 position: relative; 3067 list-style: none; 3068 } 3069 3070 #apd-root .apd-content ul li:after { 3071 position: absolute; 3072 top: 11px; 3073 width: 5px; 3074 height: 5px; 3075 border-radius: 50%; 3076 content: ''; 3077 left: 0; 3078 background-color: rgba(217,162,22,1); 3079 } 3080 3081 #apd-root .apd-content a:hover, 3082 #apd-root .apd-content a:hover i, 3083 #apd-root .apd-content a:hover i strong, 3084 #apd-root .apd-content a:hover strong { 3085 color: #121212; 3086 } 3087 3088 #apd-root .apd-content table { 3089 width: 100%; 3090 border-collapse: collapse; 3091 display: table; 3092 } 3093 3094 #apd-root .apd-content tbody, 3095 #apd-root .apd-content thead { 3096 display: table-row-group; 3097 } 3098 3099 #apd-root .apd-content tr { 3100 display: table-row; 3101 3102 } 3103 3104 #apd-root .apd-content td, 3105 #apd-root .apd-content th { 3106 display: table-cell; 3107 padding: 10px; 3108 border: 1px solid #e2e2e2; 3109 } 3110 3111 #apd-root .apd-content th { 3112 font-weight: 600; 3113 } 3114 3115 #apd-root .apd-content img { 3116 max-width: 100%; 3117 margin: 0 auto; 3118 } 3119 3120 #apd-root .apd-responsive-video { 3121 position: relative; 3122 width: 100%; 3123 padding-bottom: 56.25%; 3124 } 3125 3126 #apd-root .apd-responsive-video iframe { 3127 position: absolute; 3128 top: 0; 3129 left: 0; 3130 width: 100%; 3131 height: 100%; 3132 } 3133 3134 #apd-root .apd-responsive-spotify iframe { 3135 width: 100%; 3136 height: 300px; 3137 } 3138</style> 3139 3140
3141<script>!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.slidetoggle=e():t.slidetoggle=e()}(this,(function(){return(()=>{"use strict";var t,e,o,n={d:(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},r={};n.r(r),n.d(r,{hide:()=>l,show:()=>p,toggle:()=>f}),function(t){t.parseOrElse=function(t,e){return void 0===e&&(e="0"),t?parseInt(t):e&&"string"==typeof e?parseInt(e):0}}(t||(t={})),function(e){var o=function(t){return t instanceof HTMLElement};e.setStyles=function(t,e){Object.keys(e).map((function(o){t.style[o]=e[o]}))},e.getBoxStyles=function(e){var o=window.getComputedStyle(e);return{height:t.parseOrElse(o.height),padding:{top:t.parseOrElse(o.paddingTop),bottom:t.parseOrElse(o.paddingBottom)},border:{top:t.parseOrElse(o.borderTopWidth),bottom:t.parseOrElse(o.borderBottomWidth)}}},e.getElement=function(t){if(o(t))return t;var e=document.querySelector(t);if(o(e))return e;throw new Error("Your element does not exist in the DOM.")},e.setAttribute=function(t,e,o){t.setAttribute(e,o)},e.getAttribute=function(t,e){return t.getAttribute(e)}}(e||(e={})),function(t){t.on=function(t,e,o){return t.addEventListener(e,o),{destroy:function(){return t&&t.removeEventListener(e,o)}}}}(o||(o={}));var i,d,a=function(t,e){var o={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(o[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(t);r<n.length;r++)e.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(t,n[r])&&(o[n[r]]=t[n[r]])}return o};
3141!function(t){var n="data-slide-toggle",r=function(t){requestAnimationFrame(t)},i=function(t){var e=t.miliseconds,o=void 0===e?200:e,n=t.transitionFunction;return"all "+o+"ms "+(void 0===n?"linear":n)+" 0s"};t.shouldCollapse=function(t){if(!e.getAttribute(t,n)){var o=e.getBoxStyles(t).height;return o&&o>0}return"true"===e.getAttribute(t,n)},t.hide=function(t,d){var u;if(!function(t){return"false"===e.getAttribute(t,n)}(t)){null===(u=d.onAnimationStart)||void 0===u||u.call(d);var l=e.getBoxStyles(t),s=l.height,p=a(l,["height"]);e.setStyles(t,{transition:""}),r((function(){e.setStyles(t,{overflow:"hidden",height:s+"px",paddingTop:p.padding.top+"px",paddingBottom:p.padding.bottom+"px",borderTopWidth:p.border.top+"px",borderBottomWidth:p.border.bottom+"px",transition:i(d)}),r((function(){e.setStyles(t,{height:"0",paddingTop:"0",paddingBottom:"0",borderTopWidth:"0",borderBottomWidth:"0"});var n=o.on(t,"transitionend",(function(){var t;n.destroy(),null===(t=d.onAnimationEnd)||void 0===t||t.call(d)}))}))})),e.setAttribute(t,n,"false")}},t.show=function(t,d){var u;if(!function(t){return"true"===e.getAttribute(t,n)}(t)){null===(u=d.onAnimationStart)||void 0===u||u.call(d),e.setStyles(t,{transition:"",display:"block",height:"auto",paddingTop:"",paddingBottom:"",borderTopWidth:"",borderBottomWidth:""});var l=e.getBoxStyles(t),s=l.height,p=a(l,["height"]);e.setStyles(t,{display:"none"}),r((function(){e.setStyles(t,{display:"block",overflow:"hidden",height:"0",paddingTop:"0",paddingBottom:"0",borderTopWidth:"0",borderBottomWidth:"0",transition:i(d)}),r((function(){e.setStyles(t,{height:s+"px",paddingTop:p.padding.top+"px",paddingBottom:p.padding.bottom+"px",borderTopWidth:p.border.top+"px",borderBottomWidth:p.border.bottom+"px"});var n=o.on(t,"transitionend",(function(){var o;e.setStyles(t,{height:"",overflow:"",paddingTop:"",paddingBottom:"",borderTopWidth:"",borderBottomWidth:""}),n.destroy(),null===(o=d.onAnimationEnd)||void 0===o||o.call(d)}))}))})),e.setAttribute(t,n,"true")}}}(i||(i={})),function(t){t.on=function(t,e){i.hide(t,e)}}(d||(d={}));var u,l=function(t,o){d.on(e.getElement(t),o)};!function(t){t.on=function(t,e){i.show(t,e)}}(u||(u={}));var s,p=function(t,o){u.on(e.getElement(t),o)};!function(t){t.on=function(t,e){i.shouldCollapse(t)?i.hide(t,e):i.show(t,e)}}(s||(s={}));var f=function(t,o){s.on(e.getElement(t),o)};return r})()}));</script>
3141 3142 3143 3144 3145 3146 3147
3148<script> 3149 function urlParser(a){if("string"!=typeof(a=void 0===a?window.location.href:a)||null===a.match(/^(?:(?:https?|ftp):\/\/)( ?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i))throw new TypeError(`'${a}' is not a valid url`);const t=document.createElement("a");t.href=a;const e=new Map;return t.search.length>0&&t.search.split("?")[1].split("&").map(a=>{[key,value]=a.split("="),e.set(key,value)}),{url:t.href,origin:t.origin,protocol:t.protocol,host:t.host,hostname:t.hostname,port:t.port,pathname:t.pathname,hash:t.hash,query_params:e}} 3150 3151 function youtubeIframe(video_id) { 3152 return ` 3153 <div class="apd-responsive-video youtube"> 3154 <iframe src="https://www.youtube.com/embed/${video_id}" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> 3155 </div> 3156 ` 3157 } 3158 3159 function vimeoIframe(video_id) { 3160 return ` 3161 <div class="apd-responsive-video vimeo"> 3162 <iframe src="https://player.vimeo.com/video/${video_id}" width="640" height="360" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe> 3163 </div> 3164 ` 3165 } 3166 3167 function spotifyIframe(id) { 3168 return ` 3169 <div class="apd-responsive-spotify"> 3170 <iframe src="https://open.spotify.com/embed/album/${id}" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe> 3171 </div> 3172 ` 3173 } 3174 3175 document.addEventListener("DOMContentLoaded", function() { 3176 document.querySelectorAll('#apd-root oembed[url]').forEach(function(el) { 3177 var urlString = el.getAttribute('url') 3178 var url = urlParser(urlString) 3179 var code; 3180 3181 // Youtube Short 3182 if (url.host.indexOf('youtu.be') > -1) { 3183 var video_id = url.pathname.split('/')[1] 3184 code = youtubeIframe(video_id) 3185 } 3186 // Youtube
3187 else if (url.host.indexOf('youtube.com') > -1) { 3188 var video_id = url.query_params.get('v') 3189 code = youtubeIframe(video_id) 3190 } 3191 // Vimeo 3192 else if (url.host.indexOf('vimeo.com') > -1) { 3193 var video_id = url.pathname.split('/')[1] 3194 code = vimeoIframe(video_id) 3195 } 3196 // Spotify 3197 else if (url.host.indexOf('spotify.com') > -1) { 3198 var id = url.pathname.split('/')[2] 3199 code = spotifyIframe(id) 3200 } 3201 3202 el.innerHTML = code 3203 }) 3204 }) 3205</script>
3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 <style> 3219 #apd-root .apd-tabs-list-item { 3220 3221 font-weight: 600; 3222 3223 } 3224 3225 #apd-root .apd-tabs-list-item:hover { 3226 cursor: pointer; 3227 } 3228 3229 #apd-root .apd-tabs-list-item.apd-active { 3230 cursor: default; 3231 } 3232 3233 #apd-root .apd-tab { 3234 display: none; 3235 } 3236 3237 #apd-root .apd-tab.apd-active { 3238 display: block; 3239 } 3240 3241 3242 3243 3244 3245 3246 #apd-root .apd-tabs-list { 3247 display: -webkit-box; 3248 display: -ms-flexbox; 3249 display: flex; 3250 position: relative; 3251 overflow: hidden; 3252 } 3253 3254 #apd-root .apd-tabs-list-item { 3255 display: block; 3256 padding: 10px 20px; 3257 transition: 0.2s background-color, 0.2s border, 0.2s color; 3258 position: relative; 3259 z-index: 2; 3260 border: 1px solid transparent; 3261 border-bottom: none; 3262 border-top-left-radius: 0; 3263 border-top-right-radius: 0; 3264 background: rgba(255,255,255,0); 3265 color: rgba(217,162,22,1); 3266 } 3267 3268 #apd-root .apd-tabs-list-item:hover { 3269 background: rgba(0,0,0,1); 3270 color: rgba(217,162,22,1); 3271 } 3272 3273 #apd-root .apd-tabs-list-item.apd-active { 3274 padding: 10px 20px; 3275 border: 1px solid rgba(0,0,0,1); 3276 color: rgba(217,162,22,1); 3277 border-bottom: none; 3278 border-top-left-radius: 0; 3279 border-top-right-radius: 0; 3280 position: relative; 3281 z-index: 3; 3282 } 3283 3284 #apd-root .apd-tabs-list-item.apd-active:after, 3285 #apd-root .apd-tabs-list-item.apd-active:before { 3286 position: absolute; 3287 content: ''; 3288 bottom: 0; 3289 width: 100vw; 3290 height: 1px; 3291 background: rgba(0,0,0,1); 3292 } 3293 3294 #apd-root .apd-tabs-list-item.apd-active:after { 3295 left: 100%; 3296 } 3297 3298 #apd-root .apd-tabs-list-item.apd-active:before { 3299 right: 100%; 3300 } 3301 3302 3303 #apd-root .apd-tabs-list-item.apd-active:hover { 3304 background: rgba(255,255,255,0); 3305 } 3306 3307 #apd-root .apd-content { 3308 background: rgba(255,255,255,0); 3309 3310 3311 } 3312 3313 3314 3315 3316 </style> 3317 3318 3319 3320 3321
3321<script> 3322 document.addEventListener("DOMContentLoaded", function() { 3323 function apdGoToTab(index) { 3324 if(typeof jQuery !== 'undefined') { 3325 jQuery('.apd-tab, .apd-tabs-list-item').removeClass('apd-active') 3326 jQuery('.apd-tabs-list-item').eq(index).addClass('apd-active') 3327 jQuery('.apd-tab').eq(index).addClass('apd-active') 3328 } else { 3329 document.querySelectorAll('.apd-tab, .apd-tabs-list-item').forEach(function(el) { 3330 el.classList.remove('apd-active') 3331 }) 3332 3333 document.querySelectorAll('.apd-tabs-list-item')[index].classList.add('apd-active') 3334 document.querySelectorAll('.apd-tab')[index].classList.add('apd-active') 3335 } 3336 } 3337 3338 if(typeof jQuery !== 'undefined') { 3339 jQuery('.apd-tabs-list-item').off('click') 3340 jQuery('.apd-tabs-list-item').on('click', function() { 3341 var index = jQuery(this).index() 3342 apdGoToTab(index) 3343 }) 3344 3345 } else { 3346 document.querySelectorAll('.apd-tabs-list-item').forEach(function(el, index) { 3347 el.addEventListener('click', function(el) { 3348 apdGoToTab(index) 3349 }) 3350 3351 }) 3352 } 3353 }) 3354 </script>
3354 3355 3356 3357 3358 3359 3360 3361 <div id="apd-root"> 3362 <ul class="apd-tabs-list classic"> 3363 3364 <li class="apd-tabs-list-item apd-active">Description</li> 3365 3366 <li class="apd-tabs-list-item ">Performance</li> 3367 3368 <li class="apd-tabs-list-item ">Specifications</li> 3369 3370 </ul> 3371 3372 3373 <section class="apd-tab apd-content apd-active"> 3374 <p><strong>Safe Workers & Motorists</strong></p><ul><li>No static work zones or feet on the street</li><li>Daylight or nighttime measurement </li><li>Continuous measurement at highway speeds</li></ul><p> </p><p><strong>The Latest in Laser & Optics Technology</strong></p><ul><li>Solid-state lasers scan > 400 times per second</li><li>Retroreflectivity, contrast, line width, location, RPM count, and much more</li><li><p>Auto-positioning system for continuous measurement and geometry management</p><p> </p></li></ul><p><strong>Simple Setup</strong></p><ul><li>Operates with virtually any handheld device or computer</li><li>Attaches to any vehicle with a standard front hitch receiver</li></ul><p> </p><p><strong>In-Depth Reporting</strong></p><ul><li>Easy data storage and transfer via USB flash drive with basic reporting functions â no post-processing required</li><li>Data is yours to own â no subscription fees to access your data</li><li>RoadVistaGIS software provides in depth analysis and report generation</li></ul><p> </p> 3375 </section> 3376 3377 <section class="apd-tab apd-content "> 3378 <ul><li>Solid-state laser based â maintenance free</li><li>Automatically provides line contrast</li><li>Measures double lines individually</li><li>Measures the nighttime perceived line width</li><li>No software or apps to install</li><li>Auto-positioning system for continuous measurement / geometry management</li><li>High-definition video recording</li><li>Provides continuous retroreflectivity measurement at highway speeds</li><li>Onboard data storage with removable USB drive</li><li>Operation via standard 12-volt vehicle trailer plug</li><li>Fast, easy, accurate calibration</li><li>No need to measure distances or find level ground</li></ul> 3379 </section> 3380 3381 <section class="apd-tab apd-content "> 3382 <figure class="table"><table><tbody><tr><td><strong>Geometry</strong></td><td><strong>CEN 30-meter </strong></td></tr><tr><td>Entrance Angle</td><td><p>88.76° ± 0.01° </p><p>(ASTM E1710)</p></td></tr><tr><td>Illumination Angle</td><td><p>1.24° ± 0.01° </p><p>(EN 1436)</p></td></tr><tr><td>Observation Angle</td><td><p>1.05° ± 0.01° </p><p>(ASTM E1710)</p></td></tr><tr><td>Observation Angle</td><td><p>2.29° ± 0.01° </p><p>(EN 1436)</p></td></tr><tr><td>Receiver Aperture</td><td>0.12°</td></tr><tr><td>Measurement Distance</td><td><p>12 meters </p><p>(39 feet, 4.44 inches) in front of vehicle</p></td></tr><tr><td>Measurement Width</td><td>Approx 5 meter (16.4 feet) across lane width</td></tr><tr><td>Longitudinal resolution of measurement</td><td><p>> 7.6-cm. (3-in.) at 110 km/h (68 mph)</p><p>> 3.5-cm. (1.4-in.) at 50 km/h (31 mph)</p></td></tr><tr><td>Measuring speed</td><td>0 to 150 km/h (0 to 95mph)</td></tr><tr><td>Measurement Range (RL)</td><td>0 to 80,000 mcd/m²/lx</td></tr><tr><td>Raised and Recessed Reflective Pavement Markers</td><td>Identifies, counts, and provides retroreflectivity values for RRPMâs</td></tr><tr><td>Ground Clearance</td><td><p>Approximately 330mm (13 inch) in the Home Position. </p><p>Approximately 255mm (10 inch) in the Auto-Level (measurement) Position.</p></td></tr><tr><td>Operating Temp</td><td>-7° to 50°C (20° to 122°F)</td></tr><tr><td>Operating Humidity</td><td>5% to 95% RH non-condensing</td></tr><tr><td>Size (L x W x H)</td><td>48 cm X 104 cm X 37 cm (approx. 19in X 41in X 14in)</td></tr><tr><td>Weight</td><td>29kg (65 lbs)</td></tr><tr><td>GPS</td><td><p>72-channel WAAS-enabled w/ dead-reckoning</p><p>Position accuracy < 2 m CEP</p></td></tr><tr><td>Multiple Platform Control</td><td>User Interface through standard Web Browser via Ethernet</td></tr><tr><td>Vehicle Platform</td><td>Mounts to almost any vehicle using standard 2-inch square front hitch receiver</td></tr></tbody></table></figure><p><i><strong>Complies with ASTM E1710 and EN1436 30 METER GEOMETRY</strong></i></p> 3383 </section> 3384 3385 </div> 3386 3387<!-- END app snippet --> 3388 3389 3390</div> 3391</div> 3392 3393 3394</section><section id="shopify-section-template--21710174290156__1663710035bf790d22" class="shopify-section shopify-section--stackable shopify-section--text-first"><div 3395 data-section-id="template--21710174290156__1663710035bf790d22" 3396 data-section-type="rich-text" 3397 class="rich-text section" 3398> 3399 <div class="section__inner rich-text__inner"><h2 3400 class="rich-text__heading ff-heading fs-heading-2-base fs-heading-1-base-ns" 3401 style="--text-max-width: 42rem;" 3402 > 3403 customer service 3404 </h2><div 3405 class="rich-text__subheading rte ff-body fs-body-base fs-body-large-ns" 3406 style="--text-max-width: 30rem;" 3407 > 3408 <p>If you need any help placing or tracking an order please contact us directly at<a href="tel:%201-858-279-6044" target="_blank" title="tel: 1-858-279-6044"><strong> 1-858-279-6044</strong></a></p> 3409 </div></div> 3410</div> 3411<style data-shopify> 3412 .rich-text__subheading { 3413 max-width: var(--text-max-width); 3414 } 3415 .rich-text__heading { 3416 max-width: var(--text-max-width); 3417 } 3418</style> 3419 3420 3421</section> 3422 </main> 3423 3424 <footer id="shopify-section-footer" class="shopify-section footer__parent"><div 3425 class="footer" 3426 data-section-id="footer" 3427 data-section-type="footer" 3428 style=" 3429 --color-background-input: rgba(212, 212, 212, 0.2); 3430 --color-background-input-hover: rgba(212, 212, 212, 0.25); 3431 --color-background-input-hover-dull: rgba(212, 212, 212, 0.1
3431); 3432 --color-background-input-highlight: rgba(212, 212, 212, 0.35); 3433 --color-text-input: rgba(212, 212, 212, 0.95); 3434 " 3435> 3436 <div class="footer__inner"> 3437 <div class="footer__groups"> 3438 3439 <div class="footer__group footer__group--newsletter footer__group--1"> 3440 <button type="button" class="footer__header" data-header> 3441 <span class="footer__heading ff-heading fs-heading-4-base">Subscribe To Our Newsletter!</span> 3442 <span class="footer__arrow"> 3443<span class="icon "> 3444 <svg width="100%" viewBox="0 0 24 24"> 3445 3446 <path fill="currentColor" d="m0 6 12 12L24 6z" /> 3447 3448 3449 </svg> 3450</span></span> 3451 </button> 3452 <div class="footer__group-content"> 3453 <div class="footer__newsletter"> 3454 3455 3456 3457<!--Zoho Campaigns Web-Optin Form Starts Here-->
3458<script type="text/javascript" src="https://qowlcywf-cmpzourl.maillist-manage.com/js/optin.min.js" onload="setupSF('sf3zbd693f9a664e1be431c40703a88ad5aed5b6c16beac98327a5a9a17519ec4f72','ZCFORMVIEW',false)"></script>
vendor: 1 bytes, line 3458
3458
3459<script type="text/javascript"> 3460 function runOnFormSubmit_sf3zbd693f9a664e1be431c40703a88ad5aed5b6c16beac98327a5a9a17519ec4f72(th){ 3461 /*Before submit, if you want to trigger your event, "include your code here"*/ 3462 }; 3463</script>
3463 3464 3465<meta content="width=device-width,initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> 3466<div id="sf3zbd693f9a664e1be431c40703a88ad5aed5b6c16beac98327a5a9a17519ec4f72" data-type="signupform"> 3467 <input type="hidden" id="recapTheme" value="3"> 3468 <input type="hidden" id="isRecapIntegDone" value="true"> 3469 <input type="hidden" id="signupFormType" value="LargeForm_Vertical"> 3470 <div id="customForm"> 3471 <div name="SIGNUP_PAGE" class="large_form_3_css" id="SIGNUP_PAGE"> 3472 <div name="" changeid="" changename=""> 3473 <div id="imgBlock" name="LOGO_DIV" logo="true"></div> 3474 </div> 3475 <br> 3476 <div id="signupMainDiv" name="SIGNUPFORM" changeid="SIGNUPFORM" changename="SIGNUPFORM"> 3477 <div> 3478 <div style="position:relative;"> 3479 <div id="Zc_SignupSuccess" style="display:none;position:absolute;margin-left:4%;width:90%;background-color: white; padding: 3px; border: 3px solid rgb(194, 225, 154); margin-top: 10px;margin-bottom:10px;word-break:break-all "> 3480 <table width="100%" cellpadding="0" cellspacing="0" border="0"> 3481 <tbody> 3482 <tr> 3483 <td width="10%"> 3484 <img class="successicon" src="https://qowlcywf-cmpzourl.maillist-manage.com/images/challangeiconenable.jpg" align="absmiddle"> 3485 </td> 3486 <td> 3487 <span id="signupSuccessMsg" style="color: rgb(73, 140, 132); font-family: sans-serif; font-size: 14px;word-break:break-word"> Thank you for Signing Up</span> 3488 </td> 3489 </tr> 3490 </tbody> 3491 </table> 3492 </div> 3493 </div> 3494 <form method="POST" id="zcampaignOptinForm" action="https://qowlcywf-cmpzourl.maillist-manage.com/weboptin.zc" target="_zcSignup"> 3495 <div id="SIGNUP_BODY_ALL" name="SIGNUP_BODY_ALL"> 3496 <div id="SIGNUP_BODY" name="SIGNUP_BODY"> 3497 <div> 3498 <div id="errorMsgDiv" style="display:none;">Please confirm a proper email address and agree to the Privacy Policy.</div> 3499 <div> 3500 <div name="fieldsdivSf" class="zcsffieldsdiv"> 3501 <div class="zcsffield " fieldid="1028774000000000021"> 3502 <div><!-- check to mark emailid field as type email, and other mandatory fields as type required --> 3503 <input maxlength="100" placeholder="Contact Email" name="CONTACT_EMAIL" changeitem="SIGNUP_FORM_FIELD" type="email"> 3504 <span style="display:none" id="dt_CONTACT_EMAIL">1,true,6,Contact Email,2</span> 3505 </div> 3506 3507 3508 <div></div> 3509 3510 </div> 3511 <div style="display:none" ishidden="true"> 3512 <div> 3513 <div> 3514 <select name="CONTACT_CF1" changeitem="SIGNUP_FORM_FIELD" zc_display_name="Brand Interest"> 3515 <option value="dummy" disabled="">Brand Interest</option> 3516 <option value="Gamma Scientific">Gamma Scientific</option> 3517 <option selected="selected" value="RoadVista">RoadVista</option> 3518 <option value="NED">NED</option> 3519 <option value="None">None</option> 3520 <option value="Gamma Labs">Gamma Labs</option> 3521 <option value="UDTi">UDTi</option> 3522 <option value="Gamma Scientific (LED Meas System)">Gamma Scientific (LED Meas System)</option> 3523 <option value="Gamma Scientific (Com'l Displays)">Gamma Scientific (Com'l Displays)</option> 3524 <option value="Gamma Scientific (Light Source)">Gamma Scientific (Light Source)</option> 3525 </select> 3526 <span style="display:none" id="dt_CONTACT_CF1">1,false,3,Brand Interest,2</span> 3527 </div> 3528 </div><div></div></div> 3529 </div><!-- Captcha for Signup --> 3530 <input type="hidden" id="secretid" value="6LdNeDUUAAAAAG5l7cJfv1AA5OKLslkrOa_xXxLs"><!-- Captcha for Signup End-->
3530<!-- Other Lists Subscription Start--><div></div> 3531 <div id="privacyPolicy" name="privacyPolicy"> 3532 <input type="checkbox" name="PRIVACY_POLICY" value="PRIVACY_AGREED"> 3533 <span style="vertical-align:top;margin-left:5px">I agree to the 3534 <a href="https://www.roadvista.com/pages/privacy-policy" target="_blank">Privacy Policy</a> </span> 3535 </div> 3536 <div> 3537 <input type="button" action="Save" id="zcWebOptin" name="SIGNUP_SUBMIT_BUTTON" changetype="SIGNUP_SUBMIT_BUTTON_TEXT" value="Subscribe"> 3538 </div> 3539 </div> 3540 </div> 3541 </div><!-- Do not edit the below Zoho Campaigns hidden tags --> 3542 <input type="hidden" id="fieldBorder" value=""> 3543 <input type="hidden" name="zc_trackCode" id="zc_trackCode" value="ZCFORMVIEW" onload=""> 3544 <input type="hidden" name="viewFrom" id="viewFrom" value="URL_ACTION"> 3545 <input type="hidden" id="submitType" name="submitType" value="optinCustomView"> 3546 <input type="hidden" id="lD" name="lD" value="1e46f0809831b015"> 3547 <input type="hidden" name="emailReportId" id="emailReportId" value=""> 3548 <input type="hidden" name="zx" id="cmpZuid" value="12f4d6faa"> 3549 <input type="hidden" name="zcvers" value="3.0"> 3550 <input type="hidden" name="oldListIds" id="allCheckedListIds" value=""> 3551 <input type="hidden" id="mode" name="mode" value="OptinCreateView"> 3552 <input type="hidden" id="zcld" name="zcld" value="1e46f0809831b015"> 3553 <input type="hidden" id="zctd" name="zctd" value="1e46f0809830b8d7"> 3554 <input type="hidden" id="document_domain" value=""> 3555 <input type="hidden" id="zc_Url" value="qowlcywf-cmpzourl.maillist-manage.com"> 3556 <input type="hidden" id="new_optin_response_in" value="0"> 3557 <input type="hidden" id="duplicate_optin_response_in" value="0"> 3558 <input type="hidden" id="zc_formIx" name="zc_formIx" value="3zbd693f9a664e1be431c40703a88ad5aed5b6c16beac98327a5a9a17519ec4f72"><!-- End of the campaigns hidden tags --></div> 3559 </form> 3560 </div> 3561 </div> 3562 </div> 3563 <input type="hidden" id="isCaptchaNeeded" value="false"> 3564 <input type="hidden" id="superAdminCap" value="0"> 3565 <img src="https://qowlcywf-cmpzourl.maillist-manage.com/images/spacer.gif" onload="referenceSetter(this)" id="refImage" style="display:none;"> 3566 </div> 3567</div> 3568<div id="zcOptinOverLay" oncontextmenu="return false" style="display:none;text-align: center; background-color: rgb(0, 0, 0); opacity: 0.5; z-index: 100; position: fixed; width: 100%; top: 0px; left: 0px; height: 988px;"></div> 3569<div id="zcOptinSuccessPopup" style="display:none;z-index: 9999;width: 800px; height: 40%;top: 84px;position: fixed; left: 26%;background-color: #FFFFFF;border-color: #E6E6E6; border-style: solid; border-width: 1px; box-shadow: 0 1px 10px #424242;padding: 35px;"> 3570 <span style="position: absolute;top: -16px;right:-14px;z-index:99999;cursor: pointer;" id="closeSuccess"> 3571 <img src="https://qowlcywf-cmpzourl.maillist-manage.com/images/videoclose.png"> 3572 </span> 3573 <div id="zcOptinSuccessPanel"></div> 3574</div> 3575 3576<!--Zoho Campaigns Web-Optin Form Ends Here--> 3577 3578 3579 3580<style type="text/css"> 3581 3582#privacyPolicy { 3583 clear: both; 3584 padding: 20px 0; 3585border: 0px !important; 3586} 3587 3588div.zcsffield input:focus { 3589 outline: 1px solid #ebd03c !important; 3590} 3591 3592 3593div.zcsffield input { 3594 width: 65%; 3595 float: left; 3596 border:1px solid #6d6d6d !important; 3597 background-color:#353535 !important; 3598 color: #ffffff !important; 3599 padding: .5em; 3600 margin: .5em .5em .5em 0; 3601 width: 22rem; 3602} 3603 3604 3605#zcWebOptin { 3606 width: 30% !important; 3607 min-height: 44px; 3608 margin-top: 10px !important; 3609 border: 2px solid #ebd03c !important; 3610 border-color: #ebd03c !important; 3611 background-color: #191919 !important; 3612 color: #ffffff !important; 3613 text-transform: var(--button-style) !important; 3614 letter-spacing: .01em !important; 3615 font-weight: var(--font-body-bold-weight) !important; 3616 border-radius: var(--button-shape) !important; 3617 transition: border-color .25s ease-in-out,background-color .25s ease-in-out,color .25s ease-in-out !important; 3618} 3619 3620#zcWebOptin:hover, #zcWebOptin:focus { 3621 border-color: #af9712 !important; 3622 background-color: #af9712 !important; 3623} 3624 3625</style> 3626 3627 3628 3629 </div></div> 3630 </div> 3631 3632 <div class="footer__group footer__group--menu footer__group--2"> 3633 <button type="button" class="footer__header" data-header>
3634 <span class="footer__heading ff-heading fs-heading-4-base">Get Started</span> 3635 <span class="footer__arrow"> 3636<span class="icon "> 3637 <svg width="100%" viewBox="0 0 24 24"> 3638 3639 <path fill="currentColor" d="m0 6 12 12L24 6z" /> 3640 3641 3642 </svg> 3643</span></span> 3644 </button> 3645 <div class="footer__group-content"><div class="footer__links fs-body-base"> 3646 3647 <ul> 3648 3649 <li><a href="/">Home</a></li> 3650 3651 <li><a href="/collections/all">Products</a></li> 3652 3653 <li><a href="https://gamma-sci.com/contact/rma-request-form/">RMA Request</a></li> 3654 3655 </ul> 3656 3657 </div></div> 3658 </div> 3659 3660 <div class="footer__group footer__group--menu footer__group--3"> 3661 <button type="button" class="footer__header" data-header> 3662 <span class="footer__heading ff-heading fs-heading-4-base">About Us</span> 3663 <span class="footer__arrow"> 3664<span class="icon "> 3665 <svg width="100%" viewBox="0 0 24 24"> 3666 3667 <path fill="currentColor" d="m0 6 12 12L24 6z" /> 3668 3669 3670 </svg> 3671</span></span> 3672 </button> 3673 <div class="footer__group-content"><div class="footer__links fs-body-base"> 3674 3675 <ul> 3676 3677 <li><a href="/pages/company">Company</a></li> 3678 3679 <li><a href="/pages/careers">Careers</a></li> 3680 3681 <li><a href="/blogs/blog">News</a></li> 3682 3683 </ul> 3684 3685 </div></div> 3686 </div> 3687 3688<div class="footer__group footer__group--menu footer__group--social-icons"> 3689 <button type="button" class="footer__header" data-header> 3690 <span class="footer__heading ff-heading fs-heading-4-base">Follow Us</span> 3691 <span class="footer__arrow"> 3692<span class="icon "> 3693 <svg width="100%" viewBox="0 0 24 24"> 3694 3695 <path fill="currentColor" d="m0 6 12 12L24 6z" /> 3696 3697 3698 </svg> 3699</span></span> 3700 </button> 3701 <div class="footer__group-content"> 3702 <ul class="social-icons"><li> 3703 <a href="https://www.youtube.com/user/roadvista" title="Gamma Scientific / RoadVista on YouTube" target="_blank"> 3704 3705<span class="icon "> 3706 <svg width="100%" viewBox="0 0 24 24"> 3707 3708 <path d="M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z" fill="currentColor" /> 3709 3710 3711 </svg> 3712</span> 3713 </a> 3714 </li><li> 3715 <a href="https://www.linkedin.com/company/roadvista" title="Gamma Scientific / RoadVista on LinkedIn" target="_blank"> 3716 3717<span class="icon "> 3718 <svg width="100%" viewBox="0 0 24 24"> 3719 3720 <path d="M19 3A2 2 0 0 1 21 5V19A2 2 0 0 1 19 21H5A2 2 0 0 1 3 19V5A2 2 0 0 1 5 3H19M18.5 18.5V13.2A3.26 3.26 0 0 0 15.24 9.94C14.39 9.94 13.4 10.46 12.92 11.24V10.13H10.13V18.5H12.92V13.57C12.92 12.8 13.54 12.17 14.31 12.17A1.4 1.4 0 0 1 15.71 13.57V18.5H18.5M6.88 8.56A1.68 1.68 0 0 0 8.56 6.88C8.56 5.95 7.81 5.19 6.88 5.19A1.69 1.69 0 0 0 5.19 6.88C5.19 7.81 5.95 8.56 6.88 8.56M8.27 18.5V10.13H5.5V18.5H8.27Z" fill="currentColor" /> 3721 3722 3723 </svg> 3724</span> 3725 </a> 3726 </li></ul> 3727 3728 </div> 3729 </div></div><hr class="footer__rule" /><div class="footer__bottom"> 3730 <div class="footer__bottom-left footer__credits fs-body-small"> 3731 <a href="https://gamma-sci.com/" target="blank"><img src="https://cdn.shopify.com/s/files/1/0646/2724/5292/files/Gamma-Logo-website-283x120.png?v=1663003585" alt="A Division of Gamma Scientific" /></a> 3732 <p>
3732Copyright © 2026, Gamma Scientific / RoadVista is a Gamma Scientific Company. 3733 3734 3735 <a href="/pages/privacy-policy">Privacy Policy</a></li> 3736 3737 3738 <br><a style="cursor:pointer" class="iubenda-cs-uspr-link" title="Notice at collection">Notice at collection</a> | <a style="cursor:pointer" class="iubenda-cs-preferences-link" title="Your Privacy Choices">Your Privacy Choices</a> 3739 3740 </p> 3741 </div> 3742 3743 <div class="footer__bottom-right"> 3744 <div class="flag"><img src="https://cdn.shopify.com/s/files/1/0646/2724/5292/files/logo-made-use-flag_f2e4b836-8eb2-473b-8cb0-d6f44d575940.png" /></div> 3745 <div class="content footer__credits fs-body-small">Roadvista products are designed, manufactured, and serviced in the USA.</div></div> 3746 </div></div> 3747</div> 3748 3749 3750 3751</footer> 3752 <div id="shopify-section-popup" class="shopify-section"><section 3753 class="popup" 3754 data-section-id="popup" 3755 data-section-type="popup" 3756 data-timeout="10000" 3757 style=" 3758 --image-position: center; 3759 --text-max-width: 42em; 3760 --image-color-overlay: #000000; 3761 --image-overlay-opacity: 0.1; 3762 --color-text: #191919; 3763 " 3764 > 3765 <div class="popup__overlay" data-overlay></div> 3766 <div class="popup__bar"><div class="popup__bar-overlay"></div> 3767 3768 <button 3769 type="button" 3770 data-close 3771 class="popup__close" 3772 aria-label="Close" 3773 > 3774 <span class="icon-button "> 3775 <span class="icon-button__icon"> 3776 3777<span class="icon "> 3778 <svg width="100%" viewBox="0 0 24 24"> 3779 3780 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 3781 3782 3783 </svg> 3784</span> 3785 </span> 3786</span> 3787 3788 </button> 3789 3790 <div class="popup__content"><div class="popup__heading-block"><h3 class="popup__heading ff-heading fs-heading-2-large">Subscribe</h3><div class="popup__subheading ff-body fs-body-base"><p>We only send emails once or twice a month and only about good things.</p></div></div><div 3791 class="popup__form" 3792 style=" 3793 --color-text-button: #1c2232; 3794 --color-background-input: rgba(255, 255, 255, 0.7); 3795 --color-background-input-hover: rgba(255, 255, 255, 0.75); 3796 --color-background-button: #ffffff; 3797 --color-background-button-hover : #cccccc; 3798 --color-text-input: #0a0c11; 3799 " 3800 > 3801 <form method="post" action="/contact#popup" id="popup" accept-charset="UTF-8"><input type="hidden" name="form_type" value="customer" /><input type="hidden" name="utf8" value="â" /> 3802 3803 3804<div class="newsletter-form-inner"> 3805 <input type="hidden" name="contact[tags]" value="newsletter"> 3806 <label for="popup-email" class="visually-hidden">Email address</label> 3807 <input type="email" 3808 class="input" 3809 name="contact[email]" 3810 id="popup-email" 3811 value="" 3812 placeholder="Email address" 3813 autocorrect="off" 3814 autocapitalize="off" 3815 > 3816 <button type="submit" name="commit" id="Subscribe" class="newsletter-form__button btn btn--primary btn--small btn--medium-ns"> 3817 Subscribe 3818 </button> 3819 </div></form> 3820 </div></div> 3821 </div> 3822 </section> 3823</div> 3824 <div class="modal popover" data-modal> 3825 <div class="modal__wash"></div> 3826 <div class="modal__inner" data-scroll-lock-ignore> 3827 <div class="modal__header"> 3828 <button 3829 type="button" 3830 data-modal-close 3831 class="modal__close-icon" 3832 aria-label="Close" 3833 > 3834 <span class="icon-button "> 3835 <span class="icon-button__icon"> 3836 3837<span class="icon "> 3838 <svg width="100%" viewBox="0 0 24 24"> 3839 3840 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 3841 3842 3843 </svg> 3844</span> 3845 </span> 3846</span> 3847 3848 </button> 3849 </div>
3850 <div class="modal__content rte rte--page"></div> 3851 </div> 3852</div> 3853 3854 <div 3855 class="store-availability-drawer popover" 3856 data-store-availability-drawer 3857 aria-describedby="drawer-title" 3858 aria-hidden="true" 3859 role="dialog" 3860> 3861 <div class="store-availability-drawer__wash" data-store-availability-drawer-wash></div> 3862 <div class="store-availability-drawer__inner"> 3863 <div class="store-availability-drawer__header"> 3864 <div class="store-availability-drawer__product-info"> 3865 <h4 id="drawer-title" class="store-availability-drawer__store-list-product-title ff-heading fs-heading-2-large"> 3866 Availability 3867 </h4> 3868 </div> 3869 <button 3870 type="button" 3871 class="store-availability-drawer__close" 3872 data-store-availability-close aria-label="Close" 3873 > 3874 <span class="icon-button "> 3875 <span class="icon-button__icon"> 3876 3877<span class="icon "> 3878 <svg width="100%" viewBox="0 0 24 24"> 3879 3880 <path stroke-width="1" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M18 6 6 18M6 6l12 12"/> 3881 3882 3883 </svg> 3884</span> 3885 </span> 3886</span> 3887 3888 </button> 3889 </div> 3890 <div class="store-availbility-drawer__product" data-store-availability-product></div> 3891 3892 <div class="store-availbility-drawer__content" data-store-list-container></div> 3893 </div> 3894</div> 3895 3896 3897 3898 3899 </div> 3900 3901
3901<script src="//www.youtube.com/iframe_api" type="text/javascript"></script>
3901 3902 <link href="//www.roadvista.com/cdn/shopifycloud/shopify-plyr/v1.0/shopify-plyr.css" rel="stylesheet" type="text/css" media="all" /> 3903 3904 3905 3906 3907 3908
3908<script type="module" src="//www.roadvista.com/cdn/shop/t/14/assets/theme.js?v=54341719082674082291691531791"></script>
3908 3909 3910 3911
3911<script nomodule src="//www.roadvista.com/cdn/shop/t/14/assets/s.min.js?v=176831107740605177141691531791"></script>
3911 3912
3912<script nomodule> 3913 System.import('//www.roadvista.com/cdn/shop/t/14/assets/theme.nomodule.js?v=170450442978053367801691531791'); 3914 </script>
3914 3915 3916 3917 3918 3919 3920 3921 3922 <style> 3923 #apd-root .apd-content table { 3924 width: max-content !important; 3925 } 3926 </style> 3927
3927<script> 3928 (function(){ var s = document.createElement('script'); var h = document.querySelector('head') || document.body; s.src = 'https://acsbapp.com/apps/app/dist/js/app.js'; s.async = true; s.onload = function(){ acsbJS.init({ statementLink : '', footerHtml : '', hideMobile : false, hideTrigger : false, disableBgProcess : false, language : 'en', position : 'left', leadColor : '#146FF8', triggerColor : '#146FF8', triggerRadius : '50%', triggerPositionX : 'left', triggerPositionY : 'bottom', triggerIcon : 'people', triggerSize : 'bottom', triggerOffsetX : 20, triggerOffsetY : 20, mobile : { triggerSize : 'small', triggerPositionX : 'right', triggerPositionY : 'bottom', triggerOffsetX : 10, triggerOffsetY : 10, triggerRadius : '20' } }); }; h.appendChild(s); })(); 3929 </script>
3929 3930 <noscript id="tg-gtm-pixel" 3931 ><iframe 3932 src="https://www.googletagmanager.com/ns.html?id=GTM-PFFDQMS" 3933 height="0" 3934 width="0" 3935 style="display:none;visibility:hidden;" 3936 ></iframe 3937 ></noscript>
3937<script type="text/javascript" src="https://crm.zoho.com/crm/javascript/zcga.js"></script>
3937 3938 <style> @media (max-width: 45em) {.header__icon-touch.header__icon-touch--search {display: block; }} </style>
3939<script src="https://cdn.shopify.com/storefront/standard-actions.js" type="module" data-source-attribution="shopify.standard_actions"></script>
3939 3940</body> 3941</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.